<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LLM-as-Judge on Claude Code 始めました</title><link>https://kitepon-rgb.github.io/WebAICoding/tags/llm-as-judge/</link><description>Recent content in LLM-as-Judge on Claude Code 始めました</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Fri, 01 May 2026 12:00:00 +0900</lastBuildDate><atom:link href="https://kitepon-rgb.github.io/WebAICoding/tags/llm-as-judge/index.xml" rel="self" type="application/rss+xml"/><item><title>Claudeに計画書を監査させたら、シーソーが止まらなかった話</title><link>https://kitepon-rgb.github.io/WebAICoding/post/claude-audit-seesaw/</link><pubDate>Fri, 01 May 2026 12:00:00 +0900</pubDate><guid>https://kitepon-rgb.github.io/WebAICoding/post/claude-audit-seesaw/</guid><description>&lt;p&gt;いつも楽しくAIプログラミングー。&lt;/p&gt;
&lt;p&gt;俺はいつも、計画書を作って監査させて、さぁ実装だ、という流れでやってます。&lt;/p&gt;
&lt;p&gt;特に Opus 4.7 になってから、その監査がうまくいかない気がしてた。Opusの視野が広がったからだろうか？ 自分の計画とは的外れな指摘を持ってきたり、監査・修正の自動ループ回させると指摘が収束しないことも増えた。&lt;/p&gt;
&lt;h2 id="モグラたたき"&gt;モグラたたき&lt;/h2&gt;
&lt;p&gt;そしてある日、気づいた。&lt;/p&gt;
&lt;p&gt;思想がちょっとややこしいプログラム書いてると、毎回あーでもないこーでもないって言って、遠回しなループっていうか、これモグラたたきし続けてるだろ。&lt;/p&gt;
&lt;p&gt;「Aの観点でBが弱い」と言われて、Bを直す。次の監査で「Bが過剰でAが薄い」と言われる。Aを足したら今度は「Cの整合が取れてない」。Cを直したら「Cの記述が冗長」。直したら「Cの説明が足りない」。&lt;/p&gt;
&lt;p&gt;シーソー。永遠に出口がない。&lt;/p&gt;
&lt;h2 id="やってみたこと"&gt;やってみたこと&lt;/h2&gt;
&lt;p&gt;これに気づいた俺は、こんなことをしてみた。&lt;/p&gt;
&lt;p&gt;程々出来上がった計画書（監査は1, 2回やったやつ）に対して、「計画書の&lt;strong&gt;矛盾点だけ&lt;/strong&gt;を監査してくれ」とお願いする。&lt;/p&gt;
&lt;p&gt;これがバッチリだった。矛盾点をちゃんと潰していってくれて、何度か監査させたらちゃんと収束した。&lt;/p&gt;
&lt;p&gt;矛盾点の数は有限だから、ちゃんと収束するんだね。&lt;/p&gt;
&lt;p&gt;そして計画書の矛盾が無くなった状態で実装させると、どこも止まらないで最後まで突っ走る（笑）&lt;/p&gt;
&lt;p&gt;もちろん、たまに実装上のエラーがあってリトライしてたりはするけどね。&lt;/p&gt;
&lt;h2 id="で世の中にあるのか気になった"&gt;で、世の中にあるのか気になった&lt;/h2&gt;
&lt;p&gt;ここまで来て、ふと気になった。これって自分が初めて気づいたわけじゃないだろ、絶対。同じこと考えた人いるはずだ。&lt;/p&gt;
&lt;p&gt;調べてみた。&lt;/p&gt;
&lt;p&gt;似たのはあった。でも、なんか違う。端的にややこしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Criteria Drift&lt;/strong&gt; (&lt;a href="https://hamel.dev/blog/posts/llm-judge/"&gt;Hamel Husain の解説&lt;/a&gt;、Shankar et al.): LLMにレビューさせると評価軸がじわじわズレる、という現象。対策は「評価軸を磨き直しながら過去のスコアを再採点する」。…重い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Oscillatory Convergence&lt;/strong&gt; (&lt;a href="https://simiacryptus.github.io/Science/learning/2025/07/06/llm-feedback-dynamics.html"&gt;Fractal Thought Engine&lt;/a&gt;): LLMの反復フィードバックで、解法アプローチを行ったり来たりするセッションが一定数ある、という観測。観測はされてるけど、対策の話ではない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moving the Goalposts&lt;/strong&gt; (&lt;a href="https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/evaluating-ai-agents-techniques-to-reduce-variance-and-boost-alignment-for-llm-j/4498571"&gt;Microsoft の記事&lt;/a&gt;): 評価中にrubricを動かすな、評価開始前にrubricを確定しろ、という話&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;近い話はあるんだ。でも自分がやったのは「rubricを確定させる」じゃなくて「&lt;strong&gt;評価軸そのものを矛盾の1点に絞る&lt;/strong&gt;」。観点が広い限り指摘ネタは無限に湧くから、観点側を有限な集合に閉じ込めにいく。これが端的に書かれた既存研究は見つからなかった。&lt;/p&gt;
&lt;p&gt;たぶん、どこかには書いてあると思う。あるはずなんだけど、論文の言葉で書かれてて、自分が気づいた頃にはもう2ヶ月経ってた。&lt;/p&gt;
&lt;h2 id="言われてみれば単純"&gt;言われてみれば単純&lt;/h2&gt;
&lt;p&gt;書いてみると単純な話だった。「観点を絞れば収束する」、それだけ。&lt;/p&gt;
&lt;p&gt;でも自分は2ヶ月気づかなかった。&lt;/p&gt;
&lt;p&gt;「Claudeを賢く使えば直る」と思って、プロンプトの書き方をひたすら変えてた。「指摘しすぎないで」「過去の指摘と一貫して」と書いても、効かない。書き方の問題じゃなかったから。&lt;/p&gt;
&lt;p&gt;観点を「有限なものだけ」に絞る、という発想が出るまで時間がかかった。普通に監査させると観点が広いから、何直しても別の角度から穴が見つかる。それだけの話だった。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;計画書を監査させて収束しない時は、観点を「矛盾点だけ」に絞る&lt;/li&gt;
&lt;li&gt;矛盾点は有限なので、ちゃんと収束する&lt;/li&gt;
&lt;li&gt;普通に監査させると観点が広いので、指摘が無限に湧いてモグラたたきになる&lt;/li&gt;
&lt;li&gt;矛盾が無くなった計画書を実装させると、止まらず最後まで走る&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;同じ罠でモグラ叩きしてる人がいたら、書いた甲斐ある。&lt;/p&gt;
&lt;p&gt;いいことをした日は気分がいい。&lt;/p&gt;</description></item></channel></rss>