WGM이 필요한 이유: AI 작업을 기억하는 그래프
AI 에이전트와 긴 작업을 함께하다 보면 비슷한 순간을 만납니다. 어제까지 잘 알고 있던 결정이 오늘의 대화에서는 사라지고, 이미 확인한 내용을 다시 설명해야 합니다. 파일과 대화 기록은 남아 있지만, 왜 그런 결정을 했는지와 지금 무엇을 이어서 해야 하는지는 쉽게 찾기 어렵습니다.
문제는 AI가 모든 대화를 기억하지 못한다는 데만 있지 않습니다. 작업의 맥락이 여러 곳에 흩어지고, 그 사이의 관계가 끊어진다는 데 더 큰 문제가 있습니다.
이번 글에서는 이 문제를 다루기 위한 Working Graph Memory, 줄여서 WGM을 소개합니다. WGM은 AI의 기억을 대화 요약으로만 보지 않고, 작업·노트·상태·증거 사이의 관계를 보존하는 Working Graph로 다룹니다.
AI에게 기억이 필요한 이유
대화 컨텍스트는 작업을 시작할 때 유용하지만, 영구적인 작업 기록으로 쓰기에는 한계가 있습니다. 세션이 끝나거나 새로운 대화가 시작되면 다음과 같은 정보가 빠지기 쉽습니다.
- 어떤 목표에서 작업을 시작했는가
- 여러 선택지 중 무엇을 선택했고 그 이유는 무엇인가
- 어디까지 구현했고 무엇을 검증했는가
- 아직 해결하지 않은 문제와 다음 단계는 무엇인가
- 특정 문서나 결정이 어떤 작업과 연결되어 있는가
이 정보는 단순한 대화 전문과 다릅니다. 대화에는 작업과 직접 관련이 없는 설명, 반복, 탐색 과정도 함께 들어갑니다. 반대로 작업을 다시 시작할 때 필요한 것은 전체 대화가 아니라 판단에 영향을 주는 결정과 관계입니다.
그래서 AI의 기억에는 두 가지 기능이 필요합니다. 중요한 내용을 오래 보존해야 하고, 현재 작업에 필요한 맥락만 다시 연결해야 합니다.
WGM이란 무엇인가
WGM은 작업을 외부에 보존하고, 다음 세션이나 다른 실행 환경에서 다시 사용할 수 있게 하는 메모리 모델입니다. 여기서 핵심은 저장량이 아니라 구조입니다.
WGM은 다음 요소를 서로 연결합니다.
- 작업: 달성하려는 목표와 범위
- 노트: 나중에 다시 사용할 가치가 있는 결정, 규칙, 관찰
- 상태: 작업이 지금 어느 단계에 있는지
- 증거: 파일, 명령 실행, 테스트, 도구 결과처럼 판단을 뒷받침하는 근거
- 관계: 어떤 노트와 결과가 어떤 작업과 연결되는지
이 요소를 그래프로 표현한다는 말은 모든 데이터를 복잡한 시각화 화면에 보여준다는 뜻이 아닙니다. 작업을 하나의 문서로 납작하게 만들지 않고, 여러 기록과 실행 결과가 어떻게 이어지는지 보존한다는 뜻에 가깝습니다.
대화 기록과 작업 기억은 다르다
대화 기록은 무엇을 말했는지 보여줍니다. 작업 기억은 무엇을 결정했고, 무엇을 실행했으며, 다음에 무엇을 이어야 하는지 보여줍니다.
| 구분 | 대화 기록 | 작업 기억 | | --------- | --------------------- | ------------------------------ | | 중심 | 발화와 응답 | 목표와 관계 | | 복구 단위 | 대화의 앞뒤 문맥 | 작업, Turn, 결정, 증거 | | 다음 행동 | 다시 읽고 추론해야 함 | 현재 상태와 다음 단계에서 시작 | | 보존 대상 | 전체 대화 또는 요약 | 재사용할 가치가 있는 맥락 |
작업 기억은 대화 기록을 대체하지 않습니다. 대화에서 장기적으로 재사용할 내용을 골라내고, 그것을 현재 작업과 연결하는 별도의 층입니다.
위상과 결속으로 작업을 보기
WGM을 이해하는 데 중요한 관점은 위상(Phase)과 결속(Binding)입니다.
위상은 작업이 현재 어떤 상태에 있는지를 뜻합니다. 예를 들어 요청을 확인하고, 계획을 세우고, 작업 대상을 활성화하고, 파일을 수정하고, 결과를 검증하는 흐름은 서로 다른 위상입니다. 작업이 어느 위상에 있는지 알면 지금 해야 할 일과 아직 하지 않은 일을 구분할 수 있습니다.
결속은 어떤 실행과 기록이 어떤 작업에 속하는지를 연결합니다. 파일을 수정했다면 어느 Task 또는 Turn의 작업인지, 테스트 결과라면 어떤 변경을 검증한 것인지, 결정이라면 어떤 요구에서 비롯된 것인지가 함께 연결되어야 합니다.
이 관점에서 작업은 단순한 상태 목록이 아닙니다.
사용자 요청
→ 작업 식별
→ 실행 대상 결속
→ 파일·도구 실행
→ 결과와 증거 기록
→ 검증
→ 체크포인트 확정
위상은 작업의 현재 위치를 보여주고, 결속은 그 위치에 이르는 관계를 보존합니다. 둘 중 하나만 있으면 작업을 완전히 복구하기 어렵습니다.
WGM의 기본 단위
WGM은 작업을 한 덩어리로만 기록하지 않습니다. 목적과 수명이 다른 단위를 나눠서 다룹니다.
Task
Task는 사용자의 요청을 수행하기 위한 하나의 장기 작업입니다. 예를 들어 “WGM 소개글을 작성한다”가 Task가 될 수 있습니다. Task에는 목표와 범위가 있고, 여러 개의 하위 Turn을 포함할 수 있습니다.
Turn
Turn은 Task 안에서 하나의 주제를 다루는 실행 단위입니다. 현황 파악, 원고 작성, 검증을 각각 별도의 Turn으로 나누면 어느 단계에서 문제가 생겼는지 확인하기 쉽습니다.
Note
Note는 특정 Task에 종속되지 않는 장기 기록입니다. 프로젝트 규칙, 설계 결정, 예외, 반복해서 사용할 지식은 독립적인 Note로 보존할 수 있습니다. 필요할 때 관련 Task와 연결해 다시 사용합니다.
Checkpoint
Checkpoint는 작업을 확정하는 기록 지점입니다. Stage는 다음 Checkpoint에 포함할 Task를 고르는 절차이고, Checkpoint는 Stage된 작업과 메시지를 하나의 이력으로 묶습니다. 따라서 Stage만으로 작업이 끝났다고 보지 않습니다. Checkpoint에 결속된 작업이 확정된 작업입니다.
Track
Track은 작업 흐름의 이름이며, 현재 어떤 Checkpoint까지 확정되었는지를 가리킵니다. 여러 흐름을 분리해 관리하면서도 각 흐름의 이력을 독립적으로 추적할 수 있습니다.
WGM의 기본 흐름
WGM을 실제 작업에 적용하는 흐름은 다음과 같이 정리할 수 있습니다.
- 작업을 식별합니다. 사용자의 요청이 기존 Task에 속하는지, 새 Task가 필요한지 확인합니다.
- 실행 대상을 결속합니다. 현재 작업할 Task 또는 Turn을 활성화합니다.
- 작업을 실행합니다. 파일 수정, 도구 호출, 테스트처럼 목표에 필요한 효과를 수행합니다.
- 결과를 기록합니다. 중요한 결정과 검증 결과를 작업 기록이나 독립 Note에 남깁니다.
- 관계를 확인합니다. 결과가 올바른 Task에 연결되었는지, 필요한 증거가 남았는지 점검합니다.
- Checkpoint를 만듭니다. 확정할 작업을 Stage한 뒤 메시지와 함께 Checkpoint로 묶습니다.
이 흐름은 작업을 지나치게 형식적으로 만들기 위한 규칙이 아닙니다. 대화가 끊겼을 때 “어디까지 했는가”만이 아니라 “무엇을 근거로 다음 판단을 해야 하는가”까지 복구하기 위한 최소한의 구조입니다.
장기 기억은 모든 것을 저장하는 일이 아니다
장기 기억을 만든다고 해서 모든 대화와 실행 로그를 그대로 쌓아야 하는 것은 아닙니다. 오히려 오래 보존할 것과 현재 작업에만 필요한 것을 구분해야 합니다.
다시 사용할 가치가 높은 내용은 다음과 같습니다.
- 앞으로도 유지해야 하는 프로젝트 규칙
- 여러 작업에 영향을 주는 설계 결정
- 반복해서 발생하는 예외와 해결 방법
- 아직 해결되지 않은 문제와 다음에 확인할 조건
- 특정 파일이나 도구의 결과를 해석하는 방법
WGM 구현 맥락에서는 사람이 읽고 수정할 수 있는 파일을 원천으로 두고, 검색과 조회를 위한 SQLite 색인을 파생 계층으로 두는 방식도 중요합니다. 파생 색인이 손상되더라도 원천 파일에서 다시 색인을 만들 수 있어야 기억을 복구할 수 있기 때문입니다.
이 구조는 데이터베이스를 보존하는 것보다 기억의 의미를 보존하는 데 초점을 둡니다.
WGM과 FTM은 어떤 관계인가
WGM만으로 모든 판단 문제를 해결할 수는 없습니다. WGM이 작업의 맥락과 이력을 보존하는 층이라면, 이 연재에서 함께 다룰 FTM(Functional Thinking MCP)은 함수 호출과 상태 전이, 런타임 스키마, 증거를 이용해 판단 흐름을 구조화하는 층입니다.
두 층의 차이를 간단히 표현하면 다음과 같습니다.
WGM: 어떤 작업과 맥락이 이어져 있는가
FTM: 현재 입력과 증거로 다음 판단을 어떻게 검증할 것인가
FTM에서는 함수 호출 전의 상태, 전달한 입력, 반환된 결과, 런타임 스키마의 검증 결과가 다음 판단에 영향을 줍니다.
상태
→ 함수 호출
→ 런타임 스키마 검증
→ 반환 결과
→ 다음 판단
WGM은 이 흐름이 어떤 작업 안에서 일어났는지와 관련 기록을 보존할 수 있습니다. 반대로 FTM은 WGM에서 가져온 상태와 증거를 다음 판단의 입력으로 다룰 수 있습니다. 두 시스템의 결합점은 데이터를 많이 저장하는 데 있지 않고, 기록·상태·증거를 다시 연결하는 데 있습니다.
이 연재에서 다룰 내용
이번 글은 WGM을 처음 접하는 독자를 위한 허브입니다. 다음 글부터는 각 단위를 더 구체적으로 살펴봅니다.
- WGM이 필요한 이유: AI 작업을 기억하는 그래프
- Task, Turn, Binding: 작업을 식별하는 단위
- Note, Task, Checkpoint: 기억과 완료를 나누는 법
- FTM Functional Thinking MCP: 생각을 구조로 바꾸기
- WGM과 FTM의 결합: 판단과 실행을 연결하기
- 실제 작업 사례: AI 에이전트의 컨텍스트 복구
AI 에이전트의 기억을 대화 요약으로만 다루면 세션이 바뀔 때마다 작업을 다시 설명해야 합니다. WGM은 작업의 위상과 결속을 외부에 남겨, 다음 실행이 이전 결정과 증거 위에서 시작하도록 돕습니다.
다음 글에서는 Task와 Turn을 나누는 기준, 그리고 파일 수정과 도구 실행을 특정 작업에 결속하는 이유를 살펴보겠습니다.