Fableの指摘をルールに変えて、同じレビュアーにもう一度見せた

前回の記事は、Fable 5に読ませたら壊れた。

記事1049はOpus 4.8とSonnet 5で書いてFable 5にレビューさせたところ、指摘が11件出た。結びで言い切っていた「見誤っていた」に本文中の根拠場面がない。転換の直前に、転換後の話(Analyze Requirements)を先出ししていて、驚きが死んでいる。書き直す過程で捨てたはずの合言葉の残骸が結びに残っている。整理の表に、本文で一度も触れていない行がある。どれも、通しで読まないと見えない種類の欠陥だった。

指摘を反映して芯から書き直し、公開した。そこで終わらせず、その指摘を4つの恒久ルールに蒸留して、記事を書く手順書(new-postスキル)とCLAUDE.mdに書き込んだ。この記事は、その蒸留がどこまで効いたかを実測で確かめる記事になる。

11件を4つのルールに削った

Fable 5が1049に付けた指摘のうち、次から使い回せる形に削れたのは4つだった。

一次情報ゲート。記事の主張が外部の製品仕様に依存するなら、書く前に公式ドキュメントを取る。1049は執筆の途中まで、二次情報のまま「Kiroはレビューを省いて速さを売る側だ」と思い込んで書いていた。公式ドキュメントを確認して初めて逆だと分かり、芯ごと書き直す羽目になった。取材を後工程に回すな、というルールにした。

芯ピボット時の通し書き直し。記事の途中で主張の軸が変わったら、変わった箇所だけ直して済ませない。冒頭の掴み・合言葉・見出し・表・結びまで、全部を新しい軸で読み直す。1049の11件のうち、根拠のない自己言及も合言葉の残骸も、この通し読みを省いた跡だった。

中心主張のwhy必須。結びで言い切る主張には、その理由を本文中に最低1つ書く。宣言だけで終わらせない。

表の孤児行禁止。整理の表に並べた行は、本文のどこかで一度は触れる。触れていない行があれば、表を削るか本文に足す。

このうち機械的に「あるか・ないか」を判定できるのは、一次情報ゲートと表の孤児行禁止の2つだけだ。一次情報を取ったかどうかは引用の有無で確認できるし、表の孤児行は表と本文を突き合わせれば数えられる。残る2つ、芯ピボット時の通し書き直しと中心主張のwhyは、「読み直して整合しているか」「理由になっているか」を判断する仕事で、実はルールというより手順の強制に近い。4つを同じ重さの「ルール」として並べたが、機械で検査できる粒度のものは半分だった。

冒頭の4例のうち、伏線の先出し(Analyze Requirementsの前出しで転換が死んでいた指摘)だけは、この4ルールのどれにも対応していない。「先に書きすぎていないか」は要素の有無でなく、記事の展開順という別の軸を読む仕事で、蒸留の対象から漏れた。

この記事自体を検証にする

ルールを書いただけでは、効いたかどうか分からない。だからこの記事をその新ルール下でSonnet 5に書かせ、書き上げた段階で同じFable 5にレビューさせた。指摘は8件だった(うち1件は軽微)。1049の11件から3件減っている。

内訳を見ると、楽観できる数字ではなかった。8件のうち、今の4ルールで機械的に拾えたはずの指摘は1件だけだった。レビューにかけた版の整理表には「自壊」という語があったが、本文のどこにも出てこなかった。表の孤児行の亜種で、これは表を今の形に書き直して解消した。残り7件は、この記事の中で新しく起きた欠陥だった。実験結果を書く前提のタイトルと結びが、実験結果を一度も回収せずに言い切っていた。無料枠が終わったはずのFable 5にレビューさせている、という新事実を結びで唐突に出し、本文のどこにも根拠がなかった(実際には無料期間が終わっても使用量課金に切り替わるだけで、使えなくなったわけではない)。「4つとも機械的に検査できる」と書いた直後の段落で、「読解でしか拾えない指摘がある」と書いていて、自分の分類が自分の中で割れていた。この7件は、指摘を踏まえて今の版で直してある。

1049の指摘11件を4つの恒久ルールに蒸留したが、機械で検査できたのは一次情報ゲートと表の孤児行禁止の2つだけ。本記事へのFable 5の再レビューでは指摘8件のうち、その2ルールで機械的に拾えたのは1件のみで、残り7件は読解でしか拾えなかった

ルールに削れなかったもの

書く前は、蒸留できたのは半分だと見積もっていた。実測はそれより厳しかった。8件中7件が、既存の4ルールのどれにも対応しない欠陥だった。

理由は共通している。今のルールは「要素があるか・ないか」を検査する形をしている。一次情報を引用したか、表の行に対応する本文があるか。今回出た指摘の大半は、要素同士が矛盾していないか、言い切った主張が記事のどこかで回収されているか、という関係を追う仕事だった。「ある・なし」ではなく「合っているか」を見る仕事は、要素を数えるチェックリストには落とせない。

だから答えは、指摘の全部をルールに変換することではなかった。判断の質が要る工程、つまり記事の一貫性を確かめるレビューにだけ上位モデルを置き、そこで出た指摘のうち機械で検査できる分だけをルールに変換して下流に流す。それ以外は、次もまた上位モデルに読ませるしかない。今回の実測は、その「それ以外」の方が多いと教えてきた。

整理

記事1049(Opus/Sonnet執筆)本記事(Sonnet執筆・新ルール下)
執筆Opus 4.8 + Sonnet 5Sonnet 5(4ルール適用)
レビューFable 5Fable 5
指摘件数11件8件
既存ルールで機械的に拾えた指摘(ルール策定前のため対象外)1件(表の孤児行)
読解でしか拾えなかった指摘11件7件

結び

無料期間が終わったFable 5に、この記事を読ませて指摘を8件もらった。使えなくなったわけではない。無料枠を使い切って、課金に切り替わっただけだ。判断の質が要る工程、つまり記事の一貫性を検算するレビューに、金を払ってでも上位モデルを置く。それが正しい判断かどうかを机上で悩む前に、この記事自体がその判断を実地でやってしまっている。

11件が8件になった。ルールで防げたのはそのうち1件で、残り7件は今回もまた上位モデルに読ませて見つけてもらった。次の記事でこの内訳がどう動くかは、まだ分からない。分かっているのは、当分は7件分の読解を上位モデルに払い続ける、ということだけだ。