커스텀 에이전트
커스텀 에이전트를 정의하면 용도별로 역할을 나눈 서브에이전트 구성을 만들 수 있습니다. Laravel 버전에서는SessionConfig의 customAgents를 사용해 설정합니다.
여러 서브에이전트를 병렬로 실행하는 오케스트레이션에 대해서는 Fleet Mode를 참고하세요.
기본 사용법
설정 항목
| 프로퍼티 | 타입 | 필수 | 설명 |
|---|---|---|---|
name | string | ✅ | 에이전트의 식별자 |
displayName | string | 표시명 | |
description | string | 런타임이 위임처를 선택할 때의 설명 | |
tools | ?array | 사용 가능한 도구. null / 생략 시 모두 사용 가능 | |
prompt | string | ✅ | 에이전트 전용 시스템 프롬프트 |
mcpServers | array | 이 에이전트 전용 MCP 서버 설정 | |
infer | bool | 자동 선택 대상으로 할지(기본값: true) | |
skills | array | 시작 시에 로드할 스킬 이름 리스트 |
description은 구체적으로 쓸수록 자동 선택의 정확도가 올라갑니다.
세션 시작 시 특정 에이전트 선택
agent를 지정하면 최초 턴부터 특정 커스텀 에이전트를 활성화할 수 있습니다.
자동 선택 비활성화(infer: false)
위험도가 높은 조작을 수행하는 에이전트는, 자동 선택을 비활성화하고 명시적으로 사용하는 운영이 안전합니다.
기본 에이전트에서 도구 숨기기
defaultAgent.excludedTools를 사용하면 메인 에이전트에서만 특정 도구를 숨길 수 있습니다.
해당 도구를 사용할 수 있는 커스텀 에이전트로 위임하기 쉬워집니다.
서브에이전트 이벤트 모니터링
서브에이전트 실행 중에는subagent.* 이벤트가 흐릅니다.
onEvent 또는 $session->on()으로 모니터링할 수 있습니다.
베스트 프랙티스
researcher(읽기 중심)와editor(변경 담당)를 분리한다tools는 필요 최소한으로 하여 권한을 좁힌다description을 구체적으로 작성해 자동 위임 정확도를 높인다subagent.failed를 잡아 재시도나 폴백 전략을 준비한다