209. 블랙보드 패턴 (Blackboard Pattern) - 음성/패턴 인식 공용 데이터소스 여러 지식 모듈 협력 AI 전문가 시스템 비결정론적 문제 해결
핵심 인사이트: (204번 데이터 중심형 패턴) '사과'라는 단어를 마이크에 대고 말했다. 컴퓨터가 이걸 인식하려면? 1. 잡음을 제거하고, 2. 자음/모음을 쪼개고, 3. 사전에 있는 단어인지 찾아야 한다. 이 3명의 전문가(모듈)가 1번 끝내고 2번한테 주고, 2번이 3번한테 주면? 너무 느리고, 1번이 틀리면 뒤가 다 망한다. "야! 전문가 3명 방에 가둬놓지 마! 거실 한가운데에 커다란 칠판(블랙보드)을 하나 갖다 놔! 그리고 마이크 소리를 칠판에 떡하니 적어! 그럼 잡음 전문가가 칠판 보고 '어 잡음 있네' 하고 쓱쓱 지우고, 동시에 사전 전문가가 '사..과.. 사전에서 찾았다!' 하고 칠판에 답을 적잖아!! 지휘관 없이도 지들끼리 칠판에 적힌 문제를 보고 맘대로 튀어나와서 문제를 풀어버리는 집단 지성!!" 해답이 명확하지 않은 AI 문제를 부수기 위한 브레인스토밍 아키텍처, 블랙보드 패턴이다.
Ⅰ. 결정론적 알고리즘의 붕괴
- 1+1=2 처럼 답이 정해져 있고 순서가 1 ➜ 2 ➜ 3 으로 명확한 프로그램은 그냥 함수를 순서대로 호출하면 끝입니다(Call and Return 패턴).
- 문제의 상황: 음성 인식, 영상 속 범인 얼굴 찾기, 자율주행차의 장애물 인식 같은 인공지능(AI) 문제들은 어느 한 놈이 순서대로 푼다고 풀리는 게 아니라, 다양한 지식을 가진 전문가들이 엎치락뒤치락하며 퍼즐을 맞춰야 간신히 답(비결정론적 해답)이 나오는 난장판입니다.
Ⅱ. 블랙보드 패턴 (Blackboard Pattern)의 개념 🌟
- 개념: 중앙에 거대한 공용 데이터 저장소(칠판)를 두고, 각기 다른 특화된 지식을 가진 여러 모듈(전문가들)이 이 칠판의 상태를 실시간으로 지켜보다가 자기가 나설 타이밍이 되면 칠판에 뛰어들어 데이터를 갱신하며 협력하여 궁극적인 해답을 도출해 내는 아키텍처 패턴입니다.
Ⅲ. 블랙보드 방의 3대 핵심 거주자 🌟 핵심 기출 🌟
1. 블랙보드 (Blackboard, 중앙 칠판) - "공용 메모리"
- 시스템의 심장부입니다. 아직 풀리지 않은 문제 데이터(마이크 녹음 파형)와, 전문가들이 쓰다 만 중간 해답 가설들이 어지럽게 적혀있는 **전역 공유 데이터베이스(Global Memory)**입니다.
- 모든 전문가 모듈은 오직 이 칠판만을 통해서 소통합니다. (전문가끼리 다이렉트로 대화하지 않습니다!)
2. 지식 소스 (Knowledge Sources, 전문가들) - "독립된 AI 모듈"
- 칠판 주위를 빙 둘러서 구경하고 있는 모듈들입니다. (예: 음향 전문가, 문법 전문가, 의미 전문가 모듈)
- 독립성: 이 모듈들은 서로가 누군지 이름도 모릅니다. 오직 "내가 아는 지식(알고리즘)으로 저 칠판에 적힌 문제를 한 발짝이라도 풀 수 있을까?"만 눈에 불을 켜고 감시합니다. 자기가 풀 수 있는 조각이 보이면 즉시 칠판에 달려가 자기가 계산한 중간 답(예: "이 파동은 'ㅅ' 발음인 듯?")을 적고 쿨하게 빠집니다.
3. 제어 컴포넌트 (Control Component, 반장) - "칠판 관리자"
- 전문가들이 동시에 칠판에 달려들어 분필로 서로 대가리를 찍고 싸우면 안 됩니다.
- 반장(컨트롤러)은 칠판의 상태를 쓱 보고, "어? 'ㅅ' 발음이 적혔네? 자 다음은 문법 전문가 네가 나가서 문법 체크해!" 라며 누가 어느 타이밍에 칠판에 나갈지 순서(스케줄링)를 조율하고 평가하여 최종 해답 도달 여부를 판정합니다.
Ⅳ. 도입 사례와 트레이드오프
- 도입: 음성 인식(Siri), 컴퓨터 비전(얼굴 인식), 암호 해독 등 **"딱 떨어지는 수학 공식이 없는, 휴리스틱(경험적) 탐색이 필요한 복잡한 AI 추론 시스템"**의 뼈대로 1순위 채택됩니다.
- 단점 (동기화 지옥): 칠판(메모리) 하나에 수십 명의 전문가 스레드가 동시에 덤벼들어 읽고 쓰기를 반복하므로, 195번에서 배운 동시성 문제(Locking)를 제어하지 못하면 칠판 데이터가 모순으로 더럽혀져 시스템이 멈춥니다. 또한 반장의 스케줄링 로직을 짜는 난이도가 극악입니다.
📢 섹션 요약 비유: 기존의 **순차적 프로그램(Call & Return)**은 공장 노동자들이 일렬로 서서 앞사람이 조립을 끝내야만 뒷사람이 넘겨받아 작업하는 **'답답한 컨베이어 벨트'**입니다. 조립 매뉴얼이 완벽할 땐 빠르지만, 매뉴얼이 없는 신제품(AI 추론 문제)이 오면 공장이 멈춥니다. **블랙보드 패턴(Blackboard Pattern)**은 전 세계 최고의 천재 과학자 10명을 거실에 모아놓고, 가운데에 '거대한 백지 칠판' 하나만 덜렁 놓아둔 **'미친 브레인스토밍 회의'**입니다. 칠판에 "암을 치료해라"라는 숙제가 던져집니다. 과학자 10명은 서로 대화하지 않고 칠판만 노려봅니다. 생물학자가 "유전자를 건드려보지"라고 칠판에 적습니다. 그걸 본 화학자가 영감을 얻어 "그럼 이 약물을 써볼까"라고 덧붙입니다. 컴퓨터 공학자가 "그 약물 시뮬레이션 돌려보니 확률 10%임"이라고 지워버립니다. 서로가 가진 특화된 지식(모듈) 조각들을 칠판(중앙 데이터) 하나에 계속 쏟아내고 조합하고 지우다 보면, 어느새 그 누구도 혼자서는 풀지 못했을 완벽한 암 치료제(최종 해답)가 칠판 한가운데에 기적처럼 완성되는 궁극의 인공지능 협력 설계도입니다.