← koiro.me

AI Agent Ontology Architecture RAG

에이전트가 "생각"하는 환경 자체를 어떻게 설계하는가. 실행 루프, 도구 연결, 메모리 레이어부터 지식 표현의 뼈대인 온톨로지까지.

Part 1

스캐폴딩 — 에이전트의 실행 환경

스캐폴딩(Scaffolding)은 건축의 비계에서 따온 용어다. 본 구조물을 세우기 전에 세워두는 가설 구조물처럼, AI Agent 개발에서 스캐폴딩은 LLM이 실제로 작동할 수 있는 실행 환경 전체를 의미한다.

LLM 자체는 입력을 받아 출력을 생성하는 함수에 불과하다. 그것만으로는 아무것도 "하지" 않는다. 스캐폴딩이 그 LLM을 루프 안에 넣고, 도구를 연결하고, 메모리를 붙이고, 다른 에이전트와 조율하게 만든다.

LangChain, CrewAI, AutoGen 같은 프레임워크는 스캐폴딩을 추상화한 도구다 — 스캐폴딩 자체가 아니라. 프레임워크 없이도 스캐폴딩은 구현 가능하다.

5 Layer Structure

01
LLM — 추론 엔진
Claude · GPT · Gemini — 추론, 계획, 응답 생성
Brain
02
Agent Loop — 실행 루프
Think → Act → Observe → Repeat
Core
03
Tool Use — 도구 인터페이스
Web search · Code executor · External API · DB
Interface
04
Memory & Orchestrator
Short-term · Long-term · RAG  |  멀티 에이전트 조율
State
05
Guardrails / Eval
안전 필터 · 출력 검증 · 로깅 · 평가 루프
Safety

Loop Mechanics

Agent Loop는 단순히 LLM을 반복 호출하는 것이 아니다. 매 반복마다 Observation을 컨텍스트에 추가하고, 다음 Action을 결정하는 구조다. 이 루프가 멈추는 조건 — 목표 달성, 최대 스텝 초과, 에러 — 을 스캐폴딩이 관리한다.

Tool call은 LLM이 직접 실행하지 않는다. LLM은 "어떤 도구를 어떤 인자로 호출하라"는 의도(intent)를 출력할 뿐이고, 스캐폴딩이 그것을 실제 함수 호출로 변환한다.

실무에서는 도구 스키마(JSON Schema 등)를 시스템 프롬프트나 tools 파라미터로 넘겨, 모델 출력을 구조화된 tool call로 파싱한 뒤 런타임에서 검증·실행하는 패턴이 일반적이다. MCP(Model Context Protocol)처럼 도구·리소스를 표준화해 두면, 에이전트와 외부 시스템을 같은 스캐폴딩 계층에서 묶기 쉽다.

Guardrails — 안전과 품질

5번째 레이어는 "출력만 예쁘게"가 아니라 정책 위반 차단, PII 마스킹, 할루시네이션 완화, A/B 평가까지 포함한다. 스캐폴딩이 로그와 메트릭을 남겨야 나중에 프롬프트·도구·모델을 같은 기준으로 개선할 수 있다.


Part 2

온톨로지 — 지식의 뼈대

온톨로지(Ontology)는 원래 철학 용어다. "존재하는 것들의 분류와 관계"를 다루는 형이상학의 한 분야. 컴퓨터 과학에서는 이것이 형식적 지식 표현 체계로 좁혀진다 — 클래스, 프로퍼티, 인스턴스, 관계를 명시적으로 정의한 구조.

AI Agent에서 온톨로지는 에이전트가 세계를 이해하는 방식을 정의한다. "사람"이 무엇인지, "조직"과 어떤 관계인지, 어떤 속성을 가질 수 있는지를 기계가 추론할 수 있는 형태로 표현한다.

OWL 외에도 SKOS(분류·사전·태깅)로 개념 계층만 정리하거나, SHACL로 RDF 그래프에 대한 제약·검증 규칙을 두는 식으로 스택을 나눠 쓰는 경우가 많다. 전부 "온톨로지"라는 이름 아래에서 엄격함과 운영 비용 사이의 균형을 맞추는 선택이다.

기본 구성 요소

Ontology OWL 2 / RDF
  • Class 개념 분류
    • PersonsubClassOf Thing
    • OrganizationsubClassOf Agent
    • EventsubClassOf Occurrence
  • Property 관계 / 속성 정의
    • ObjectPropertyworksFor, partOf
    • DatatypePropertyname, date, value
  • Individual 실제 인스턴스
    • ex:Ahhyunrdf:type Person
    • ex:POSCO_DXrdf:type Organization
  • Axiom 추론 규칙 / 제약
    • domain / range프로퍼티 타입 제약
    • equivalentClass동치 클래스

스택별 역할 비교

Layer역할실제 사용
RDF트리플(주어–서술어–목적어)로 사실 표현데이터 교환 기반 레이어
RDFS클래스·프로퍼티 계층 정의간단한 분류 체계
OWL 2복잡한 제약·추론 규칙 표현엔터프라이즈 지식 그래프
FOAF사람·조직 관계 표준 어휘소셜 그래프 / 프로필
SPARQL온톨로지 쿼리 언어지식 그래프 검색·추론

Part 3

둘의 교차점 — 지식 기반 에이전트

스캐폴딩이 에이전트의 행동 구조를 정의한다면, 온톨로지는 에이전트가 가진 세계 모델을 정의한다. 이 둘이 결합하면 단순 도구 호출을 넘어 도메인 지식을 바탕으로 추론하는 에이전트가 된다.

예를 들어 에너지 모니터링 시스템에서: 스캐폴딩은 센서 데이터 수집 → 이상 감지 → 알람 생성의 루프를 관리하고, 온톨로지는 "설비 A가 공정 B에 속하고, 공정 B의 정상 온도 범위는 X"라는 도메인 지식을 에이전트가 추론에 활용할 수 있게 구조화한다.

현업에서는 온톨로지를 완전히 OWL 2로 구현하는 경우는 드물다. JSON-LD, Knowledge Graph DB(Neo4j 등), 또는 단순 스키마 정의로 대체하는 경우가 많다. 핵심은 형식(format)이 아니라 개념 간 관계를 명시적으로 정의했는가다.

RAG(Retrieval-Augmented Generation)도 넓게 보면 비정형 텍스트 코퍼스를 에이전트의 "지식 레이어"로 사용하는 방식이다. 온톨로지 기반 접근과의 차이는 추론 가능성(inferability) — 온톨로지는 명시적 관계를 통해 새로운 사실을 도출할 수 있다.

Graph RAG나 온톨로지 정렬 임베딩을 쓰면, 검색된 청크뿐 아니라 엔티티·관계 단위로 컨텍스트를 조립해 스캐폴딩의 Memory 레이어와 자연스럽게 이어질 수 있다. 에이전트 한 스텝이 "SPARQL/그래프 쿼리 → 근거 트리플 → LLM 요약"이 되는 패턴도 자주 설계된다.