research jini final 2026-05-27

[리서치] 멀티 에이전트 LLM 시스템에서 스레드 컨텍스트 공유 패턴

Summary

Pantheon은 페르소나마다 독립 봇으로 운영되어 각 페르소나가 같은 Slack 스레드의 다른 페르소나 발화를 보지 못하는 구조다. 이는 산업 전반에서 흔한 문제이고, 해결 패턴은 크게 5가지로 수렴한다 — GroupChat manager (AutoGen), TypedDict 공유 state + checkpointer (LangGraph), context_variables 명시 전달 (OpenAI Swarm), orchestrator-worker + 파일시스템 (Anthropic), 공유 blackboard (학술 + 산업 융합). 우리 케이스(Slack 멀티 봇 + 비동기 인간 진행)에는 호출 직전 thread 컨텍스트 주입 + blackboard 진화 경로가 가장 fit하다.

배경 / 질문

Pantheon은 #northstar 채널에서 jarvis·raphael·wansu·jini·nano 등 여러 페르소나를 별도 Slack 봇으로 운영한다. 현재 한계:

질문: 다른 시스템에서는 이 문제를 어떻게 해결하는가? Pantheon에 어떤 패턴이 fit한가?

조사 내용

1. 멀티 에이전트 LLM 프레임워크의 공유 컨텍스트

#### AutoGen GroupChat (Microsoft)

#### CrewAI Shared Memory

#### LangGraph State + Checkpointer

#### OpenAI Swarm

#### Anthropic Multi-Agent Research System (Claude Code 기반)

2. Slack/Discord 멀티 봇 운영 사례

#### Redis distributed locking + event idempotency

#### Multi-agent bot coordination (e.g. OpenClaw)

3. 대안 아키텍처 패턴

#### Blackboard architecture (Hearsay-II → LLM 부활)

#### Event sourcing + INMS

#### Distillation + Structured Context Objects

4. 관련 논문·1차 출처

발견 사항

패턴컨텍스트 공유 방식장점단점Pantheon 적용도
AutoGen GroupChat단일 messages list + Manager 선정모든 발화 보장 공유중앙 Manager 병목, scale ↓중 (Manager = 라우터로 매핑 가능)
CrewAI shared memorycrew 단위, 자동 추출/주입자동화 강함task-oriented sync 모델낮음 (비동기 대화 부적합)
LangGraph State + CheckpointerTypedDict + thread_id 영속화감사·time travel·재개학습곡선, 그래프 사전 정의중-높음 (장기 진화안)
OpenAI Swarm context_variables매 호출 명시 dict 전달단순·명시추상화 얕음중 (얇은 라이브러리 빌드 부담)
Anthropic orchestrator-worker파일시스템 + tool return병렬, 독립 contextorchestrator 통과 강제중 (Claude Code 류 작업엔 검증됨)
Slack allowBots + Redis lock봇 간 메시지 가시화 + 분산 lock우리 인프라에 직접 fitRedis 인프라 추가*매우 높음*
Blackboard (Hearsay-II → LLM)공유 blackboard, indirect comm디커플링, 토큰 절감, 추가 쉬움트리거·셀렉터 룰 설계 필요*높음* (진화 경로)
Event sourcing + INMS모든 발화를 event log감사·재현·비동기스토리지 비용중-높음 (이미 Slack이 비슷한 역할)

결론

Pantheon 상황을 다시 정리하면:

따라서 추천 경로는 2단계다:

1단계 — 즉시 적용 (Slack allowBots 패턴 + 호출 직전 thread 주입)

2단계 — 진화 경로 (Blackboard 스타일 압축 store)

채택 안 함 (현재 시점):

다음 단계 / 관련 티켓

1. Slack Bolt middleware에 inject_thread_context 추가 (LLM 호출 직전 fetch & prepend).

2. 봇 prefix 정책 — : prefix로 다른 페르소나 발화 구분.

3. 긴 스레드 절단 규칙 — recent N + 결정/룰 키워드 매칭 슬라이스.

참고 문헌