분리된 context와 명시적 결과 contract가 전문 작업을 병렬 또는 단계적으로 결합합니다.
조정, 중복 탐색, 상충 변경과 오류 책임 소재가 늘어납니다.
한 작업의 dependency graph를 그리고 공유 state를 만지는 task는 한 owner에게만 배정합니다.
6. 응답을 잃은 변경을 다시 실행하지 않기
변경 신원을 보존하고 불확실한 실행을 조회·중복 방지·사람 확인으로 분기합니다.
결과 조회와 중복 방지를 서버가 지원하지 않으면 자동 재시도의 안전 범위가 좁아집니다.
저장 후 응답 유실과 조회 거부를 각각 주입해 중복 예약과 권한 우회가 없는지 확인합니다.
7. 성공 설명과 환경 결과를 다른 채점기로 보기
환경 snapshot 비교와 사용자 보고 평가를 분리해 행동 성공과 설명 성공을 각각 판단합니다.
환경 복원 비용이 들며 과도하게 고정한 tool 순서는 올바른 대안 경로를 배제할 수 있습니다.
대상·비대상 상태를 비교하고 각 반복의 초기화와 최종 보고가 일치하는지 확인합니다.
8. 긴 작업의 재개 기록에 남겨야 할 사실
검증된 상태와 evidence 신원을 기록하고 재개 시 revision·권한을 다시 대조합니다.
짧게 줄이는 과정에서 예외와 미시도 상태가 빠질 수 있어 재개 fixture가 필요합니다.
재개 전에 revision과 권한을 바꿔 오래된 결과를 재검증하고 미시도 작업을 구분하는지 확인합니다.
CHAPTER 1 / 8
Chatbot, workflow, agent를 구분하기
구분 기준은 말투가 아니라 다음 행동을 누가 선택하고 외부 상태를 바꿀 수 있는가입니다.
이 개념이 필요해진 배경
Chatbot은 주어진 입력에 응답을 생성합니다. Workflow는 개발자가 정한 단계와 분기를 실행하며 예측 가능성이 높습니다. Agent는 목표와 현재 관찰을 바탕으로 model이 다음 tool, 순서와 반복 여부를 고릅니다.
단순 분류나 세 단계 승인처럼 경로가 알려진 일은 workflow가 더 싸고 안정적입니다. 예외가 많고 필요한 정보를 미리 알기 어려운 일만 agent loop의 유연성이 비용을 정당화합니다.
그림 3-2. Chatbot, workflow, agent를 구분하기의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
구분 기준은 말투가 아니라 다음 행동을 누가 선택하고 외부 상태를 바꿀 수 있는가입니다.
→
작동 원리
제어 흐름의 일부를 model 판단에 맡기고 tool 결과를 다음 관찰로 되돌립니다.
→
검증 증거
같은 업무를 고정 graph와 동적 loop로 그려 model이 선택하는 지점을 표시합니다.
구체적인 시스템에서 따라가기
고객 문의를 분류해 정해진 세 팀 중 하나로 보내는 작업은 code로 분기를 명확히 쓸 수 있으므로 workflow가 적합합니다. 반면 장애 조사처럼 어떤 log를 볼지, 다음 가설이 무엇인지가 관찰 결과에 따라 달라지는 작업은 agent loop가 유용할 수 있습니다. 대화형 화면이나 자연스러운 문장은 이 구분의 근거가 아닙니다.
자율성을 선택할 때는 예외 처리의 이득과 행동 실패의 비용을 함께 계산합니다. 답변 초안은 사람이 검토하면 되지만 환불, 계정 잠금, 방화벽 변경은 한 번의 잘못된 판단이 실제 피해를 만듭니다. 같은 agent 안에서도 읽기와 제안은 자동화하고 상태 변경은 고정 workflow와 승인으로 넘기는 혼합 구조가 흔히 더 안전합니다.
선택 기준과 실패 경계
유연성과 함께 비결정성, 비용, 긴 실행과 예측하지 못한 행동이 늘어납니다.
피해야 할 오해: Tool calling을 한 번 사용하면 모두 agent라는 생각은 틀립니다.
직접 검증하기
같은 업무를 고정 graph와 동적 loop로 그려 model이 선택하는 지점을 표시합니다.
판정할 핵심제어 흐름의 일부를 model 판단에 맡기고 tool 결과를 다음 관찰로 되돌립니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
Agent는 한 번의 계획보다 행동 뒤 실제 결과를 읽고 종료 조건을 판단하는 loop입니다.
이 개념이 필요해진 배경
Agent는 목표를 작은 단계로 나누고 tool을 호출한 뒤 성공·실패 output을 관찰합니다. 실패하면 원인을 좁혀 다른 입력이나 복구 행동을 선택하고, 목표 충족 증거가 생기면 멈춰야 합니다.
최대 단계, 시간·token 예산, 반복 탐지와 실패 escalation이 없으면 같은 오류를 무한히 재시도할 수 있습니다. 종료는 “완료했다고 말함”이 아니라 test, state query나 승인 같은 외부 evidence로 결정합니다.
그림 3-3. 관찰·계획·행동·평가 loop의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
Agent는 한 번의 계획보다 행동 뒤 실제 결과를 읽고 종료 조건을 판단하는 loop입니다.
→
작동 원리
Tool output이 새로운 state observation이 되어 다음 행동과 종료 판단을 갱신합니다.
→
검증 증거
실패를 두 번 연속 주입해 반복 감지와 사람 escalation이 작동하는지 확인합니다.
구체적인 시스템에서 따라가기
Loop의 상태에는 목표뿐 아니라 이미 시도한 행동, 관찰한 결과, 남은 예산과 종료 근거가 포함됩니다. 이 기록이 없으면 agent는 같은 검색이나 실패한 tool을 표현만 바꿔 반복할 수 있습니다. Tool error를 model에게 돌려줄 때도 단순 실패 문장보다 재시도 가능 여부, 변경된 state와 안전한 다음 행동을 구조화해 제공해야 합니다.
예를 들어 서비스 장애 조사에서 agent가 log를 보고 설정을 바꾸려 한다면 먼저 read-only 증거 수집, 가설, 영향 범위와 rollback을 만들고 승인 뒤 한 번만 변경해야 합니다. 변경 후 health check뿐 아니라 처음 실패한 사용자 조건을 다시 실행해야 종료할 수 있습니다. 최대 step에 도달하거나 증거가 충돌하면 완료를 꾸며내지 않고 사람에게 handoff합니다.
선택 기준과 실패 경계
반복마다 latency와 비용이 쌓이고 잘못된 state 해석이 연속 행동으로 확대됩니다.
피해야 할 오해: 좋은 초기 계획만 있으면 재관찰이 필요 없다는 생각은 틀립니다.
직접 검증하기
실패를 두 번 연속 주입해 반복 감지와 사람 escalation이 작동하는지 확인합니다.
판정할 핵심Tool output이 새로운 state observation이 되어 다음 행동과 종료 판단을 갱신합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
Context는 현재 추론의 작업대이고 memory는 필요한 정보를 다시 찾게 하는 선택적 저장 계층입니다.
이 개념이 필요해진 배경
Context에는 목표, 정책, 현재 state, 관련 tool 설명과 최근 evidence가 들어갑니다. 너무 적으면 제약을 잊고 너무 많으면 중요한 단서가 묻히므로 작업 단계에 따라 가져오고 버리는 정책이 필요합니다.
Memory는 사용자 선호, 과거 결정과 업무 사실을 provenance·timestamp와 함께 저장할 수 있습니다. 하지만 오래된 값, 다른 사용자의 정보와 검증되지 않은 요약을 현재 사실처럼 사용하지 않도록 scope와 만료·삭제 경계를 둬야 합니다.
그림 3-4. Context와 memory의 역할의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
Context는 현재 추론의 작업대이고 memory는 필요한 정보를 다시 찾게 하는 선택적 저장 계층입니다.
→
작동 원리
Retrieval과 요약이 장기 정보 중 현재 단계에 관련된 일부만 context로 가져옵니다.
→
검증 증거
Memory 항목마다 주체, 출처, 검토 시점, 사용 가능 업무와 삭제 방법이 있는지 확인합니다.
구체적인 시스템에서 따라가기
대화 전체를 memory로 저장하면 같은 사용자의 다음 요청에 도움이 될 수 있지만, 오래된 주소나 폐기된 운영 결정도 함께 재사용될 수 있습니다. Memory 항목에는 사실의 주체, source, 유효 기간과 확인 시점을 붙이고 현재 시스템에서 다시 조회할 수 있는 값은 가능한 한 재검증해야 합니다.
개인화와 업무 지식을 같은 저장소에 섞는 것도 위험합니다. 말투 선호는 넓게 재사용할 수 있지만 고객 계약과 접근 권한은 tenant와 목적에 묶여야 합니다. Retrieval은 관련성 점수만 보지 않고 authorization과 freshness를 먼저 적용하며, 사용자는 저장된 내용을 확인하고 수정하거나 삭제할 수 있어야 합니다.
선택 기준과 실패 경계
저장·검색 오류, privacy, stale memory와 prompt injection의 새 공격면이 생깁니다.
피해야 할 오해: Context window가 크면 별도 memory 설계가 필요 없다는 생각은 틀립니다.
직접 검증하기
Memory 항목마다 주체, 출처, 검토 시점, 사용 가능 업무와 삭제 방법이 있는지 확인합니다.
판정할 핵심Retrieval과 요약이 장기 정보 중 현재 단계에 관련된 일부만 context로 가져옵니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
좋은 tool은 model에게 database 자체를 내주지 않고 `getInvoice`나 `requestRefund`처럼 제한된 업무 capability를 제공합니다. Input에는 허용 범위와 식별자 형식을, output에는 성공 상태와 재조회 키를, 오류에는 재시도 가능 여부를 명시합니다. 이렇게 해야 host가 실행 전 preview를 만들고 server가 같은 규칙을 다시 검증할 수 있습니다.
Skill은 여러 tool을 어떤 순서로 사용하고 무엇을 증거로 남길지 알려주는 원고입니다. 그러나 skill 문서가 “production을 건드리지 말라”고 적어도 shell credential이 모든 환경에 접근 가능하면 기술적 차단은 아닙니다. 절차의 정확성은 review와 test로, capability의 한계는 sandbox, credential scope와 server authorization으로 각각 검증해야 합니다.
선택 기준과 실패 경계
Schema가 지나치게 넓거나 설명이 모호하면 model이 위험한 parameter를 선택할 수 있습니다.
피해야 할 오해: Skill을 설치하면 필요한 시스템 권한도 자동으로 안전해진다는 생각은 틀립니다.
Agent 수를 늘리는 목적은 역할 이름이 아니라 context 격리와 병렬성, 독립 검증의 이득이 조정 비용보다 클 때뿐입니다.
이 개념이 필요해진 배경
서로 독립인 조사나 많은 후보 탐색은 병렬 agent가 시간을 줄일 수 있습니다. 반면 같은 파일을 동시에 수정하거나 서로의 가정을 기다리는 작업은 충돌, 중복 token과 전달 손실이 커집니다.
Handoff에는 목표, 이미 확인한 evidence, 변경된 state, 남은 질문과 권한이 포함돼야 합니다. 관리자 agent가 모든 세부를 다시 읽는다면 분담 이점이 사라지므로 결과 contract와 합의 지점을 작게 설계합니다.
그림 3-6. Multi-Agent와 handoff의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
Agent 수를 늘리는 목적은 역할 이름이 아니라 context 격리와 병렬성, 독립 검증의 이득이 조정 비용보다 클 때뿐입니다.
→
작동 원리
분리된 context와 명시적 결과 contract가 전문 작업을 병렬 또는 단계적으로 결합합니다.
→
검증 증거
한 작업의 dependency graph를 그리고 공유 state를 만지는 task는 한 owner에게만 배정합니다.
구체적인 시스템에서 따라가기
서로 다른 공식 문서를 조사하거나 독립 test를 실행하는 작업은 결과 형식만 합의하면 병렬화하기 쉽습니다. 반대로 같은 migration 파일이나 shared state를 여러 agent가 동시에 바꾸면 먼저 끝난 변경을 덮거나 서로 다른 전제를 기반으로 test할 수 있습니다. 작업 그래프에서 읽기 전용과 쓰기 경계를 표시하는 것이 agent 수를 정하는 출발점입니다.
Handoff 문서에는 단순 요약보다 재현 가능한 evidence가 필요합니다. 확인한 file과 line, 실행한 command와 결과, 채택하거나 버린 가설, 아직 바뀌지 않은 외부 상태를 남겨야 합니다. 받는 agent는 결과 contract를 검사하고 필요한 부분만 다시 열어볼 수 있어야 하며, 모든 조사를 처음부터 반복해야 한다면 분담 방식 자체를 다시 설계해야 합니다.
선택 기준과 실패 경계
조정, 중복 탐색, 상충 변경과 오류 책임 소재가 늘어납니다.
피해야 할 오해: Multi-agent가 single agent보다 자동으로 정확하다는 생각은 틀립니다.
직접 검증하기
한 작업의 dependency graph를 그리고 공유 state를 만지는 task는 한 owner에게만 배정합니다.
판정할 핵심분리된 context와 명시적 결과 contract가 전문 작업을 병렬 또는 단계적으로 결합합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
Agent가 예약 생성 tool을 호출한 뒤 응답을 받지 못했다고 해서 예약이 없다고 결론낼 수 없습니다. 서버는 이미 저장했는데 응답만 끊겼을 수 있으므로 다음 행동은 같은 쓰기를 새 요청으로 반복하는 것이 아닙니다.
작업 상태를 미시도, 진행 중, 확인된 성공, 확인된 실패와 결과 미확인으로 구분합니다. 이 구분이 없으면 model은 “오류”라는 한 단어를 근거로 성공한 변경을 다시 실행할 수 있습니다.
변경을 시작할 때 업무 요청 ID와 중복 방지 키를 저장하고 결과 조회에도 같은 신원을 사용합니다. 같은 키의 처리 결과를 반환할지는 서버 계약이며 client가 키를 적었다는 사실만으로 중복 방지가 성립하지 않습니다.
조회도 불가능하면 결과 미확인 상태를 유지하고 사람이 확인할 대상을 넘깁니다. 사용자에게 실패했다고 단정하거나 성공했다고 안심시키는 대신 확인된 사실과 아직 모르는 범위를 분리합니다.
그림 3-7. 응답을 잃은 변경을 다시 실행하지 않기의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
시간 초과는 실패 확정이 아니라 실행 결과를 모르는 상태일 수 있습니다.
→
작동 원리
변경 신원을 보존하고 불확실한 실행을 조회·중복 방지·사람 확인으로 분기합니다.
→
검증 증거
저장 후 응답 유실과 조회 거부를 각각 주입해 중복 예약과 권한 우회가 없는지 확인합니다.
구체적인 시스템에서 따라가기
가상 예약 fixture에서 서버 저장 직후 응답 연결을 끊습니다. 두 번째 실행은 새 예약을 만들지 않고 원래 요청 ID로 저장 상태를 조회해야 합니다. 서버가 저장하기 전 연결을 끊은 fixture도 따로 만듭니다. 두 경우의 관찰값을 비교해야 같은 timeout 메시지 아래 실제 미실행과 실행 완료가 모두 있을 수 있음을 확인합니다.
통과 여부는 최종 예약 수가 하나인지와 원래 요청에 같은 예약 ID가 연결되는지로 판단합니다. tool 호출 횟수가 두 번이어도 조회와 생성은 부작용이 다르므로 호출 수만으로 중복을 판단하지 않습니다. 중복 방지 키의 보존 기간과 같은 키에 다른 입력을 넣었을 때의 응답도 확인합니다. 기간이 지난 재시도나 입력이 달라진 요청까지 자동으로 같은 결과라고 취급해서는 안 됩니다.
조회가 403으로 거절되는 fixture에서는 다른 사용자의 credential로 다시 시도하지 않습니다. 현재 권한으로 확인할 수 없다는 상태와 예약 요청 ID를 권한 있는 담당자에게 전달합니다. 사람에게 넘기는 메시지에는 성공으로 확인한 단계와 미확인 단계를 분리합니다. 권한 거부가 발생했다고 이미 완료된 다른 변경까지 실패로 덮어쓰면 후속 복구 범위가 틀어집니다.
이 사례의 복구는 외부 상태의 존재를 확인하는 과정입니다. model의 이전 설명을 다시 읽는 것은 저장된 예약을 조회하는 것과 다르므로 실제 환경의 결과를 완료 근거로 둡니다. 최종 메시지와 실제 예약 ID를 함께 비교하되 원본 개인정보는 빼 둡니다. 식별자와 상태만으로 재현 가능한 검증을 설계하면 결과 확인을 위해 민감 데이터를 반복 복사할 필요가 줄어듭니다.
선택 기준과 실패 경계
결과 조회와 중복 방지를 서버가 지원하지 않으면 자동 재시도의 안전 범위가 좁아집니다.
피해야 할 오해: 시간 초과가 났으므로 외부 상태는 전혀 바뀌지 않았다는 생각은 틀립니다.
직접 검증하기
저장 후 응답 유실과 조회 거부를 각각 주입해 중복 예약과 권한 우회가 없는지 확인합니다.
Agent가 “처리했습니다”라고 말해도 작업 환경의 대상이 그대로면 업무는 끝나지 않았습니다. 반대로 마지막 설명이 불완전해도 저장 상태가 바뀌었을 수 있으므로 대화 점수 하나로 실행 결과를 대신하지 않습니다.
결과 채점은 파일 내용, 승인된 상태 전이와 금지 변경을 code로 확인합니다. 설명 채점은 사용자에게 성공·실패·미확인을 정확히 알렸는지 보고 두 판정이 다르면 어느 경계가 틀렸는지 기록합니다.
Trace는 원인을 찾는 자료이지 특정 도구 순서를 외우게 하는 정답표가 아닙니다. 서로 다른 합법적 경로가 같은 결과와 안전 조건을 만족하면 불필요한 순서 차이만으로 실패시키지 않습니다.
한 번의 성공은 비결정적 실행의 분포를 보여주지 못합니다. 입력과 환경 snapshot을 고정한 반복에서 성공 여부뿐 아니라 비용, 단계 수와 실패 유형을 함께 남겨 드문 위험이 평균에 가려지지 않게 합니다.
그림 3-8. 성공 설명과 환경 결과를 다른 채점기로 보기의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
Agent 평가는 말한 결과와 실제 바뀐 상태를 따로 관찰해야 합니다.
→
작동 원리
환경 snapshot 비교와 사용자 보고 평가를 분리해 행동 성공과 설명 성공을 각각 판단합니다.
→
검증 증거
대상·비대상 상태를 비교하고 각 반복의 초기화와 최종 보고가 일치하는지 확인합니다.
구체적인 시스템에서 따라가기
가상 고객 주소 변경 task에는 변경 전 snapshot과 허용된 새 주소를 제공합니다. evaluator는 대상 고객 한 명만 바뀌었는지와 다른 고객의 필드가 그대로인지 비교합니다. 삭제되면 안 되는 필드도 기대 상태에 포함합니다. 목표 주소만 확인하면 같은 요청이 전화번호나 다른 설정을 함께 바꾼 결함을 놓칠 수 있습니다.
최종 문장이 자연스럽더라도 다른 고객의 주소를 바꿨다면 안전 gate는 실패입니다. 반대로 변경이 성공했는데 실패했다고 보고하면 재시도를 유도할 수 있으므로 보고 정확성도 별도 결함입니다. 설명 채점에는 불확실성을 숨기지 않았는지도 포함합니다. 환경 조회가 실패했는데 확정적으로 완료했다고 말하면 결과가 우연히 맞아도 사용자는 잘못된 보증을 받은 것입니다.
평가 fixture를 초기화하지 않고 다음 반복을 실행하면 이미 변경된 상태가 쉬운 성공을 만들 수 있습니다. 반복마다 환경을 복원하고 새 실행 ID와 동일한 task ID를 구분합니다. 초기화 작업이 실패하면 해당 반복을 정상 표본으로 합치지 않습니다. 환경 준비 실패와 agent 업무 실패를 나누어야 model 성능과 시험 장치의 문제를 혼동하지 않습니다.
보고서에는 outcome 판정, 설명 판정, 금지 side effect와 초기화 확인을 나란히 둡니다. 이 네 증거가 있어야 prompt 수정이 실제 업무를 개선했는지 또는 채점기의 빈틈을 이용했는지 구분할 수 있습니다. 더 빠른 결과가 나온 후보도 금지 변경이 있으면 승격하지 않습니다. 작업 성공률과 안전 조건을 독립적으로 두어 실행 시간을 줄인 대가로 다른 고객 데이터가 바뀌지 않게 합니다.
선택 기준과 실패 경계
환경 복원 비용이 들며 과도하게 고정한 tool 순서는 올바른 대안 경로를 배제할 수 있습니다.
피해야 할 오해: 자연스러운 완료 문장은 외부 작업 성공의 증거라는 생각은 틀립니다.
직접 검증하기
대상·비대상 상태를 비교하고 각 반복의 초기화와 최종 보고가 일치하는지 확인합니다.
판정할 핵심환경 snapshot 비교와 사용자 보고 평가를 분리해 행동 성공과 설명 성공을 각각 판단합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
긴 조사에서 context를 줄이면 원래 제약이나 실패한 시도가 빠질 수 있습니다. 재개 기록은 목표뿐 아니라 변경한 대상, 확인된 결과, 미해결 질문과 중단 이유를 구분해야 같은 실패를 반복하지 않습니다.
요약 문장 옆에 원본 evidence의 위치와 revision을 연결합니다. “검사 통과”만 남기면 어떤 파일과 입력을 검사했는지 알 수 없고, 그 뒤 변경된 파일에도 이전 결과가 적용되는 것처럼 오해할 수 있습니다.
현재 실행자는 저장된 권한 결정을 그대로 재사용하지 않고 대상과 사용자, 만료 조건을 확인합니다. 이전 세션에서 허용된 작업도 새 사용자나 다른 자원으로 옮기면 같은 승인 범위가 아닐 수 있습니다.
재개용 기억에는 필요한 사실을 최소한으로 남깁니다. 원본 secret과 개인 데이터를 요약에 복사하면 context를 줄여도 노출 경로는 줄지 않으므로 접근 가능한 증거 위치로 대신할 수 있는지 검토합니다.
그림 3-9. 긴 작업의 재개 기록에 남겨야 할 사실의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
요약은 작업을 이어 주지만 과거 권한과 미확인 결과를 새로운 사실로 만들지 않습니다.
→
작동 원리
검증된 상태와 evidence 신원을 기록하고 재개 시 revision·권한을 다시 대조합니다.
→
검증 증거
재개 전에 revision과 권한을 바꿔 오래된 결과를 재검증하고 미시도 작업을 구분하는지 확인합니다.
구체적인 시스템에서 따라가기
가상 배포 조사 기록에 “설정 수정 완료, 재시작 미시도, 검증 보류”를 넣습니다. 다음 실행이 재시작까지 끝난 것으로 읽으면 요약에서 상태 구분이 손실된 것입니다. 각 단계의 상태를 자유 문장 하나가 아니라 구분된 항목으로 남겨 비교합니다. 요약을 읽은 다음 실행이 기록에 없는 성공 단계를 추가했는지 확인하면 사실의 부풀림을 찾을 수 있습니다.
재개 직전에 설정 파일 revision을 바꿔 이전 증거와 불일치하게 만듭니다. 올바른 실행은 차이를 발견하고 영향 범위를 다시 확인한 뒤 검증을 재실행합니다. Revision 비교 없이 파일 이름만 같다고 통과시키는 fixture도 실패해야 합니다. 같은 이름의 새 파일은 이전 검사 대상과 다른 artifact이므로 내용 신원이 검증의 연결 고리입니다.
기록에 없는 다음 행동은 추측으로 실행하지 않습니다. 아직 필요한 승인이 무엇인지와 독립적으로 계속할 수 있는 읽기 작업을 나누면 불필요한 정지와 권한 초과를 함께 줄일 수 있습니다. 다음 행동의 입력과 중단 조건을 기록해 재개 담당자가 다시 넓은 탐색을 하지 않게 합니다. 다만 이전 기록이 새 증거와 충돌하면 그 차이를 먼저 해결하고 계획을 갱신합니다.
재개 시험의 성공은 요약 길이가 짧아졌는지가 아닙니다. 제약 보존, 중복 변경 부재, 오래된 증거 감지와 정확한 다음 행동이 함께 유지되는지로 판단합니다. 요약 전후의 동일 task를 비교할 때 사용 가능한 도구와 권한도 같게 둡니다. 도구가 늘어난 후보의 성공을 요약 개선의 효과라고 해석하면 원인을 잘못 설명하게 됩니다.
선택 기준과 실패 경계
짧게 줄이는 과정에서 예외와 미시도 상태가 빠질 수 있어 재개 fixture가 필요합니다.
피해야 할 오해: 요약에 승인이라고 적혀 있으면 새 실행에서도 그대로 허용된다는 생각은 틀립니다.
직접 검증하기
재개 전에 revision과 권한을 바꿔 오래된 결과를 재검증하고 미시도 작업을 구분하는지 확인합니다.
판정할 핵심검증된 상태와 evidence 신원을 기록하고 재개 시 revision·권한을 다시 대조합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.