AI 그룹 씬 조율이 단일 캐릭터 대화보다 더 어려운 이유
단일 캐릭터 대화는 따라가야 할 하나의 목소리와 하나의 대화 맥락만 존재합니다. 반면 여러 캐릭터가 등장하는 AI 씬에서는 다음에 누가 말할지, 각 캐릭터가 무엇을 알고 있는지, 누구의 말이 표시되고 있는지, 공유된 상황이 어떻게 변화하는지까지 결정해야 합니다. 그룹 씬에 일관성을 부여하려면 이를 각각 별도의 조율 작업으로 다루어야 합니다. 발화 규칙을 설정하고, 캐릭터별로 지식을 추적하며, 모든 발화 순서를 일관되게 라벨링하고, 중요한 이야기 전개 변화를 명시적으로 기록하세요.
그룹 씬에는 대화에서 처리해야 할 작업이 여러 개 존재합니다
일대일 대화에서 모델은 대개 가장 최근 메시지를 다음에 답변해야 할 내용으로 간주할 수 있습니다. 그러나 그룹 씬에서 캐릭터는 사용자가 아닌 다른 사람에게 말을 걸거나, 다른 캐릭터의 질문에 답하거나, 씬이 진행되는 동안 침묵을 지킬 수도 있습니다. 그럴듯한 대사를 선택하는 것은 작업의 일부일 뿐입니다. 시스템은 발화자를 선택하고 누가 누구에게 응답하고 있는지 유지해야 합니다.
이러한 차이는 다자간 대화 연구에서도 나타납니다. 다자간 목표 추적에 관한 한 연구에서는 사람들이 목표를 공유하고, 서로에게 응답하며, 다른 참여자의 목표에 대한 정보를 제공하는 모습을 설명합니다. 이는 양자 대화에서는 같은 방식으로 발생하지 않는 상호작용입니다. 연구진은 평가한 언어 모델에서 이 작업이 여전히 까다로운 과제로 남아 있다고 보고합니다. 이 결과는 과업 지향적 대화에 관한 것이지만, 참여자를 추가하는 것이 단순히 목소리의 수뿐만 아니라 문제의 구조 자체를 어떻게 바꾸는지 잘 보여줍니다. Multi-party Goal Tracking with LLMs
씬을 계획하는 유용한 방법은 매 비트마다 세 가지 결정을 구분하는 것입니다. 방금 무슨 일이 일어났는지, 누가 응답할 이유가 있는지, 그리고 어떤 응답이 공유된 씬을 앞으로 나아가게 할지입니다. 단지 차례를 채워야 한다는 이유만으로 캐릭터가 말을 한다면 그 결과는 종종 출석 확인처럼 느껴지게 됩니다. 한 캐릭터가 모든 비트를 독점하도록 내버려 두면 씬은 이름만 여러 개 붙은 단일 캐릭터 대화로 퇴보할 수 있습니다.
발화 순서에는 씬이 따를 수 있는 규칙이 필요합니다
모든 창작 씬에 일괄적으로 적용되는 단 하나의 최적 턴 순서는 없습니다. 고정된 순환 방식은 예측하기 쉽고 각 캐릭터가 정기적으로 발언할 기회가 필요할 때 유용합니다. 맥락적 선택은 더 유기적으로 느껴질 수 있습니다. 즉, 최근의 행동이나 질문이 캐릭터에게 명확한 이유를 제공할 때 해당 캐릭터가 발화합니다. 제약된 순서는 다른 사람들이 반응하기 전에 한 캐릭터가 계획을 제안하게 하는 등 특정 구조를 유지하는 데 도움이 될 수 있습니다.
멀티 에이전트 그룹 채팅 프레임워크는 이러한 차이를 명시적으로 드러냅니다. Microsoft의 AutoGen 문서는 모델이 선택하는 발화자, 라운드 로빈 턴, 사용자 정의 선택 함수를 설명합니다. 이 선택기는 참여자 이름, 설명, 대화 기록을 활용할 수 있습니다. 또한 이 문서에는 동일한 참여자가 연속으로 발화하는 것을 방지하는 기본 옵션도 언급되어 있습니다. 이는 스토리텔링 규칙이 아니라 오케스트레이션 선택 사항이지만, 씬 설계에 유용한 실용적 선택지를 제공합니다. AutoGen Selector Group Chat
창작 씬의 경우, 생성을 시작하기 전에 일상적인 언어로 간단한 선택 규칙을 정의하세요. 예를 들면 다음과 같습니다. “직접 질문을 받은 사람이 먼저 대답하도록 하라. 그렇지 않다면 설정된 목표나 현재 행동이 가장 관련성 높은 캐릭터를 선택하라. 유의미한 반응이 없는 사람은 건너뛰어라. 한 사람이 행동을 완결 짓는 상황이 아니라면 두 번 연속으로 턴을 주지 마라.” 이는 통계적으로 보장된 법칙이 아니라 권장되는 설계 규칙입니다. 이 규칙의 가치는 시스템이 자의적인 순환에 의존하는 대신 발화자를 선택할 명확한 근거를 제공한다는 점에 있습니다.
캐릭터 지식은 개별적으로 추적되어야 합니다
한 씬을 공유한다고 해서 모든 캐릭터가 모든 사실을 알아야 하는 것은 아닙니다. 한 캐릭터는 메모를 보았을 수 있고, 다른 캐릭터는 설명의 일부만 들었을 수 있으며, 세 번째 캐릭터는 아직 도착하지 않았을 수도 있습니다. 작성 과정에서 구분되지 않은 단일 대화 기록만 저장한다면, 모델은 대화 어딘가에서 언급된 사실을 등장인물 전체의 상식으로 쉽게 간주할 수 있습니다.
씬 요약과 함께 간단한 지식 원장을 활용하세요. 중요한 사실마다 누가 알고 있는지, 그리고 어떻게 알게 되었는지를 기록합니다. 불확실한 정보는 확인된 정보와 명확히 구분하세요. “미라는 봉투의 수신인이 조라고 의심한다”는 “미라는 봉투를 읽었다”와 같지 않습니다. 턴이 시작되기 전에 발화 예정자를 해당 원장과 대조해 확인하세요. 캐릭터에게 정보가 없다면 질문하거나, 관찰하거나, 추측하거나, 모르는 상태로 남아 있어야 합니다. 자신이 알고 있는 사실처럼 말해서는 안 됩니다.
캐릭터 중심의 스토리 이어쓰기 연구에서는 페르소나 일관성, 캐릭터 관계, 논리적인 플롯 전개를 상호 연관된 과제로 파악합니다. 이 연구는 스토리 맥락에 캐릭터 관계 정보를 추가했으며, 이것이 기준 모델 대비 스토리 이어쓰기 정확도를 향상시켰다고 보고합니다. 이 연구가 모든 AI 씬에서 지식을 추적하는 단 하나의 보편적인 방법을 확립하는 것은 아니지만, 더 넓은 설계 원칙을 뒷받침합니다. 즉, 캐릭터 간의 맥락은 장식적인 프로필이 아니라 씬 상태의 일부라는 점입니다. Telling Stories through Multi-User Dialogue by Modeling Character Relations
발화자 라벨은 의미의 일부입니다
대사 옆에 붙는 이름은 단순한 서식처럼 보일 수 있지만, 정확한 귀속은 대화의 흐름을 보존하는 데 도움이 됩니다. 대사는 누가 말하느냐에 따라 의미가 달라집니다. 주최자의 질문은 답변을 유도할 수 있지만, 방문자의 같은 질문은 불확실함이나 도전의 신호일 수 있습니다. 라벨이 어긋나면 독자는 누가 사건을 인지했는지, 약속을 했는지, 또는 누구에게 응답하고 있는지 확실하게 구별할 수 없게 됩니다.
발화자 인지 기반 다자간 대화 분류 연구는 이 연결 고리를 명확히 보여줍니다. 연구진은 누가 말했는지 아는 것이 맥락 속에서 발화 의도를 파악하는 데 도움이 되며, 대화 참여자의 수가 늘어날수록 상호작용을 모델링하기가 더 어려워진다고 주장합니다. 연구진은 국소적 대화 맥락에서 발화자의 행동을 표현하는 방법을 테스트합니다. 이는 창작 글쓰기 평가라기보다는 대화 이해 연구이지만, 왜 안정적인 발화자 라벨이 구조적 정보인지를 다시금 강조해 줍니다. Who Is Speaking? Speaker-Aware Multiparty Dialogue Act Classification
발화자 신원은 가능한 한 오랫동안 구조화된 데이터로 유지한 다음 눈에 보이는 라벨로 렌더링하세요. 캐릭터당 하나의 표준 이름을 사용하고, 귀속에 혼선을 줄 수 있다면 별명, 직함, 이름을 무심코 번갈아 가며 사용하지 마세요. 서술과 대화도 뚜렷이 구분해야 합니다. 미라: “문 옆에 두고 왔어.”와 같은 대사는 발화와 그 주장을 미라의 것으로 명확히 할당합니다. 반면 여러 인물이 얽힌 씬에 라벨 없이 포함된 대사는 모호함을 초래합니다.
공유된 스토리 상태는 명시적으로 업데이트되어야 합니다
캐릭터들은 일어난 일을 기억할 수 있지만, 씬 역시 현재 무엇이 사실인지에 대한 간결한 기록을 필요로 합니다. 의미 있는 비트가 끝난 후에는 위치, 참석자, 이동한 물건, 내려진 결정, 아직 해결되지 않은 사항과 같은 사실들을 업데이트하세요. 이를 대화를 길게 다시 서술하는 대신 관찰 가능한 사건의 원장으로 다루어야 합니다.
이는 그룹 씬이 하나의 연속된 흐름에 대해 여러 관점을 담고 있기 때문에 중요합니다. 한 사람의 주장이 틀렸을 수 있고, 다른 사람이 이를 바로잡을 수 있으며, 세 번째 사람은 둘의 말을 듣기 전에 행동할 수도 있습니다. 발화된 대사와 별도로 결과를 기록하면 모든 주장이 확정된 사실로 굳어지는 것을 방지하는 데 도움이 됩니다. 유용한 기록의 예는 다음과 같습니다. “열쇠는 주방 카운터에 있다. 조가 그곳에 두었다. 미라는 그것을 보지 못했다.” 이 한 번의 업데이트로 공유된 세계 상태와 개인의 지식 경계가 모두 포괄됩니다.
그룹 채팅 오케스트레이션 문서는 각 턴 전에 참여자 간의 대화 기록을 동기화하고, 각 답변을 브로드캐스팅하여 다른 이들이 업데이트된 맥락을 활용할 수 있도록 하는 방식을 설명합니다. 이러한 엔지니어링 패턴은 픽션 창작에 유용한 비유를 제공합니다. 참여자는 현재 씬 기록에 접근할 수 있어야 하지만, 캐릭터의 지식은 여전히 자체적인 경계를 유지해야 합니다. Microsoft Agent Framework: Group Chat Orchestration
초안 작성 전의 실용적인 조율 점검
씬을 생성하기 전에 네 가지 짧은 메모를 작성하세요. 등장인물 및 각자의 당면 목표, 현재 공유된 상황, 모든 사람이 알지는 못하는 사실들을 위한 지식 원장, 그리고 다음 발화자를 선택하는 규칙입니다. 초안을 작성하는 동안에는 모든 턴을 이 메모들과 대조해 확인하세요. 작성을 마친 후에는 발화자 라벨 오류, 근거 없는 지식, 이유 없이 반복된 턴, 그리고 기록되지 않은 씬의 변화가 있는지 살펴보세요.
예를 들어, 세 친구가 주말 시장에서 어떤 경로로 갈지 정하고 있다고 가정해 보겠습니다. 한 명은 곧 문을 닫는 공예품 가판대를 발견했고, 다른 한 명은 음식 대기 줄을 비교하고 있으며, 세 번째 친구는 아직 어느 쪽 표지판도 보지 못했습니다. 첫 번째 캐릭터는 문을 닫는 가판대를 언급할 수 있고, 두 번째 캐릭터는 대기 줄과 저울질할 수 있으며, 세 번째 캐릭터는 자신이 무엇을 놓쳤는지 물어볼 수 있습니다. 만약 세 번째 캐릭터가 듣거나 보지도 않고 곧바로 표지판을 언급한다면, 지식 원장을 통해 연속성 오류를 발견할 수 있습니다. 이는 이해를 돕기 위한 시나리오이며, 실제 보고된 실험은 아닙니다.
핵심적인 차이는 바로 조율에 있습니다. 단일 캐릭터 응답은 주로 하나의 대화를 이어가는 데 집중되지만, 그룹 씬은 턴, 신원, 지식, 그리고 공유된 사건을 동시에 일관되게 유지해야 합니다. 이러한 책임을 분리하면 모든 캐릭터가 매 턴마다 말을 하도록 만들거나 모두에게 동일한 정보를 주지 않고도 생동감 넘치는 씬을 더 쉽게 만들 수 있습니다.
