<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reliability on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/reliability/</link><description>Recent content in Reliability on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Sun, 10 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/reliability/index.xml" rel="self" type="application/rss+xml"/><item><title>Anthropic 4월 23일 포스트모템 — Claude Code 품질 저하의 세 갈래 원인과 SRE 시사점</title><link>https://ice-ice-bear.github.io/ko/posts/2026-05-10-anthropic-april-23-postmortem/</link><pubDate>Sun, 10 May 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-05-10-anthropic-april-23-postmortem/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post Anthropic 4월 23일 포스트모템 — Claude Code 품질 저하의 세 갈래 원인과 SRE 시사점" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.anthropic.com/engineering/april-23-postmortem" target="_blank" rel="noopener"
 &gt;Anthropic이 4월 23일 공개한 포스트모템&lt;/a&gt;은 한 달여간 누적된 Claude Code 품질 저하의 원인을 &lt;strong&gt;세 갈래 독립 변경&lt;/strong&gt;으로 분리해 인정한 글이다. API 추론 레이어가 아니라 &lt;strong&gt;제품 레이어&lt;/strong&gt;(기본 reasoning effort, 컨텍스트 관리, 시스템 프롬프트)에서 발생한 일이라는 점이 핵심이다. 인프라 사고는 아니지만, &lt;strong&gt;공유 추론 위에서 돌아가는 LLM 제품 어디서나 재현될 수 있는 운영 실패&lt;/strong&gt; 라서 SRE/플랫폼 엔지니어가 챙겨야 할 교훈이 많다.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 Trigger["사용자 피드백 누적 &amp;lt;br/&amp;gt; 3월 초"] --&gt; Investigate["원인 분리 불가 &amp;lt;br/&amp;gt; 내부 사용/eval에서 재현 X"]
 Investigate --&gt; C1["원인 1: reasoning effort 기본값 &amp;lt;br/&amp;gt; high → medium (3/4)"]
 Investigate --&gt; C2["원인 2: idle 세션 thinking clear 버그 &amp;lt;br/&amp;gt; (3/26)"]
 Investigate --&gt; C3["원인 3: verbosity 시스템 프롬프트 &amp;lt;br/&amp;gt; (4/16)"]
 C1 --&gt; F1["4/7 롤백: xhigh/high 기본화"]
 C2 --&gt; F2["4/10 v2.1.101: clear 1회만 동작"]
 C3 --&gt; F3["4/20 v2.1.116: 프롬프트 제거"]
 F1 --&gt; Reset["4/23 사용량 한도 리셋 &amp;lt;br/&amp;gt; + 거버넌스 강화"]
 F2 --&gt; Reset
 F3 --&gt; Reset&lt;/pre&gt;&lt;p&gt;세 변경 모두 &lt;a class="link" href="https://docs.claude.com/en/docs/claude-code/overview" target="_blank" rel="noopener"
 &gt;Claude Code&lt;/a&gt;, &lt;a class="link" href="https://docs.claude.com/en/docs/agent-sdk" target="_blank" rel="noopener"
 &gt;Claude Agent SDK&lt;/a&gt;, Claude Cowork에 영향을 줬고 &lt;a class="link" href="https://docs.claude.com/en/api/messages" target="_blank" rel="noopener"
 &gt;Messages API&lt;/a&gt;는 영향받지 않았다. 6주 가까이 신호가 묻혔다는 사실이 더 큰 이야기다.&lt;/p&gt;
&lt;h2 id="1-기본-reasoning-effort-high--medium-다운그레이드-34"&gt;1. 기본 reasoning effort: high → medium 다운그레이드 (3/4)
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.anthropic.com/news/claude-opus-4-6" target="_blank" rel="noopener"
 &gt;Opus 4.6 출시 직후 high가 기본값&lt;/a&gt;이었는데, &amp;ldquo;UI가 멈춘 것처럼 보이는&amp;rdquo; 꼬리 지연(tail latency)이 누적 보고됐다. Anthropic은 내부 평가에서 medium이 &lt;strong&gt;&amp;ldquo;약간 낮은 지능 vs 유의미하게 짧은 지연&amp;rdquo;&lt;/strong&gt; 트레이드오프 곡선에서 더 나은 운영점이라고 판단해 기본값을 내렸다.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;In our internal evals and testing, medium effort achieved slightly lower intelligence with significantly less latency for the majority of tasks.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;사용자 피드백은 정반대였다. 대부분이 기본값을 그대로 썼고 — UX 디자인 원칙대로 — &lt;code&gt;/effort&lt;/code&gt;로 직접 올리지 않았다. 결국 4월 7일 롤백, &lt;a class="link" href="https://www.anthropic.com/news/claude-opus-4-7" target="_blank" rel="noopener"
 &gt;Opus 4.7&lt;/a&gt;은 &lt;code&gt;xhigh&lt;/code&gt;, 나머지는 &lt;code&gt;high&lt;/code&gt;로 다시 올렸다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;시사점.&lt;/strong&gt; 모델 효율 곡선 위 운영점을 옮기는 일은 &lt;strong&gt;silent quality regression&lt;/strong&gt; 의 가장 흔한 형태다. 내부 evals 점수가 약간 떨어져도 라우팅을 바꾸면 &lt;strong&gt;퍼블릭한 인지된 품질&lt;/strong&gt; 은 더 크게 흔들린다. &lt;a class="link" href="https://arxiv.org/abs/2408.03314" target="_blank" rel="noopener"
 &gt;test-time compute scaling&lt;/a&gt;이 늘어나는 시대일수록 &amp;ldquo;기본값 = 제품 약속&amp;rdquo; 이라는 점을 잊으면 안 된다.&lt;/p&gt;
&lt;h2 id="2-캐싱-최적화가-추론-히스토리를-매-턴-날린-버그-326"&gt;2. 캐싱 최적화가 추론 히스토리를 매 턴 날린 버그 (3/26)
&lt;/h2&gt;&lt;p&gt;가장 기술적으로 풍부한 케이스다. Anthropic은 &lt;a class="link" href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching" target="_blank" rel="noopener"
 &gt;prompt caching&lt;/a&gt;을 적극 활용해 연속 호출의 비용/지연을 줄여왔다 — Claude 팀이 직접 &lt;a class="link" href="https://claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything" target="_blank" rel="noopener"
 &gt;&amp;ldquo;Prompt caching is everything&amp;rdquo;&lt;/a&gt; 라고 쓸 정도.&lt;/p&gt;
&lt;p&gt;설계 의도는 단순했다. &lt;strong&gt;1시간 이상 idle했던 세션&lt;/strong&gt; 을 재개할 때 어차피 캐시 미스이므로, 오래된 thinking 블록을 한 번 정리해서 uncached 토큰 수를 줄이자. 이를 위해 &lt;a class="link" href="https://docs.claude.com/en/docs/build-with-claude/context-editing" target="_blank" rel="noopener"
 &gt;&lt;code&gt;clear_thinking_20251015&lt;/code&gt; 컨텍스트 편집 전략&lt;/a&gt;을 &lt;code&gt;keep:1&lt;/code&gt;로 호출.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;버그.&lt;/strong&gt; &amp;ldquo;세션당 1회&amp;quot;가 아니라 &lt;strong&gt;세션 내 모든 후속 턴마다&lt;/strong&gt; 같은 헤더가 붙어서, 매 요청마다 직전 한 블록만 남기고 모든 reasoning이 폐기됐다. 도구 사용 중 follow-up 메시지가 들어오면 &lt;strong&gt;현재 턴의 reasoning까지&lt;/strong&gt; 함께 날아갔다. Claude는 그대로 실행을 이어가지만, 자기가 왜 그 편집/도구 호출을 했는지 모르는 상태로 진행 — 사용자가 보고한 &amp;ldquo;건망증, 반복, 이상한 도구 선택&amp;rdquo; 이 여기서 나왔다.&lt;/p&gt;
&lt;p&gt;부수 효과로 매 요청이 캐시 미스라서 &lt;strong&gt;사용량 한도가 더 빨리 소진된다&lt;/strong&gt; 는 별도 신고도 같은 뿌리였다.&lt;/p&gt;
&lt;h3 id="왜-잡지-못했나"&gt;왜 잡지 못했나
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;The changes it introduced made it past multiple human and automated code reviews, as well as unit tests, end-to-end tests, automated verification, and dogfooding.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;세 가지 우연이 결합:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;내부 전용 message queuing 실험&lt;/strong&gt; 이 동시에 돌고 있어서 신호 분리가 어려웠다&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;thinking 표시 방식의 직교 변경&lt;/strong&gt; 이 CLI에서 버그를 숨겨버렸다&lt;/li&gt;
&lt;li&gt;트리거가 &lt;strong&gt;stale session&lt;/strong&gt; 이라는 corner case라서 dogfooding에서 재현 안 됐다&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Anthropic은 사후에 &lt;a class="link" href="https://code.claude.com/docs/en/code-review" target="_blank" rel="noopener"
 &gt;Claude Code Review&lt;/a&gt;로 해당 PR을 백테스트했는데 — &lt;strong&gt;Opus 4.7은 충분한 레포 컨텍스트가 주어졌을 때 버그를 찾았고 Opus 4.6은 못 찾았다&lt;/strong&gt;. 후속 조치 중 하나가 &amp;ldquo;코드 리뷰에 추가 레포 컨텍스트 지원&amp;rdquo; 이다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;시사점.&lt;/strong&gt; Cache hit rate는 비용 메트릭으로만 보지 말 것. &lt;strong&gt;갑작스러운 캐시 미스 비율 상승&lt;/strong&gt; 은 컨텍스트 관리 버그의 1차 신호다. 메모리/추론 보존 메커니즘은 unit test 커버리지가 쉽게 거짓 안심을 준다 — multi-turn integration test에서 &lt;strong&gt;턴 수에 따라 컨텍스트가 어떻게 변하는지&lt;/strong&gt; 를 명시적으로 assert 하자.&lt;/p&gt;
&lt;h2 id="3-verbosity-줄이는-시스템-프롬프트-한-줄-416"&gt;3. Verbosity 줄이는 시스템 프롬프트 한 줄 (4/16)
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.anthropic.com/news/claude-opus-4-7" target="_blank" rel="noopener"
 &gt;Opus 4.7 출시 노트&lt;/a&gt;는 모델이 &amp;ldquo;verbose해진&amp;rdquo; 행동 특성을 언급했다. 더 똑똑해지지만 출력 토큰이 더 많이 나온다. Anthropic은 모델 학습·프롬프팅·UX 개선 세 갈래를 다 썼는데, 그중 시스템 프롬프트 한 줄이 결정적이었다.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;&amp;ldquo;Length limits: keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless the task requires more detail.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;내부 eval 세트에서는 regression이 없어 4월 16일 출시. 사후 조사에서 더 넓은 eval 세트로 ablation을 돌리니 Opus 4.6과 4.7 모두에서 &lt;strong&gt;3% 드롭&lt;/strong&gt;. 4월 20일 즉시 revert.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;시사점.&lt;/strong&gt; 시스템 프롬프트 한 줄은 &lt;a class="link" href="https://martinfowler.com/articles/feature-toggles.html" target="_blank" rel="noopener"
 &gt;통제된 변수&lt;/a&gt;처럼 보이지만 사실은 &lt;strong&gt;모든 트래픽에 즉시 적용되는 글로벌 컨피그 변경&lt;/strong&gt; 이다. 같은 줄이 모델마다 다르게 작동한다는 점도 핵심 — Anthropic이 추가한 거버넌스 중 &amp;ldquo;model-specific changes are gated to the specific model&amp;rdquo; 가이드라인이 여기서 나왔다.&lt;/p&gt;
&lt;h2 id="왜-한-달이나-걸렸나--신호-분리-실패의-해부"&gt;왜 한 달이나 걸렸나 — 신호 분리 실패의 해부
&lt;/h2&gt;&lt;p&gt;세 가지 변경이 &lt;strong&gt;다른 일정, 다른 트래픽 슬라이스&lt;/strong&gt; 에 적용됐다는 점이 진단을 망쳤다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;변경&lt;/th&gt;
 &lt;th&gt;영향 모델&lt;/th&gt;
 &lt;th&gt;트래픽 슬라이스&lt;/th&gt;
 &lt;th&gt;발견 지연&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;effort 기본값&lt;/td&gt;
 &lt;td&gt;Sonnet 4.6, Opus 4.6&lt;/td&gt;
 &lt;td&gt;기본 모드 사용자 (대다수)&lt;/td&gt;
 &lt;td&gt;~5주&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;thinking clear 버그&lt;/td&gt;
 &lt;td&gt;Sonnet 4.6, Opus 4.6&lt;/td&gt;
 &lt;td&gt;1시간 idle 후 재개 세션&lt;/td&gt;
 &lt;td&gt;~2주&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;verbosity 프롬프트&lt;/td&gt;
 &lt;td&gt;Sonnet 4.6, Opus 4.6, Opus 4.7&lt;/td&gt;
 &lt;td&gt;Opus 4.7 출시일 이후 전체&lt;/td&gt;
 &lt;td&gt;~4일&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 슬라이스의 사용자가 다른 경로로 신음했고, 집계된 모습은 &lt;strong&gt;&amp;ldquo;넓고 일관성 없는 품질 저하&amp;rdquo;&lt;/strong&gt; 였다 — 인시던트 책임자가 가장 분리하기 어려운 패턴이다. 같은 시기에 회자된 &lt;a class="link" href="https://news.ycombinator.com/" target="_blank" rel="noopener"
 &gt;Stella Laurenzo의 6,852개 세션, 234,000개 tool call 감사&lt;/a&gt; 같은 외부 분석이 결정적 신호가 됐다.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://sre.google/sre-book/managing-incidents/" target="_blank" rel="noopener"
 &gt;Google SRE의 incident response 원칙&lt;/a&gt;에서 말하는 &lt;strong&gt;&amp;ldquo;distinguish signal from noise&amp;rdquo;&lt;/strong&gt; 가 LLM 제품에서는 한층 어려워진다. 사용자 만족도는 본질적으로 분포이고, 변경 직후의 &amp;ldquo;체감 저하&amp;rdquo; 보고는 &lt;a class="link" href="https://en.wikipedia.org/wiki/Confirmation_bias" target="_blank" rel="noopener"
 &gt;confirmation bias&lt;/a&gt; 와 진짜 regression이 섞여 들어오기 때문.&lt;/p&gt;
&lt;h2 id="anthropic이-약속한-후속-조치"&gt;Anthropic이 약속한 후속 조치
&lt;/h2&gt;&lt;p&gt;원문 &amp;ldquo;Going forward&amp;rdquo; 섹션에서 발췌:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;내부 직원이 공개 빌드를 그대로 쓰도록&lt;/strong&gt; — 신기능 테스트용 내부 빌드와 분리. dogfooding의 &amp;ldquo;거리 좁히기&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;내부용 Code Review 개선분을 고객에게도 출시&lt;/strong&gt; — 추가 레포 컨텍스트 지원이 핵심&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시스템 프롬프트 변경에 broad per-model eval 강제&lt;/strong&gt; — 매 변경마다 모델별 ablation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시스템 프롬프트 변경 리뷰/감사 도구 신규 구축&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CLAUDE.md에 model-specific gating 가이드 추가&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;지능에 트레이드오프가 있는 변경에는 soak period + 점진 롤아웃&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="https://twitter.com/ClaudeDevs" target="_blank" rel="noopener"
 &gt;@ClaudeDevs&lt;/a&gt;와 GitHub 중심 커뮤니케이션 채널&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="https://status.openai.com/history" target="_blank" rel="noopener"
 &gt;OpenAI의 공개 인시던트 패턴&lt;/a&gt;과 비교하면 — OpenAI는 주로 가용성/지연 위주 status 페이지를, Anthropic은 &lt;strong&gt;품질 regression&lt;/strong&gt; 까지 책임 범위에 포함시키는 색다른 자세다.&lt;/p&gt;
&lt;h2 id="claude-api-위에서-빌딩하는-엔지니어가-가져갈-운영-원칙"&gt;Claude API 위에서 빌딩하는 엔지니어가 가져갈 운영 원칙
&lt;/h2&gt;&lt;p&gt;이 사건은 &lt;a class="link" href="https://en.wikipedia.org/wiki/Blast_radius_%28software%29" target="_blank" rel="noopener"
 &gt;shared infrastructure의 blast radius&lt;/a&gt; 가 &lt;strong&gt;모델 가중치뿐 아니라 harness/시스템 프롬프트&lt;/strong&gt; 까지 포함한다는 점을 확인시켰다. 다운스트림으로 빌딩하는 입장에서:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;모델 출력 분포를 회귀 테스트&lt;/strong&gt; — 단순 latency/error rate가 아니라 &lt;strong&gt;토큰 분포·도구 호출 패턴·응답 길이&lt;/strong&gt; 까지 베이스라인을 잡고 일일 ablation으로 비교. &lt;a class="link" href="https://docs.smith.langchain.com/" target="_blank" rel="noopener"
 &gt;LangSmith&lt;/a&gt;·&lt;a class="link" href="https://www.braintrust.dev/" target="_blank" rel="noopener"
 &gt;Braintrust&lt;/a&gt; 같은 LLM eval 플랫폼이 이런 목적이다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시스템 프롬프트 변경에 자체 &lt;a class="link" href="https://martinfowler.com/articles/feature-toggles.html" target="_blank" rel="noopener"
 &gt;feature flag&lt;/a&gt;&lt;/strong&gt; — Anthropic 변경에 자기 변경이 겹치면 신호 분리가 거의 불가능해진다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-provider routing 준비&lt;/strong&gt; — &lt;a class="link" href="https://docs.litellm.ai/" target="_blank" rel="noopener"
 &gt;LiteLLM&lt;/a&gt;, &lt;a class="link" href="https://openrouter.ai/" target="_blank" rel="noopener"
 &gt;OpenRouter&lt;/a&gt;, &lt;a class="link" href="https://aws.amazon.com/bedrock/" target="_blank" rel="noopener"
 &gt;Bedrock&lt;/a&gt; 등을 통해 모델 fallback 경로를 미리 가져갈 것. 단일 벤더 의존이 이런 식의 &amp;ldquo;전체 사용자 동시 저하&amp;rdquo; 를 만든다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache hit rate를 SLI로 승격&lt;/strong&gt; — 갑작스러운 미스율 상승은 비용 신호이자 &lt;strong&gt;컨텍스트 관리 회귀 신호&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Idempotent retry + circuit breaker&lt;/strong&gt; — &lt;a class="link" href="https://github.com/App-vNext/Polly" target="_blank" rel="noopener"
 &gt;Polly&lt;/a&gt;/&lt;a class="link" href="https://github.com/resilience4j/resilience4j" target="_blank" rel="noopener"
 &gt;resilience4j&lt;/a&gt; 패턴은 LLM에도 그대로 유효. 다만 retry가 토큰 한도를 두 배로 소비할 수 있다는 점을 budget에 반영.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;사용자 피드백을 정량 채널과 합칠 것&lt;/strong&gt; — 현장 한 줄 평이 &amp;ldquo;분리되지 않은 품질 저하&amp;rdquo; 의 1차 신호가 되는 시대다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;세 가지 원인 모두 &lt;strong&gt;고전적 운영 실패 패턴&lt;/strong&gt; 의 LLM 버전이다. (1) 기본값 변경이 사용자 행동 가정을 깼고, (2) &amp;ldquo;1회 정리&amp;rdquo; 가 매 턴 실행되는 &lt;a class="link" href="https://en.wikipedia.org/wiki/Off-by-one_error" target="_blank" rel="noopener"
 &gt;off-by-N 버그&lt;/a&gt;가 캐싱 최적화 코드 깊은 곳에 박혔고, (3) eval 세트 커버리지가 충분히 넓지 않아 시스템 프롬프트 한 줄이 3% 회귀를 통과시켰다. &lt;strong&gt;새롭지 않다.&lt;/strong&gt; 새로운 건 진단 난이도다. 모델·하니스·프롬프트가 한 묶음으로 사용자에게 전달되는 순간, 슬라이스가 겹쳐서 발생한 회귀는 status 페이지에 빨간 점으로 찍히지 않는다. Anthropic이 추가한 통제 — per-model eval 강제, ablation 자동화, soak period, dogfooding 거리 좁히기 — 는 모두 &lt;strong&gt;&amp;ldquo;모델 가중치 외 모든 변경&amp;rdquo; 에도 인프라급 변경 관리 규율을 적용&lt;/strong&gt; 하겠다는 약속이다. 다운스트림 엔지니어가 같은 결론을 내면 된다. Claude/GPT/Gemini API 위에서 돌아가는 제품이라면, 모델 자체는 외부 변수지만 &lt;strong&gt;프롬프트·라우팅·리트라이 정책&lt;/strong&gt; 은 우리 변수다. 우리 쪽 변수의 변경 관리에 SRE급 규율을 붙이지 않으면, 똑같은 6주를 우리 사용자에게도 강요하게 된다.&lt;/p&gt;
&lt;h2 id="참고"&gt;참고
&lt;/h2&gt;&lt;h3 id="anthropic-1차-자료"&gt;Anthropic 1차 자료
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.anthropic.com/engineering/april-23-postmortem" target="_blank" rel="noopener"
 &gt;An update on recent Claude Code quality reports&lt;/a&gt; — 본 포스트모템 원문&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything" target="_blank" rel="noopener"
 &gt;Lessons from building Claude Code — prompt caching is everything&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.anthropic.com/news/claude-opus-4-7" target="_blank" rel="noopener"
 &gt;Claude Opus 4.7 출시 공지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.anthropic.com/engineering" target="_blank" rel="noopener"
 &gt;Engineering at Anthropic 인덱스&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="anthropic-api-문서"&gt;Anthropic API 문서
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://platform.claude.com/docs/en/build-with-claude/extended-thinking" target="_blank" rel="noopener"
 &gt;Extended thinking 가이드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://platform.claude.com/docs/en/build-with-claude/context-editing" target="_blank" rel="noopener"
 &gt;Context editing — &lt;code&gt;clear_thinking_20251015&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching" target="_blank" rel="noopener"
 &gt;Prompt caching 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.claude.com/en/api/messages" target="_blank" rel="noopener"
 &gt;Messages API 레퍼런스&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.claude.com/en/docs/claude-code/overview" target="_blank" rel="noopener"
 &gt;Claude Code 문서&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sre--인시던트-관리-배경"&gt;SRE / 인시던트 관리 배경
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://sre.google/sre-book/managing-incidents/" target="_blank" rel="noopener"
 &gt;Google SRE Book — Managing Incidents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://martinfowler.com/articles/feature-toggles.html" target="_blank" rel="noopener"
 &gt;Feature Toggles (Martin Fowler)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2408.03314" target="_blank" rel="noopener"
 &gt;Scaling Test-Time Compute (Snell et al., 2024)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="외부-분석--비교"&gt;외부 분석 / 비교
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://venturebeat.com/technology/mystery-solved-anthropic-reveals-changes-to-claudes-harnesses-and-operating-instructions-likely-caused-degradation" target="_blank" rel="noopener"
 &gt;VentureBeat: Anthropic reveals harness changes likely caused degradation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://status.openai.com/history" target="_blank" rel="noopener"
 &gt;OpenAI 가용성 상태 페이지 히스토리&lt;/a&gt; — 비교 대조&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.litellm.ai/" target="_blank" rel="noopener"
 &gt;LiteLLM 멀티 프로바이더 라우팅&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>