에이전트 커스터마이즈
relay의 에이전트 페르소나는 에이전트 풀에 정의합니다. /relay:relay 세션마다 대화형 팀 구성을 통해 태스크에 맞는 팀을 풀에서 선발합니다.
your-project/└── .relay/ └── agents.pool.yml # 에이전트 풀 (이 파일을 수정하세요)시작하려면 relay에 포함된 agents.pool.example.yml을 .relay/agents.pool.yml로 복사하세요.
agents.pool.yml 기본 구조
Section titled “agents.pool.yml 기본 구조”agents: fe: name: "Frontend Engineer" emoji: "💻" description: "React, TypeScript, UI 구현" tags: [frontend, react, typescript] tools: - get_messages - claim_task - update_task - post_artifact - send_message - request_review - broadcast_thinking systemPrompt: | You are a Frontend Engineer specialising in React and TypeScript. ...| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | 에이전트 표시 이름 |
emoji | 예 | 대시보드와 메시지에 표시할 이모지 |
tools | 예 | 에이전트가 호출할 수 있는 MCP 도구 목록 |
systemPrompt | 예 | 에이전트의 기본 시스템 프롬프트 |
description | 아니오 | 팀 구성 제안에 쓰이는 짧은 설명 |
tags | 아니오 | /relay:relay의 스마트 팀 매칭에 쓰이는 분류 태그 |
language | 아니오 | 응답 언어 강제 (예: "Korean", "English") |
disabled | 아니오 | true로 설정하면 레지스트리에서 제외 |
extends | 아니오 | 다른 풀 에이전트의 모든 필드를 상속하고, 다른 점만 오버라이드 |
validate_prompt | 아니오 | 태스크 완료 전 시스템 프롬프트에 주입하는 검증 기준. 에이전트가 update_task(status: "done") 호출 전에 모든 기준을 확인합니다 |
에이전트 ID에는 영문자, 숫자, 하이픈, 언더스코어([a-zA-Z0-9_-])만 사용할 수 있습니다.
최상위 language 필드
Section titled “최상위 language 필드”풀 전체의 기본 응답 언어를 설정합니다:
language: "Korean" # 에이전트별로 오버라이드하지 않으면 모두 한국어로 응답
agents: fe: name: "Frontend Engineer" # ... language: "Korean" 상속 pm: name: "Product Manager" language: "English" # 이 에이전트만 영어로 오버라이드 # ...extends
Section titled “extends”다른 에이전트의 설정을 상속해 확장합니다. 같은 역할을 여러 인스턴스로 실행할 때 유용합니다:
agents: fe: name: "Frontend Engineer" emoji: "💻" tags: [frontend] tools: [claim_task, update_task, post_artifact, send_message] systemPrompt: | You are a Frontend Engineer specialising in React and TypeScript. ...
fe2: extends: fe # fe 페르소나를 상속 name: "Frontend Engineer (Reviewer)" emoji: "🔍"extends는 두 번째 패스에서 처리하므로 YAML 파일 내 선언 순서는 상관없습니다. 세션 파일의 에이전트도 풀 에이전트 ID를 extends로 지정할 수 있습니다.
tags 필드
Section titled “tags 필드”tags는 /relay:relay가 팀을 제안할 때 매칭에 활용합니다. 에이전트의 도메인과 기술을 설명하는 태그를 추가하세요:
agents: security: name: "Security Engineer" emoji: "🔐" tags: [security, owasp, vulnerability] description: "Security vulnerability analysis and remediation" tools: - get_messages - update_task - get_artifact - post_artifact - send_message systemPrompt: | You are a security expert. Review code against the OWASP Top 10 and identify vulnerabilities with recommended fixes.tools 필드
Section titled “tools 필드”에이전트가 호출할 수 있는 MCP 도구 목록입니다. 주요 도구:
tools: # 메시지 - send_message - get_messages # 태스크 - create_task - update_task - claim_task - get_all_tasks # optional assignee 필터 지원 # 아티팩트 - post_artifact - get_artifact # 리뷰 - request_review - submit_review # 메모리 - read_memory - write_memory - append_memory # 가시성 - broadcast_thinking # 오케스트레이터 상태 (컨텍스트 압축 후 복구) - save_orchestrator_state - get_orchestrator_statetools 배열에 없는 MCP 도구는 호출할 수 없습니다.
각 역할에 필요한 최소한의 도구만 부여하는 것을 권장합니다.