151 lines
14 KiB
Markdown
151 lines
14 KiB
Markdown
---
|
|
title: "파티 모드"
|
|
description: AI 에이전트를 하나의 대화에 모아 실행하고, 직접 출연진을 만들고, 얼마나 독립적으로 사고할지 선택합니다
|
|
sidebar:
|
|
order: 11
|
|
---
|
|
|
|
파티 모드는 AI 에이전트를 한자리에 모아 서로, 그리고 사용자와 대화하게 합니다. 이 문서는 파티가 무엇인지, 파티를 실행하는 네 가지 방식, 설치된 에이전트 대신 직접 페르소나 출연진을 만드는 방법, 그리고 파티가 세션 사이에 사용자를 기억하는 방식을 설명합니다.
|
|
|
|
## 파티 모드란?
|
|
|
|
`bmad-party-mode`를 실행하면 이미 설치된 BMad 에이전트들이 한 대화에 모입니다. PM, 아키텍트, 개발자, UX 디자이너, 그리고 선택한 모듈이 제공하는 다른 에이전트들이 함께 들어옵니다. 설치된 이 명단이 기본 파티이며 별도 설정 없이 바로 사용할 수 있습니다. 이들은 각자 캐릭터에 맞게 답하고, 동의하거나 반대하며, 서로의 생각을 이어갑니다. 사용자는 대화를 조종합니다. 후속 질문을 하고, 반박하고, 한 관점을 앞으로 끌어내거나, 주제를 바꿀 수 있습니다. 대화는 사용자가 끝낼 때까지 계속됩니다.
|
|
|
|
이 방식이 작동하는 이유는 페르소나마다 우선순위가 다르기 때문입니다. 아키텍트는 설계를 지키고, PM은 범위를 지키고, 개발자는 실제로 만들 수 있는지를 지킵니다. 이들을 같은 대화에 넣으면 절충점이 스프린트 3주 차가 아니라 지금 드러납니다.
|
|
|
|
**잘 맞는 경우:**
|
|
|
|
- 실제 절충이 필요한 결정
|
|
- 브레인스토밍과 "무엇을 놓쳤나?" 점검
|
|
- 사후 분석과 회고
|
|
- 실행 전에 계획을 압박 검증하기
|
|
|
|
파티 모드는 페르소나들이 의견을 갖고 충돌하기 때문에 빠르고 꽤 재미있는 브레인스토밍 방법이기도 합니다. 다른 어떤 워크플로 안에서도 파티를 시작할 수 있습니다. 브레인스토밍 중, PRD 작성 중, 코딩 중, 영업 각도를 잡는 중, 창작물을 다듬는 중에도 가능합니다. 눈앞의 문제에 더 많은 관점이 필요할 때, 하던 일을 내려놓지 않고 파티를 불러오세요.
|
|
|
|
:::note[예시]
|
|
**사용자:** MVP에는 모놀리스가 좋을까요, 마이크로서비스가 좋을까요?
|
|
|
|
**아키텍트:** 모놀리스로 시작하세요. 사용자 1,000명 규모에서는 마이크로서비스가 필요 없는 운영 비용을 더합니다.
|
|
|
|
**PM:** 동의합니다. 아직 증명하지 못한 확장성보다 출시 속도가 더 중요합니다.
|
|
|
|
**개발자:** 모놀리스가 좋습니다. 다만 나중에 서비스 하나를 분리해도 재작성하지 않도록 명확한 모듈 경계를 둡시다.
|
|
:::
|
|
|
|
## 파티 시작하기
|
|
|
|
스킬을 호출하고 원하는 것을 말하세요. 스킬이 사용자가 파티를 실행하려는지, 새로 만들려는지 판단합니다.
|
|
|
|
| 목표 | 입력 |
|
|
| --- | --- |
|
|
| 기본 모드로 파티 시작 | `/bmad-party-mode` |
|
|
| 특정 모드로 시작 | `/bmad-party-mode --mode auto` (`session`, `subagent`, `agent-team`도 가능) |
|
|
| 저장된 파티 열기 | `/bmad-party-mode --party code-review-crew` |
|
|
| 즉석에서 출연진 만들기 | "엔터프라이즈호 브리지 크루로 파티 모드" |
|
|
| 파티 생성 또는 추가 | "파티 모드, 새 파티 만들어줘" |
|
|
| 기존 파티 편집 | "파티 모드, writers' room 편집해줘" |
|
|
| 스킬 커스터마이즈 | `/bmad-customize bmad-party-mode` |
|
|
|
|
## 파티 실행 방식
|
|
|
|
파티 실행 방식은 네 가지입니다. 세션당 하나의 모드가 활성화되며, 그 모드는 누가 사고하는지를 결정합니다. 하나의 모델이 모두의 목소리를 내는지, 별도 에이전트들이 각자 추론하는지가 달라집니다.
|
|
|
|
| 모드 | 하는 일 | 사용 시점 |
|
|
| --- | --- | --- |
|
|
| `session` | 기본값입니다. 하나의 모델이 모든 페르소나를 인라인으로 연기합니다. 빠르고 대화가 자연스럽습니다. | 대부분의 대화. 농담, 브레인스토밍, 빠른 주고받기. |
|
|
| `auto` | 가벼운 라운드는 인라인으로 진행하고, 독립성이 답을 바꾸는 경우에만 독립 에이전트를 생성합니다. | 대부분은 속도를 원하지만 어려운 라운드에서는 실제 독립성이 필요할 때. |
|
|
| `subagent` | 의미 있는 라운드마다 페르소나별 별도 에이전트를 생성합니다. 한 생각이 모두를 물들이지 않습니다. | 정직한 리뷰와 포커스 그룹처럼 목소리가 섞이면 안 될 때. |
|
|
| `agent-team` | 페르소나를 지속 팀으로 세워 서로 직접 대화하게 합니다. Claude Code 전용입니다. | 에이전트들이 서로 말하는 실시간 원탁 토론을 손 놓고 지켜보고 싶을 때. |
|
|
|
|
이 선택은 중요합니다. 하나의 모델이 다섯 페르소나를 연기하면 조용히 한쪽으로 모이기 쉽습니다. 결국 같은 마음을 공유하기 때문입니다. 실제 에이전트를 생성하면 추론이 분리되고, 리뷰 패널이나 포커스 그룹에서 중요한 독립성을 지킬 수 있습니다. `session`은 비용이 가장 적고 흐름이 유연합니다. 생성 모드는 비용이 더 들지만 독립성을 보호하고, `auto`는 필요한 라운드에만 생성해 둘 사이를 노립니다.
|
|
|
|
`session`이 기본값입니다. 다른 모드를 실행할 수 없는 환경에서는 순서대로 되돌아갑니다. `agent-team`은 `subagent`로, 다시 `session`으로 내려갑니다. 설정된 기본값은 커스터마이징에 저장되고, 실행 시점의 override가 해당 세션에서 우선합니다.
|
|
|
|
:::tip[한 세션만 override]
|
|
`--mode subagent` 또는 `auto`, `agent-team`, `session`으로 파티를 시작하면 설정된 기본값을 그 실행에서만 바꿀 수 있습니다.
|
|
:::
|
|
|
|
## 커스텀 파티
|
|
|
|
기본적으로 파티는 설치된 BMad 에이전트를 사용합니다. 더 크게 쓰려면 설명할 수 있는 페르소나 집합을 직접 출연진으로 만들고, 저장해 재사용하면 됩니다. 파티 작성도 같은 스킬로 합니다. 스킬은 사용자가 파티를 실행하려는지 만들려는지 감지하고, 결과를 [bmad-customize](../how-to/customize-bmad.md)로 오버라이드에 씁니다.
|
|
|
|
파티 모드도 다른 BMad 스킬처럼 커스터마이즈됩니다. `/bmad-customize bmad-party-mode`를 실행해 기본값을 직접 설정하세요. 만든 그룹을 기본 파티로 고정해 플래그 없이 로드되게 하거나, 시작 모드를 고르거나, 파티 전체가 세션 내내 지킬 규칙을 설정할 수 있습니다.
|
|
|
|
두 가지 개념이 대부분의 일을 합니다.
|
|
|
|
**페르소나**는 멤버를 알아볼 수 있게 만드는 요소입니다. 말하는 방식, 중요하게 여기는 것, 논쟁 방식, 집착하는 문제, 보지 못하는 지점이 여기에 들어갑니다. "회의적인 CFO"는 임시 표현입니다. "18개월 안에 회수 계획이 없으면 승인하지 않고, 그 말을 첫 30초 안에 꺼내는 사람"은 페르소나입니다. 그 정도의 구체성이 있어야 이름표를 가려도 알아볼 수 있는 관점이 됩니다.
|
|
|
|
**장면**은 무대를 설정합니다. 장면은 한 줄의 자유 형식 문장입니다. 배경, 벌어지는 일, 누가 누구에게 적대적인지, 누가 가장 세게 밀어붙이는지를 적습니다. 같은 멤버도 장면마다 다르게 움직입니다. 한 사람을 한 번 정의해 두고, 임무 중인 브리지 크루, 근무 후 라운지의 같은 크루, 적대적인 구매자 패널에 넣을 수 있습니다. 멤버들은 이름 있는 그룹으로 묶이고, 그룹 하나를 기본 파티로 고정할 수 있습니다.
|
|
|
|
### 파티의 형태
|
|
|
|
| 형태 | 의미 |
|
|
| --- | --- |
|
|
| 테마 출연진 | 유명 투자자, TV 앙상블처럼 특정 주제 주변에 모인 구분되는 목소리. |
|
|
| 일회성 페르소나 | 그룹 없이도 후보군에 추가한 하나 또는 두 페르소나. |
|
|
| 데이터 기반 포커스 그룹 | 고객 또는 설문 데이터를 주면 행동 동인을 기준으로 군집화하고 대표 페르소나를 만듭니다. 고객들이 독립적으로 반응하도록 `subagent` 모드와 함께 쓰세요. |
|
|
| 리뷰 패널 | 중요한 것을 두고 논쟁하도록 설계된 비판 렌즈들입니다. 함께 제공되는 Code Review Crew가 예입니다. |
|
|
| 열린 출연진 파티 | 고정 명단이 없습니다. 장면이 세계관을 정하고, 주제가 바뀔 때마다 즉석으로 출연진을 정합니다. |
|
|
|
|
가장 큰 효과가 나는 경우는 포커스 그룹입니다. 실제 프로필을 넣으면 대표 고객 패널이 만들어지고, 제품을 만들기 전에 아이디어를 시험합니다. 각 고객은 마지막 목소리에 동의하는 대신 자신의 목표와 예산에서 반응합니다.
|
|
|
|
## 만들 수 있는 파티
|
|
|
|
파티는 페르소나와 장면뿐이므로 범위가 넓고, 새 스킬이나 모듈이 필요하지 않습니다.
|
|
|
|
- 스타트업 아이디어를 스트레스 테스트하는 창업자 팀.
|
|
- 감사 전에 구멍을 찾는 컴플라이언스 팀.
|
|
- 소프트웨어 개념을 두고 토론하는 애자일 선언문 작성자들.
|
|
- 글쓰기 파트너 그룹으로서의 코미디언 파티.
|
|
- 철학적 질문을 풀거나 어려운 문제를 해체하는 과거의 위대한 사상가들.
|
|
- 분기 계획을 세우는 비즈니스 경영진.
|
|
|
|
이는 출발점일 뿐입니다. 설명할 수 있는 어떤 관점의 집합이든 파티가 됩니다. 페르소나를 쓰고, 파티에 장면을 주면 됩니다.
|
|
|
|
## Code Review Crew
|
|
|
|
기본 파티는 설치된 모듈이 제공하는 에이전트입니다. Code Review Crew는 그 기본 파티와 함께 제공되는 커스텀 파티입니다. 직접 파티를 만들기 전에 참고할 수 있는 작동 템플릿이지 기본값을 대체하지 않습니다. 이는 리뷰 패널입니다. 다섯 가지 렌즈가 변경을 서로 다른 각도에서 공격하고, 형식적인 승인 대신 실제로 중요한 것이 무엇인지 논쟁합니다.
|
|
|
|
| 멤버 | 렌즈 |
|
|
| --- | --- |
|
|
| Vex | 보안. 모든 것을 위협 모델링으로 보고 구체적인 악용 경로를 말합니다. |
|
|
| Grumbal | 적대자. 코드는 깨졌다고 가정하고 그것을 증명하려고 합니다. |
|
|
| Boundary | 엣지 케이스. 모든 분기, `null`, 경쟁 상태, 과도하게 큰 입력, 특이한 시간대를 봅니다. |
|
|
| Yui | 장인. 단순성, 이름, 불필요한 영리함이나 중복 제거를 봅니다. |
|
|
| Dana | 실용주의자. 완벽주의자들에게 반박하고 실제 문제와 사소한 지적을 구분합니다. |
|
|
|
|
이 팀은 정의되어 있지만 비활성 상태로 제공됩니다. 멤버들은 후보군에 있고 그룹을 소환하기 전까지 비용을 만들지 않으며, 기본 파티를 어지럽히지 않습니다. 다섯 렌즈가 각자 검토한 뒤 발견 사항을 두고 충돌하도록 `subagent` 모드로 실행하세요.
|
|
|
|
## 대화 조종하기
|
|
|
|
사용자는 내내 대화를 조종합니다.
|
|
|
|
- 누군가를 들이기: "UX 디자이너를 불러와."
|
|
- 한 관점을 깊게 파기: "Winston, 저걸 해체해 봐." 직접 요청하면 한 페르소나가 깊게 답하라는 신호가 됩니다.
|
|
- 세션 중 파티 바꾸기: "작가 회의실로 전환해." 활성 그룹을 바꾸고 대화 맥락은 이어갑니다.
|
|
- 현재 파티에 없는 커스텀 멤버라도 이름으로 소환하기.
|
|
|
|
어떤 모드로 실행 중이든 오케스트레이터는 결과를 별도 답변 묶음이 아니라 하나의 대화로 제시합니다. 페르소나를 캐릭터 안에 유지하며, 작동 방식을 설명하느라 몰입을 깨지 않습니다.
|
|
|
|
:::tip[둘 이상의 파티 섞기]
|
|
한 그룹에 제한되지 않습니다. 여러 파티의 멤버를 같은 대화로 끌어오거나, 그 자리에서 출연진을 지명해 섞어도 됩니다. 예를 들어 Golden Girls를 Martin Fowler, Linus Torvalds와 함께 아키텍처 리뷰에 불러 변경 요청을 두고 논쟁하게 하세요. 어떤 일이 벌어질지 상상해 보세요.
|
|
:::
|
|
|
|
## 파티는 기억합니다
|
|
|
|
파티에 기억 기능을 주면 중단했던 지점에서 이어갑니다. 파티는 지난 세션의 자체 기록을 유지합니다. 멤버 사이에 쌓인 역학, 열어 둔 실마리, 이전 대화가 어디에 도착했는지를 기억합니다. 일주일 뒤 다시 열어도 그 이력은 남아 있습니다. 지난번에 충돌했던 두 멤버는 조금 차갑게 시작하고, 예전 세션의 날카로운 한 줄이 자연스럽게 다시 떠오를 수 있습니다.
|
|
|
|
이는 대화록이 아니라 기억입니다. 파티는 모든 말을 기록하지 않고, 기억할 가치가 있는 몇 가지만 가져갑니다. 그래서 다음 대화가 이어지는 느낌을 주면서도 과거 전체를 끌고 오지 않습니다. 이 과정은 백그라운드에서 자동으로 일어납니다. 따로 저장할 것이 없고, 파티는 캐릭터를 깨고 기억 기능을 설명하지 않습니다.
|
|
|
|
즉석에서 등장한 캐릭터도 기억될 수 있습니다. 열린 출연진 장면에 잠깐 등장한 인물이거나, 대화 중 추가한 사람일 수 있습니다. 세션 끝에서 파티는 새로 온 인물을 유지할지 제안하고, 유지하면 파티에 접어 넣어 다음에도 다시 올 수 있게 합니다.
|
|
|
|
메모리는 파티별로 설정됩니다. 파티를 만들거나 저장할 때 기억할지 묻습니다. 기본 설치 에이전트 파티는 끄지 않는 한 기억합니다. 이 설정은 `/bmad-customize bmad-party-mode`에서 바꿀 수 있습니다.
|
|
|
|
## 세션 보관본
|
|
|
|
마무리할 때 오케스트레이터는 보관본을 제안합니다. 보관하거나 공유할 수 있는 독립 HTML 문서 하나입니다. 원문 대화록을 그대로 쏟아내는 대신 페르소나별로 대화를 배치합니다. 거절하면 파티는 그대로 끝납니다.
|
|
|
|
:::tip[더 나은 결정]
|
|
파티의 가치는 의견 차이에 있습니다. 한자리에 모인 다양한 관점은 한 줄의 사고가 놓치는 것을 잡아냅니다.
|
|
:::
|