에이전트 모드와 플랜 모드

에이전트 모드와 플랜 모드

CoCo Desktop은 기본적으로 에이전트 모드(Agent mode)로 작동하며, 이 모드에서는 코드 작성, 명령 실행, SQL 실행, 프로젝트 변경을 위한 도구에 완전히 접근할 수 있어요. 태스크가 구현 전에 탐색이나 설계를 요구할 때 에이전트는 코드를 작성하기 전에 접근 방식을 연구하고 설계하는 읽기 전용 협업 모드인 플랜 모드(Plan mode)로 전환할 수 있어요.

출처: Agent mode and Plan mode

본문

개요

에이전트 모드 플랜 모드
목적 태스크 구현 — 코드 작성, 명령 실행, 변경 코딩 전 접근 방식 연구 및 설계
파일 쓰기 가능 불가(읽기 전용)
명령 실행 전체 셸 접근 읽기 전용 명령만(예: ls, git status, git log)
SQL 실행 모든 문(SELECT, DDL, DML) 읽기 전용 쿼리만(SELECT, SHOW, DESCRIBE)
출력 코드 변경, 파일 편집, 명령 결과 구현 단계가 있는 구조화된 계획

에이전트 모드

에이전트 모드는 기본 작동 모드예요. 에이전트는 모든 도구에 완전히 접근할 수 있으며 다음을 할 수 있어요.

  • 파일 읽기, 생성, 편집
  • 셸 명령 실행(빌드, 테스트, 종속성 설치)
  • SQL 쿼리와 DDL/DML 문 실행
  • Jupyter 노트북 실행 및 편집
  • 코드베이스와 웹 검색
  • git에 변경 사항 커밋
  • 할 일 목록으로 태스크 관리

에이전트 모드에서 태스크를 주면 에이전트는 즉시 구현을 시작해요. 관련 파일을 읽고, 편집하고, 테스트를 실행하고, 태스크가 완료될 때까지 반복해요.

플랜 모드

플랜 모드는 에이전트를 읽기 전용 작업으로 제한해요. 코드베이스를 탐색하고, 문서를 검색하고, 명확화 질문을 할 수 있지만, 파일을 수정하거나 파괴적인 명령을 실행할 수 없어요. 플랜 모드의 목표는 코드를 작성하기 전에 검토하고 승인할 수 있는 구조화된 구현 계획을 만드는 것이에요.

플랜 모드에서 에이전트가 할 수 있는 것

  • 파일 읽기 및 코드베이스 검색
  • 읽기 전용 명령 실행(ls, git log, git status, find)
  • 읽기 전용 SQL 쿼리 실행(SELECT, SHOW, DESCRIBE)
  • 웹 검색 및 문서 가져오기
  • 명확화 질문
  • 읽기 전용 연구 서브에이전트 생성
  • 구조화된 계획 만들기

플랜 모드에서 에이전트가 할 수 없는 것

  • 파일 생성, 편집, 삭제
  • 상태를 수정하는 명령 실행(설치, 빌드, git 커밋)
  • DDL/DML SQL 문 실행
  • 노트북 수정

플랜 출력

플랜 모드에서 에이전트가 연구를 완료하면 다음을 포함하는 구조화된 계획을 만들어요.

  • 컨텍스트 — 탐색한 파일, 주요 발견 사항, 발견한 패턴
  • 구현 단계 — 구체적이고 순서가 있는 태스크 목록(보통 3~8단계)
  • 검증 — 작업을 검증하는 방법(테스트, 명령, 검사)
  • 중요한 파일 — 관련된 가장 중요한 3~5개 파일

계획은 개요와 태스크 목록이 있는 카드로 채팅에 나타나요. 계획 파일은 작업 공간의 .snowflake/cortex/plans/에도 참조용으로 저장돼요.

모드 전환

수동 전환

세 가지 방법으로 에이전트 모드와 플랜 모드 사이를 전환할 수 있어요.

  • 모드 드롭다운 — 에이전트 모드일 때 모드 선택기 옆에 보조 드롭다운이 나타나요. Plan을 선택해 전환해요.
  • 키보드 단축키 — Agent와 Plan 모드 사이를 토글하려면 Shift + Tab을 눌러요.
  • Command Palette — 명령 팔레트에서 Toggle Plan Mode를 실행해요.

에이전트의 자동 전환

에이전트는 태스크가 구현 전에 계획을 세우는 것이 유익하다고 판단하면 스스로 플랜 모드로 전환을 제안할 수 있어요. 에이전트가 전환하기로 결정하면 확인 대화 상자를 표시하며, 전환을 수락하거나 거절할 수 있어요.

에이전트는 다음 경우에 플랜 모드로 전환을 제안할 수 있어요.

  • 태스크에 상당한 트레이드오프가 있는 여러 유효한 접근 방식이 있을 때
  • 코드를 작성하기 전에 아키텍처 또는 구조적 결정을 내려야 할 때
  • 다중 파일 또는 코드베이스 전체의 변경이 관련될 때
  • 요구 사항이 모호하고 명확화가 필요할 때
  • 구현을 시작하기 전에 탐색이 필요할 때

에이전트는 다음 경우에는 플랜 모드로 전환하지 않아요.

  • 간단한 수정, 오타, 단일 파일 변경
  • 명확하고 구체적인 지침을 제공한 태스크
  • 코드 변경이 필요 없는 순수 연구 질문
  • 승인된 계획의 단계를 이미 실행 중인 태스크

마찬가지로 플랜 모드에 있는 동안 에이전트는 계획이 실행 준비가 되면 에이전트 모드로 다시 전환하도록 제안할 수 있어요.

계획에서 빌드하기

에이전트가 플랜 모드에서 계획을 만든 후 플랜 카드의 Build 버튼을 클릭해 실행할 수 있어요. 이 동작은:

  • 자동으로 에이전트 모드로 다시 전환.
  • 계획 파일을 컨텍스트로 첨부.
  • 구현 단계를 순서대로 실행 시작.
  • 각 태스크가 완료됨에 따라 진행 상황으로 플랜 카드를 업데이트.

이것을 macOS에서는 Cmd + Shift + B로, 또는 명령 팔레트에서 Build from Plan으로도 트리거할 수 있어요.

팁 빌드 전에 계획 파일을 편집할 수 있어요. 접근 방식을 조정하거나, 단계를 추가하거나, 단계를 제거하려면 .plan.md 파일을 편집한 뒤 Build를 클릭해요. 에이전트는 수정된 계획을 따를 거예요.

계획 빌드 일시중지 및 재개

계획이 빌드되는 동안 프로세스를 일시중지하고, 다른 작업을 한 뒤 중단한 지점부터 재개할 수 있어요.

  • 일시중지 — 계획 빌드가 진행 중일 때 플랜 카드의 Cancel을 클릭하거나 입력 막대의 취소 버튼을 눌러요. 부분 계획이 저장돼요.
  • 재개 — 대화를 다시 열고 에이전트에게 "계속해" 또는 "계획 빌드를 계속해"처럼 계속하라고 말해요. 에이전트는 처음부터가 아니라 마지막으로 완료된 단계부터 이어받아요.

계획 빌드는 세션별로 추적돼요. 같은 프로젝트에 대해 여러 대화가 동시에 계획을 빌드한다면 각 세션은 자체 계획을 독립적으로 빌드하고 재개해요.

각 모드를 사용할 시기

시나리오 권장 모드
명확한 오류 메시지가 있는 버그 수정 에이전트 모드
단일 함수 또는 엔드포인트 추가 에이전트 모드
명확하지 않은 종속성이 있는 모듈 리팩터링 플랜 모드 후 빌드
여러 파일에 걸친 새 기능 설계 플랜 모드 후 빌드
코드베이스를 한 프레임워크에서 다른 프레임워크로 마이그레이션 플랜 모드 후 빌드
테스트 실행 또는 배포 에이전트 모드
무언가가 어떻게 작동하는지 이해하기 위해 코드 탐색 둘 다 — 서면 요약을 원하면 플랜 모드

질문(Ask) 및 편집(Edit) 모드

에이전트 및 플랜 모드 외에 CoCo Desktop은 두 가지 다른 최상위 모드를 제공해요.

  • 질문(Ask) 모드 — 코드를 탐색하고 이해해요. 에이전트는 변경 없이 질문에 답해요. 빠른 설명, 코드 워크스루, 낯선 코드 이해에 사용해요.
  • 편집(Edit) 모드 — 선택한 코드를 편집하거나 리팩터링해요. 코드 영역을 선택하고 원하는 변경을 설명해요. 에이전트는 선택한 영역만 편집해요.

채팅 입력 상단의 모드 선택기를 사용해 Ask, Edit, Agent 모드 사이를 전환해요. 플랜 모드는 Agent 모드가 활성일 때만 나타나는 하위 모드예요.

더 알아보기