분산 인공지능: 블랙보드 모델
요약
본 글은 LLM 멀티 에이전트 협업 방식 중 공유 상태를 통해 간접적으로 협조하는 블랙보드 모델에 대해 심층 분석합니다. 이 아키텍처는 여러 지식원(KS)이 중앙의 공유 데이터 구조(블랙보드)만을 이용해 문제를 해결하며, 실행 순서를 사전에 고정하지 않는 것이 핵심입니다. 이는 기존 코딩 에이전트의 리포지토리/태스크 리스트 등에서 이미 활용되고 있습니다.
핵심 포인트
- 블랙보드 모델은 공유 상태를 통해 간접 협조하는 방식이다.
- 실행 순서가 사전에 고정되지 않고, 상태에 따라 기여할 KS가 구동된다.
- 공유 메모리(블랙보드)는 가설/부분해/요구사항을 담는다.
- KS는 서브 에이전트나 전문가 역할을 하며 블랙보드를 재작성한다.
2026년 10월 업데이트. 지난 게시물은 고전적인 블랙보드 모델을 소개했습니다. 초판의 오류(계층 설명, CA/NA와 FA/C 표)도 함께 수정했습니다.
- LLM 멀티 에이전트의 협조 방식은 메시지 패싱형(오케스트레이터가 지시를 배포)과 블랙보드형(공유 상태를 통해 간접 협조하는 방식) 두 계통으로 정리할 수 있습니다. - 에이전트 수가 늘어나 오케스트레이터가 각 에이전트의 능력을 파악하기 어려워지는 규모에서는, 블랙보드형이 우위에 있습니다. - 코딩 에이전트에서 '리포지토리 + 태스크 리스트 + 산출물 파일'은 이미 블랙보드 역할을 하고 있습니다. 따라서 블랙보드 모델은 새로 도입하는 것이 아니라, 이미 사용하고 있는 것을 자각적으로 재설계할 대상으로 보고 있습니다.
여러 지식원(Knowledge Source, 이하 KS)이 공유 데이터 구조(블랙보드)만을 통해 협조하며 문제를 해결하는 아키텍처입니다. KS끼리는 직접 통신하지 않습니다.
기원은 1970년대 음성 이해 시스템 Hearsay-II (CMU)에서 시작되었습니다. 이후 BB1 (Hayes-Roth)에서는 '제어 자체도 블랙보드 위의 문제로 해결한다'는 제어 블랙보드의 개념이 추가되었습니다.
| 구성 요소 | 역할 | LLM 에이전트에서의 대응물 |
|---|---|
블랙보드 | 가설・부분해・요구사항을 보유하는 공유 상태 | 공유 파일, 태스크 리스트, 상태 스토어, 쓰레드 |
지식원(KS) | 블랙보드의 상태를 조건으로 구동하며, 블랙보드를 재작성하는 전문가 | 서브 에이전트, Agent Skill, 결정론적 검증기 (Deterministic Validator) |
제어(Control) | 다음에 어떤 KS를 구동할지 결정함 | 오케스트레이터 LLM, 이벤트 트리거, 에이전트 자신의 자원봉사
블랙보드 모델의 핵심은 공유 메모리가 아니라, 실행 순서를 사전에 고정하지 않는 점에 있습니다. 블랙보드의 현재 상태를 보고, 그 시점에서 가장 기여할 수 있는 KS가 구동됩니다(opportunistic problem solving). 이는 고정 워크플로우(DAG)와의 차이점입니다.
| 관점 | 고정 워크플로우 | 블랙보드 모델 |
|---|---|
실행 순서 | 설계 시 결정 | 실행 시 블랙보드의 상태로부터 결정 |
...
초판에서는 '전문가 팀과 중앙 게시판'에 비유했습니다. 더 정확한 비유는 사건 수사 본부의 화이트보드입니다.
- 감식, 심문, 통신 분석 담당자는 서로 일일이 연락하지 않습니다.
- 각자가 화이트보드를 보고 자신의 전문으로 채울 빈 곳을 발견하면 움직입니다.
- 누가 다음에 움직일지는 수사의 진전(보드의 상태)에 따라 달라집니다. 사전에 공정표는 없습니다.
- 수사 책임자(제어)는 보드를 보고 '지금은 어떤 선순위를 우선할지'만 결정합니다.
초판에서는 계층을 '전략・태스크 관리・문제 해결・데이터 수집'과 같은 조직의 계층으로 설명했지만, 이는 부정확했습니다. 블랙보드의 계층은 해답의 추상도(abstraction)의 계층입니다.
Hearsay-II에서는 음성 신호에서 문장까지 가설이 추상도별로 나열됩니다.
| 레벨 | Hearsay-II (음성 이해) | 소프트웨어 개발에 매핑한 예 |
|---|---|
최상위 | 문・구 | 요구사항・수용 기준 |
...
KS는 레벨 간을 양방향으로 다리 놓기(bridge)를 합니다.
- 바텀업 : 하위의 증거로부터 상위 가설을 세움 (테스트 실패 → 설계 오류를 가설화)
- 탑다운 : 상위 가설로부터 하위에 대한 기대를 생성함 (요구사항 → 충족해야 할 테스트 케이스 예측)
'조직의 계층'과 '해답의 추상도 계층'을 혼동하면, 블랙보드 모델은 단순한 계층형 오케스트레이션으로 퇴화합니다.
LbMAS (Han & Zhang, 2025)
블랙보드 아키텍처를 LLM 멀티 에이전트에 적용한 구현입니다. 에이전트는 블랙보드를 통해서만 통신하며, 블랙보드가 각 에이전트의 메모리 모듈을 대체합니다. 제어 유닛 또한 LLM으로, 블랙보드의 내용을 보고 다음에 움직일 에이전트를 선택하고, 블랙보드 상에서 합의에 도달할 때까지 반복합니다. 상식 추론 및 수학계 데이터셋에서 정적/동적 기존 멀티 에이전트와 동등하거나 그 이상의 평균 성능을 더 적은 토큰 소비로 달성했습니다.
데이터 사이언스용 블랙보드 시스템 (Salemi et al., 2025)
중앙 에이전트가 블랙보드에 '요구'를 게시하고, 각 서브 에이전트는 자신이 기여할 수 있는지 자율적으로 판단하여 응답한다. 태스크 할당이 존재하지 않는 점이 master-slave 방식과의 결정적인 차이점이다. master-slave 방식은 중앙 컨트롤러가 각 서브 에이전트의 능력을 정확히 알고 있다는 전제에 의존하지만, 대규모 환경에서는 그 전제가 무너진다. 최적 베이스라인 대비 13~57%의 상대적 개선(엔드투엔드 태스크 성공률)을 보고했다.
AgentsCAD (2026)
블랙보드 패턴을 채택하고, LLM을 호출하지 않는 규칙 기반의 검출 단계를 '결정론적인 바닥(deterministic floor)'으로 통합했다. 추론 모델과 검증 모델을 서로의 존재를 알리지 않고 교체할 수 있게 했다.
| 관점 | 메시지 패싱형 (오케스트레이터/master-slave) | 블랙보드형 |
|---|---|
| 협조 매체 | 에이전트 간 메시지 | 공유 상태 |
| 태스크 할당 | 오케스트레이터가 지명 | 에이전트가 손을 들거나, 또는 제어가 블랙보드를 보고 선택 |
| ... |
코딩 에이전트의 실제 운영은 명시적으로 이름을 밝히지 않은 채 블랙보드화되어 있다.
| 구현 | 블랙보드에 해당되는 것 | 제어 |
|---|---|
| 코딩 에이전트 + 서브 에이전트 | 리포지토리, 계획 파일, TODO 목록 | 부모 에이전트 |
| ... |
파일 시스템은 처음부터 영속성(persistence), 차분 관리(diff management) (git), 인간 가독성을 갖춘 블랙보드이다. 전용 블랙보드 미들웨어를 만들기 전에, 파일과 스키마로 충분한지를 먼저 검토해야 한다.
고전적인 블랙보드 모델에서 KS는 모두 '불확실한 가설을 내놓는 전문가'였다. LLM 시대의 설계에서 가장 효과적인 것은, LLM이 아닌 KS를 섞는 것이다.
- LLM의 KS: 가설 생성 (불확실, 창의적)
- 결정론적 KS: 블랙보드 위의 결과물을 스키마/규칙으로 검증하고, 합격 여부와 지적 사항을 되돌려 쓰는 것 (확실, 비창의적)
블랙보드 모델의 약점인 '수렴 보장 없음'은 결정론적 KS가 '더 이상 진행할 수 없는 상태'와 '완료 상태'를 기계적으로 선언함으로써 보완된다. LLM의 KS들끼리 합의했다고 해서 완료로 간주하는 설계(합의 기반 수렴)는, 모두가 같은 오류에 동의할 위험을 가진다. 완료 판정은 LLM의 합의가 아니라 검증기(validator)의 exit 0에 두어야 한다.
인간도 '승인을 기록하는 KS'로서 같은 블랙보드에 참여시키면, Human-in-the-loop는 특별 취급의 예외 처리가 아닌 일반적인 KS가 된다.
Lesser & Corkill (1981)에 따른 정의는 다음과.
| 항목 | CA/NA Completely Accurate, Nearly Autonomous | FA/C Functionally Accurate, Cooperative |
|---|---|
| 각 노드가 가진 정보 | 국소 처리에 필요한 정보는 완전하고 정확함 | 불완전하거나, 비일관적이거나, 오류를 포함할 수 있음 |
| 중간 결과 | 항상 올바름 | 잠정적. 잘못된 가설을 포함할 수 있음 |
| 최종 결과 | 정확함 | 기능적으로 충분한 정밀도 (허용 범위 내) |
| 노드 간의 관계 | 거의 자율적임. 필요한 정보는 명시적으로 요청하여 얻음 | 협조가 필수적. 잠정 결과를 교환하고 상호 제약하여 수렴함 |
| 통신 | 완전한 정보를 얻기 위한 동기/요청 응답 |
| 오류에 대한 태도 | 오류는 제거해야 할 예외임 | 오류는 전제. 문제 해결 과정에서 흡수함 |
| 전형적 예시 | 분산 데이터베이스, 분산 트랜잭션 |
LLM의 출력은 항상 '오류를 포함할 수 있는 잠정적인 가설'이다. 따라서 LLM 멀티 에이전트는 정의상 FA/C 시스템이다.
여기서 설계상의 귀결이 나온다.
개별 에이전트를 정확하게 만들려는 노력(CA/NA적 발상)은 비용 대비 효과가 떨어진다. 프롬프트를 다듬어 단일 정밀도를 99%로 만드는 것보다, 잘못된 중간 결과가 블랙보드 위에서 다른 KS에 의해 무너지는 구조를 만드는 것이 더 견고하다. -
'에이전트 간의 출력이 모순되었다'는 것은 장애가 아니라, 정상적인 중간 상태이다. 모순을 감지하여 블랙보드에 기록하는 KS를 준비해야 한다. -
CA/NA가 필요한 부분은 LLM에게 맡기지 않는다. DB 업데이트, 과금, 배포 등 오류가 허용되지 않는 작업은, 결정론적인 코드와 인간 승인으로 분리한다.
초안에서는 실행 스케줄러에 Step Functions를 배치했다. 이는 실행 순서를 고정하기 때문에, 기회주의적 제어라는 블랙보드 모델의 본질과 맞지 않다. 블랙보드의 변경 이벤트로 KS를 구동하는 구성으로 변경해야 한다.
설계상의 핵심 사항.
발동 조건은 KS(Knowledge Source) 측에서 선언한다. 각 KS가 '레벨 X에 상태 Y의 엔트리가 나타나면 발동'이라는 조건을 가지고, 제어는 매칭만 수행한다. KS 추가 시 제어를 수정할 필요가 없다.
- 쓰기는 누적형으로 한다. 덮어쓰기가 아니라, 가설 엔트리를 추가하고 신뢰도와 근거 엔트리에 대한 참조를 갖게 한다. 누가 어떤 증거로부터 무엇을 도출했는지 추적이 가능해진다.
- 쓰기 충돌은 낙관적 잠금(Optimistic Lock)으로 처리한다. 버전 번호가 포함된 조건부 쓰기를 사용하고, 실패한 KS는 최신 상태를 다시 읽어 재판단한다.
- 블랙보드 전체를 프롬프트에 넣지 않는다. LbMAS처럼 블랙보드 전체를 매번 전달하는 방식은 소규모에서만 성립 가능하다. KS마다 '읽을 레벨'과 '읽을 엔트리 종류'를 제한하는 뷰(View)를 정의한다.
- 정지 조건을 3가지 갖는다. 결정론적 KS에 의한 완료 선언, 라운드 수/토큰 예산의 상한선, 일정 라운드 동안 블랙보드 변화가 없는 것 감지.
{
"entry_id": "hyp-0042",
"level": "design",
...
}
supports와 contradicts를 갖게 되면, 블랙보드는 단순한 공유 메모가 아니라 논증 그래프(Argumentation Graph) 가 된다. 모순 감지, 근거가 무너진 가설의 연쇄적 무효화 등을 LLM을 사용하지 않고 그래프 탐색으로 실행할 수 있다.
| 상황 | 권장 방식 |
|---|---|
| 해법이 알려져 있고, 절차가 고정 가능한 경우 | 고정 워크플로우. 블랙보드는 과잉 |
| ... |
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기