그룹 채팅 환경에서의 LLM 개입
그룹 대화에 LLM이 개입하기 어려운 이유
Multi-User Chat Assistant (MUCA): a Framework Using LLMs to Facilitate Group Conversations, 2024.
1:1 대화에서는 주어진 질문에 적절한 답변을 생성하면 되지만, 그룹 대화에서는 더 많은 요소를 고려해야 해요.
- What: 어떤 대답을 할지
- When: 지금 대답할지 말지
- Who: 누구에게 대답할지
이러한 종합적인 판단을 위해 Microsoft는 MUCA: Multi-User Chat Assistant를 제안했어요.
MUCA는 크게 Sub-topics Generator, Dialog Analyzer, Conversational Strategies Arbitrator로 구성돼요. Sub-topics Generator는 T개의 세부 대화 주제를 초기화해요. Dialog Analyzer는 유용한 정보를 뽑아내는 모듈로, 세부 주제 업데이트, 대화 특징 추출, 대화 요약 업데이트, 참가자 특징 추출을 수행해요. 다음으로 Conversational Strategies Arbitrator가 정보를 전달받아 최종 행동을 결정해요. 행동은 직접 대화, 요약 생성, 참가 독려, 세부 주제 전환, 갈등 해결, 대화 개입, 침묵하기 중에서 선택할 수 있어요.
개입할 타이밍을 찾는 법
HuixiangDou: Overcoming Group Chat Scenarios with LLM-based Technical Assistance, 2024.
그렇다면 구체적으로 개입할 타이밍은 어떻게 정해야 할까요? HuixiangDou는 Text2Vec과 LLM scoring을 제안했어요. 이 시스템은 기술적인 대화를 나누는 그룹 채팅에 사용되며, 미리 기술에 관한 DB를 구축해 두었어요. 사용자 입력이 들어오면 먼저 DB에서 입력과 저장된 문장 간의 거리를 비교해요. 너무 멀리 있으면 무시해도 되는 대화로 판단하지만, 이 방식은 단어 선택에 매우 민감하게 반응해요. 예를 들어, “This development board is very good”와 “This board is poorly designed”는 높은 유사도를 가집니다. 이 문제를 해결하기 위해 추가로 LLM scoring을 거쳐 LLM이 해당 입력이 대답할 가치가 있는지 0-10 척도로 평가해요.
간단한 실험
위 지식을 바탕으로 그룹 대화 상황에서 사용할 수 있는 간단한 챗봇을 만들어 보았어요. CBT는 Cognitive Behavior Therapy로 주목받는 심리 상담 기법이에요. 당시(‘25.04) 연구실에서 심리 치료 챗봇이 연구되고 있었기에 CBT 치료를 주제로 그룹 채팅 에이전트를 기획했고, LangGraph framework을 이용해 DAG(Dynamic Allocation Graph)를 구현했어요.
개입 결정
에이전트는 CBT 지식을 바탕으로 대화에 자율적으로 개입할지 결정해요. 이전 연구를 따라, 사용자 대화 중 CBT 개입이 필요한 질문이나 발화에 대해서만 개입해요. 일상적인 대화 주제나 단순한 공감 표현으로 판단되면 행동을 취하지 않아요. 에이전트는 개입이 필요한 경우 1을, 필요하지 않은 경우 0을 반환해요. 1을 반환할 때 에이전트는 발화를 바탕으로 다음 행동을 선택하며, 0을 반환할 때 판단 과정을 종료해요.
행동 선택
개입이 필요한 경우, 에이전트는 미리 정의된 4가지 행동 중 가장 적절한 행동을 결정해요. 에이전트 행동은 다음과 같이 정의돼요: (1) 대화 요약, (2) 핵심 사고와 신념 식별, (3) 전략 또는 통찰 제공, (4) 참여자 격려. 적절한 것이 없다고 판단되면 에이전트는 개입 없이 종료할 수 있어요.
대화 요약. 대화 요약은 그룹 채팅에서 사용자들이 대화 맥락을 이해하는 데 도움을 주며 높은 만족도를 보여요. History Manager로부터 대화 맥락을 받아 사용자들에게 제공해요.
핵심 사고와 신념 식별. CBT에서 자동적 사고와 핵심 신념을 식별하는 것은 내담자의 정서적 반응과 문제 행동 뒤에 있는 인지적 기제를 이해하기 위한 중요한 절차예요. 핵심 신념 식별 과정은 비합리적 사고를 인식하고 인지 재구성의 기초를 확립하는 데 도움을 줘요. 이는 치료 효과성과 지속성을 높일 수 있어요.
전략 또는 통찰 제공. 시스템은 사용자의 변화 준비도에 따라 격려의 정도를 조절하여 맞춤형 조언을 제공해요. 범이론적 행동변화 모델(TTM, Transtheoretical model)은 행동 변화 단계에 따라 내담자를 5개 그룹으로 분류하는 모델이에요. 각 단계의 내담자에게 다른 상담 전략을 적용하여 치료 성공 확률을 높여요. 따라서 행동 변화 의지가 있는 Preparation/Action 단계 사용자에게는 적극적인 행동 변화를 제안해요. 반대로 Contemplation 단계 사용자는 구체적 제안보다는 자기결정을 통해 자율적으로 변화 의지를 기를 수 있는 격려의 말을 받아요.
참여자 격려. 사용자의 변화나 성취를 격려하여 자기효능감을 강화해요. 단, 구체적인 조언 제공 없이 격려에만 집중해요.
시나리오 평가
그룹 대화 상황에서 발생할 수 있는 시나리오를 생성하고 챗봇이 적절한 응답을 생성하는지 검증했어요. 답변 생성 모델로는 Claude-3-7-sonnet을, router로는 GPT-4o-mini를 사용했어요 (각 모델의 무료 토큰을 제공받았기 때문이에요). 전체 프레임워크는 Python 3.10으로 구현됐어요. 온라인 채팅 환경을 가정하여 구어체 표현과 텍스트 기호를 함께 사용했어요.
다음은 테스트에 사용된 입력과 챗봇🤖의 응답이에요.
구체적인 결과: Github
🐕: 안녕하세요 :) 잘 지내셨나요?
🐨: 오늘 친구한테 인사했는데 무시했어요… 절 싫어하나봐요
🤖: 친구가 당신을 무시한 것처럼 느껴져서 속상하셨겠네요. 하지만 친구가 당신을 싫어해서가 아니라 다른 이유(피곤함, 급한 일, 생각에 빠져있음 등)가 있을 수도 있어요.
🐕: 속상했겠네요..ㅠㅠ
🐰: 저도 그런 적이 있었는데 제가 오해한 거 더라고요..ㅎㅎ
🐨: 조금 더 긍정적으로 생각해 봐야겠네요. 도움이 될만한 방법이 있을까요?
🤖: 정말 좋은 마음가짐이에요! 다음에 친구를 만나면 가볍게 “지난번에 바빴니?” 하고 물어보는 것도 좋을 것 같아요. 오해가 풀릴 기회가 생기고, 상대방의 상황을 이해할 수 있게 될 거예요. 긍정적인 태도가 관계 개선에 큰 도움이 됩니다.
🐢: 제가 방금 봐서 그런데… 앞에 어떤 대화를 하셨었죠?
🤖: 이때까지 나눴던 대화를 요약해 볼게요. 참여자가 친구의 인사 무시로 인한 부정적 감정을 표현했고, 다른 참여자가 자신의 유사 경험을 공유하며 긍정적 재해석을 제안했습니다. 인지적 왜곡(친구가 나를 싫어한다는 자동적 사고)을 인식하고 대안적 설명(피곤함, 급한 일 등)을 고려하는 인지 재구성 과정이 이루어졌으며, 직접 대화를 통한 오해 해소 방법이 제안되었습니다.
“오늘 친구한테 인사했는데 무시하더라구요… 저를 싫어하는 것 같아요”라는 문장은 다른 사람의 생각을 추측하는 것으로, 전형적인 인지 왜곡인 ‘All-or-Nothing Thinking’를 나타내요. 챗봇은 ‘핵심 사고와 신념 식별’을 통해 사용자가 사실을 인지적으로 왜곡할 수 있음을 식별했어요. 이후 “속상하셨겠어요”, “저도 그런 경험이 있었어요”와 같은 공감 표현에는 응답하지 않고 넘어갔어요. “도움이 되는 방법이 있을까요?”라는 질문에 대해서는 이전 대화 맥락을 이해하고 사용자에게 적절한 조언을 제안했어요. 마지막으로 “앞서 무슨 대화를 하고 계셨나요?”와 같이 대화 맥락을 놓친 사용자에게는 대화 참여를 도울 수 있도록 요약을 제공했어요.
문제점
간단한 시나리오를 통해 의도한대로 답변을 잘 생성하는 것을 볼 수 있어요. 하지만 이 방식은 매우 비효율적이에요. 모든 입력을 LLM이 판단해야 하기 때문에 낭비되는 토큰 비용이 매우 커요. 만약 사용자가 “아니 근데” - “ㅋㅋㅋㅋㅋㅋ” - “말이 안 되잖아”와 같이 문장을 끊어서 입력한다면 더 많은 LLM 호출이 발생해요. 이러한 문제에 대한 해답을 오래된 논문에서 찾았어요.
인간의 도움을 받아보자
Making Sense of Group Chat through Collaborative Tagging and Summarization, 2018.
이 논문이 공개될 당시는 2018년으로 LLM이라는 개념이 없었어요. 그래서 인간이 직접 중요한 문장에 태그를 다는 방식을 제안했어요.
물론 ‘업무 메신저’라는 특수한 상황이었기 때문에 중요한 내용을 인간이 직접 정리하는 방식이 자연스럽게 들릴 수도 있어요. 하지만 대화 에이전트를 인간과 동등한 수준으로 보지 않고, 대화 보조 도구 정도로 바라본다면 도움을 받기 위해 인간이 직접 표시를 남기는 방식도 충분히 합리적이라고 생각해요. 좋게 포장하면 Human-in-the-loop을 적용한다고 표현할 수 있어요.
Reference
- Multi-User Chat Assistant (MUCA): a Framework Using LLMs to Facilitate Group Conversations, 2024.
- HuixiangDou: Overcoming Group Chat Scenarios with LLM-based Technical Assistance, 2024.
- Making Sense of Group Chat through Collaborative Tagging and Summarization, 2018.



