| name | feedback-council |
| description | 현재 세션에서 고민될 때 5명의 AI 관점으로 즉각 피드백을 수집하고 액션아이템을 도출. Trigger on "피드백 좀", "다른 관점", "의견 모아줘", "feedback council", "council", "여러 관점에서", "고민되는데", "어떻게 생각해"
|
| argument-hint | [topic] or empty to use current context |
Feedback Council
현재 대화 맥락에서 고민 주제를 추출하고, 5개 AI sub-agent로부터 다양한 관점의 피드백을 병렬 수집하여 종합 → 액션아이템을 도출한다.
Phase 1: 맥락 포착 & 질문 정제
- 사용자가 인자로 주제를 전달했으면 그것을 사용한다.
- 인자가 없으면 현재 대화 흐름에서 핵심 고민을 1-2문장으로 추출한다.
- 사용자에게 확인:
"이 주제로 피드백을 모을까요?"
> [추출한 주제 요약]
사용자가 수정하면 반영한다.
Phase 2: 페르소나 자동 구성 + 컨펌
페르소나 선택 로직
- 주제 분류: 고민을 아래 카테고리로 분류 (복합 가능)
- 기술 결정 / 제품·UX 결정 / 전략·방향 결정 / 콘텐츠·마케팅
- 5명 배정: 해당 카테고리의 관점 풀에서 5개 선택
- 다양성 규칙:
- 최소 1명은 반대 관점 (Devil's advocate, 비관론자, 미니멀리스트 등)
- 최소 1명은 실사용자 관점 (엔드유저, 신규 사용자, 타겟 독자 등)
- 비슷한 시각의 페르소나 2개 이상 배정 금지
- 맥락 반영: 현재 프로젝트의 특성 (대상 사용자, 기술 스택, 도메인 등) 고려
관점 풀 (Perspective Pool)
기술 결정
| 관점 | 핵심 질문 |
|---|
| 실용주의 엔지니어 | "지금 당장 돌아가는 가장 단순한 방법은?" |
| 아키텍트 | "6개월 후에도 유지보수 가능한가?" |
| 성능 광 | "병목은 어디? 벤치마크는?" |
| DX 옹호자 | "개발자가 쓰기 편한가?" |
| 보안 감사관 | "공격 표면은?" |
제품/UX 결정
| 관점 | 핵심 질문 |
|---|
| 신규 사용자 | "처음 보면 뭘 해야 할지 알겠는가?" |
| 파워 유저 | "반복 사용 시 효율적인가?" |
| 접근성 전문가 | "모든 사용자가 쓸 수 있는가?" |
| 비즈니스 분석가 | "지표에 어떤 영향?" |
| 경쟁사 분석가 | "경쟁 제품은 이걸 어떻게 풀었나?" |
전략/방향 결정
| 관점 | 핵심 질문 |
|---|
| 낙관론자 | "이게 되면 뭐가 좋아지나?" |
| 비관론자 (Devil's advocate) | "최악의 시나리오는?" |
| 사용자 대변인 | "실제 사용자는 이걸 원하나?" |
| 자원 관리자 | "비용 대비 가치는?" |
| 장기 비전가 | "1년 후를 보면?" |
콘텐츠/마케팅
| 관점 | 핵심 질문 |
|---|
| 타겟 독자 | "이 글이 내 문제를 해결해주나?" |
| SEO 전략가 | "검색에서 발견 가능한가?" |
| 브랜드 가디언 | "우리 톤앤매너에 맞나?" |
| 전환 최적화 | "행동을 유도하는가?" |
| 편집장 | "구조와 흐름이 자연스러운가?" |
범용 (어떤 주제에나 사용 가능)
| 관점 | 핵심 질문 |
|---|
| Devil's advocate | 반대 입장에서 논파 시도 |
| 미니멀리스트 | "이거 없어도 되지 않나?" |
| 엔드유저 | 실제 쓰는 사람 관점 |
| 10x 사고자 | "10배 더 좋게 하려면?" |
| 현실주의자 | "제약 조건 안에서 최선은?" |
AskUserQuestion으로 컨펌
구성된 5명을 사용자에게 보여주고 승인을 받는다:
question: "이 5개 관점으로 피드백을 모을까요?"
options:
- label: "승인"
description: "[페르소나1] · [페르소나2] · [페르소나3] · [페르소나4] · [페르소나5]"
- label: "구성 변경"
description: "다른 관점을 원하면 알려주세요"
multiSelect: false
각 페르소나에 대해 [이름] — [한 줄 설명] 형태로 리스트를 텍스트로 먼저 보여준 후 AskUserQuestion을 호출한다.
"구성 변경" 선택 시 → 사용자 입력을 받아 페르소나를 교체하고 다시 컨펌.
Phase 3: 병렬 피드백 수집
Agent tool로 5개 sub-agent를 단일 메시지에서 병렬 실행한다.
각 sub-agent 프롬프트 템플릿
You are [페르소나 이름] — [한 줄 설명].
## Context
[현재 세션에서 추출한 핵심 컨텍스트 — 배경, 제약, 현재 상황]
## Question
[사용자의 고민]
## Response Rules
- Answer ONLY from your perspective. Do not try to be balanced or cover other viewpoints.
- Lead with your conclusion (찬성 / 반대 / 조건부 / 현행 유지), then give reasoning.
- Point out ONE thing other perspectives are likely to miss.
- If "현행 유지"(keep as-is) is the best answer from your perspective, say so explicitly with reasoning.
- Be concise: 3-5 sentences.
- Write in Korean (unless the user's question is in English).
Agent 호출 파라미터
subagent_type: "general-purpose"
model: "haiku" # 빠르고 저렴하게
description: "[페르소나 이름] 피드백"
prompt: [위 템플릿에 값 채운 것]
중요: 5개 Agent tool 호출을 하나의 응답에 모두 포함하여 병렬 실행한다.
Phase 4: 결과 종합 + 액션아이템
출력 포맷
## 🗣 Feedback Council
**주제**: [고민 주제 한 줄]
---
### 1. [페르소나1 이름] — [찬성/반대/조건부/현행 유지]
[3-5문장 피드백]
### 2. [페르소나2 이름] — [찬성/반대/조건부/현행 유지]
[3-5문장 피드백]
### 3. [페르소나3 이름] — [찬성/반대/조건부/현행 유지]
[3-5문장 피드백]
### 4. [페르소나4 이름] — [찬성/반대/조건부/현행 유지]
[3-5문장 피드백]
### 5. [페르소나5 이름] — [찬성/반대/조건부/현행 유지]
[3-5문장 피드백]
---
### 📊 종합
- **합의점**: [대다수가 동의하는 부분]
- **핵심 분기점**: [의견이 갈리는 지점과 그 이유]
- **놓치기 쉬운 포인트**: [개별 피드백에서 나온 독특한 지적들]
---
### ✅ 액션아이템
피드백을 종합하여 **구체적이고 실행 가능한** 액션아이템을 도출한다.
"그대로 유지"도 명시적 액션아이템이 될 수 있다.
| # | 액션 | 근거 | 우선순위 |
|---|------|------|----------|
| 1 | [구체적 행동] | [어떤 관점에서 나온 어떤 이유] | 높음/중간/낮음 |
| 2 | [구체적 행동] | [근거] | 높음/중간/낮음 |
| 3 | ... | ... | ... |
**권장 방향**: [위 액션아이템을 종합한 1-2문장 요약. 핵심 트레이드오프가 있으면 명시]
액션아이템 도출 규칙
- 합의 기반 우선: 3명 이상 동의한 포인트는 높은 우선순위
- 현행 유지도 액션: "바꾸지 않는 것"이 최선이면
현행 유지: [대상]으로 명시
- 조건부 액션: "만약 ~하려면 ~해야 한다"는 조건과 함께 기재
- 트레이드오프 명시: 상충하는 관점이 있으면 양쪽 근거를 병기
- 추상적 표현 금지: "더 고민해보기", "검토 필요" 같은 모호한 액션 불가. 무엇을 어떻게 할지 구체적으로
주의사항
- sub-agent에게 현재 세션의 핵심 맥락만 전달한다. 전체 대화를 붙여넣지 않는다.
- 페르소나는 매번 주제에 맞게 동적으로 구성한다. 고정 5명이 아니다.
- 사용자가 특정 관점을 요청하면 (e.g., "보안 관점 꼭 넣어줘") 반드시 포함한다.
- 피드백은 한국어가 기본, 사용자가 영어로 질문하면 영어로 답한다.