AI가 딸의 성장을 이해하기 위해: Amulet의 장기 기억 설계 (Layer 1~3)
요약
Amulet 시스템의 UX 향상을 위해 AI가 단순한 정보 저장을 넘어 데이터 간의 관계를 파악하는 '장기 기억 설계' 방안을 제안합니다. 단순 RAG를 넘어 텍스트 축적(Layer 1), 위키형 정리(Layer 2), GraphRAG를 통한 관계 구조화(Layer 3)로 이어지는 3단계 계층 구조를 통해 AI가 사용자의 변화와 맥락을 깊이 있게 이해하도록 설계하는 과정을 다룹니다.
핵심 포인트
- 단순한 정보 검색(RAG)과 맥락을 파악하는 '이해'의 차이를 요소 간의 관계성 정립으로 정의함
- Layer 1: Gemini를 통해 분석된 1차 정보를 텍스트 형태로 축적하는 단계
- Layer 2: 테마별로 정보를 업데이트하여 시계열적 관계를 명시화하는 위키형 정리 단계
- Layer 3: GraphRAG를 활용하여 인과, 시계열, 포함 관계 등을 노드와 엣지로 구조화하는 최종 이해 단계
서론
지난 기사에서는 딸의 그림을 LINE×Dify×Gemini로 분석하는 「Amulet」이라는 시스템을 만든 이야기를 썼습니다.
이번에는 그 다음 단계로 생각하고 있는
「AI가 딸의 성장을 이해하기 위한 장기 기억 설계」에 대해 쓰겠습니다.
※ 이 기사는 이미 구현된 이야기가 아니라, 「왜 이렇게 설계하는가」라는 사고의 프로세스를 기록하기 위한 것입니다.
장기 기억의 필요성
현재의 Amulet은 「그때뿐인」 시스템입니다.
그림을 보낼 때마다 AI는 딸에 대해 아무것도 모르는 상태에서 분석합니다. 매번 「처음 뵙겠습니다」인 상태입니다.
하지만 정말로 원하는 것은 이것입니다.
「3개월 전부터 인물의 눈을 그리기 시작했네요. 최근에는 표정도 더해졌습니다. 누군가를 모델로 삼고 있는 사람이 있을지도 모릅니다.」
이를 실현하기 위해서는 AI가 딸의 그림의 역사를
「기억」할 뿐만 아니라 「이해」하고 있을 필요가 있다고 생각했습니다.
「기억하고 있는 것」과 「이해하고 있는 것」의 차이
「기억하고 있는 것」과 「이해하고 있는 것」의 차이는 무엇인가?에 대한 내용입니다.
이해란 무엇인가
저는 다음과 같이 생각했습니다.
이해란, 요소 간의 관계성(인과·시계열·포함·추상·구체 등)이 명시적으로 정리되어, 문맥에 맞춰 적절하게 아웃풋(Output)할 수 있는 상태가 되는 것.
인간의 이해를 구체화
인간의 경우, 1차 정보(체험)가 그대로 기억되는 일은 드물며, 감정이나 경험과의 상호작용 속에서 정리·추상화된 개념으로서 기억된다고 생각합니다.
그리고 이해는, 서로 연결하는 이러한 요소들의 양, 다양성, 의외성에 의해 깊이가 결정되는 성질의 것이라고 생각합니다.
체험 (1차 정보)
↓
기억 (정리된 개념·스키마)
...
LLM은 명시적인 설계가 없으면 이 프로세스가 진행되지 않기 때문에, RAG 등의 기술로 공학적으로 재현하려고 하는 것이라고 생각합니다.
지향하는 모습
가령 심플한 RAG로 과거 그림 분석 결과의 텍스트를 50장 분량만큼 저장했다고 가정해 봅시다.
기억하고 있는 상태 (심플한 RAG):
「따님은 파란색을 자주 사용합니다.」
이해하고 있는 상태 (지향해야 할 모습):
「따님의 파란색 사용법이, ○개월 전의 『색을 채우는 파란색』에서 이번 주의 『윤곽을 그리는 파란색』으로 변화하고 있습니다. ○○를 △△처럼 그리기 시작한 시기와도 겹쳐, 따님의 세계관이 한층 풍부해지고 있음을 알 수 있습니다.」
(인과·시계열·문맥을 포함하여 말할 수 있음.)
Amulet의 UX를 향상시키기 위해서는 후자를 실현하기 위한 설계가 필요하다고 생각했습니다.
3층 구조의 설계
이를 실현하기 위해 장기 기억을 3개 층(Layer)으로 설계하는 것을 생각했습니다.
Layer 1: 1차 정보의 기억 (텍스트 RAG)
딸의 그림 분석 결과를 텍스트로 축적하여 검색할 수 있도록 합니다.
그림을 보냄
↓
Gemini가 분석
...
이것은 정보가 뿔뿔이 흩어져 저장되어 있는 상태입니다.
관계성은 암묵적이며, 질문을 받았을 때 AI가 그때마다 재발견하여 대답하고 있는 상태라고 생각합니다.
Layer 2: 정리된 기억 (LLM Wiki형)
그림이 추가될 때마다 AI가 개념 페이지를 계속 업데이트합니다.
「색 사용법」 페이지
→ 1월: 단색 채우기
→ 3월: 그라데이션 시도
...
테마별로 시계열로 정리되어 관계성이 부분적으로 명시화되어 있습니다.
질문을 받기 전에 정보가 정리되어 있는 상태입니다.
다만 이것은 「이해」로 가기 위한 가교일 뿐, 이해 그 자체는 아닙니다.
인과·상하위 관계 등의 깊은 관계성은 아직 약합니다.
Layer 3: 이해 (GraphRAG)
관계성을 노드(Node)와 엣지(Edge)로 명시적으로 구조화합니다.
[색의 변화] ─인과─ [감정 표현의 발달]
↓ 관련
[필압의 변화] ─시계열─ [신체 발달]
...
포함·인과·시계열·추상·구체가 모두 명시적으로 구조화되어 있습니다.
「왜」를 포함하여 말할 수 있는 상태입니다.
일반적인 RAG:
「파란색을 사용한 그림」을 검색 → 취득 → 답변
(관계성은 암묵적)
GraphRAG:
「파란색」 ─사용─ 「3월의 그림」
「3월의 그림」 ─변화─ 「감정 표현의 발달」
「감정 표현의 발달」 ─원인─ 「그림 교실 시작」
(관계성이 명시적·구조화되어 있음)
그렇기 때문에 「왜 파란색 사용법이 바뀌었는가」라는 인과를 포함한 질문에 답할 수 있습니다.
(보충) 멀티모달 RAG에 대하여
멀티모달 RAG는 Layer 1의 확장으로서 위치를 잡습니다.
텍스트뿐만 아니라 이미지 그 자체를 기억에 더함으로써, 「비슷한 색감을 사용한 그림」, 「비슷한 구도의 그림」을 검색할 수 있게 됩니다.
이것은 「무엇을 이해할 것인가」의 문제가 아니라 「무엇을 기억할 것인가」의 문제라고 파악하고 있습니다.
요약하자면 다음과 같은 3층 설계입니다.
Layer 1 (기본): 텍스트를 기억한다
Layer 1 (확장): 이미지도 기억한다 (멀티모달 RAG)
Layer 2 : 정리된 기억 (LLM Wiki형)
...
구현 순서
데이터 없이 정리는 생겨나지 않는다. 정리 없이 이해는 생겨나지 않는다.
라고 생각하기 때문에, Layer 1부터 순서대로 구현하려고 합니다.
Layer 1: 데이터를 축적한다
↓
Layer 2: 축적된 데이터 간의 관계성을 찾아낼 수 있도록 정리한다
...
딸의 그림을 한 장씩 축적하는 것이, 향후 AI가 딸의 성장을 「이해하기」 위한 토대가 됩니다.
또한, 이 순서에는 또 다른 의미도 있습니다.
Layer 1을 구현하여 실제로 사용함으로써, 「무엇을 정리해야 하는가」, 「어떤 관계성이 중요한가」가 보이게 됩니다.
이 설계 자체를 사용하면서 키워나가고자 합니다.
엔지니어 관점에서 정리하면
이 프로젝트는 기술적으로 다음과 같은 질문이라고 생각합니다.
「비구조화 데이터 (Unstructured Data, 그림)로부터, 시간축과 관계성을 가진 의미 있는 지식을 구축하려면 어떻게 해야 하는가」
그리고 이것은 Amulet만의 질문은 아닌 것 같습니다.
의료 기록, 교육 데이터, 간병 기록——
인간의 성장이나 변화를 다루는 모든 영역에서 공통되는 과제라고 생각합니다.
딸의 그림이라는 작은 질문에서 시작하여, 사회적 과제 해결의 힌트를 찾아나가고 싶습니다.
마치며
이 설계는 아직 구상 단계입니다.
Layer 1의 구현부터 시작하여, 실제로 구동하면서 설계를 수정해 나갈 것입니다.
딸이 그림을 그릴 때마다 그 기록이 쌓여갑니다.
1년 후, 2년 후에 "이 무렵부터 이런 변화가 있었네"라고 AI가 딸의 성장을 이야기할 수 있게 되는 것——
그것이 Amulet이 지향하는 모습입니다.
구현 기록도 수시로 Zenn을 통해 발신하겠습니다.
참고
이 설계를 생각하게 된 계기가 된 기사입니다.
이전 기사 (Amulet 개요):
GitHub:
이 프로젝트는 현재 진행 중입니다.
비슷한 과제를 다루고 계신 분들, 꼭 의견을 들려주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기