1974년 마빈 민스키(Marvin Minsky)가 제안한 심볼릭 인공지능의 기념비적 지식표현 구조. 인간의 정신적 틀에서 출발하여 현대 객체지향 프로그래밍(OOP)을 낳았고, 오늘날 거대 언어 모델(LLM)의 프롬프트 엔지니어링, JSON Schema 구조화 출력, 자율 에이전트 도구 호출(Tool Calling)의 핵심 근간으로 진화하고 있습니다.
💡 "인간은 새로운 상황에 부딪힐 때 백지에서 시작하지 않고, 기억 속에서 적합한 프레임(Frame)을 인출하여 빈칸을 채운다" — Marvin Minsky (1974)
인공지능의 선구자 Marvin Minsky가 1974년에 발표한 지식표현 (Knowledge Representation)의 한 방법으로서, 객체의 속성을 상속 (Inheritance)할 수 있다는 것이 가장 큰 특징입니다. 이는 훗날 컴퓨터 과학의 거대한 패러다임인 객체지향 (Object Oriented) 개념으로 발전하였습니다.
프레임 (Frame)은 노드의 구조를 보다 체계화한 것으로 볼 수 있습니다. 영화의 한 장면을 기억할 때, 우리는 정보들을 보다 구조화하여 하나의 틀을 만들어 기억하게 됩니다. 예를 들어 영화의 어떤 장면 중 주인공이 어느 집 앞에 있는 장면이 있다고 합시다. 이때 집의 크기, 창문의 위치, 배경 하늘, 정원의 형태, 배경음악 등을 하나의 틀로서 기억합니다. 그리고 집안으로 들어가는 장면에서 현관의 크기, 초인종의 소리 등이 떠오르고 다시 주인공이 안으로 들어갔을 때 거실의 탁자, 벽걸이 장식, 마루 등의 모습이 한 화면으로 연상됩니다.
이렇듯 영화의 한 장면처럼 Frame 이란 "어떤 대상, 객체에 대한 여러 개의 상황정보들을 하나의 구조화된 틀로서 표현할 수 있는 자료구조" 입니다.
Frame에는 대상의 특성에 대한 기술적인 정적 정보뿐만 아니라, 상황에 따라 정보를 추출하고 조작하는 절차적 방식(Demons)까지도 함께 규정되어 있습니다.
구체적으로 보면 frame을 이용한 표현도 궁극적으로 의미망 (Semantic Network)과 흡사한 구조를 가지고 있음을 알 수 있습니다. Semantic net이 단순한 노드(Node)와 호(Arc/Link)로서 표현되는 데 비해, 단지 여기서는 노드 대신에 풍부한 내부 속성을 지닌 Frame을 사용한다는 것이 다른 점입니다.
하나의 frame 구조는 여러 개의 슬롯 (Slot)으로 구성됩니다. 슬롯은 frame이 나타내고자 하는 대상의 하나하나의 특성(Attribute/Property)들을 나타냅니다. 각 슬롯은 이러한 특성들의 값(Value / Filler)을 저장합니다.
예를 들어 나의 퍼스널컴퓨터란 frame에는 모델명, CPU, 캐시메모리, 하드디스크 콘트롤러 타입 등의 속성이 있을 수 있고, 이를 위해 각각의 슬롯이 생성되어 각 특성들의 값인 GK51P-6100, 펜티엄 60, 256KB, IDE, PCI, 컴택 등이 슬롯에 들어가게 됩니다.
| 슬롯 이름 (Slot Name) | 패싯 및 값 (Facet & Value) | 설명 및 비고 |
|---|---|---|
| 상위 클래스 (A-Kind-Of) | 데스크톱 컴퓨터 (Desktop PC) | 상위 프레임으로부터 기본 속성 상속 |
| 모델명 (Model) | GK51P-6100 | 컴택(Comtec) 제조 완제품 모델 |
| CPU | 펜티엄 60 (Pentium 60MHz) | 중앙처리장치 규격 |
| 캐시메모리 (Cache) | 256KB | L2 캐시 용량 |
| HDD 컨트롤러 (Controller) | IDE / PCI 인터페이스 | 디스크 제어 버스 방식 |
이러한 frame의 구조는 마치 파스칼(Pascal)과 같은 프로그램 언어의 레코드(Record) 구조나 Lisp에서 설명될 프로퍼티 리스트(Property List)를 갖는 Lisp의 아톰(Atom)과 매우 유사합니다.
객체지향 표현과 frame 표현방법 간의 관계에 대해 설명하면, frame 표현은 객체지향 표현의 선구자적인 위치에 있다고 할 수 있습니다. 즉, 속성으로 사물의 여러 특성을 표현할 수 있다든지, 상속 기능과 절차 첨부 기능은 모두 오늘날 객체지향(OOP) 프로그래밍의 핵심 일부입니다.
객체지향 기법은 다음과 같은 여러 분야에서 나름대로의 필요성 때문에 부각되어 왔습니다:
보다 포괄적이고 인간다운 지식 표현을 위해 frame 지식 표현으로써 상속(Inheritance)과 절차첨부(Procedural Attachment) 등 객체지향 표현 개념을 선제적으로 제공하였습니다.
모듈 설계에 응용하여 소프트웨어 재사용성을 극대화하고, 복잡한 시스템의 사후 유지보수 비용을 획기적으로 절감하기 위해 적극적으로 도입되고 있습니다.
객체지향 기법을 직접 구현하고 지원할 수 있는 기본 언어적 도구(Smalltalk, C++, Java, Python 등) 개발의 이론적 토대가 되었습니다.
— 이재규 (1996), 프레임을 이용한 지식 표현
프레임은 정적 데이터 보관소(Record)를 넘어, 상위 프레임으로부터의 상속과 실행 가능한 절차(Demons)가 결합된 지능형 지식 구조체입니다.
프레임의 속성을 명시하는 이름표(Slot)와 그 자리에 들어가는 실제 값(Filler). 다른 프레임을 가리키는 포인터가 될 수도 있습니다.
새로운 객체에 대한 구체적 값이 주어지지 않아도 상식적으로 당연한 기본값을 자동 채움. (예: '새' 프레임의 날수있다=True). 비단조 추론의 기틀.
하위 프레임은 상위 제네릭 프레임(Generic Frame)이 보유한 슬롯과 규칙을 별도 정의 없이 물려받아 지식 중복을 근본적으로 제거합니다.
슬롯 값이 요구될 때 실행되는 if-needed, 값이 새로 들어올 때 실행되는 if-added 데몬 코드. 데이터와 절차의 유기적 융합.
50년 전 민스키의 심볼릭 프레임은 소멸하지 않았다: "프롬프트 템플릿", "JSON 스키마 구조화 출력", "자율 에이전트 도구 호출(Tool Calling)"로의 눈부신 부활
거대 언어 모델(LLM)은 수천억 개의 파라미터로 이루어진 거대한 확률적 연상 메모리입니다. LLM에게 단순히 "코드를 짜줘"라고 묻는 것보다, "너는 20년 경력의 시니어 보안 엔지니어다(Role Framing). 아래 시스템의 취약점을 분석하라"는 시스템 프롬프트(System Prompt)를 부여할 때 출력 품질이 극적으로 향상됩니다.
이것이 바로 민스키가 주창한 프레이밍(Framing) 메커니즘입니다. 프롬프트는 LLM의 잠재 공간(Latent Space)에서 수많은 가능성 중 특정 도메인 '프레임'을 인출(Retrieve)하고, 그 프레임에 내재된 전문 지식과 디폴트 가정들을 활성화시키는 역할을 합니다.
현대 엔터프라이즈 LLM 애플리케이션의 최대 난제는 자유 형식(Free-form) 텍스트의 불확실성과 파싱 오류입니다. OpenAI, Anthropic, Google 등 최신 모델들은 Pydantic 및 JSON Schema를 통한 구조화된 출력(Structured Outputs / Constrained Decoding)을 지원합니다.
JSON Schema의 필드 이름, 데이터 타입, 필수(required) 여부, 디폴트 값(default)은 1974년 민스키가 정의한 프레임의 슬롯(Slot), 필러 타입(Type Facet), 디폴트(Default Facet)와 100% 수학적·논리적으로 동일한 구조입니다. 심볼릭 AI가 정립한 스키마가 생성형 AI의 가장 신뢰할 수 있는 제어 장치로 완벽히 복권된 것입니다.
전통 프레임 이론에서 슬롯에 값이 없을 때 동적으로 계산을 촉발하던 if-needed 데몬과 새 값이 입력될 때 정합성을 검증하던 if-added 데몬은, 오늘날 LLM 자율 에이전트의 도구 호출(Tool Calling / Function Calling) 및 ReAct 패턴으로 환생했습니다.
예를 들어 여행 예약 에이전트는 '비행기 예약 프레임'에서 사용자가 출발지와 도착지만 말하고 출발 일자를 빠뜨렸을 때, 슬롯 결손을 감지하고 역질문하거나, 날씨 API(if-needed 데몬)를 호출하여 추천 일정을 생성하는 행위(Action)를 수행합니다.
민스키의 프레임은 시맨틱 웹(Semantic Web)의 RDF, OWL, Schema.org로 계승되었으며, 오늘날에는 단순 벡터 검색(Vector RAG)의 한계를 극복하는 GraphRAG의 엔티티-속성-관계(Entity-Attribute-Relation) 추출 모델로 이어집니다.
비정형 텍스트로부터 노드(Frame)를 식별하고 그 속성(Slots)을 온톨로지 스키마에 맞춰 정형화함으로써, LLM이 복잡한 다단계 추론(Multi-hop Reasoning)을 환각 없이 정확하게 수행할 수 있도록 지탱합니다.
| 개념 요소 | 1974 마빈 민스키의 프레임 (Frame) | 2020년대 거대 언어 모델 (LLM & GenAI) |
|---|---|---|
| 기본 틀 (Template) | 상황과 객체의 본질을 담은 심볼릭 Frame | 프롬프트 템플릿(Prompt Template) & 시스템 역할 |
| 속성 슬롯 (Slot) | 이름이 지정된 속성 칸(Attribute Slot) | JSON Schema 키(Key) 및 함수 인자(Arguments) |
| 속성 값 (Filler) | 슬롯에 채워지는 구체적 값 또는 하위 프레임 | LLM이 생성한 추출 값 또는 정형화된 JSON 값 |
| 기본 가정 (Default) | 누락 시 자동 채택되는 정적 디폴트 규칙 | 사전학습 가중치에 내재된 상식적 사전확률(Prior) |
| 절차 첨부 (Demons) | If-needed, If-added 동적 실행 코드 | Tool Calling, Python 인터프리터, ReAct Tool 실행 |
| 계층 상속 (Inheritance) | AKO(A-Kind-Of) 링크를 통한 속성 상속 | Pydantic 클래스 상속 및 온톨로지 스키마 합성 |
마빈 민스키(MIT)의 인지 이론 강좌와 펜실베이니아 대학교의 심볼릭 지식표현 강의를 통해 프레임의 원리를 영상으로 확인하세요.
인간의 지능과 상식을 구성하는 프레임워크와 인지 에이전트 개념 원전 강좌
펜실베이니아대 Dr. Ryan Urbanowicz — 슬롯, 필러, 상속 계층 및 객체지향 변환
저자: Marvin Minsky (MIT AI Lab Memo No. 306)
프레임 이론의 창시 논문. 지식의 구조화와 상속, 시각 및 언어 이해의 게슈탈트 모델 제시