Deep Dive · State vs Document · 2026-07-05

계획을 문서로 주면 잊히고,
상태로 주면 완주된다

이 글은 Fable Week 2일차 기록에 달린 한 질문에서 출발했다 — "State와 Document가 어떻게 다른지, 일반 비즈니스 유저들도 시식을 좀 하면 도움이 될 것 같습니다." 그래서 이 글은 개발 용어 없이 쓴다. 문서(document)와 상태(state)의 차이, 대부분의 사람이 아는 AI(stateless agent)와 이어서 일하는 AI(stateful agent)의 차이 — 그 차이가 작업 방식과 결과에 미치는 영향, 그리고 기억(memory-bank)이 맥락 학습에 끼치는 영향까지 — 실제로 돌아간 사례의 숫자와 함께, 오늘 바로 해볼 수 있는 시식 3가지로 끝낸다.

← 출발점 · 1년 로드맵 60단계, 한 세션에 완주
60/60
상태(state)로 완주한 단계
16h 13m
1년 로드맵 소요 시간
131
교차모델 적대 리뷰
0
가짜 성공 (미측정은 NA)
같은 계획, 두 가지 전달 방식 — 문서(document)와 상태(state)

신입 직원에게 일을 맡기는 두 가지 방법을 떠올려 보자. 하나는 30장짜리 업무 매뉴얼을 주는 것이고, 다른 하나는 결재 없이는 다음 줄로 못 넘어가는 체크리스트를 주는 것이다. 매뉴얼은 읽히고, 요약되고, 잊힌다. 체크리스트는 "지금 어디까지 왔는지"가 종이에 박혀 있어서 잊을 방법이 없다. AI에게 일을 시킬 때도 정확히 같은 일이 벌어진다. AI의 대화 창, 즉 컨텍스트(context)는 RAM 같은 휘발성 기억이라 대화가 길어지면 오래된 내용부터 요약·압축되며 사라진다. 계획을 대화에만 두면 — 계획이 문서(document)면 — 계획도 함께 사라진다. 계획을 파일로 존재하는 상태(state)로 두면, 매번 다시 읽히고 강제된다.

계획이 문서(document)일 때 계획서 30장 대화 안에 통째로 들어감 대화가 길어짐 → 요약·압축 오래된 내용부터 뭉개진다 "어디까지 했더라?" 진행 상황을 사람이 다시 설명 계획의 수명 = 대화의 수명 계획이 상태(state)일 때 state.json — "지금 D17" 파일로 존재 · 매번 다시 읽힘 verify 게이트 증거가 확인돼야만 done 처리 D17 done → D18 자동 진행 대화가 끊겨도 상태는 그대로 실패 시 재시도 계획의 수명 = 파일의 수명 같은 계획이라도 어디에 두느냐가 완주 여부를 가른다
문서(document)는 대화와 함께 요약·소실되고, 상태(state)는 파일로 남아 매 단계 강제된다 — verify 게이트를 통과해야만 done
실증 — 1년 로드맵 60단계를 하루에

이 차이는 이론이 아니라 실측이다. 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로 명시 — 성공으로 위장되지 않음
실측 — 60/60 단계 완주 · 16h 13m · 62 commits · 교차모델 적대 리뷰 131회 · 가짜 성공 0건 (미측정 지표는 NA 표기)
stateless agent와 stateful agent — 대부분이 아는 AI와, 이어서 일하는 AI

대부분의 사람이 경험한 AI는 stateless agent(무상태 에이전트)다 — 챗봇 창을 닫으면 백지가 되고, 어제 함께 정한 결정을 오늘 모른다. 그래서 매번 처음부터 설명하게 되고, "AI는 금붕어 기억력"이라는 인상이 남는다. stateful agent(유상태 에이전트)는 세 가지를 대화 밖에 둔다 — ① 상태(state)(지금 무엇을 하는 중인가), ② 게이트(gate)(끝났는지를 말이 아니라 시스템이 판정), ③ 기억(memory)(과거의 결정과 실수). 이 세 개가 대화 밖 파일로 존재하는 순간, AI는 "매번 새로 만나는 상담원"에서 "어제 일을 이어서 하는 동료"로 바뀐다.

stateless — 대부분의 사람이 아는 AI 월요일 세션 백지에서 시작 화요일 세션 또 백지에서 시작 수요일 세션 같은 설명 세 번째 세션 사이에 아무것도 전달되지 않는다 — 매번 처음부터 stateful — 상태·기억·게이트가 대화 밖에 있는 AI 월요일 세션 D17까지 진행 화요일 세션 D18부터 이어서 수요일 세션 지난 실수는 반복 안 함 대화 밖 저장소 — state.json · memory · verify 게이트 모든 세션이 여기서 읽고, 여기에 쓴다
stateless는 세션 사이가 끊겨 있고, stateful은 대화 밖 저장소(상태·기억·게이트)를 모든 세션이 공유한다
항목stateless (챗봇)stateful (에이전트)
기억창을 닫으면 소멸파일·DB로 세션 밖에 영속
진행 상황사람이 기억하고 다시 설명상태 파일이 기억 — "지금 D17"
완료 판정AI의 "완료했습니다" (자기 신고)게이트가 증거 확인 후 승인 (시스템 판정)
중단 후 재시작처음부터끊긴 지점부터

이 차이는 취향 문제가 아니라, 작업 방식과 결과를 바꾼다. stateless agent에서는 사람이 컨텍스트 운반자가 된다 — 매 세션 배경을 다시 설명하고, 중간 결과를 머리로 기억하고, 일을 "질문 한 개" 크기로 잘라서 맡길 수밖에 없다. stateful agent에서는 사람의 역할이 방향 결정과 예외 승인으로 올라가고, 일은 프로젝트 단위로 위임된다. 결과의 성격도 갈린다 — 자기 신고 완료 vs 게이트(gate) 증거 완료, 한 번의 대화 크기 vs 하루 8개 레포 261커밋(계정 8개 병렬 실측).

영향 범위stateless agentstateful agent
일을 맡기는 단위 (작업 방식)질문 한 개 — 그 자리에서 답을 받을 크기로 잘라야 함프로젝트 단위 — 1년 로드맵 60단계도 통째로 위임
사람의 역할 (작업 방식)컨텍스트 운반자 — 배경 설명·중간 기억·결과 대조를 사람이방향 결정자 — 예외 승인과 최종 판단만
확장 방식 (작업 방식)사람의 대화 시간만큼만 — 병렬 불가세션을 늘리면 됨 — 계정 8개 병렬·야간 무인 실행 실측
완료의 근거 (결과)"완료했습니다" 자기 신고 — 거짓 완료가 섞임게이트 통과 증거 — 가짜 성공 0건(미측정은 NA)
산출 규모 (결과)한 번의 대화 안에서 가능한 것하루 261커밋 · 8레포 — 60단계 완주 포함 (전량 감사)
품질의 시간 추이 (결과)오늘 잘돼도 내일 리셋 — 그날의 운에 좌우실수가 규칙이 되어 누적 상승 (§4 기억 루프)
기억(memory-bank)이 맥락 학습에 끼치는 영향 — 효과와 부작용

상태(state)가 "지금 어디까지"라면, 기억(memory)은 "우리가 무엇을 배웠나"다. 이 시스템에서 그 역할을 맡은 실물은 memory-bank라는 기억 저장소다 — 모든 세션의 대화를 자동 기록하고, 대화 속 결정·선호·패턴을 사실(fact)로 자동 추출해 두었다가, 새 세션이 시작될 때 관련 맥락으로 주입한다. 여기에 실수를 교정한 기록(fix)에서 규칙을 자동으로 증류하는 루프가 얹힌다 — 같은 마찰이 2번 이상 반복되면 규칙이 되고, 다음 세션부터 강제된다. 조직으로 치면 업무 노하우가 사람 머릿속이 아니라 매뉴얼에 자동으로 쌓이는 것과 같다. 다만 기억은 만능이 아니다 — 부작용도 실측으로 확인했고, 그대로 공개한다.

오늘 세션 일하다 실수 → 교정(fix) 규칙 증류 같은 마찰 2회+ → 규칙화 기억 저장소 memory-bank — 규칙·결정·과거 대화 내일 세션 첫 마디부터 그 맥락 위에서 시작 세션 시작 시 주입 루프 반복 실수가 조직의 규칙이 되어 다음 세션의 출발선을 바꾼다 — 맥락 학습
기억 루프 — 교정(fix)에서 규칙을 증류해 memory-bank에 저장하고, 다음 세션 시작 시 주입한다. 같은 실수가 구조적으로 줄어든다

memory-bank가 실제로 바꾸는 것 3가지. 켜져 있을 때와 없을 때, 세션의 출발선이 이렇게 달라진다.

M1
시작점이 다르다 — 백지가 아니라 맥락 위에서
새 세션 첫 마디부터 과거 결정·규칙·선호가 주입된 상태로 시작한다. "저번에 정한 방식대로"가 설명 없이 통한다 — stateless라면 이 문장 자체가 성립하지 않는다
M2
조직 기억이 검색 가능해진다
"그때 왜 그렇게 결정했지?"를 사람의 기억이 아니라 대화 기록 검색으로 회수한다 — 결정의 근거가 담당자의 망각·부재와 함께 사라지지 않는다
M3
실수가 자산이 된다 — 자가개선 루프의 원료
교정(fix) 기록에서 규칙을 증류해 다음 세션에 강제한다. 같은 실수의 재발이 구조적으로 줄어든다 — 5개월간 이렇게 쌓인 규칙이 수백 건, 새 세션은 첫 마디부터 그 위에서 시작한다

부작용 3가지 — 기억을 켜기 전에 알아야 할 것. 전부 memory-bank 운영에서 실제로 겪고 가드를 세운 항목이다.

P1
아첨 (기억이 판단을 굽힌다)
과거 선호를 기억한 AI는 현재 증거보다 "당신이 좋아했던 답" 쪽으로 기운다. 사실 판단은 기억이 아니라 현재 증거에 근거하도록 가드가 필요
P2
오염 (아무거나 기억하면 독)
매번 바뀌는 임시 상태 파일을 "지식"으로 착각해 저장하면 쓰레기가 쌓인다 — memory-bank 실측: 자동 생성 파일이 사실(fact) 720건으로 불어나 전체 맥락 주입을 오염시켰고, 제외 목록으로 정리했다
P3
검색이 독이 되는 지점
기억이 쌓일수록 "비슷한 과거"가 너무 많이 검색된다. 오래돼 폐기된 결정이 새 결정처럼 끼어들 수 있어, 최신 결정이 과거를 대체(supersede)하는 구조가 필요
요지 — 기억의 가치는 "무엇을 저장하느냐"가 아니라 "무엇을 저장하지 않고, 무엇이 무엇을 대체하는지"의 규율에서 나온다
시식 3가지 — 개발자가 아니어도 오늘 해볼 수 있는

질문의 표현을 빌리면 "시식"이다. 코딩 없이, 지금 쓰는 챗봇(ChatGPT·Claude·Gemini 무엇이든)으로 state / stateful / memory의 차이를 각각 5분 안에 체험하는 방법.

시식 1계획을 대화에 두지 말고, 체크리스트 상태로 두기 (document → state)
긴 일을 시킬 때 설명을 통째로 붓지 말고, 먼저 번호 붙은 체크리스트를 만들게 한 뒤 "한 번에 한 항목만" 진행시켜 보라. 대화가 아무리 길어져도 체크리스트가 상태 역할을 해서 진행이 무너지지 않는다. "이 일을 8단계 체크리스트로 만들어줘. 지금부터는 매 답변 맨 위에 체크리스트 전체를 다시 보여주고(완료는 ✅), 한 번에 딱 한 항목만 진행해."
시식 2"완료"의 정의를 미리 계약하기 (자기 신고 → 게이트)
AI의 "완료했습니다"는 자기 신고일 뿐이다. 시작 전에 합격 조건을 먼저 계약하면 verify 게이트의 최소 버전이 된다 — 조건이 확인 안 되면 완료라고 말할 수 없게. "시작하기 전에 합격 조건 3개를 먼저 정하자. 각 항목이 조건을 어떻게 충족했는지 근거를 붙여서 보여줘. 근거가 없으면 '완료'라는 말을 쓰지 마."
시식 3같은 질문을 기억 켜고 / 끄고 비교하기 (stateless vs stateful)
평소 계정(메모리·프로젝트 기능이 켜진 곳)과 시크릿 창(로그인 없이)에서 같은 요청을 던져 보라 — "내 상황에 맞는 다음 분기 계획 초안". 한쪽은 당신의 맥락 위에서 시작하고, 한쪽은 백지에서 시작한다. 그 답변 품질의 차이가 곧 기억이 맥락 학습에 끼치는 영향의 크기다. 비교 포인트 — 내 용어를 쓰는가 · 지난 결정을 전제하는가 · 일반론으로 도망가는가
"문서(document)는 읽히고 잊히지만, 상태(state)는 강제된다."
이 한 줄이 이 글의 전부다. AI에게 일을 맡길 때 계획(state)·완료 기준(gate)·기억(memory)을 대화 안에 두면 대화와 함께 사라지고, 대화 밖(파일·체크리스트·게이트)에 두면 대화가 몇 번 끊겨도 일이 전진한다. 60단계 하루 완주는 모델이 똑똑해서가 아니라 계획이 문서가 아닌 상태였기 때문에 가능했다.