ADR-0003: Persona as Agent¶
We will implement the Lead Persona (Layer 4) as a custom agent (
bonie-lead) with project-scoped persistent memory.
Status¶
Accepted
- Decided at — 2026-04-15
- Decided by — pabloism0x
Context¶
Layer 4(Lead Persona)는 테크리드의 판단 기준, 코드 리뷰 스타일, 멘토링 방식을 반영한 AI 어시스턴트다. 구현 방식으로 CLAUDE.md 직접 작성, skill, agent, rules 4가지 옵션이 있다. 페르소나는 지식 주입보다 독립적 판단과 피드백이 핵심이므로, 독립 컨텍스트에서 동작하는 메커니즘이 필요하다.
Decision¶
Custom agent(bonie-lead)로 구현한다.
plugins/primitives/persona/agents/bonie-lead.md에 정의model: sonnet— 팀원 5배 플랜 호환memory: project— 프로젝트별 맥락 축적- 3가지 모드: Code Reviewer, Decision Advisor, Team Mentor
- description에
Use proactively.포함하여 적극적 자동 위임
Consequences¶
Positive¶
- 메인 컨텍스트 보존 (페르소나 판단이 작업 컨텍스트를 오염시키지 않음)
memory: project로 프로젝트 학습 가능 (결정 이력, 패턴, 개선 추적)- Claude가 상황에 맞게 자동으로 위임
settings.json의agent설정으로 기본 활성화 가능
Negative¶
- Agent 호출에 추가 latency 발생
- Plugin agent 보안 제약 (
hooks,mcpServers,permissionMode미지원) - 복잡한 system prompt 작성/유지 필요
Neutral¶
- 페르소나 프롬프트 품질이 agent 효용을 결정
Alternatives considered¶
Alternative 1: CLAUDE.md에 직접 작성¶
Pros - 항상 컨텍스트에 로드, 구현 단순
Cons - 컨텍스트 비용 큼 (매 세션 소비) - 독립 판단이 아닌 규칙 적용에 가까움
Why rejected — 페르소나의 핵심은 "판단"이지 "규칙"이 아니다. 매 세션 컨텍스트 소비도 비효율적.
Alternative 2: Skill로 구현¶
Pros - 필요 시에만 로드, 컨텍스트 효율적
Cons - skill은 지식 주입에 적합, 독립 판단에는 부적합 - 3가지 모드의 다른 도구 세트/깊이를 지원하기 어려움
Why rejected — skill은 inline으로 동작하여 독립 컨텍스트 없이 판단해야 하므로, 메인 작업과 섞인다.
Alternative 3: Rules로 구현¶
Pros - 항상 적용, 강제성 높음
Cons - 규칙은 제약이지 판단이 아님 - memory 미지원
Why rejected — "이렇게 해라"는 rules로 가능하지만, "왜 이렇게 해야 하는지", "너라면 어떻게 하겠는지"는 agent만 가능.
Compliance¶
bonie-lead.md변경 시 팀 리뷰 필수- system prompt의 핵심 원칙 변경은 ADR로 기록
Revisit triggers¶
- Plugin agent에서
hooks/permissionMode지원이 추가될 때 - 팀원이 "페르소나가 너무 자주 개입한다" 또는 "너무 안 나온다"고 피드백할 때
- opus 모델 비용이 문제될 때 (모델 다운그레이드 검토)
References¶
Related ADRs¶
ADR-0001— Auto-Load First (agent의 자동 위임도 같은 원칙)