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