CoCo Desktop의 에이전트(Agents)
CoCo Desktop의 에이전트(Agents)
에이전트는 CoCo가 주 대화와 병렬로 — 또는 대신하여 — 작업의 한 조각을 처리하기 위해 실행하는, 초점이 맞춰진 독립 에이전트예요. 큰 코드베이스 탐색, 백그라운드 연구 실행, 동시에 실행할 수 있는 여러 조각으로 작업을 나누기 같은, 별도 컨텍스트가 유익한 작업에 유용해요.
본문
각 에이전트는 자체 컨텍스트 창이 있는 자체 대화에서 실행돼요. 완료되면 단일 요약을 주 에이전트에 반환하며, 주 에이전트는 더 큰 태스크를 계속할 수 있어요.
에이전트를 사용할 시기
- 병렬 작업. 각각을 순서대로 기다리는 대신 여러 독립 조사를 동시에 실행.
- 집중 탐색. 주 대화의 컨텍스트를 채우지 않고 코드베이스를 검색하거나 주제를 연구.
- 전문화된 태스크. 한 가지 종류의 작업에 맞춰진 목적 특화 에이전트(예: 코드 리뷰 또는 브라우저 자동화 에이전트)에 위임.
- 장기 실행 백그라운드 작업. 백그라운드에서 작업을 시작하고, 주 채팅에서 계속 작업하면서 나중에 확인.
에이전트 실행하기
대부분 에이전트를 직접 실행하지 않아요. 주 에이전트가 언제 도움이 될지 결정해 시작해요. 명시적으로 요청할 수도 있어요. 예를 들어:
- "
foo()의 모든 호출자를 찾기 위해 에이전트를 사용해줘." - "각 파일을 검토하도록 에이전트 세 개를 병렬로 실행해줘."
- "우리가 계속 작업하는 동안 이걸 백그라운드에서 연구하게 해줘."
에이전트는 실행될 때 채팅에 카드로 나타나요.
에이전트 실행 보기
하나 이상의 에이전트가 활성일 때 CoCo는 그 상태를 대화 안의 카드로 표시해요. 각 카드는 에이전트가 작업 중인 것과 여전히 실행 중인지, 완료했는지, 중지됐는지를 보여줘요.
에이전트 카드를 클릭해 기록 모달(transcript modal)을 열어요. 기록은 에이전트가 가진 전체 대화, 즉 취한 모든 단계, 사용한 모든 도구, 최종 결과를 보여줘요. 특히 여러 개가 동시에 실행될 때 에이전트가 정확히 무엇을 했는지 보는 가장 쉬운 방법이에요.
팁 에이전트가 여전히 실행되는 동안 주 채팅에서 계속 작업할 수 있어요. 카드가 제자리에서 업데이트되고, 완료 시 주 에이전트가 결과를 자동으로 가져와요. 에이전트가 더 이상 필요하지 않으면 주 에이전트에게 중지하라고 요청할 수 있어요 — 백그라운드 에이전트는 작업 중에 종료될 수 있어요.
결과 검토하기
에이전트가 완료되면 카드에 완료 상태가 표시되고 주 에이전트는 그것이 달성한 것의 짧은 요약을 받아요. 언제든지 카드를 열어 에이전트 작업의 전체 기록을 볼 수 있어요.
여러 에이전트를 병렬로 실행하기
에이전트는 작업을 나눌 수 있을 때 빛을 발해요. 주 에이전트에게 "세 개의 에이전트를 병렬로 사용해"라고 요청하면 동시에 실행되고 각각 독립적으로 실행돼요. 에이전트마다 카드가 하나씩 표시되고, 각각 완료되면서 업데이트돼요.
이는 다음 같은 작업에 적합해요.
- 여러 파일을 한 번에 검토.
- 코드베이스의 여러 부분에서 관련 코드를 검색.
- 대안 접근 방식을 나란히 비교.
- 여러 초안을 작성하고 최고를 선택.
사용자 정의 에이전트 만들기
기본 제공 에이전트 외에 직접 정의할 수 있어요. 사용자 정의 에이전트를 사용하면 이름, 설명, 허용된 도구, 모델, 시스템 프롬프트를 미리 구성할 수 있어요. 전문화된 에이전트에 위임하려는 반복적인 종류의 태스크가 있을 때 유용해요.
에이전트를 관리하려면 Agent Settings를 열고 사이드바에서 Agents를 선택해요. 이 패널은 CoCo와 함께 제공되는 번들 에이전트, 플러그인이 제공하는 에이전트, 직접 만든 사용자 정의 에이전트를 소스별로 그룹화해 나열해요.
단계
- Agent Settings › Agents를 열어요.
- 오른쪽 위의 + New를 클릭해 Add New Agent 패널을 열어요.
- 필드를 채운 뒤 Save를 클릭해요.
| 필드 | 설명 |
|---|---|
| 저장 위치 | 에이전트 정의가 저장되는 위치. Global은 에이전트를 모든 워크스페이스에서 사용할 수 있게 하고, Workspace는 현재 프로젝트로 범위를 지정해 소스 제어를 통해 팀과 공유할 수 있게 해요. |
| 이름 | 짧은 식별자(예: my-custom-agent). 에이전트를 트리거할 때 이 이름으로 언급해요. |
| 설명 | 에이전트가 하는 일의 간단한 설명. 주 에이전트는 사용자 정의 에이전트에 자동으로 위임할지 결정할 때 이 설명을 읽어요. |
| 도구 | 이 에이전트가 사용할 수 있는 도구 집합. 기본 도구 세트를 상속하려면 비워 두거나, 제한하려면 특정 도구를 선택해요. |
| 모델 | 에이전트가 실행되는 모델. CoCo가 선택하게 하려면 auto, 가벼운 작업에는 auto-small, 주 채팅의 모델과 맞추려면 inherit, 또는 특정 모델을 고정. |
| 시스템 프롬프트 | 에이전트가 태스크를 시작하기 전에 항상 실행되는 지침. 톤, 출력 형식, 제약, 도메인 지식을 설정하는 데 사용해요. |
팁 설명을 라우팅 힌트처럼 작성해요. 이 에이전트를 언제 사용할지 명확할수록 주 에이전트가 스스로 그 에이전트를 더 확실히 사용하게 돼요.
주의 번들 에이전트는 기본적으로
inherit모델을 사용하므로 주 채팅이 사용하는 모델에서 실행돼요. CoCo는 위임하는 순간inherit를 해석하므로, 에이전트가 시작하기 전에 모델을 전환해도 에이전트는 현재 모델을 따르게 돼요. 주 채팅에 모델이 설정되지 않으면inherit는auto로 대체돼요.
예시
에이전트를 저장하면 YAML frontmatter 헤더(위 양식의 필드) 뒤에 시스템 프롬프트가 이어지는 Markdown 파일이 작성돼요. 예를 들어:
---
name: changelog-writer
description: Use this to draft a short changelog entry from a set of commits.
tools: *
model: inherit
---
Summarize the given commits into a single, user-facing changelog line.
Keep it to one sentence and focus on what changed for the user.
여기서 model: inherit는 에이전트가 주 채팅이 사용하는 모델에서 실행됨을 의미해요. tools: * 필드는 모든 도구를 허용하며, 제한하려면 대신 특정 도구를 나열해요. 본문은 각 태스크 시작 전에 실행되는 시스템 프롬프트예요.
사용자 정의 에이전트 트리거하기
저장된 후 사용자 정의 에이전트는 Agents 목록에 나타나며 두 가지 방법으로 트리거할 수 있어요.
- 자동으로. 태스크가 설명과 일치하면 기본 제공 에이전트처럼 주 에이전트가 사용자 정의 에이전트를 선택해요.
- 명시적으로. 채팅에서 이름으로 요청해요. 예: "
my-custom-agent에이전트로 이 파일을 검토해줘."
Agents 목록에서 행을 펼치고 설정 아이콘을 사용해 언제든지 에이전트를 편집하거나 제거할 수 있어요. 번들 및 플러그인 제공 에이전트는 검사할 수 있지만 편집할 수 없어요.
모범 사례
- 명확하고 자족적인 태스크를 주세요. 에이전트는 주신 지침만 보며 주 대화 전체는 보지 않아요. 스스로 작업할 수 있을 만큼 충분한 세부 정보를 포함하세요.
- 돌려받을 것을 말하세요. 결과의 형식과 내용을 구체적으로 지정해요(예: "파일 경로 목록과 각각의 한 줄 요약을 반환해줘").
- 독립 작업에는 병렬 에이전트를 사용하세요. 두 태스크가 서로 의존한다면 대신 순서대로 실행해요.
- 이상해 보이면 기록을 열어보세요. 전체 기록은 에이전트의 추론을 이해하거나 예기치 않은 결과를 디버깅하는 가장 좋은 방법이에요.
주의 각 에이전트는 자체 컨텍스트 창이 있으며 주 대화나 다른 에이전트와 상태를 공유하지 않아요. 정보는 에이전트의 최종 요약을 통해서만 주 에이전트로 다시 흘러가요. 서브에이전트에 보내는 후속 질문은 저장되지 않으며, 상위 세션만 유지돼요.