이 글은 Fable Week 2일차 기록에 달린 한 질문에서 출발했다 — "State와 Document가 어떻게 다른지, 일반 비즈니스 유저들도 시식을 좀 하면 도움이 될 것 같습니다." 그래서 이 글은 개발 용어 없이 쓴다. 문서(document)와 상태(state)의 차이, 대부분의 사람이 아는 AI(stateless agent)와 이어서 일하는 AI(stateful agent)의 차이 — 그 차이가 작업 방식과 결과에 미치는 영향, 그리고 기억(memory-bank)이 맥락 학습에 끼치는 영향까지 — 실제로 돌아간 사례의 숫자와 함께, 오늘 바로 해볼 수 있는 시식 3가지로 끝낸다.
← 출발점 · 1년 로드맵 60단계, 한 세션에 완주신입 직원에게 일을 맡기는 두 가지 방법을 떠올려 보자. 하나는 30장짜리 업무 매뉴얼을 주는 것이고, 다른 하나는 결재 없이는 다음 줄로 못 넘어가는 체크리스트를 주는 것이다. 매뉴얼은 읽히고, 요약되고, 잊힌다. 체크리스트는 "지금 어디까지 왔는지"가 종이에 박혀 있어서 잊을 방법이 없다. AI에게 일을 시킬 때도 정확히 같은 일이 벌어진다. AI의 대화 창, 즉 컨텍스트(context)는 RAM 같은 휘발성 기억이라 대화가 길어지면 오래된 내용부터 요약·압축되며 사라진다. 계획을 대화에만 두면 — 계획이 문서(document)면 — 계획도 함께 사라진다. 계획을 파일로 존재하는 상태(state)로 두면, 매번 다시 읽히고 강제된다.
이 차이는 이론이 아니라 실측이다. Fable Week 2일차에 1년짜리 로드맵(4분기 × 3마일스톤, 60개 작업 단계)을 AI에게 맡겼다. 계획은 문서(document)가 아니라 state.json이라는 상태 파일(state file)이었다. D1~D60은 달력 날짜가 아니라 순차 작업 단계였고, 각 단계는 verify 게이트(증거 확인)를 통과해야만 done이 됐다. 결과 — 16시간 13분에 60/60 완주, 커밋 62개, 매 push마다 다른 회사의 AI 모델이 잘못을 찾는 적대 리뷰 131회. 측정하지 못한 지표는 done이 아니라 NA로 남겼다 — 가짜 성공 0건.
| 질문 | 문서(document)로 관리했다면 | 상태(state)로 관리했으니 |
|---|---|---|
| 지금 어디까지 왔나? | "D17쯤 진행 중인 것 같습니다" — 대화를 뒤져서 추측 | state.json에 D17 · in_progress — 조회하면 끝 |
| 이 단계는 끝났나? | AI가 "완료했습니다"라고 말하면 믿어야 함 | verify 게이트가 증거를 확인해야만 done — 말로는 못 넘어감 |
| 대화가 끊기면? | 새 창에서 처음부터 다시 설명 | 상태 파일을 읽고 D18부터 이어서 시작 |
| 측정 못 한 지표는? | "대체로 잘 됐습니다"에 섞여 사라짐 | NA로 명시 — 성공으로 위장되지 않음 |
대부분의 사람이 경험한 AI는 stateless agent(무상태 에이전트)다 — 챗봇 창을 닫으면 백지가 되고, 어제 함께 정한 결정을 오늘 모른다. 그래서 매번 처음부터 설명하게 되고, "AI는 금붕어 기억력"이라는 인상이 남는다. stateful agent(유상태 에이전트)는 세 가지를 대화 밖에 둔다 — ① 상태(state)(지금 무엇을 하는 중인가), ② 게이트(gate)(끝났는지를 말이 아니라 시스템이 판정), ③ 기억(memory)(과거의 결정과 실수). 이 세 개가 대화 밖 파일로 존재하는 순간, AI는 "매번 새로 만나는 상담원"에서 "어제 일을 이어서 하는 동료"로 바뀐다.
| 항목 | stateless (챗봇) | stateful (에이전트) |
|---|---|---|
| 기억 | 창을 닫으면 소멸 | 파일·DB로 세션 밖에 영속 |
| 진행 상황 | 사람이 기억하고 다시 설명 | 상태 파일이 기억 — "지금 D17" |
| 완료 판정 | AI의 "완료했습니다" (자기 신고) | 게이트가 증거 확인 후 승인 (시스템 판정) |
| 중단 후 재시작 | 처음부터 | 끊긴 지점부터 |
이 차이는 취향 문제가 아니라, 작업 방식과 결과를 바꾼다. stateless agent에서는 사람이 컨텍스트 운반자가 된다 — 매 세션 배경을 다시 설명하고, 중간 결과를 머리로 기억하고, 일을 "질문 한 개" 크기로 잘라서 맡길 수밖에 없다. stateful agent에서는 사람의 역할이 방향 결정과 예외 승인으로 올라가고, 일은 프로젝트 단위로 위임된다. 결과의 성격도 갈린다 — 자기 신고 완료 vs 게이트(gate) 증거 완료, 한 번의 대화 크기 vs 하루 8개 레포 261커밋(계정 8개 병렬 실측).
| 영향 범위 | stateless agent | stateful agent |
|---|---|---|
| 일을 맡기는 단위 (작업 방식) | 질문 한 개 — 그 자리에서 답을 받을 크기로 잘라야 함 | 프로젝트 단위 — 1년 로드맵 60단계도 통째로 위임 |
| 사람의 역할 (작업 방식) | 컨텍스트 운반자 — 배경 설명·중간 기억·결과 대조를 사람이 | 방향 결정자 — 예외 승인과 최종 판단만 |
| 확장 방식 (작업 방식) | 사람의 대화 시간만큼만 — 병렬 불가 | 세션을 늘리면 됨 — 계정 8개 병렬·야간 무인 실행 실측 |
| 완료의 근거 (결과) | "완료했습니다" 자기 신고 — 거짓 완료가 섞임 | 게이트 통과 증거 — 가짜 성공 0건(미측정은 NA) |
| 산출 규모 (결과) | 한 번의 대화 안에서 가능한 것 | 하루 261커밋 · 8레포 — 60단계 완주 포함 (전량 감사) |
| 품질의 시간 추이 (결과) | 오늘 잘돼도 내일 리셋 — 그날의 운에 좌우 | 실수가 규칙이 되어 누적 상승 (§4 기억 루프) |
상태(state)가 "지금 어디까지"라면, 기억(memory)은 "우리가 무엇을 배웠나"다. 이 시스템에서 그 역할을 맡은 실물은 memory-bank라는 기억 저장소다 — 모든 세션의 대화를 자동 기록하고, 대화 속 결정·선호·패턴을 사실(fact)로 자동 추출해 두었다가, 새 세션이 시작될 때 관련 맥락으로 주입한다. 여기에 실수를 교정한 기록(fix)에서 규칙을 자동으로 증류하는 루프가 얹힌다 — 같은 마찰이 2번 이상 반복되면 규칙이 되고, 다음 세션부터 강제된다. 조직으로 치면 업무 노하우가 사람 머릿속이 아니라 매뉴얼에 자동으로 쌓이는 것과 같다. 다만 기억은 만능이 아니다 — 부작용도 실측으로 확인했고, 그대로 공개한다.
memory-bank가 실제로 바꾸는 것 3가지. 켜져 있을 때와 없을 때, 세션의 출발선이 이렇게 달라진다.
부작용 3가지 — 기억을 켜기 전에 알아야 할 것. 전부 memory-bank 운영에서 실제로 겪고 가드를 세운 항목이다.
질문의 표현을 빌리면 "시식"이다. 코딩 없이, 지금 쓰는 챗봇(ChatGPT·Claude·Gemini 무엇이든)으로 state / stateful / memory의 차이를 각각 5분 안에 체험하는 방법.