메인 콘텐츠로 건너뛰기

에이전트 모드 작동 방식

에이전트 모드는 채팅 모드와 동일한 기능을 제공하며, 모델에 대한 요청에 도구(Tool)를 포함하고 도구 호출 및 응답을 처리하는 인터페이스를 제공합니다.

도구 핸드셰이크(Handshake) 방식

도구는 모델이 외부 세계와 인터페이스할 수 있는 유연하고 강력한 방법을 제공합니다. 도구는 이름과 인자 스키마가 포함된 JSON 객체로 모델에 제공됩니다. 예를 들어, filepath 인자가 있는 read_file 도구는 모델에게 특정 파일의 내용을 요청할 수 있는 기능을 부여합니다. 다음 핸드셰이크는 에이전트 모드에서 도구가 사용되는 과정을 설명합니다:
  1. 에이전트 모드에서는 사용 가능한 도구 목록이 user 채팅 요청과 함께 전송됩니다.
  2. 모델은 응답에 도구 호출을 포함할 수 있습니다.
  3. 사용자가 권한을 부여합니다. 해당 도구에 대한 정책이 Automatic(자동)으로 설정되어 있으면 이 단계는 건너뜁니다.
  4. Prometheus는 내장 기능이나 해당 도구를 제공하는 MCP 서버를 사용하여 도구를 호출합니다.
  5. Prometheus는 결과를 모델에 다시 보냅니다.
  6. 모델은 이에 반응하고, 잠재적으로 또 다른 도구 호출을 수행하며 2단계부터 다시 시작됩니다.
모드마다 도구 가용성이 다릅니다:
  • 채팅 모드: 도구 미포함
  • 계획(Plan) 모드: 읽기 전용 도구만 포함
  • 에이전트 모드: 모든 도구 포함

사용 가능한 내장 도구

Prometheus에는 모델이 IDE 기능에 액세스할 수 있도록 하는 여러 내장 도구가 포함되어 있습니다.

계획(Plan) 모드에서 사용 가능한 도구 (읽기 전용)

계획 모드에서는 다음과 같은 읽기 전용 도구만 사용할 수 있습니다:
  • 파일 읽기 (read_file)
  • 현재 열려 있는 파일 읽기 (read_currently_open_file)
  • 디렉토리 목록 (ls)
  • Glob 검색 (glob_search)
  • Grep 검색 (grep_search)
  • URL 내용 가져오기 (fetch_url_content)
  • 웹 검색 (search_web)
  • 변경 사항 보기 (view_diff)
  • 레포지토리 맵 보기 (view_repo_map)
  • 하위 디렉토리 보기 (view_subdirectory)
  • 코드베이스 도구 (codebase_tool)

에이전트 모드에서 사용 가능한 도구 (모든 도구)

에이전트 모드에서는 위의 읽기 전용 도구를 포함하여 모든 도구를 사용할 수 있습니다:
  • 새 파일 생성 (create_new_file): 프로젝트 내에 새 파일 생성
  • 파일 수정 (edit_existing_file): 기존 파일 변경
  • 터미널 명령 실행 (run_terminal_command): 워크스페이스 루트에서 명령 실행
  • 규칙 블록 생성 (create_rule_block): .continue/rules에 새 규칙 블록 생성
  • 코드베이스 수정을 위한 기타 모든 쓰기/실행 도구