에이전트 모드 작동 방식
에이전트 모드는 채팅 모드와 동일한 기능을 제공하며, 모델에 대한 요청에 도구(Tool)를 포함하고 도구 호출 및 응답을 처리하는 인터페이스를 제공합니다.
도구 핸드셰이크(Handshake) 방식
도구는 모델이 외부 세계와 인터페이스할 수 있는 유연하고 강력한 방법을 제공합니다. 도구는 이름과 인자 스키마가 포함된 JSON 객체로 모델에 제공됩니다. 예를 들어,filepath 인자가 있는 read_file 도구는 모델에게 특정 파일의 내용을 요청할 수 있는 기능을 부여합니다.
다음 핸드셰이크는 에이전트 모드에서 도구가 사용되는 과정을 설명합니다:
- 에이전트 모드에서는 사용 가능한 도구 목록이
user채팅 요청과 함께 전송됩니다. - 모델은 응답에 도구 호출을 포함할 수 있습니다.
- 사용자가 권한을 부여합니다. 해당 도구에 대한 정책이
Automatic(자동)으로 설정되어 있으면 이 단계는 건너뜁니다. - Prometheus는 내장 기능이나 해당 도구를 제공하는 MCP 서버를 사용하여 도구를 호출합니다.
- Prometheus는 결과를 모델에 다시 보냅니다.
- 모델은 이에 반응하고, 잠재적으로 또 다른 도구 호출을 수행하며 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에 새 규칙 블록 생성 - 코드베이스 수정을 위한 기타 모든 쓰기/실행 도구