온톨로지와 메모리 시스템 (1/13) — Claude Code에서 온톨로지가 필요한 이유

AI 에이전트가 늘어날수록 관계 설계가 성능을 결정한다


핵심 요약

  • 온톨로지는 에이전트 간 관계와 의존성을 정의한 구조적 지도
  • Claude Code에서 CLAUDE.md와 메모리 시스템이 온톨로지의 실체가 된다
  • 여러 Claude Code 프로젝트를 운영하면 공유 지식과 사용자 관점이 전체 시스템의 일관성을 만든다
  • Claude Code뿐 아니라 다른 AI 시스템도 같은 온톨로지에 참여할 수 있다

배경

Claude Code로 프로젝트를 운영하다 보면, 자연스럽게 에이전트가 늘어납니다. 앱 개발용 하나, 서버 관리용 하나, 콘텐츠 작성용 하나. 각각 잘 돌아갑니다.

그런데 다수의 에이전트를 넘어가면 구조적 문제가 드러납니다. "이 에이전트가 만든 데이터를 저 에이전트가 쓸 수 있나?" "새 프로젝트를 만들면 기존 에이전트와 어떻게 연결하지?" "사용자의 작업 방식을 에이전트마다 따로 정의해야 하나?"

이 문제를 해결하는 것이 온톨로지입니다.


본문

1. 온톨로지란 무엇인가

온톨로지(Ontology)는 원래 "존재에 대한 연구"를 뜻하는 철학 용어입니다. IT에서는 의미가 구체적으로 바뀝니다: 개체들 사이의 관계를 정의한 구조적 지도입니다.

AI 에이전트 온톨로지는 세 가지를 정의합니다:

① 누가 있는가 (개체) 시스템에 어떤 에이전트들이 존재하고, 각각 무슨 역할을 하는가.

② 누가 누구와 연결되는가 (관계) 어떤 에이전트가 어떤 에이전트에게 데이터를 보내는가. 어떤 기술을 공유하는가. 어떤 콘텐츠가 어디로 흘러가는가.

③ 공유하는 규칙은 무엇인가 (공유 지식) 모든 에이전트가 알아야 하는 사용자의 성향, 작업 원칙, 판단 기준은 무엇인가.

데이터베이스 스키마가 데이터 간 관계를 정의하듯, 온톨로지는 에이전트 간 관계를 정의합니다. 스키마 없는 데이터베이스가 혼란이듯, 온톨로지 없는 멀티 에이전트도 혼란입니다.


2. Claude Code에서 온톨로지가 작동하는 방식

Claude Code에는 온톨로지를 구현할 수 있는 구조가 이미 갖춰져 있습니다.

CLAUDE.md — 에이전트의 기억이자 정체성

모든 Claude Code 프로젝트는 CLAUDE.md를 매 세션 시작 시 자동으로 읽습니다. 여기에 프로젝트의 목적, 규칙, 구조가 들어갑니다. 이것이 개별 에이전트의 정체성입니다.

CLAUDE.md는 두 계층으로 구성됩니다: - 글로벌 CLAUDE.md (~/.claude/CLAUDE.md): 모든 프로젝트에 공통 적용 - 프로젝트 CLAUDE.md (프로젝트 루트): 해당 프로젝트에만 적용

이 구조가 온톨로지의 핵심입니다. 글로벌 CLAUDE.md에 전체 에이전트 목록, 관계도, 공유 규칙을 정의하면 — 어떤 프로젝트를 열든 전체 시스템 맥락을 알고 시작합니다.

메모리 시스템 — 대화를 넘어서는 기억

Claude Code의 메모리는 세션 간에 유지됩니다. 사용자에 대한 이해, 작업 피드백, 프로젝트 상태가 축적됩니다.

이 메모리가 온톨로지와 결합하면 다음 메커니즘이 작동합니다: - 에이전트 A에서 학습한 사용자 성향(예: 데이터 기반 판단 선호)이 글로벌 컨텍스트에 기록됨 - 글로벌 CLAUDE.md를 통해 에이전트 B도 같은 사실을 세션 시작 시 자동으로 읽음 - 처음 사용하는 프로젝트여도 사용자 성향에 맞게 즉시 작동

사용자 관점을 에이전트마다 재정의할 필요가 없습니다. 한 번 공유된 정책은 전체 시스템에 적용됩니다.


3. 여러 Claude Code를 쓸 때 온톨로지의 장점

Claude Code 프로젝트를 하나만 쓰면 온톨로지가 필요 없습니다. 두세 개까지도 머릿속으로 관리가 됩니다. 그 이상부터 차이가 나기 시작합니다.

① 지식 재사용

Flutter 앱 프로젝트에서 해결한 상태 관리 패턴은 온톨로지에 기술 관계로 명시됩니다. 다른 Flutter 프로젝트는 "형제 프로젝트의 기존 패턴 확인"을 온톨로지 경로로 수행합니다. 같은 문제를 두 번 풀지 않습니다.

② 데이터 흐름 파악

주식 분석 에이전트의 인사이트는 콘텐츠 에이전트의 블로그 소재로 흘러갑니다. 이 흐름이 온톨로지에 [data] 관계로 명시되어 있으면, 콘텐츠 에이전트는 입력 소스와 형식을 처음부터 알고 작동합니다.

③ 사용자 관점의 일관성

가장 핵심적인 효과입니다. 글로벌 CLAUDE.md에 사용자의 판단 기준, 가치관, 선호 방식을 정의하면 — 다수의 에이전트 모두가 같은 사람을 같은 방식으로 이해합니다.

개발 에이전트는 사용자가 데이터 기반 판단을 선호한다는 것을 알고, 콘텐츠 에이전트도 같은 원칙으로 글을 씁니다. 에이전트마다 따로 설명할 필요가 없습니다.

④ 새 에이전트 온보딩

새 에이전트를 추가할 때, 온톨로지가 없으면 처음부터 다시 설정합니다. 온톨로지가 있으면 글로벌 CLAUDE.md를 읽는 것만으로 전체 시스템 맥락, 사용자 성향, 기존 에이전트와의 관계를 즉시 파악합니다.


4. 다른 AI도 같은 온톨로지에 참여할 수 있다

온톨로지의 실체는 CLAUDE.md라는 마크다운 파일입니다. Claude Code 전용이 아닙니다.

GPT, Gemini, 로컬 LLM도 읽을 수 있습니다. 마크다운은 어떤 AI든 이해할 수 있는 포맷이니까요. 시스템 프롬프트나 컨텍스트에 같은 온톨로지 파일을 주입하면, 다른 AI도 동일한 관계 지도와 사용자 관점을 공유합니다.

실제 활용 예시: - Claude Code가 주 에이전트, GPT가 팩트체크 보조 → 같은 온톨로지로 역할 분담 명확 - 로컬 LLM이 데이터 전처리, Claude Code가 분석 → 데이터 관계가 온톨로지에 정의됨 - 새로운 AI 서비스를 추가할 때 → 온톨로지에 역할과 관계만 추가하면 됨

AI 종류가 아니라 역할이 기준입니다. 온톨로지는 특정 AI에 종속되지 않는, 시스템 수준의 설계도입니다.


5. 온톨로지의 세 가지 관계 유형

에이전트 사이의 관계는 크게 세 종류로 분류합니다.

데이터 관계 [data] — 한 에이전트의 출력이 다른 에이전트의 입력

오픈클로 관리 → 홈서버 관리자: 분석 인사이트 → 대시보드 표시
주식 정보 관리 → 글 작성 디렉터: 투자 분석 → 블로그 소재

기술 관계 [tech] — 같은 스택을 공유하여 패턴 재사용

콰이어트 ↔ 성장 일지: Flutter UI 패턴, 상태 관리 공유
프롬프트 하네스 → 모든 프로젝트: 하네스 구조 제공

콘텐츠 관계 [content] — 도메인 지식이 다른 에이전트의 소재

나의 삶 정리 → 글 작성 디렉터: 경험/의사결정 → 블로그 소재
주식 정보 관리 → 글 작성 디렉터: 분석 인사이트 → 콘텐츠 소재

이 관계를 CLAUDE.md에 테이블로 관리합니다. 새 에이전트가 추가되면 어떤 관계 유형으로 연결되는지 즉시 정의합니다.


설계 시 주의사항

  • 온톨로지를 너무 일찍 만들 필요는 없습니다. 에이전트가 소수일 때는 머릿속으로 충분합니다. 관리 부담이 커지는 시점부터 문서화를 시작하는 것이 적절합니다.

  • 글로벌 CLAUDE.md가 너무 길어지면 역효과입니다. 프롬프트가 길수록 앞부분 참조 비중이 낮아집니다. 온톨로지는 간결하게, 상세 규칙은 각 프로젝트 CLAUDE.md에 넣는 것이 효과적입니다.

  • 관계는 양방향인지 단방향인지 구분해야 합니다. "A → B" (A가 B에게 보냄)와 "A ↔ B" (서로 주고받음)는 다릅니다. 단방향을 양방향으로 착각하면 없는 의존성을 기대하게 됩니다.


마무리

온톨로지는 거창한 개념이 아닙니다. "내 에이전트들이 어떻게 연결되어 있는지 적어둔 문서" 입니다.

그런데 이 문서 하나가 만드는 차이가 큽니다. 지식이 재사용되고, 사용자 관점이 일관되고, 새 에이전트가 즉시 시스템에 합류하고, Claude Code가 아닌 다른 AI도 같은 맥락에서 작동합니다.

2편에서는 이 온톨로지를 실제로 어떻게 구현하는지 — 메시지 허브 설계, 컨텍스트 격리, 메모리 계층 구조를 다룹니다.

시리즈 전체 안내: 시리즈 목차

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"