내장 도구

·3분 읽기

원문: Koog Documentation — built-in-tools 이 글은 Koog 공식 문서의 built-in-tools 페이지를 한국어로 옮긴 번역본입니다. 문서 구조와 링크 의미를 유지하되, MkDocs 전용 UI 문법은 블로그에서 읽기 좋도록 정리했습니다.

내장 도구

Koog 프레임워크는 에이전트-사용자 상호작용의 일반적인 시나리오를 처리하는 Kotlin 및 Java용 기본 제공 도구를 제공합니다.

다음과 같은 기본 제공 도구를 사용할 수 있습니다.

도구 이름 설명
사용자에게 말하기 __say_to_user__ 에이전트가 사용자에게 메시지를 보낼 수 있도록 합니다. Agent says: 접두사를 사용하여 에이전트 메시지를 콘솔에 인쇄합니다.
사용자에게 물어보세요 __ask_user__ 에이전트가 사용자에게 입력을 요청할 수 있습니다. 에이전트 메시지를 콘솔에 인쇄하고 사용자 응답을 기다립니다.
종료 도구 __exit__ 에이전트가 대화를 마치고 세션을 종료할 수 있습니다.
파일 읽기 도구 __read_file__ 선택적 라인 범위 선택으로 텍스트 파일을 읽습니다. 0 기반 줄 인덱싱을 사용하여 메타데이터가 포함된 형식화된 콘텐츠를 반환합니다.
편집파일도구 __edit_file__ 파일에서 단일 대상 텍스트 대체를 만듭니다. 새 파일을 만들거나 내용을 완전히 바꿀 수도 있습니다.
목록디렉토리도구 __list_directory__ 선택적 깊이 제어 및 글로벌 필터링을 사용하여 디렉터리 내용을 계층적 트리로 나열합니다.
쓰기파일도구 __write_file__ 텍스트 내용을 파일에 씁니다(필요한 경우 상위 디렉터리 생성).

내장 도구 등록

다른 도구와 마찬가지로 에이전트에서 사용할 수 있으려면 기본 제공 도구를 도구 레지스트리에 추가해야 합니다. 예는 다음과 같습니다.

1// Create a tool registry with all built-in tools2val toolRegistry = ToolRegistry {3    tool(SayToUser)4    tool(AskUser)5    tool(ExitTool)6    tool(ReadFileTool(JVMFileSystemProvider.ReadOnly))7    tool(ListDirectoryTool(JVMFileSystemProvider.ReadOnly))8    tool(WriteFileTool(JVMFileSystemProvider.ReadWrite))9}1011// Pass the registry when creating an agent12val agent = AIAgent(13    promptExecutor = simpleOpenAIExecutor(apiToken),14    systemPrompt = "You are a helpful assistant.",15    llmModel = OpenAIModels.Chat.GPT4o,16    toolRegistry = toolRegistry17)18

Kotlin과 Java의 동일한 레지스트리 내에서 기본 제공 도구와 맞춤 도구를 결합하여 에이전트에 대한 포괄적인 기능 세트를 만들 수 있습니다. 사용자 정의 도구에 대해 자세히 알아보려면 Annotation-based toolsClass-based tools을 참조하세요.