GBT
한국외국어대학교기술경영학부
지식표현과 전문가 시스템 · 강의자료
인공지능 · 기호주의 AI

지식표현과
전문가 시스템

확률 없이, 학습 없이, 사람이 적어 넣은 규칙만으로 추론하는 시스템. 앞 장의 LLM과 정반대편에 선 극단이 어디까지 갔고 무엇에 막혔는지 따라간다.

1957 → 1980년대5개 장해설 · 실습 포함원문 출처 링크
1979년, 스탠퍼드

컴퓨터가 전문의를 이긴 날

감염병 전문가 8명이 수막염 환자 10명의 처방을 블라인드로 채점했다. 채점 대상에는 스탠퍼드 의대 교수 5명의 처방과 정체를 숨긴 참가자 하나의 처방이 섞여 있었다. 결과가 공개되자 놀란 쪽은 사람이었다 — 1위는 컴퓨터 프로그램 MYCIN이었다.

MYCIN의 처방 적합 판정률은 65%. 교수들은 42.5~62.5%였다. 그런데 이 프로그램은 통계도 학습도 쓰지 않았다. 감염병 전문가에게 면담으로 받아 적은 약 600개의 IF–THEN 규칙이 전부였다.

그리고 MYCIN은 단 한 번도 실제 진료에 쓰이지 못했다. 이 성공과 이 좌절 사이에 기호주의 AI의 전성기와 한계가 모두 들어 있다. 이 자료는 그 구조를 해부한다.

지식을 적는 법규칙·논리·의미망·프레임 — 아는 것을 기계가 다룰 수 있는 형태로 바꾸는 다섯 가지 방법
지식으로 추론하는 법사실에서 앞으로(순방향), 목표에서 거꾸로(역방향) — 새 사실을 이끌어 내는 두 방향
지식의 한계규칙은 투명하지만 스스로 배우지 못한다 — 그 병목이 다음 장(머신러닝)의 출발점

출처 Yu 외, "Antimicrobial Selection by a Computer", JAMA 242(12), 1979: pubmed.ncbi.nlm.nih.gov · 평가 상세(Buchanan & Shortliffe 1984, 31장): people.dbmi.columbia.edu

01
1957 — 1976

탐색에서 지식으로

범용 탐색의 꿈이 좌절되자 연구자들은 방향을 뒤집었다 — 똑똑한 탐색보다, 많이 아는 것이 더 중요하다.

범용의 꿈

GPS — 모든 문제를 탐색으로

초창기 AI는 이 세상의 모든 문제를 "탐색"으로 풀 수 있는 시스템을 목표로 했다. 그 야심을 이름에 그대로 담은 것이 GPS(General Problem Solver, 1957)다.

GPS는 현재 상태와 목표 상태의 차이를 줄이는 수단을 찾아 적용하는 일반 원리로 정리·증명, 퍼즐 등을 풀었다. 그러나 이런 시스템이 실제로 작동한 곳은 블록 몇 개를 쌓는 "블록 세계"처럼 극도로 제한된 장난감 영역뿐이었다. 장난감 영역을 벗어나는 순간, 1장에서 본 조합 폭발이 탐색을 삼켰다.

이 좌절에서 얻은 교훈이 방향을 바꿨다. 지식이 추론 기법만큼 중요하다. 넓고 얕은 범용 지능 대신, 좁고 깊은 전문 영역에 역량을 집중하자 — 전문가 시스템은 이 전략적 후퇴의 산물이다.

더 읽기

이 전환을 흔히 "지식이 힘이다(knowledge is power)"라는 구호로 요약한다. DENDRAL을 이끈 파이겐바움이 정식화한 이 원칙은, 성능의 원천이 영리한 알고리즘이 아니라 도메인 지식의 양과 질이라는 주장이다. 60년 뒤의 LLM도 묘하게 같은 구도다 — 성능이 알고리즘 혁신만큼이나 데이터(지식)의 규모에서 나온다는 점에서, 이 오래된 구호는 형태를 바꿔 살아 있다.

생각해 볼 질문 — "범용으로 약한 것"과 "전문으로 강한 것" 중 무엇을 만들 것인가는 오늘의 AI 제품 기획에서도 똑같이 등장하는 선택이다. 어느 쪽이 먼저 시장을 여는가?

출처 Newell, Shaw & Simon, "Report on a General Problem-Solving Program", 1959: bitsavers.org

구조

전문가 시스템 — 지식과 추론의 분리

전문가 시스템은 절차적 코드가 아니라 규칙으로 표현된 지식으로 추론해, 특정 영역에서 인간 전문가의 의사결정을 흉내 내는 시스템이다. AI 소프트웨어 최초의 상업적 성공 형태였다.

전문가 시스템 구조도. 인간 전문가의 지식이 지식 획득 과정을 거쳐 지식 베이스에 저장되고, 추론 기관이 규칙을 참조해 사용자 인터페이스로 사용자와 상호작용한다
그림 1. 읽어야 할 것은 오른쪽 두 상자의 분리다. 지식(무엇을 아는가)과 추론(어떻게 쓰는가)이 나뉘어 있어서, 추론 기관은 그대로 두고 지식 베이스만 갈아 끼우면 의료 시스템이 지질 탐사 시스템이 된다. 프로그램과 데이터의 분리가 아니라 프로그램과 지식의 분리다.
지식 베이스전문가에게서 획득한 IF–THEN 규칙의 저장소. 시스템의 능력은 여기서 나온다.
추론 기관사실과 규칙을 대조해 점화(firing)를 반복하며 새 사실을 이끌어 낸다.
사용자 인터페이스질문을 던지고 결론을 돌려주며, "왜?"에 답까지 한다 — 규칙 기반의 큰 미덕.
더 읽기

최초의 본격 전문가 시스템으로 꼽히는 것은 DENDRAL(1965~, 스탠퍼드)이다. 질량 분석 데이터에서 유기 분자 구조를 추정하는 시스템으로, 화학자 러더버그와 컴퓨터과학자 파이겐바움의 협업이었다. "전문가의 머릿속 판단 절차를 면담으로 뽑아내 규칙으로 적는다"는 방법론, 곧 지식 공학(knowledge engineering)이 여기서 태어났다.

생각해 볼 질문 — 지식 베이스만 바꾸면 영역을 옮길 수 있다는 약속은 실제로 얼마나 지켜졌을까? 5장의 XCON 유지보수 이야기와 연결해 보자.

출처 Lindsay 외, Applications of Artificial Intelligence for Organic Chemistry: The DENDRAL Project, McGraw-Hill, 1980 · Shortliffe, Computer-Based Medical Consultations: MYCIN, Elsevier, 1976

성공과 역설

MYCIN — 이긴 시스템이 쓰이지 못한 이유

MYCIN은 세균 감염을 진단하고 항생제를 처방하는 약 600개 규칙의 시스템이다. 블라인드 평가에서 전문의들을 앞섰지만, 임상에는 결국 배치되지 못했다.

처방 주체적합 판정률 (평가자 8인 블라인드)
MYCIN65.0%
스탠퍼드 의대 교수 5인42.5% ~ 62.5%
전공의·의대생그 이하
자주 만나는 오해

"성능이 사람을 넘으면 도입된다" — MYCIN이 멈춘 곳은 성능이 아니라 그 바깥이었다. 오진 시 법적 책임의 소재, 병원 업무 흐름과의 통합, 당시 컴퓨터 환경의 비용, 그리고 의사의 수용성. 오늘날 의료 AI가 규제 승인과 책임 문제에서 겪는 진통의 원형이 이미 여기 있다.

더 읽기

65%라는 숫자 자체도 읽는 법이 필요하다. 증례 10개를 놓고 매긴 평가이고, "이상적 처방"이 아니라 "수용 가능한 처방" 판정 비율이다. 표본이 작아 통계적 확정이라기보다 "전문가 수준에 도달했다"는 신호로 읽는 것이 정확하다. 그럼에도 치료 가능한 병원체를 놓친 적이 없다는 점, 항생제 수를 최소로 유지했다는 점은 평가자들이 별도로 인정했다.

생각해 볼 질문 — 여러분이 병원장이라면 65% 시스템의 도입 결재에 무엇을 요구하겠는가? "성능 수치" 말고 세 가지를 적어 보자.

출처 Yu 외, JAMA 242(12):1279–1282, 1979: pubmed.ncbi.nlm.nih.gov · Buchanan & Shortliffe(편), Rule-Based Expert Systems, 1984(전문 공개): people.dbmi.columbia.edu

02
표현

지식을 적는 다섯 가지 방법

표현 방식의 선택이 곧 추론 능력의 한계를 정한다 — 적을 수 없는 것은 추론할 수 없다.

개관

지식표현의 도구 상자

사람의 지식을 기계가 다룰 수 있는 형태로 바꾸는 대표적 방법이 다섯 가지 있다. 이 장에서는 그중 실무를 지배한 생성 규칙과, 개념 관계를 다루는 의미망을 자세히 본다.

생성 규칙 (Production Rule)IF 조건 THEN 결론. 가장 이해하고 작성하기 쉬워 전문가 시스템의 표준이 됐다.
술어 논리 (Predicate Logic)사람(소크라테스), ∀x 사람(x)→죽는다(x) 처럼 수학적 논리식으로 표현. 엄밀한 추론이 가능하다.
의미망 (Semantic Net)개념을 노드로, 관계(is-a, has-a)를 간선으로 잇는 그래프. 상속 추론에 강하다.
프레임 (Frame)개념을 슬롯(속성)과 기본값의 묶음으로 표현. 객체지향 프로그래밍의 조상 격.
개념 그래프 (Conceptual Graph)의미망을 논리와 호환되게 정형화한 그래프 표기. 자연어 의미 표현에 쓰였다.
오늘과의 연결의미망의 후손이 지식 그래프(구글 검색의 정보 패널), 프레임의 후손이 클래스와 객체다. 표현법은 살아남아 이름만 바꿨다.
더 읽기

다섯 방법의 공통 전제를 눈여겨보자 — 지식이 명시적(explicit)이어야 한다는 것이다. "자전거 타는 법"처럼 말로 적을 수 없는 암묵지(tacit knowledge)는 다섯 방법 어느 것으로도 담기지 않는다. 전문가가 정말로 어떻게 판단하는지 스스로 설명하지 못하는 경우가 많다는 사실이, 뒤에서 볼 지식 획득 병목의 뿌리다.

생각해 볼 질문 — "김치찌개 맛있게 끓이는 법"을 IF–THEN 규칙 10개로 적어 보라. 어디서 막히는가?

의미망

is-a로 잇는 세계 — 상속과 예외

의미망은 "카나리아는 새다, 새는 동물이다"처럼 개념 사이의 관계를 그래프로 적는다. 관계를 따라가면 직접 적어 두지 않은 지식도 추론된다 — 카나리아는 동물이다.

동물-새-포유류-카나리아-펭귄-고래를 is-a 간선으로 연결한 의미망. 새는 날 수 있다는 속성과 펭귄의 예외가 표시되어 있다
그림 2. 주목할 것은 펭귄이다. "새는 날 수 있다"를 상속하면 펭귄도 날게 된다 — 상속은 공짜 추론을 주지만, 예외 처리를 요구한다. 규칙 기반 시스템이 커질수록 이런 예외의 예외가 쌓여 가는 것이 유지보수 비용의 정체다.
더 읽기

"펭귄 문제"는 사소해 보이지만 논리학적으로는 깊다. 새로운 사실(펭귄은 못 난다)이 기존 결론(펭귄은 난다)을 뒤집는 추론을 비단조 추론(non-monotonic reasoning)이라 하며, 고전 논리로는 다루기 어렵다. 사람은 이런 예외 처리를 아무렇지 않게 하는데, 그것을 기계에 시키려는 순간 얼마나 어려운지가 드러난다 — 상식(common sense)이 AI의 난제로 불리는 이유다.

생각해 볼 질문 — LLM에게 "펭귄은 날 수 있어?"라고 물으면 잘 답한다. LLM은 이 예외를 "논리"로 아는 것일까, 다른 방식으로 아는 것일까?

생성 규칙

IF–THEN — 전제와 결론

규칙은 IF부(조건·전제·상황)와 THEN부(행동·결론·결과)로 이루어진다. 조건은 AND와 OR로 결합할 수 있고, 수치 비교도 가능하다.

규칙 #5: IF 도로가 미끄럽다 OR 안개가 자욱하다 THEN 속도를 시속 60km 이하로 낮춘다 규칙 #7: IF 고객의 나이 < 18 AND 영화 등급 ≥ 19 THEN 입장이 불가능하다 규칙 #8: IF 시료가 액체이다 AND 자극성 있는 냄새가 난다 AND 어는점이 높아 겨울에 쉽게 고체가 된다 THEN 시료의 성분은 초산이다 ← 전문가의 판단 지식

규칙 #5, #7이 일상 규정이라면 #8은 화학 전문가의 판단을 옮긴 것이다. 같은 형식이 교통 규정부터 전문 감정까지 담는다 — 형식의 단순함이 생성 규칙의 힘이다.

더 읽기

규칙을 잘 쓰는 요령은 프로그래밍의 함수 분리와 닮았다. 한 규칙에 조건을 너무 많이 넣으면(#8처럼 셋 이상) 재사용이 어렵고, 너무 잘게 나누면 규칙 수가 폭발한다. 또 THEN부에 "사실 추가"와 "행동 실행"이 섞이면 추론 순서에 따라 부작용이 생긴다 — 현대 규칙 엔진(Drools 등)이 이 구분을 강제하는 이유다.

생각해 볼 질문 — 학교의 "수강 신청 가능 여부"를 규칙으로 적는다면 IF부에 어떤 조건들이 필요한가? 다섯 개 이상 나열해 보자.

03
추론

추론 기관 — 두 방향의 연쇄

순방향은 사실에서 앞으로, 역방향은 목표에서 거꾸로 — 어느 방향이 효율적인지는 문제의 모양이 정한다.

원리

순방향 추론과 역방향 추론

추론 기관이 규칙을 연쇄시키는 방향은 두 가지다. 알려진 사실로부터 결론을 이끌어 내거나(순방향), 목표를 먼저 세우고 그것을 증명할 증거를 거슬러 찾는다(역방향).

같은 규칙 사슬을 순방향은 사실에서 결론 방향으로, 역방향은 결론에서 사실 방향으로 화살표를 따라가는 두 도식
그림 3. 화살표 방향만 다른 것이 아니다 — 출발점이 다르다. 순방향(왼쪽)은 사실을 다 모아 놓고 무엇이든 나오는 대로 점화한다. 역방향(오른쪽)은 "Z인가?"라는 질문 하나에서 시작해 필요한 증거만 확인한다. 목표와 무관한 규칙을 점화하지 않는 것이 역방향의 효율이다.
순방향 (Forward Chaining)데이터 주도. 사실을 수집한 뒤 추론하는 자연스러운 방식이지만, 목표와 관련 없는 규칙들까지 점화될 수 있다. 모니터링·설정 문제에 적합.
역방향 (Backward Chaining)목표 주도. 가설을 세우고 확인하는 진단형 사고. 확인이 필요한 사실만 사용자에게 물으면 되므로 상담형 시스템(MYCIN)에 적합.
더 읽기

선택 기준을 한 줄로 줄이면 이렇다 — 사실이 적고 가능한 결론이 많으면 순방향, 결론(가설)이 정해져 있고 물어볼 사실이 많으면 역방향. 의사가 "무슨 병이든 나올 때까지 검사를 다 해 봅시다"라고 하지 않고 유력한 병명을 놓고 확인 검사를 지시하는 것이 역방향 추론의 일상 버전이다.

생각해 볼 질문 — 자동차 고장 진단과 공장 센서 이상 감지, 각각 어느 방향이 맞는가?

예제

동물 분류 — 규칙 연쇄를 손으로 따라가기

시험과 실무에서 반복 등장하는 표준 예제다. 규칙 4개와 사실 4개로 "이 동물은 무엇인가"를 추론한다. 기호화하면 연쇄가 한눈에 보인다.

규칙 #1: IF 털이 있다 THEN 포유류이다 A → X 규칙 #2: IF 포유류이다 AND 고기를 먹는다 THEN 육식동물이다 X & B → Y 규칙 #3: IF 육식동물이다 AND 황갈색 AND 갈기 THEN 사자이다 Y & C & D → Z 규칙 #4: IF 육식동물이다 AND 황갈색 AND 줄무늬 THEN 호랑이이다 Y & C & E → W 사실: A(털), B(고기), C(황갈색), D(갈기)
  1. 사실 A가 규칙 #1의 조건과 일치 → 점화. 새 사실 X(포유류) 추가.
  2. X와 B가 규칙 #2의 조건과 일치 → 점화. 새 사실 Y(육식동물) 추가.
  3. Y, C, D가 규칙 #3과 일치 → 점화. 결론 Z: 사자. (규칙 #4는 E가 없어 점화되지 않는다)
더 읽기

점화 여부를 판정할 때 실수하기 쉬운 지점: 규칙의 조건이 전부 작업 기억에 있어야 점화된다(AND). 그리고 한 번 점화된 규칙이 추가한 새 사실이 다음 라운드에서 다른 규칙의 조건을 채운다 — 이 "추가 → 재검사"의 반복이 연쇄(chaining)다. 시험에서는 각 단계에서 어느 규칙이 점화됐고 작업 기억에 무엇이 추가됐는지를 순서대로 쓰는 것이 답안의 형식이다.

생각해 볼 질문 — 사실 D 대신 E(줄무늬)가 있었다면 몇 단계에서 무엇이 달라지는가?

실행 실습

추론 엔진을 한 단계씩 돌려 보기

위 예제와 화재 경보 예제를 브라우저에서 실행한다. 순방향의 "점화 반복"과 역방향의 "목표 되짚기"를 단계 버튼으로 관찰한다.

직접 해보기 1 · 실행

순방향 / 역방향 추론 시뮬레이터

한 줄 목표: 추론 기관이 하는 일이 "규칙 대조 → 점화 → 사실 추가"의 기계적 반복임을 눈으로 확인한다.

조작: 화재 예제·순방향에서 [한 단계]를 끝까지 누른 뒤, 역방향으로 바꿔 다시 진행해 보자. 관찰 포인트: 순방향은 사실에서 출발해 점화 가능한 규칙을 찾고, 역방향은 목표("소방서에 신고한다")에서 출발해 필요한 조건을 거슬러 확인한다 — 두 모드가 같은 결론에 다른 경로로 도달하면 성공이다.

더 읽기

화재 예제의 역방향 진행을 답안 형식으로 적으면: ① 목표 "신고" ← 규칙 #3의 결론 → 하위 목표 "불이 났다" ② "불이 났다" ← 규칙 #1 → 하위 목표 "뜨겁다"(사실 B로 확인)와 "연기가 난다" ③ "연기가 난다" ← 규칙 #2 → 하위 목표 "알람이 울린다"(사실 A로 확인) ④ 모든 하위 목표 충족 → 목표 증명 완료. 이 "목표 스택이 줄어드는 과정"을 쓸 수 있으면 역방향 문제는 끝난 것이다.

생각해 볼 질문 — 사실이 "알람"뿐이고 "뜨겁다"가 없다면, 역방향 추론은 어디서 멈추고 사용자에게 무엇을 질문해야 하는가?

04
충돌

충돌 해결과 불확실성

현실의 규칙은 서로 부딪히고, 현실의 지식은 확실하지 않다 — 우선순위와 신뢰도는 그 틈을 메우는 공학이다.

충돌 해결

같은 사실, 다른 결론 — 무엇을 점화할 것인가

"통증이 있으면 진통제를 처방한다"와 "통증이 있고 60세 초과에 심장병 이력이 있으면 응급실로 보낸다"가 함께 저장돼 있다. 환자는 두 조건을 모두 만족한다. 어느 규칙을 점화해야 하는가?

① 우선순위규칙마다 우선순위 값을 부여하고 가장 높은 것을 점화한다. (진통제 20 < 응급실 90 → 응급실)
② 특수성조건이 더 많은(더 특수한) 규칙을 먼저 점화한다. 조건 3개짜리 응급실 규칙이 이긴다.
③ 최신성가장 최근에 입력된 사실을 사용하는 규칙을 점화한다. 신선한 정보를 우선한다.

셋 중 무엇을 쓸지는 시스템 설계자의 결정이다. 주목할 것 — 충돌 해결 전략 자체는 지식이 아니라 정책이며, 잘못 정하면 옳은 규칙들이 저장돼 있어도 위험한 결론이 나온다.

더 읽기

특수성 우선은 직관적으로 안전해 보이지만 함정이 있다. 특수한 규칙이 조건 하나를 실수로 빠뜨렸다면, 일반 규칙이 잡아 줄 안전망을 특수 규칙이 가로챈다. 실무 규칙 엔진에서는 대개 우선순위를 명시하되, 의료·금융처럼 위험한 영역에서는 "충돌 발생 시 사람에게 넘긴다"는 네 번째 전략을 둔다 — M2에서 본 에이전트의 "사람 승인 지점"과 같은 발상이다.

생각해 볼 질문 — 최신성 우선이 좋은 선택이 되는 도메인의 예를 하나 들어 보자.

불확실성 · 코드

확신의 정도를 숫자로 — 신뢰도

"이 증상들이면 아마 감기다"의 '아마'를 다루기 위해 MYCIN은 규칙마다 확신도(certainty factor)를 붙였다. 실습 노트북의 의료 진단 시스템은 같은 아이디어를 단순화해 구현한다.

직접 해보기 2 · 코드

매칭 비율로 신뢰도 계산하기 — 의료 전문가 시스템 발췌

한 줄 목표: "규칙 기반 진단 + 신뢰도"가 코드 몇 줄인지 확인한다. 전체 구현은 실습 노트북(인공지능실습3_의료전문시스템)에서 다룬다.

diseases = { # 지식 베이스: 질병 → 증상 집합 "감기": {"기침", "콧물", "미열"}, "독감": {"기침", "고열", "근육통", "오한"}, "편두통": {"두통", "구토", "빛 공포증"}, } def diagnose(symptoms): # 추론 기관: 전 질병과 대조 results = [] for name, need in diseases.items(): matched = symptoms & need # 입력 증상과의 교집합 conf = len(matched) / len(need) # 신뢰도 = 매칭 수 / 질병 증상 수 if conf > 0: results.append((name, conf, matched)) return sorted(results, key=lambda r: -r[1]) print(diagnose({"기침", "고열", "오한"})) # 기대 출력: 독감 0.75 > 감기 0.33 — 확진이 아니라 순위다 # 과제: "몸살"처럼 여러 질병에 걸치는 증상을 추가하면 순위가 어떻게 흔들리는가?

관찰 포인트: 이 시스템은 증상 세 개로 "독감 75%"라고 말하지만, 그 75%는 확률이 아니라 조건 충족 비율이다 — 통계적 근거(5주차 베이즈 정리)와 규칙적 확신도의 차이를 구분할 수 있으면 성공이다.

더 읽기

MYCIN의 확신도는 확률론과 어긋나는 임시방편이라는 비판을 받았고, 이후의 불확실성 처리는 베이즈 확률(5주차)과 퍼지 논리로 정식화된다. 그럼에도 확신도가 실무에서 오래 쓰인 이유는 전문가가 "이 규칙은 0.7쯤 확신한다"고 말하기는 쉬워도, 정합적인 사전 확률 전체를 제공하기는 어렵기 때문이었다 — 지식 획득의 현실이 이론적 순수성을 이긴 사례다.

생각해 볼 질문 — 위 코드의 신뢰도 정의(매칭/질병 증상 수)가 놓치는 것은 무엇인가? 희귀병과 흔한 병이 같은 비율일 때 무엇을 더 고려해야 하는가?

05
1980년대

정점, 그리고 한계

상업적 정점(XCON)과 구조적 한계(배우지 못하는 지식)는 같은 시기에 왔다 — 그 한계가 다음 장의 머신러닝을 부른다.

상업적 정점

XCON — 규칙 2,500개로 연 2,500만 달러

DEC의 XCON(R1)은 고객 주문에 맞춰 VAX 컴퓨터 구성을 자동 설계하는 전문가 시스템이다. 1980년 현장 투입돼, 1986년까지 8만 건의 주문을 처리했다.

  • 1978년 카네기멜런의 존 맥더못(J. McDermott)이 개발 시작, 1980년 DEC 공장에 배치 — 최초의 대규모 상업 전문가 시스템으로 꼽힌다.
  • 규칙 약 2,500개 규모로 성장, 구성 정확도 95~98% 수준으로 보고되었다.
  • 구성 오류로 인한 무상 부품 제공 감소 등으로 연 2,500만 달러를 절감한 것으로 추정되었다 — 이 성공이 1980년대 전문가 시스템 붐과 기업 AI 부서 설립 러시를 촉발했다.
더 읽기

XCON의 그늘도 기록할 가치가 있다. 신제품이 나올 때마다 규칙을 고쳐야 했고, 규칙이 수천 개로 불어나자 하나를 고치면 어디가 부러지는지 알 수 없는 상태가 됐다. 유지보수 인력이 수십 명 규모로 필요했다고 전해진다. 1장에서 본 2차 AI 겨울(1987~)의 원인 중 하나가 바로 이 유지보수 비용의 현실화였다.

생각해 볼 질문 — 소프트웨어 공학의 "레거시 코드" 문제와 XCON의 규칙 유지보수 문제는 무엇이 같고 무엇이 다른가?

출처 McDermott, "R1: A Rule-Based Configurer of Computer Systems", Artificial Intelligence 19(1), 1982: sciencedirect.com · 절감액·처리 건수는 2차 자료 종합(추정): wikipedia.org

구조적 한계

규칙이 스스로 무거워진다

전문가 시스템의 세 가지 한계는 모두 한 문장으로 모인다 — 지식을 학습할 수 없다. 사람이 적어 넣고, 사람이 고치고, 사람이 감당해야 한다.

규칙 수가 늘어날 때 점검해야 할 규칙 쌍의 수가 제곱으로 증가함을 로그 스케일로 보인 그래프. MYCIN 600규칙과 XCON 2500규칙 위치 표시
그림 4. 작성 노력(청록)은 규칙 수에 비례해 늘지만, 서로 충돌하지 않는지 점검할 규칙 쌍(적갈)은 제곱으로 는다. XCON의 2,500개 규칙이면 점검 대상 쌍이 약 312만 개다 — "규칙이 많아지면 유지보수가 어려워진다"는 문장의 실체는 이 기울기 차이다.
학습 불가새 지식은 전부 사람이 면담·정리해 추가해야 한다. 지식 획득이 병목이 된다.
탐색 비효율규칙이 많아지면 매 사이클 대조 비용이 커진다. 점화 순서에 따라 성능이 널뛴다.
유지보수 곤란규칙 간 상호작용이 제곱으로 늘어, 수정의 파급을 예측하기 어려워진다.
더 읽기

"지식 획득 병목(knowledge acquisition bottleneck)"이라는 용어를 기억해 두자. 전문가의 시간은 비싸고, 전문가는 자기 판단 과정을 다 설명하지 못하며(암묵지), 설명한 것도 지식 공학자가 옮기며 왜곡된다. 5주차부터 배울 머신러닝의 제안은 정확히 이 병목의 우회다 — 전문가에게 묻지 말고, 전문가가 남긴 데이터에서 규칙을 스스로 찾게 하자.

생각해 볼 질문 — 데이터에서 규칙을 배우면 병목은 사라지는가, 아니면 "좋은 데이터 획득"이라는 새 병목으로 옮겨 가는가?

오늘과의 대비

규칙 vs LLM — 무엇을 언제 쓰는가

실습 노트북은 같은 진단 문제를 규칙 기반과 LLM으로 나란히 풀어 본다. 어느 한쪽의 승리가 아니라, 트레이드오프의 표가 남는다.

규칙 기반 (전문가 시스템)LLM (M2)
판단 근거점화된 규칙을 그대로 제시 — 완전한 설명 가능불투명 — 사후 설명은 생성물이지 근거가 아님
일관성같은 입력이면 항상 같은 출력샘플링에 따라 출력이 달라질 수 있음
범위 밖 입력규칙에 없으면 침묵 — 모름을 앎무엇이든 답을 생성 — 환각 위험
지식 갱신사람이 규칙 추가 (병목)재학습 또는 RAG로 공급
구축 비용좁은 영역은 저렴, 넓히면 폭발기성 모델 활용 시 초기 비용 낮음
자주 만나는 오해

"전문가 시스템은 죽은 기술이다" — 이름이 바뀌었을 뿐이다. 카드 결제 사기 탐지 1차 필터, 보험 인수 심사, 세무 소프트웨어, 항공권 운임 계산, 게임 NPC 행동은 지금도 규칙 엔진이 지탱한다. 판단 근거를 감사(audit)해야 하는 곳, 오답이 소송이 되는 곳에서는 "침묵할 줄 아는 투명한 시스템"이 여전히 강하다.

더 읽기

실무의 현재형은 혼합이다. LLM이 자연어 입력을 구조화된 사실로 변환하고, 그 사실 위에서 규칙 엔진이 규정 준수를 판정하며, 결과 설명을 다시 LLM이 자연어로 풀어 주는 구성이다. 저마다 잘하는 자리에 배치한다. "규칙이냐 학습이냐"는 1960년대부터 반복된 질문이지만, 답은 늘 "어느 단계에 무엇을"이었다.

생각해 볼 질문 — 대출 승인 시스템을 설계한다면 어느 단계를 규칙으로, 어느 단계를 모델로 두겠는가? "거절 사유 통지 의무"가 있다는 점을 고려하라.

06
정리

이 자료가 바로잡은 세 가지

전문가 시스템에 관한 통념 가운데, 이 장을 읽기 전과 후가 달라야 하는 것들.

기억해 둘 세 문장

  1. 전문가 시스템의 핵심은 규칙이 아니라 분리다. 지식 베이스와 추론 기관을 나눈 설계 덕에 지식만 갈아 끼워 영역을 옮길 수 있었다 — 그리고 그 약속은 유지보수 비용 앞에서 절반만 지켜졌다.
  2. 성능이 사람을 넘어도 도입은 별개다. MYCIN은 평가에서 이기고 병원에서 졌다. 책임·통합·수용성 — 오늘의 의료·금융 AI가 겪는 문제의 원형이다.
  3. 전문가 시스템은 죽지 않았다. 한계가 분명해졌을 뿐이다. 배우지 못한다는 병목이 머신러닝을 불렀고, 투명하다는 미덕은 규칙 엔진이라는 이름으로 오늘도 산다.
다음 장 예고

지식 획득 병목의 우회로 — 전문가에게 묻지 말고 데이터에서 배우게 하자. 다음 장 머신러닝 기초는 "학습이란 함수 근사다"라는 한 문장에서 시작해, 모델을 만들기 전에 반드시 알아야 할 평가(혼동행렬·베이즈)를 먼저 다룬다.

한국외국어대학교 기술경영학부 · 본문 도표(그림 1–4)는 직접 제작. 수치·연도는 각 카드 하단과 참고문헌의 원문 기준. 2차 자료에 의존한 수치(XCON 절감액 등)는 "추정"으로 표시했다.
출처

참고문헌

공개 원문 우선. 링크는 2026년 8월 확인 기준.

1차 문헌 · 논문과 저작

  1. Newell, A., Shaw, J. C., & Simon, H. A. (1959). Report on a General Problem-Solving Program. RAND P-1584. bitsavers.org
  2. Lindsay, R., Buchanan, B., Feigenbaum, E., & Lederberg, J. (1980). Applications of Artificial Intelligence for Organic Chemistry: The DENDRAL Project. McGraw-Hill.
  3. Shortliffe, E. H. (1976). Computer-Based Medical Consultations: MYCIN. Elsevier.
  4. Yu, V. L., et al. (1979). Antimicrobial Selection by a Computer: A Blinded Evaluation by Infectious Diseases Experts. JAMA, 242(12), 1279–1282. pubmed.ncbi.nlm.nih.gov
  5. Buchanan, B. G., & Shortliffe, E. H. (편) (1984). Rule-Based Expert Systems: The MYCIN Experiments. Addison-Wesley. 전문 공개: people.dbmi.columbia.edu
  6. McDermott, J. (1982). R1: A Rule-Based Configurer of Computer Systems. Artificial Intelligence, 19(1), 39–88. sciencedirect.com

개관 자료 (연표·수치 대조용)

  1. 천인국 (2023). 인공지능: 파이썬으로 배우는 머신러닝과 딥러닝 (2판). 인피니티북스. — 4주차 강의 교재.
  2. Wikipedia. Xcon. en.wikipedia.org — XCON 처리 건수·절감액 추정치 대조용.
인용 원칙

MYCIN 평가 수치(65%, 42.5~62.5%)는 JAMA 원문 기준이다. XCON의 절감액(연 2,500만 달러)과 처리 건수(8만 건)는 1차 논문이 아닌 2차 자료 종합으로, 본문에 "추정"으로 표시했다. 확신이 어려운 진술("유지보수 인력 수십 명")은 "전해진다"로 표시했다.