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

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

이 글은 Fable Week 2일차 기록에 달린 한 질문에서 출발했다 — "State와 Document가 어떻게 다른지, 일반 비즈니스 유저들도 시식을 좀 하면 도움이 될 것 같습니다." 그래서 이 글은 개발 용어를 최대한 쉬운 말로 풀어 쓴다. 계획을 대화창에 적어 주는 방식(문서, document)과 파일에 박아 두는 방식(상태, state)이 어떻게 다른지, 대화창을 닫으면 백지가 되는 흔한 AI와 어제 하던 일을 오늘 이어서 하는 AI가 어떻게 다른지 — 그 차이가 작업 방식과 결과에 미치는 영향, 그리고 기억(memory-bank)이 맥락 학습에 끼치는 영향까지 — 실제로 돌아간 사례의 숫자와 함께, 오늘 바로 해볼 수 있는 시식 3가지로 끝낸다.

← 출발점 · 1년 로드맵 60단계, 한 세션에 완주
60/60
상태(state)로 완주한 단계
16h 13m
1년 로드맵 소요 시간
131
다른 AI의 교차 검증
0
가짜 성공 · 못 잰 건 따로 표기
같은 계획, 두 가지 전달 방식 — 문서(document)와 상태(state)

신입 직원에게 일을 맡기는 두 가지 방법을 떠올려 보자. 하나는 30장짜리 업무 매뉴얼을 주는 것이고, 다른 하나는 결재 없이는 다음 줄로 못 넘어가는 체크리스트를 주는 것이다. 매뉴얼은 읽히고, 요약되고, 잊힌다. 반면 체크리스트는 "지금 어디까지 왔는지"가 종이에 박혀 있어서 잊을 방법이 없다. AI에게 일을 시킬 때도 똑같은 일이 벌어진다. AI가 붙잡고 있는 기억은 지금 열려 있는 대화창의 내용뿐이다(이 대화창 내용을 '컨텍스트'라고 부른다). 그런데 그 대화창은 금세 지워지는 임시 기억이라, 대화가 길어지면 오래된 내용부터 자동으로 요약·압축되며 사라진다. 계획을 대화 안에만 적어 두면 — 즉 계획이 '문서(document)'면 — 계획도 대화와 함께 사라진다. 대신 계획을 파일로 남는 '상태(state)'로 두면, 대화가 끊겨도 매번 다시 읽히고, 건너뛸 수 없다.

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

이 차이는 이론이 아니라 실측이다. Fable Week 2일차에 1년짜리 로드맵(4개 분기 × 각 3개 중간 목표, 모두 60개 작업 단계)을 AI에게 통째로 맡겼다. 계획은 대화에 적어 준 게 아니라 'state.json'이라는 상태 파일 하나였다. 여기서 D1부터 D60까지는 달력 날짜가 아니라 1번부터 60번까지 순서대로 밟는 작업 단계다. 각 단계는 검증 관문(끝났다는 증거가 있어야만 통과)을 지나야만 "완료"로 넘어갔다. 결과 — 16시간 13분에 60단계 전부 완주(60/60), 코드를 저장한 기록(커밋) 62건, 코드를 올릴 때마다 다른 회사의 AI가 잘못을 찾아내는 적대 리뷰 131회. 측정하지 못한 지표는 "완료"가 아니라 "측정 못 함(NA)"으로 남겼다 — 가짜 성공 0건.

질문문서(document)로 관리했다면상태(state)로 관리했으니
지금 어디까지 왔나? "D17쯤 진행 중인 것 같습니다" — 대화를 뒤져서 추측 상태 파일에 "D17 · 진행 중"이라 적혀 있다 — 열어 보면 끝
이 단계는 끝났나? AI가 "완료했습니다"라고 말하면 믿어야 함 검증 관문이 증거를 확인해야만 "완료" — 말로는 못 넘어감
대화가 끊기면? 새 창에서 처음부터 다시 설명 상태 파일을 읽고 D18부터 이어서 시작
측정 못 한 지표는? "대체로 잘 됐습니다"에 섞여 사라짐 "측정 못 함(NA)"으로 명시 — 성공으로 위장되지 않음
실측 — 60단계 전부 완주(60/60) · 16시간 13분 · 저장 기록 62건 · 다른 AI의 교차 검증 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부터 이어서 수요일 세션 지난 실수는 반복 안 함 대화 밖 저장소 — 상태 파일 · 기억 · 검증 관문 모든 세션이 여기서 읽고, 여기에 쓴다
무상태(stateless) AI는 세션 사이가 뚝 끊겨 있다. 유상태(stateful) AI는 대화 밖 저장소(상태·기억·검증 관문)를 모든 세션이 함께 쓴다
항목무상태 (흔한 챗봇)유상태 (이어 일하는 AI)
기억창을 닫으면 소멸파일이나 데이터베이스로 대화 밖에 계속 남음
진행 상황사람이 기억하고 다시 설명상태 파일이 기억 — "지금 D17"
완료 판정AI의 "완료했습니다" (자기 신고)관문이 증거를 확인한 뒤 승인 (시스템이 판정)
중단 후 재시작처음부터끊긴 지점부터

이 차이는 취향 문제가 아니라, 작업 방식과 결과를 바꾼다. 무상태 AI에서는 사람이 맥락 운반자가 된다 — 매번 배경을 다시 설명하고, 중간 결과를 머리로 외우고, 일을 "질문 한 개" 크기로 잘게 잘라 맡길 수밖에 없다. 유상태 AI에서는 사람의 역할이 방향 결정과 예외 승인으로 올라간다. 일은 질문 하나 단위가 아니라 프로젝트 통째로 맡길 수 있다. 결과의 성격도 갈린다 — AI가 스스로 "다 했다"고 신고하는 완료 vs 검증 관문의 증거로 확인된 완료, 대화 한 판 분량 vs 하루 8개 프로젝트(레포)에 261건 저장(계정 8개를 동시에 굴린 실측).

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

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

오늘 세션 일하다 실수 → 바로잡음 규칙으로 정리 같은 문제 2번+ → 규칙화 기억 저장소 규칙·결정·과거 대화를 모아 둠 내일 세션 첫 마디부터 그 맥락 위에서 시작 세션 시작 때 넣어 줌 매일 반복 실수가 조직의 규칙이 되어 다음 세션의 출발선을 바꾼다 — 맥락 학습
기억 루프 — 실수를 바로잡은 기록에서 규칙을 뽑아 기억 저장소에 쌓고, 다음 세션 시작 때 다시 넣어 준다. 그 결과 같은 실수가 구조적으로 줄어든다

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

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

부작용 3가지 — 기억을 켜기 전에 알아야 할 것. 전부 memory-bank(기억 저장소)를 굴리며 실제로 겪고, 막는 장치를 세운 항목이다.

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

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

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