Skip to content

에이전트 ​

라우트 /agents. 정의, 실행 중인 서브에이전트, 팀, 이름 있는 에이전트의 네 구역으로 나뉩니다.

Agents

정의 ​

정의는 하나의 페르소나입니다. 이름, 무엇을 위한 에이전트인지에 대한 설명, 그리고 사용할 모델과 도구로 이루어집니다. 이 목록은 core의 것이므로, 터미널에서 /agent create로 만든 정의도 여기에 함께 나타납니다.

Create agent(에이전트 만들기)는 단 하나만 묻습니다. 이 에이전트가 무엇을 위한 것인지 한 문장으로 답하면 core가 그로부터 정의를 생성합니다. Named agent(이름 있는 에이전트)를 체크하면 원하는 이름으로도 등록되며, 이렇게 해야 채팅에서 호출할 수 있게 됩니다.

각 카드에는 작업 입력 상자와 Spawn(실행) 버튼이 있어, 스레드를 거치지 않고 그 정의로 서브에이전트를 바로 시작할 수 있습니다.

각 카드의 선택기는 그 에이전트가 사용할 모델이고, 옆의 칩은 그것이 무엇으로 해석되는지입니다. 에이전트 파일을 고치는 것이 아니라 에이전트별 설정 — 설정 → 모델의 Per-agent와 같은 설정 — 을 씁니다. 내장 역할에는 고칠 파일 자체가 없기 때문입니다. inherit으로 둔 에이전트는 기본값을 따릅니다. 전체 순서는 설정 → 모델에서 설명합니다.

프로젝트 팀이 활성화되어 있으면 이 구역 위에 그 팀을 알리는 띠가 나타나고 목록은 팀 구성원으로 좁혀집니다. 팀이 활성화된 동안에는 그 구성원만 실행하거나 위임할 수 있습니다. 팀 자체는 실행 대상이 아니라 이름표입니다. 카드도 Spawn 버튼도 없는데, core가 팀 이름으로 에이전트를 실행하는 것을 거부하기 때문입니다.

core가 거부한 실행은 그 이유를 core의 표현 그대로 보여 줍니다. unknown agent 'x' 이거나, 대신 고를 수 있는 팀 구성원 목록입니다.

실행 중인 서브에이전트 ​

가운데 구역은 실시간입니다. 어떤 세션이든 서브에이전트를 만들면 여기에 나타나고, 실행되는 동안 상태가 바뀌며, 끝난 뒤에도 남아 있어 결과를 읽을 수 있습니다. 상태는 queued, running, done, error 중 하나입니다.

Clear finished(완료 항목 지우기)는 종료된 행을 제거합니다. 표시상의 동작일 뿐이며, core에서 삭제되는 것은 없습니다.

팀 ​

팀은 자동 위임이 닿을 수 있는 범위를 한정하는 에이전트 정의의 명단입니다. 이름은 비슷하지만 워크트리 화면의 병렬 작업자 실행과는 다른 것입니다.

팀은 두 곳에서 오며, 표에 어느 쪽인지 표시됩니다.

  • global — core 자신의 settings.json에 정의되며 모든 프로젝트에서 쓸 수 있습니다. 전역 default_team은 프로젝트가 아무것도 지정하지 않은 곳에 적용됩니다.
  • project — <프로젝트>/.snowpea/settings.json에 정의됩니다. 같은 이름의 전역 팀을 프로젝트 팀이 가리며, 프로젝트의 activeTeam이 전역 기본값을 이깁니다.

만들 때는 구성원을 체크하고 이름을 적은 뒤 Create & use를 누르면 프로젝트에 기록되고 곧바로 활성화됩니다. Use는 기존 팀으로 바꾸고, Delete는 프로젝트 팀을 지웁니다. 전역 팀은 이 프로젝트가 지울 것이 아니므로 여기서는 읽기 전용으로만 보입니다.

세 가지 모두 파일을 직접 쓰는 대신 열려 있는 스레드에서 core의 /team 명령을 실행합니다. 그래야 이미 실행 중인 세션의 명단까지 다시 묶이기 때문입니다. 이 구역이 스레드를 먼저 열라고 안내하는 이유입니다.

각 구성원 옆에는 그 구성원이 사용할 모델 프로필이 있습니다. 위의 정의 카드 및 설정 → Models와 같은 에이전트별 설정입니다. core가 단계 배정을 알려 주면 구성원 옆에 작은 칩으로 그 구성원이 맡은 단계(plan · explore · implement · test · review)가 표시됩니다. 알려 주지 않는 core에서는 칩이 아예 보이지 않습니다.

목록 위 배너는 활성 팀을 알려 줍니다. 그 구성원들은 /team "<작업>"을 파이프라인 (plan → implement → test → review)으로 실행하며, 위임의 기본 담당자입니다. 아래 목록에는 이들만 나오고, 스폰할 수 있는 것도 이들뿐입니다.

프로젝트에 팀 배정하기 ​

프로젝트의 구성원은 시간이 지나며 바뀌므로, 배정은 이 화면뿐 아니라 프로젝트 곁에도 있습니다. 스레드 화면의 프로젝트 스위처 아래 칩이 그 프로젝트의 팀을 알려 줍니다 — Team: <이름> 또는 No team. 누르면 이미 만들어 둔 팀 중에서 고를 수 있습니다: 프로젝트 팀이 먼저, 그다음 전역 팀, 마지막이 None입니다. 같은 선택기가 프로젝트 설정 시트의 Team 구역에도 있고, 맞는 팀이 없을 때를 위한 Create team… 링크가 함께 있습니다.

고르면 열려 있는 스레드에서 /team use <이름>이 실행되고, None은 /team use none을 실행해 프로젝트에 팀이 전혀 없는 상태로 둡니다. 그러면 위임이 모든 에이전트에 닿을 수 있는데, 그것이 바로 필요한 경우도 있습니다. 파일을 직접 쓰는 것이 아니라 명령이므로 그 프로젝트에 스레드가 열려 있어야 하며, 없으면 선택기가 그렇게 안내합니다.

활성 팀 행의 Clear도 이 화면에서 같은 일을 합니다.

이름 있는 에이전트 ​

이름 있는 에이전트는 채팅 채널에 바인딩할 수 있으며, 이를 통해 Telegram, Discord, Slack, KakaoTalk에서 온 메시지에 답합니다.

Bind channel(채널 바인딩)은 플랫폼, 채널 id, 선택 항목인 사용자 id, 그리고 사용할 자격 증명 항목의 이름을 묻습니다. 자격 증명 자체는 여기에 입력하지도, 화면에 표시되지도 않습니다. 실제 값은 데몬의 자격 증명 파일이나 환경 변수에 있고, 바인딩은 이름으로 참조만 합니다.

사용자 id가 없는 바인딩은 메시지를 받을 수는 있지만 승인에는 절대 답할 수 없습니다. 그 답을 귀속시킬 사람이 없기 때문입니다. 게이트웨이 화면이 그런 바인딩을 표시해 줍니다.

Delete(삭제)는 core에서 정의를 제거합니다.

MIT licensed. The manual is generated from the product repositories — see the banner on each page.