AI に技術記事を 1 本まるごと書かせ、人は本文に触らずに検証工程を通す——という実験をしました。結果の記事は別にあります。この記事はその実験を走らせる前に何を固定し、何を固定し忘れたかだけを書きます。
固定し忘れた 2 枠は、結果を否定しませんでした。結論の射程を削りました。「同じ条件で 3 回」と言えなくなったのです。
結果を先に書きます。実験前に固定すべき枠を 6 つに分けると、埋まっていたのは 4 つでした。
| 枠 | 事前に固定したか | どう固定したか | 効いたこと/失ったこと |
|---|---|---|---|
| 材料 | ✅ | 3 ファイル・5,085 バイト・sha256 を別ファイルに保存 | 「材料に無い数字」の検査が機械でできた |
| 検査表 | ✅ | 6 型+重大/軽微を生成前に文章で固定。制作側の AI には渡さない | 検出 11 件の「型」が後から動かなかった |
| 開始指示 | ✅ | 1 文。ファイルに保存 | 同じ開始入力を再送できた(出力の同一性は保証しない) |
| 制作環境 | ✅ | 新規フォルダ・設定なし・フックなし、と記録 | 「素の環境」という前提を言える |
| レビューの指示文 | ❌ | 固定していなかった。3 回のうち #1・#2 は人がその場で打った言い方、#3 は 6 型を列挙した 1 枚 | 3 回を「同一条件の 3 点」として並べられない |
| 停止則 | ❌(事後) | 結果を見たあとに、続編の設計として書いた(未実行) | 事前に無かったので、今回の 3 回には効いていない |
「4 つ固定した」は本当です。「先に決めるべきものを全部決めていた」は嘘になります。空いていた 2 枠は、どちらも対象ではなく測定器の側でした。
この記事の位置づけ(2026-09-26 追記)
- この記事で新しく示すこと: 実験前に固定すべき枠を 6 つに分けると 4 つしか埋まっておらず、欠けた 2 枠(レビューの指示文・停止則)が結論の射程を削ったこと。
- 当てはまる範囲: 当方の 1 実験です。
何の実験か(1 段落)
材料だけを渡した AI(Claude Opus・素の環境)に技術記事を 1 本書かせ、出力を 1 文字も触らず凍結し(A)、外部の AI レビュー(GPT)を 3 回かけ、指摘の真偽を当方が一次資料と実行で確定し、確定した欠陥だけを直した版(B)を作りました。事前に固定した 6 型で 11 件、型外の運用ゲートで 4 件が出ました。結果側の記事はこちらです(人の編集を 0 にして技術記事を書かせ、いつもの検証にかけたら 15 件出た)。
埋まっていた 4 枠
材料——ハッシュを取って渡す
渡したのは 3 ファイルです。
| 種類 | バイト | 中身 |
|---|---|---|
| ネタ出しメモ | 1,637 | 問いと、手元にある数字 |
| 計測ログ | 2,646 | コマンドの出力をそのまま。解釈は入れない |
| 対象コード | 802 | 13 行 |
合計 5,085 バイト。sha256sum の出力を別ファイルに保存してから走らせました。
効いた場面は検査です。「材料に無い数字や事実を作っていないか」は、材料が固定されていれば機械で突き合わせられます。A の本文に出てくる数字・引用コード・リンクを材料と照合し、材料の範囲に収まっていることを確認できました(当方の照合記録では数字 16 種・引用 10 行・リンク全件)。材料が動いていたら、この検査は「たぶん合っている」で終わっていました。
検査表——生成の前に、文章で
6 型(数値の誤り・出典の不対応・再現しないコード・内部矛盾・過剰一般化・仕様/観測/推測の混同)と、重大/軽微の定義を、生成の前に書きました。制作側の AI には渡していません。
効いたのは「型が動かない」ことです。11 件を数えるとき、「これは型 ⑤ か ⑥ か」で迷った件はありましたが、「型を増やそう」「この件は数えないでおこう」はできませんでした。表が先に在ったからです。
開始指示——1 文をファイルに
このフォルダの 材料/ の内容だけを根拠に、Zenn に公開する技術記事を out/ に完成させてください(題材の絞り込み・構成・本文の Markdown・図の画像・公開前のセルフチェックまで全部あなたがやり、途中で人は一切手を入れません。材料に無い数字や事実は作らないでください)。
ファイルに保存し、初回が認証切れで走らなかったときも、同じファイルで再走しました。固定できたのは開始入力までです。LLM の出力や実行環境の細部まで同一になるわけではありません。
制作環境——「素」であることを記録
新規の作業フォルダ・上位にも設定ファイルなし・ユーザー設定とフックを読まないオプション、を記録してから走らせました。「素の環境で書いた」と言うための前提です。
空いていた 2 枠
レビューの指示文——3 回とも違った
外部 AI レビューを 3 回かけました。新規の真の欠陥は 3/4/4 件。3 回目でも新規が 4 件出ています。ここから「何回で飽和するか」を言いたくなります。
言えませんでした。3 回の指示文が同じではなかったからです。
| 回 | 指示文 | 新規の真 | 既出の再指摘 | 誤指摘 |
|---|---|---|---|---|
| #1 | 人がその場で打った(「精査して」に近い言い方) | 3 | — | 1 |
| #2 | 人がその場で打った(同上) | 4 | 3 | 1 |
| #3 | 6 型を列挙した規定の 1 枚(ファイルあり) | 4 | 4 | 2 |
さらに悪いことに、#1・#2 の指示文は逐語で残っていません。「精査してに近い言い方」というのは当方の記憶で、ファイルが無いので確かめられません。この記事の主題からすると、それ自体が欠損です。固定していないものは、後から比べられないだけでなく、後から何だったかも言えない。
#3 の「新規 4」が、回を重ねた効果なのか、指示文を変えた効果なのか、分けられません。したがって「3 回目でも 4 件」は事実として書けますが、「同一条件で 3 点取った」とは書けません。
停止則——あとから書いた
結果を見てから、続編の設計を書きました。凍結した A に #4〜#6 を足して飽和曲線を取る、という設計です。そこに初めて停止則を置きました。
- 上限は 6 回。達したら飽和していなくても止めて「飽和しなかった」と書く
- 新規の真が 0 の回が 2 回続いたら飽和とみなす
- 途中で指示文・検体・渡し方を変えない。変えたらその時点で実験は終了扱い
- #4 以降は規定の 1 枚に固定し、#1〜#3 は「参考」として分けて描く
3 行目は、上の失敗をそのまま規則にしたものです。事前に書いていれば、#3 で指示文を変えた時点で「ここから別の実験」と扱えていました。
この続編はまだ走らせていません。走らせる前に設計を凍結する、と書いてあります。今度は先に固定します。
対象は固定し、測定器を固定していなかった
埋まっていた 4 枠(材料・検査表・開始指示・環境)は、全部実験の対象に関するものです。空いていた 2 枠(レビューの指示文・停止則)は、測定器に関するものです。対象を固定すれば結果は動かない、と思っていました。動きませんでした。動いたのは「結果から何が言えるか」のほうです。
今回使った 1 枚: Freeze sheet
| 枠 | 凍結した日時 | 証拠 | 変えたら何が言えなくなるか |
|---|---|---|---|
| 材料 | 生成前 | sha256・ファイル | 「材料に無い数字」の検査 |
| 検査表 | 生成前 | 文章(ファイル) | 件数の「型」 |
| 開始指示 | 生成前 | ファイル | 同じ開始入力の再送 |
| 制作環境 | 生成前 | 記録(設定なし・フックなし) | 「素の環境」という前提 |
| レビューの指示文 | (空) | — | 回どうしの比較。逐語も残らない |
| 停止則 | (事後) | 続編の設計 | 「何回で止めるか」の根拠 |
当方の実験では、上 4 枠が埋まり、下 2 枠が空でした。この表を走らせる前に全部埋めるのが、次の実験の最初の作業です。空のまま走らせるなら、「その枠が空だと何が言えなくなるか」だけは先に書いておきます。
この 1 本から言えること/言えないこと
言えること:
- 材料・検査表・開始指示・環境を生成前に固定したことで、「材料に無い数字」の検査と件数の型が後から動きませんでした
- レビューの指示文を固定していなかったので、3 回のレビューを同一条件として並べられませんでした。#1・#2 の指示文は逐語で残っていません
- 停止則は結果を見たあとに書きました。今回の 3 回には効いていません
言えないこと:
- 「停止則を事前に固定していた」とは言いません
- 「事前に固定すれば結果が正しくなる」とは言いません。固定は「結果の読み方が後から動かない」ことを担保するだけで、n=1 です
- 「同じ開始指示なら同じ出力になる」とは言いません。固定したのは入力です
- 続編(#4〜#6)の結果は書けません。走らせていません
- 統計的検定の話はしません。件数は 3/4/4 の 3 点です
再現したい人へ
- 走らせる前に、上の Freeze sheet の 6 枠を埋める。空の枠があれば、その枠が「後から言えなくなること」を先に書いておく
- 材料は
sha256sumで固定し、出力もそのまま凍結する(当方は git のコミットで固定しました) - 検査表は制作側に渡さない。渡すと「検査表に合わせて書く」が混じります
- レビューを複数回かけるなら、指示文を 1 枚のファイルにして毎回同じものを貼る。変えたら別の実験として数える。その場で打った指示は、打った直後にファイルへ写す
AI の利用について
実験の設計・材料の固定・検証・この記事の下書きは AI(Claude Code)が行い、走らせる判断と裁定と公開の判断は人が行っています。件数は全部、実験記録と欠陥台帳から写しています。
関連
この記事は「固定する → 測る → 道具を選ぶ → 公開後に伝播する」の 4 本のうち、固定するの回です。
- 本家(別軸版・検証の記録つき): 実験前の Freeze sheet は 6 枠中 4 枠だった——失敗パターン実測録 #12
- 結果側の記事: 人の編集を 0 にして技術記事を書かせ、いつもの検証にかけたら 15 件出た
- 別軸版(工程 1 回の値段): 検証工程の値段——人の編集 0 の原稿に、工程 1 回で消えた欠陥と消えなかった欠陥
- 次(このシリーズ): 記事 1 本を作る材料の作り方——解釈を入れず、コマンドの出力だけを渡す(近日)/公開の直前に効いた 4 つの運用ゲート(近日)
この記事は Zenn にも同じ内容を掲載しています。
