IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.
CONCEPT FLOW
각 장은 이렇게 연결됩니다
각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.
1장Production Agent의 새로운 실패→
2장Trace·metric·log와 context propagation→
3장Token 비용과 latency 운영→
4장Offline·online eval과 release gate→
5장권한·감사·incident response→
6장대기열을 건너는 요청의 원인과 재시도를 연결합니다→
7장성공률의 분모에 미완료 작업이 사라지지 않게 합니다→
8장사고를 재현할 때 과거의 쓰기 권한은 재사용하지 않습니다
Agent 운영과 Observability의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.그림 9-1. Agent 운영과 Observability의 개념 전개앞 장의 선택과 한계가 다음 장의 문제로 어떻게 이어지는지 보여 줍니다.
1
Production Agent의 새로운 실패
Agent 장애는 HTTP 오류뿐 아니라 잘못된 도구 선택, 긴 loop, 부분 성공과 비용 폭증으로 나타납니다.
2
Trace·metric·log와 context propagation
Trace는 한 실행의 경로, metric은 집계 추세, log는 개별 event 설명에 강하며 공통 context가 셋을 연결합니다.
3
Token 비용과 latency 운영
비용 최적화는 token을 무조건 줄이는 것이 아니라 성공 한 건당 총비용과 지연을 줄이는 일입니다.
4
Offline·online eval과 release gate
평가는 평균 점수 하나가 아니라 실제 위험과 사용 분포를 대표하는 frozen case와 운영 signal의 결합입니다.
5
권한·감사·incident response
감사는 대화를 저장하는 일이 아니라 누가 어떤 권한으로 무엇을 왜 실행해 어떤 state가 바뀌었는지 재구성하는 일입니다.
6
대기열을 건너는 요청의 원인과 재시도를 연결합니다
요청 하나와 실행 시도 여러 개를 구분해야 느린 작업과 중복 작업의 원인을 찾을 수 있습니다.
7
성공률의 분모에 미완료 작업이 사라지지 않게 합니다
완료된 작업만 집계하면 오래 기다린 실패가 빠질 수 있으므로 시작 집단과 판정 시점을 고정합니다.
8
사고를 재현할 때 과거의 쓰기 권한은 재사용하지 않습니다
재현에 필요한 입력과 실제 부수 효과를 만드는 권한을 분리해야 조사 자체가 사고를 반복하지 않습니다.
CONTROLLED EXPLANATION
시작 100건을 끝까지 보존하는 결과 집계
현재 상태: 접수 집단 100건
시작 100건을 끝까지 보존하는 결과 집계
자료: Agent 평가와 OpenTelemetry signal 원리를 바탕으로 저자 구성한 가상 비교입니다. 완료 응답만 세는 분모의 누락을 보여 줍니다.
접수 집단 100건
같은 업무 종류와 시작 기간을 고정합니다.
확인된 성공 90건
완료 결과와 업무 상태가 일치합니다.
대기 10건
분모에서 삭제하지 않습니다.
관찰 시점 재확인
완료 여부와 시간 약속을 따로 읽습니다.
확정 결과와 지연 위반
상태 합계가 시작 100건과 맞아야 합니다.
1 → 2
관찰된 완료
1 → 3
아직 미완료
3 → 4
관찰 시간 경과
4 → 5
결과·지연 분리
2 → 5
성공 결과 포함
분기는 서로 다른 상태 집합입니다. 대기는 성공으로 더하지 않으며 늦은 성공도 지연 위반을 지우지 않습니다.
CONCRETE CASES
과정 전체 선택 기준표
TABLE 9-1
과정 전체 선택 기준표
각 장의 기술을 이름이 아니라 작동 원리, 새 비용과 확인할 증거로 비교합니다.
표 9-1. Agent 운영과 Observability의 설계 판단 기준
장
중심 메커니즘
주의할 비용
확인할 증거
1. Production Agent의 새로운 실패
업무 결과와 실행 revision을 공통 run identity로 기록해 부분 실패를 관찰합니다.
High-cardinality data, 개인정보와 vendor별 signal 차이를 관리해야 합니다.
부분 tool 성공, timeout과 approval 거절을 주입해 최종 업무 state가 구분되는지 확인합니다.
2. Trace·metric·log와 context propagation
Context propagation이 분산된 signal을 같은 task와 causal path에 연결합니다.
Sampling, storage cost, cardinality와 민감 data 노출 tradeoff가 있습니다.
Model별 task success를 포함한 cost per successful task와 tail latency를 비교합니다.
4. Offline·online eval과 release gate
Versioned dataset과 rubric이 release 후보를 반복 비교하고 운영 결과가 다음 eval case로 돌아옵니다.
Dataset contamination, judge drift와 평균이 작은 위험 slice를 숨길 수 있습니다.
Known pass/fail과 전문가 label로 judge를 calibration하고 disagreement를 review합니다.
5. 권한·감사·incident response
Structured audit event와 immutable revision이 실행 의도, 권한과 결과를 재구성합니다.
보존 비용과 privacy, audit 자체 접근 권한과 false attribution 위험이 있습니다.
Credential revoke와 tool disable 후 기존 session이 더 이상 실행하지 못하는지 확인합니다.
6. 대기열을 건너는 요청의 원인과 재시도를 연결합니다
업무와 실행 시도의 식별을 분리하면 재시도 비용과 최종 성공을 서로 다른 단위로 집계할 수 있습니다.
상관 식별자의 보존과 수명 관리가 필요하며 민감 원문을 문맥에 넣으면 노출 범위가 커집니다.
저장 후 확인 전 종료를 주입하고 업무 하나·시도 둘·결과 하나의 연결을 기록하십시오.
7. 성공률의 분모에 미완료 작업이 사라지지 않게 합니다
시작 집단과 상태 전이를 연결하면 아직 끝나지 않은 작업이 집계에서 조용히 사라지지 않습니다.
확정 지표는 늦게 나오므로 실시간 임시 상태와 확정 결과를 함께 제공해야 합니다.
시작 100건의 상태 합계를 맞추고 대기 10건의 관찰 시점과 지연 위반 처리를 적으십시오.
8. 사고를 재현할 때 과거의 쓰기 권한은 재사용하지 않습니다
도구 대역과 제한된 신원은 입력·정책 경계를 재현하면서 실제 외부 변경을 차단합니다.
가상 결과는 실제 연결 장애를 모두 재현하지 못하므로 연결 시험과 의미 재현의 한계를 구분합니다.
초대 발송 사고를 기록용 도구로 재현하고 무승인 거절과 정상 승인 성공을 각각 확인하십시오.
CHAPTER 1 / 8
Production Agent의 새로운 실패
Agent 장애는 HTTP 오류뿐 아니라 잘못된 도구 선택, 긴 loop, 부분 성공과 비용 폭증으로 나타납니다.
이 개념이 필요해진 배경
Model은 응답했지만 잘못된 account에 tool을 실행하거나 세 단계 중 두 단계만 완료할 수 있습니다. Success를 response code가 아니라 업무 state와 사용자 확인으로 정의해야 합니다.
Model, prompt, retrieval index, tool와 policy가 독립적으로 변경되면 같은 입력의 행동이 달라집니다. 모든 실행에 revision tuple을 남겨 regression을 특정할 수 있어야 합니다.
그림 9-2. Production Agent의 새로운 실패의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
Agent 장애는 HTTP 오류뿐 아니라 잘못된 도구 선택, 긴 loop, 부분 성공과 비용 폭증으로 나타납니다.
→
작동 원리
업무 결과와 실행 revision을 공통 run identity로 기록해 부분 실패를 관찰합니다.
→
검증 증거
부분 tool 성공, timeout과 approval 거절을 주입해 최종 업무 state가 구분되는지 확인합니다.
구체적인 시스템에서 따라가기
일반 API는 요청 하나가 성공하거나 명시적인 오류로 끝나는 경우가 많지만 agent는 여러 tool 중 일부만 성공한 뒤 중단될 수 있습니다. Ticket은 생성됐는데 사용자 알림이 실패하거나, 환불은 처리됐는데 model이 실패로 판단해 다시 요청할 수 있습니다. Task state machine과 operation identity가 없으면 대화 transcript만으로 실제 업무 결과를 복구하기 어렵습니다.
Model response, retrieval, policy와 tool revision은 독립적으로 바뀌므로 실행마다 이 조합을 기록해야 합니다. 같은 prompt인데 결과가 달라졌다는 보고만으로는 원인을 좁힐 수 없습니다. 부분 성공, approval 거절, budget 종료와 human handoff를 서로 다른 terminal state로 정의하고 사용자에게 다음 조치를 보여 주는 것이 production agent의 기본 오류 계약입니다.
선택 기준과 실패 경계
High-cardinality data, 개인정보와 vendor별 signal 차이를 관리해야 합니다.
피해야 할 오해: Model API가 200이면 agent task도 성공했다는 생각은 틀립니다.
직접 검증하기
부분 tool 성공, timeout과 approval 거절을 주입해 최종 업무 state가 구분되는지 확인합니다.
판정할 핵심업무 결과와 실행 revision을 공통 run identity로 기록해 부분 실패를 관찰합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
Trace는 한 run에서 model call과 tool이 어떤 순서로 얼마나 걸렸는지 보여 주고, metric은 많은 run의 성공률과 latency 분포를 비교하며, log는 특정 policy decision의 상세 이유를 담습니다. 세 signal은 대체 관계가 아닙니다. 공통 run ID와 revision attribute가 있어야 metric의 이상 구간에서 representative trace와 관련 log로 내려갈 수 있습니다.
모든 prompt와 tool output을 attribute에 넣으면 high cardinality와 개인정보 노출이 동시에 발생합니다. Operation 이름과 model, policy version처럼 bounded value는 telemetry에 두고 큰 원문은 접근 통제된 evidence store에 별도 보관하며 hash로 연결합니다. Sampling 정책도 오류와 고위험 행동은 보존하고 정상 대량 요청은 비율로 줄이는 식으로 질문에 맞게 설계합니다.
선택 기준과 실패 경계
Sampling, storage cost, cardinality와 민감 data 노출 tradeoff가 있습니다.
피해야 할 오해: Log 한 종류로 trace와 metric의 모든 질문을 효율적으로 답할 수 있다는 생각은 틀립니다.
비용 최적화는 token을 무조건 줄이는 것이 아니라 성공 한 건당 총비용과 지연을 줄이는 일입니다.
이 개념이 필요해진 배경
Prompt, retrieved context, tool output과 retry가 input token을 늘리고 model choice와 output 길이가 가격·latency에 영향을 줍니다. Cache hit와 parallel tool은 개선할 수 있지만 stale context와 rate limit을 만들 수 있습니다.
P50만 보면 긴 agent loop를 숨깁니다. P95/P99, step 수, retry, queue와 성공당 token을 task slice별로 보고 budget 초과 시 중단·degrade·human handoff를 설계합니다.
그림 9-4. Token 비용과 latency 운영의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
비용 최적화는 token을 무조건 줄이는 것이 아니라 성공 한 건당 총비용과 지연을 줄이는 일입니다.
Model별 task success를 포함한 cost per successful task와 tail latency를 비교합니다.
구체적인 시스템에서 따라가기
Agent의 총 latency는 model 한 번의 응답 시간이 아니라 retrieval, 여러 tool, retry와 approval 대기를 합친 결과입니다. Token 가격이 낮은 model도 잘못된 tool을 반복해 성공률이 낮으면 성공 한 건당 비용이 더 클 수 있습니다. Task 유형별 성공률, step 수, input과 output token, 외부 API 비용과 P95 시간을 같은 run에서 계산해야 합니다.
최적화는 먼저 불필요한 context와 중복 tool output을 줄이고, 독립 호출을 안전하게 병렬화하며, 반복되는 안정적 결과만 cache하는 순서로 검토할 수 있습니다. Cache에는 source revision과 권한을 key로 포함해야 합니다. Budget을 넘겼을 때는 답을 꾸며내지 않고 작은 model로 degrade할지, 일부 기능을 생략할지, 사람에게 넘길지 제품 계약에 따라 결정합니다.
선택 기준과 실패 경계
과도한 절약은 context 누락과 품질 저하를, 무제한 예산은 비용 사고를 만듭니다.
피해야 할 오해: 가장 싼 model이 성공당 비용도 항상 가장 낮다는 생각은 틀립니다.
직접 검증하기
Model별 task success를 포함한 cost per successful task와 tail latency를 비교합니다.
평가는 평균 점수 하나가 아니라 실제 위험과 사용 분포를 대표하는 frozen case와 운영 signal의 결합입니다.
이 개념이 필요해진 배경
Offline set에는 정상, 경계, adversarial, 권한 거절과 recovery case를 포함하고 deterministic check, rubric과 human review를 조합합니다. LLM judge는 scale에 유용하지만 bias와 자기 선호를 calibration해야 합니다.
Online에서는 completion, correction, escalation, policy violation과 cohort를 관찰합니다. 변경 전후를 같은 slice와 confidence로 비교하고 안전-critical failure는 평균 점수와 별도 hard gate로 둡니다.
그림 9-5. Offline·online eval과 release gate의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
평가는 평균 점수 하나가 아니라 실제 위험과 사용 분포를 대표하는 frozen case와 운영 signal의 결합입니다.
→
작동 원리
Versioned dataset과 rubric이 release 후보를 반복 비교하고 운영 결과가 다음 eval case로 돌아옵니다.
→
검증 증거
Known pass/fail과 전문가 label로 judge를 calibration하고 disagreement를 review합니다.
구체적인 시스템에서 따라가기
Offline eval set은 실제 사용자 분포의 정상 case만 모으지 않고 경계 입력, 권한 거절, prompt injection, tool timeout과 recovery를 포함해야 합니다. 각 case에는 기대 업무 state와 citation, 허용하지 않을 행동을 적고 deterministic check와 rubric을 조합합니다. Dataset revision을 고정해야 release 후보를 같은 조건에서 비교할 수 있습니다.
LLM judge는 많은 답을 빠르게 평가할 수 있지만 표현 선호, model family와 rubric 해석에 bias가 있습니다. 전문가가 합의한 pass와 fail 표본으로 judge를 calibration하고 disagreement를 사람이 검토해야 합니다. Online에서는 correction, escalation과 policy violation을 slice별로 보며 안전-critical 실패는 평균 점수가 높아도 release를 막는 hard gate로 둡니다.
선택 기준과 실패 경계
Dataset contamination, judge drift와 평균이 작은 위험 slice를 숨길 수 있습니다.
피해야 할 오해: LLM judge 점수 하나를 ground truth로 사용해도 된다는 생각은 틀립니다.
직접 검증하기
Known pass/fail과 전문가 label로 judge를 calibration하고 disagreement를 review합니다.
판정할 핵심Versioned dataset과 rubric이 release 후보를 반복 비교하고 운영 결과가 다음 eval case로 돌아옵니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
그림 9-6. 권한·감사·incident response의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
감사는 대화를 저장하는 일이 아니라 누가 어떤 권한으로 무엇을 왜 실행해 어떤 state가 바뀌었는지 재구성하는 일입니다.
→
작동 원리
Structured audit event와 immutable revision이 실행 의도, 권한과 결과를 재구성합니다.
→
검증 증거
Credential revoke와 tool disable 후 기존 session이 더 이상 실행하지 못하는지 확인합니다.
구체적인 시스템에서 따라가기
감사 event는 자연어 대화 전체보다 실행의 책임 사슬을 구조화해야 합니다. Actor, tenant, tool과 policy revision, approval, target의 비식별 identity, idempotency key와 결과를 연결하면 누가 어떤 권한으로 어떤 state를 바꿨는지 재구성할 수 있습니다. Event 자체의 수정과 삭제 권한도 제한하고 보존 기간을 data 목적에 맞춰야 합니다.
사고 대응에는 model 호출을 멈추는 것뿐 아니라 특정 tool이나 tenant capability를 즉시 차단하는 kill switch, credential revoke와 영향 operation 검색이 필요합니다. 이미 성공한 행동은 rollback이 불가능할 수 있으므로 compensating action과 사용자 통지를 준비합니다. 복구 뒤 같은 abuse case와 대표 task를 실행해 기능과 안전 경계가 함께 돌아왔는지 확인해야 종료할 수 있습니다.
선택 기준과 실패 경계
보존 비용과 privacy, audit 자체 접근 권한과 false attribution 위험이 있습니다.
피해야 할 오해: 전체 prompt 원문을 영구 저장해야만 감사가 가능하다는 생각은 틀립니다.
직접 검증하기
Credential revoke와 tool disable 후 기존 session이 더 이상 실행하지 못하는지 확인합니다.
판정할 핵심Structured audit event와 immutable revision이 실행 의도, 권한과 결과를 재구성합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
요청 하나와 실행 시도 여러 개를 구분해야 느린 작업과 중복 작업의 원인을 찾을 수 있습니다.
이 개념이 필요해진 배경
HTTP 요청이 대기열에 작업을 넣고 먼저 끝나면 사용자의 기다림은 서버 응답 시간보다 깁니다. 작업자의 실행 기록만 보면 요청이 언제 들어왔는지도 알기 어렵습니다. 수신, 대기, 실행과 결과 전달을 같은 업무 식별자로 연결합니다.
OpenTelemetry의 context propagation은 서비스 사이에 추적 문맥을 전달하는 방법입니다. 추적 식별자는 경로를 연결하는 자료이며 사용자의 권한을 증명하는 자격증명이 아닙니다. 외부에서 받은 추적 값으로 내부 권한이나 계정을 결정하지 않습니다.
대기열 재전달은 동일한 업무에 두 번째 실행 시도를 만들 수 있습니다. 업무 식별자와 시도 식별자를 따로 두면 한 요청이 왜 여러 번 계산됐는지 설명할 수 있습니다. 비용과 재시도 횟수는 시도에서 합치고 사용자 성공은 업무 결과에서 판정합니다.
긴 대기나 프로세스 경계 때문에 추적이 나뉘어도 연결 근거는 남겨야 합니다. 큐 메시지에는 필요한 상관 식별자만 싣고 원문과 비밀을 그대로 복제하지 않습니다. 관측 자료의 편의 때문에 민감 데이터의 보존 범위를 넓히지 않습니다.
그림 9-7. 대기열을 건너는 요청의 원인과 재시도를 연결합니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
요청 하나와 실행 시도 여러 개를 구분해야 느린 작업과 중복 작업의 원인을 찾을 수 있습니다.
→
작동 원리
업무와 실행 시도의 식별을 분리하면 재시도 비용과 최종 성공을 서로 다른 단위로 집계할 수 있습니다.
→
검증 증거
저장 후 확인 전 종료를 주입하고 업무 하나·시도 둘·결과 하나의 연결을 기록하십시오.
구체적인 시스템에서 따라가기
교육용 요약 작업은 접수 뒤 대기열에서 기다리고 모델 호출 후 파일을 저장합니다. 첫 작업자가 파일 저장 뒤 확인 응답 전에 종료되면 메시지가 다시 전달될 수 있습니다. 두 번째 작업의 trace만 보면 사용자가 새 요청을 보낸 것으로 오해할 수 있습니다. 접수 기록과 두 시도의 입력 해시를 대조하면 동일 업무의 재전달인지 다른 요청인지 구분합니다.
업무 식별자 하나에 첫 시도와 재시도를 연결하고 파일 확정 상태를 조회합니다. 이미 확정됐다면 새 모델 호출 없이 기존 결과를 반환하는 경로를 기록합니다. 이렇게 해야 재시도 비용 감소가 결과 누락을 숨긴 것은 아닌지 설명할 수 있습니다. 기존 파일의 존재만 확인하지 말고 해당 업무의 입력과 연결된 확정 결과인지 함께 확인합니다.
반례는 모든 시도가 같은 span 식별자를 재사용하는 구현입니다. 서로 다른 실행 시간이 한 작업처럼 섞여 순서와 중복을 구분하기 어렵습니다. 상관관계는 공유하되 각 시도의 시작·종료·실패는 별도 사건으로 남깁니다. 시도별 오류와 최종 업무 상태를 함께 보아야 첫 실패 뒤 성공한 재처리를 원래 성공과 구분합니다.
검증에서는 파일 확정 직후 종료를 주입하고 재전달 경로를 추적합니다. 한 업무에 시도 두 개가 보이되 사용자 결과는 하나여야 합니다. 큐 대기와 모델 호출 시간을 분리해 어느 구간이 전체 지연을 늘렸는지도 확인합니다. 비용 집계에는 첫 시도의 모델 호출도 포함해 사용자 결과 하나에 실제 사용한 자원을 누락하지 않습니다.
선택 기준과 실패 경계
상관 식별자의 보존과 수명 관리가 필요하며 민감 원문을 문맥에 넣으면 노출 범위가 커집니다.
피해야 할 오해: Trace ID가 같으면 같은 권한이라는 생각은 틀립니다. 추적과 인증은 다른 역할입니다.
직접 검증하기
저장 후 확인 전 종료를 주입하고 업무 하나·시도 둘·결과 하나의 연결을 기록하십시오.
판정할 핵심업무와 실행 시도의 식별을 분리하면 재시도 비용과 최종 성공을 서로 다른 단위로 집계할 수 있습니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
완료된 작업만 집계하면 오래 기다린 실패가 빠질 수 있으므로 시작 집단과 판정 시점을 고정합니다.
이 개념이 필요해진 배경
운영 대시보드의 성공률이 높아졌는데 문의가 늘면 집계 범위를 먼저 봅니다. 완료 응답만 분모로 삼으면 시간 초과와 아직 끝나지 않은 작업이 빠질 수 있습니다. 시작한 업무가 어디로 갔는지 추적하지 않으면 평균의 개선이 실제 개선인지 알 수 없습니다.
업무 결과는 성공, 실패, 취소와 대기처럼 구분된 상태로 보관합니다. 대기는 아직 판정하지 않았다는 뜻이며 성공도 실패도 자동으로 아닙니다. 다만 약속한 완료 시간을 넘긴 작업은 지연 위반으로 별도 집계해야 합니다.
비교 집단은 접수 시점과 업무 종류로 고정할 수 있습니다. 같은 기간에 시작한 작업을 충분한 관찰 시간 뒤 다시 읽으면 늦게 끝난 결과도 반영됩니다. 실시간 임시 지표와 확정 지표를 구분해 숫자가 갱신되는 이유를 설명합니다.
안전 위반은 성공률 분모와 별도로 유지합니다. 결과가 유용했더라도 허용되지 않은 도구 실행이 있었다면 해당 위반은 사라지지 않습니다. 성공, 비용과 위반을 하나의 점수로 합치기 전에 반드시 통과해야 할 조건을 분리합니다.
그림 9-8. 성공률의 분모에 미완료 작업이 사라지지 않게 합니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
완료된 작업만 집계하면 오래 기다린 실패가 빠질 수 있으므로 시작 집단과 판정 시점을 고정합니다.
→
작동 원리
시작 집단과 상태 전이를 연결하면 아직 끝나지 않은 작업이 집계에서 조용히 사라지지 않습니다.
→
검증 증거
시작 100건의 상태 합계를 맞추고 대기 10건의 관찰 시점과 지연 위반 처리를 적으십시오.
구체적인 시스템에서 따라가기
교육용 비교에서 이전 후보는 시작 100건 중 성공 90건과 실패 10건입니다. 새 후보는 성공 90건과 대기 10건인데 완료된 90건만 집계하면 성공률이 100%처럼 보입니다. 시작 집단을 기준으로 보면 즉시 확인된 성공은 두 후보 모두 90건입니다. 새 후보가 더 좋다는 판단은 대기 작업의 결과와 지연 조건을 확인하기 전에는 보류해야 합니다.
대기 10건의 상태는 정해 둔 관찰 시점에 다시 확인합니다. 완료 시간 약속을 넘겼다면 나중에 성공해도 지연 위반 기록은 유지합니다. 사용자에게 늦게 전달된 결과를 즉시 성공과 같은 경험으로 취급하지 않습니다. 확정 성공 집계와 제시간 성공 집계를 분리하면 뒤늦은 성공이 시간 약속 위반을 지우지 않습니다.
반례는 취소를 모두 실패로 처리해 취소 기능 자체를 나쁜 성능으로 보는 지표입니다. 사용자가 자발적으로 중단한 작업과 시스템이 포기로 몰아간 작업은 다를 수 있습니다. 취소 이유를 구분할 근거가 없으면 미확인으로 남기고 원인을 추정하지 않습니다. 취소 발생 시각과 직전 대기 상태는 추측 없이 추가로 수집할 수 있는 진단 자료입니다.
검증 표에서 시작 수가 각 상태의 합과 맞는지 확인합니다. 누락된 식별자는 로그 누락인지 집계 오류인지 조사합니다. 동일한 집단 정의와 관찰 시간을 적용한 뒤에만 두 후보의 성공률과 비용을 비교합니다. 집계에서 제외한 항목이 있다면 이유와 건수를 남겨 분모가 바뀐 사실을 검토자가 확인하게 합니다.
선택 기준과 실패 경계
확정 지표는 늦게 나오므로 실시간 임시 상태와 확정 결과를 함께 제공해야 합니다.
피해야 할 오해: 완료된 응답의 성공률이 높으면 전체 사용자의 성공률도 높다는 생각은 틀립니다. 미완료와 취소를 확인합니다.
직접 검증하기
시작 100건의 상태 합계를 맞추고 대기 10건의 관찰 시점과 지연 위반 처리를 적으십시오.
판정할 핵심시작 집단과 상태 전이를 연결하면 아직 끝나지 않은 작업이 집계에서 조용히 사라지지 않습니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.
재현에 필요한 입력과 실제 부수 효과를 만드는 권한을 분리해야 조사 자체가 사고를 반복하지 않습니다.
이 개념이 필요해진 배경
사고 조사에서 과거 입력을 다시 실행하면 같은 도구 호출이 재발할 수 있습니다. 이미 처리된 알림이나 계정 변경을 실제 시스템에 다시 보내면 원인을 찾기 전에 피해가 늘어납니다. 재현 환경은 외부 쓰기가 차단됐다는 증거부터 준비합니다.
재현 자료에는 당시 모델, 프롬프트, 도구와 정책 revision이 필요합니다. 현재 설정으로만 실행하면 과거 사건과 다른 실험이 됩니다. 과거 자격증명은 복원하지 않고 도구의 읽기 자료와 가상 결과로 필요한 경계를 구성합니다.
재현의 목적도 나눕니다. 잘못된 제안이 다시 나오는지 확인하는 시험과 정책이 그 제안을 차단하는지 확인하는 시험은 관찰값이 다릅니다. 하나의 실행이 우연히 안전한 답을 냈다고 실행 경계가 고쳐졌다고 결론 내리지 않습니다.
수정 후에는 알려진 사고 입력 외의 정상 작업도 확인합니다. 모든 도구를 막으면 사고는 줄어도 제품의 기능을 잃을 수 있습니다. 허용된 작업은 성공하고 거절 대상은 실제 상태 변화 없이 끝나는지를 함께 판정합니다.
그림 9-9. 사고를 재현할 때 과거의 쓰기 권한은 재사용하지 않습니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건
재현에 필요한 입력과 실제 부수 효과를 만드는 권한을 분리해야 조사 자체가 사고를 반복하지 않습니다.
→
작동 원리
도구 대역과 제한된 신원은 입력·정책 경계를 재현하면서 실제 외부 변경을 차단합니다.
→
검증 증거
초대 발송 사고를 기록용 도구로 재현하고 무승인 거절과 정상 승인 성공을 각각 확인하십시오.
구체적인 시스템에서 따라가기
교육용 일정 보조자가 검토만 요청받은 초안을 실제 초대로 발송했다고 가정합니다. 재현 환경에서는 초대 도구를 발송하지 않는 기록용 대역으로 바꿉니다. 제안된 수신자와 실행 여부를 보존하면 실제 메일 없이도 잘못된 경계를 관찰할 수 있습니다. 기록용 대역이 네트워크 발송을 하지 않는지는 환경 설정뿐 아니라 실제 실행 기록으로 확인합니다.
수정 후보는 검토 요청을 초안 결과로 끝내고 발송 승인이 없으면 도구 실행을 거절해야 합니다. 같은 입력에서 제안이 달라졌는지와 실행이 차단됐는지를 따로 기록합니다. 모델 문구가 좋아진 것과 서버가 상태 변경을 막은 것은 다른 증거입니다. 제안이 다시 잘못 나와도 서버가 차단한다면 모델 수정과 별개로 실행 방어가 작동한 것입니다.
반례는 과거 관리자 토큰을 넣어야 완전한 재현이라는 주장입니다. 조사에 필요한 권한 판정은 제한된 시험 신원으로 재구성할 수 있습니다. 실제 자격증명이 필요한 연결 검증이 있다면 원인 재현과 분리된 범위로 관리합니다. 시험 신원의 권한 목록과 거절 사유를 남기면 실제 비밀 없이도 어느 판정 조건을 재현했는지 설명합니다.
최종 기록에는 재현 성공 여부와 실제 외부 변경 0건을 별도 항목으로 남깁니다. 새 정책이 정상 승인 발송까지 막았다면 복구가 끝나지 않은 것입니다. 허용·거절 두 경로의 결과를 확인한 뒤 운영 복귀를 판단합니다. 정상 경로의 발송도 시험용 대상에만 기록해 거절과 허용을 비교하는 동안 외부 영향이 없게 합니다.
선택 기준과 실패 경계
가상 결과는 실제 연결 장애를 모두 재현하지 못하므로 연결 시험과 의미 재현의 한계를 구분합니다.
피해야 할 오해: 완전한 사고 재현에는 운영 쓰기 권한이 필요하다는 생각은 틀립니다. 원인에 필요한 경계만 재구성합니다.
직접 검증하기
초대 발송 사고를 기록용 도구로 재현하고 무승인 거절과 정상 승인 성공을 각각 확인하십시오.
판정할 핵심도구 대역과 제한된 신원은 입력·정책 경계를 재현하면서 실제 외부 변경을 차단합니다.
이 장의 공식 출처
본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.