온톨로지 5부작 리서치

한 번에 "온톨로지 조사해줘"라고 하면 백과사전 같은 덩어리 하나가 나옵니다. 그래서 읽는 순서가 곧 학습 곡선이 되도록 5단계로 쪼개서 요청했습니다.

온톨로지에 대해 조사해서 인박스에 넣어줘.

초보자가 순서대로 읽으면서 이해할 수 있게 5단계로 나눠서 작성해줘.
1) 온톨로지의 역사 — 철학 용어가 어떻게 컴퓨터 기술이 되었는지
2) 핵심 개념 — 무엇으로 구성되고, 택소노미·스키마·지식그래프와 뭐가 다른지
3) 고전 스택 — RDF, OWL, SPARQL, Protégé로 실제로 만드는 법
4) 실전 사례 — 어디서 실제로 돌아가고 있고, 무엇이 실패했는지
5) 온톨로지와 LLM — GraphRAG를 포함해 지금 다시 필요해진 이유와 논쟁

각 노트는 앞 노트를 읽었다는 전제로 이어지게 쓰고,
맨 앞에 한 줄 정의와 비유를, 맨 뒤에 용어 미니 사전을 넣어줘.
연도와 수치는 1차 출처로 교차 확인해줘.
AKM 규칙대로 인박스에 넣고 LOG 갱신하고 lint까지 돌려줘.

마지막 두 줄이 핵심입니다. "1차 출처로 교차 확인"은 7월 24일 감사 노트에서 나온 규칙을 그대로 명령에 태운 것이고, "인박스 → LOG → lint"는 AKM 파이프라인 전체를 한 줄로 돌리는 묶음 명령입니다.

결과로 나온 노트 5개입니다.

00-inbox/
├── 2026-07-25-ontology-history.md            # 아리스토텔레스 → Cyc → Gruber 1993 → 시맨틱웹 2001
├── 2026-07-25-ontology-core-concepts.md      # 클래스/개체/속성/공리 + 상위·도메인 온톨로지
├── 2026-07-25-ontology-classic-stack.md      # RDF → RDFS → OWL → SPARQL + Protégé, 추론기
├── 2026-07-25-ontology-real-world-cases.md   # GO, SNOMED CT, schema.org, Wikidata, FIBO, Palantir
└── 2026-07-25-ontology-and-llm.md            # GraphRAG, LLM 기반 온톨로지 자동 생성, 필요성 논쟁

각 노트는 SCHEMA를 지킨 프론트매터를 답니다.

yaml

---
description: "Beginner-friendly Korean research brief on the history of ontology..."
akmLayer: source
akmRole: raw-source
trustLevel: draft
sourceType: synthesis
nextAction: classify
tags: [ontology, history, semantic-web, knowledge-representation]
---

nextAction: classify가 붙어 있어서, 7일 뒤 인박스 트리아지 때 "얘는 아직 분류가 안 됐다"가 파일 자체에 남습니다. (캡처 5: 인박스 노트 5개 목록 / 캡처 6: 노트 본문 — 비유와 용어 미니 사전 부분)

초보자 흡수를 위해 적용한 장치들 — 이건 프롬프트로 지시한 부분이 실제 산출물에 어떻게 반영됐는지 보여주는 대목입니다.

장치

예시

한 줄 정의

"온톨로지는 세상에 어떤 것들이 존재하고 서로 어떤 관계인지 정리한 지도"

비유

온톨로지 = 도서관 분류표 / 기술 스택 = 레이어 케이크 / 공리 = 법전, 추론기 = 판사

형식성 사다리 표

택소노미 → 스키마 → 온톨로지 → 지식그래프를 한 표로 구분

용어 미니 사전

노트 끝마다 5~6개 용어 정리 (개념화, 명세, 멀티홉, 온톨로지 부패…)

교차검증에서 실제로 잡힌 오류 2건:

  • 초안의 BFO ISO 표준 번호가 틀려서 → ISO/IEC 21838-2:2021로 정정

  • schema.org 발표일을 뭉뚱그리려던 것을 → 2011년 6월 2일로 확정

균형을 위해 4단계 노트에는 성공 사례만이 아니라 "시맨틱웹은 왜 약속대로 되지 않았나" 비판 담론을 함께 넣었습니다. 실패한 건 기술이 아니라 "웹 전체를 온톨로지로 덮자"는 2001년의 최대주의적 비전이었다는 정리입니다.

마지막으로 lint:

akm lint: 10 root note(s) checked
akm lint: 0 error(s), 0 warning(s)

결과와 배운 점

배운 점과 나만의 꿀팁:

  • 감사 노트가 다음 프롬프트의 재료가 됩니다. 7/24에 기록한 "1차 출처 대조" 규칙을 7/25 명령에 한 줄로 붙였더니 BFO ISO 번호와 schema.org 날짜 오류가 실제로 걸렸습니다. Learn Back은 자동으로 작동하는 마법이 아니라, 쌓인 규칙을 내가 다음 명령에 태울 때 완성됩니다.

  • 리서치는 "덩어리 하나"가 아니라 "읽는 순서"로 요청하세요. 5단계로 쪼개고 "앞 노트를 읽었다는 전제로 이어서 써줘"를 붙이면, 중복 설명이 사라지고 난이도가 계단식으로 올라갑니다. 백과사전이 아니라 교재가 나옵니다.

  • 비유·용어사전을 프롬프트에 명시하면 이해 비용이 확 떨어집니다. "공리는 법전, 추론기는 판사" 같은 문장 하나가 OWL 설명 세 문단보다 낫습니다.

  • 저장소 자체의 버그도 감사 대상입니다. index.mjslint.mjs 충돌을 발견했을 때 그냥 우회하지 않고 audits에 남겼더니, 나중에 "왜 레이어 인덱스가 없지?"를 다시 조사할 필요가 없어졌습니다.

뜻밖의 수확 — 온톨로지 관점으로 본 AKM:

리서치가 끝나고 나니 AKM이 다르게 보였습니다. 99-system/SCHEMA.md의 프론트매터 enum 체계는 공리 없는 경량 온톨로지입니다. 클래스 체계(akmLayer/akmRole/akmType)는 있는데 추론기가 없는 상태죠. 반대로 lint.mjs는 원시적인 형태의 제약 검사기(constraint checker) 역할을 합니다. 이걸 알고 나니 "다음에 뭘 더할 수 있는가"가 구체적으로 보입니다 — 예를 들어 위키링크 그래프를 RDF 트리플처럼 다루면 "이 개념을 참조하는 모든 컨텍스트 노트" 같은 질의가 가능해집니다.

시행착오:

  • 처음엔 "온톨로지 조사해줘" 한 줄로 요청했다가 모든 내용이 뒤섞인 긴 노트 하나가 나왔습니다. 역사·개념·기술스택·사례가 한 덩어리라 어디부터 읽어야 할지 알 수 없었습니다. 단계를 나눠 다시 요청한 게 결정적이었습니다.

  • 인박스에 노트가 8개까지 쌓였습니다. "7일 내 트리아지" 규칙이 있는데 아직 한 건도 승격을 못 했습니다. 수집이 분류보다 빠른 게 지금의 병목입니다.

  • lint를 매번 수동으로 돌리고 있습니다. 커밋 훅으로 자동화하는 게 맞는 것 같은데 아직 안 했습니다.

도움이 필요한 부분:

  • 인박스 트리아지를 스케줄 작업으로 자동화한 사례가 있으면 듣고 싶습니다. "7일 지난 노트를 ROUTER로 분류 제안까지 해주는 주간 잡"을 만들려는데, 자동 분류를 어디까지 믿을지 기준을 못 잡았습니다.

  • 리서치 노트를 20-knowledge/컴파일할 때의 입도(granularity) 기준도 고민 중입니다. 5개 소스 노트를 개념 1 + 비교 1 + 사례 entity 1로 압축할 계획인데, 너무 많이 압축하면 원문에 다시 가야 하고 덜 압축하면 소스와 중복됩니다.

앞으로의 계획:

  1. 인박스 8건 ROUTER 분류 → 10-sources/, 20-knowledge/ 승격

  2. 온톨로지 5부작을 지식 노트로 컴파일하면서 기존 20-knowledge/comparisons/knowledge-approach-landscape, llm-wiki-vs-rag와 위키링크 연결

  3. index.mjslint.mjs 충돌 수정 후 레이어 인덱스 재생성

  4. "웹 리서치 → 단계별 노트 → lint" 흐름을 50-procedures/ 프로시저로 승격 (지금은 매번 프롬프트를 다시 씀)

도움 받은 글 (옵션)

5
5개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.