---
title: "追わない技術 第3回：最新モデルを使わない技術"
author: garplab
publisher: TypingTube
license: CC BY 4.0
license_url: https://creativecommons.org/licenses/by/4.0/
license_scope: 「CC BY 4.0」の印から始まる節（仕組み・検証手順・コード）。印の無い本文は著作権を留保
canonical: https://typing-tube.net/articles/owanai-03-no-latest-model
series: "追わない技術"
language: ja
---


今回は、**強いモデルでないと通らなかった仕事が、通るようになった**話です。⚠️ 先に、題を否定しておきます。**新しいモデルは、使うべきです。**出たらまず使ってください。⭐⭐ **使わなくてよくなるのは、その仕事の型を明文にできて、しかも「渡さないと落ちる」ことを確かめた場合だけです。**この連載の 1 作目を書き始めた日、私は文章に強いとされるモデルに 8 割方を投げていました。いまは同じ仕事が、既定のモデルだけで出ています。⭐ **その間に私がやったのは、モデルを選び直すことではありません。** 規約と検査を積んだだけです。

⚠️ もう 1 つ断っておきます。**この回にはモデルの名前も、価格も、性能の数字も出てきません。** 半年で古くなるものは、この連載では書かないと決めています。書くのは「**差がどこで生まれ、何を置くと消えるか**」という形のほうです。以降、比べるものは「**高い側**」と「**安い側**」とだけ呼びます。

まず一つ思い出してみてください。直近で「これは強いほうでないと無理だ」と判断したとき、あなたは**何と何を比べました**か。⚠️ **両方に同じものを渡して、落ちた場所を並べましたか。** それとも、片方が失敗した時点で乗り換えましたか。

## 1 週間ぶんの内訳は、証拠になりませんでした

手元の記録から、記事を書いていた 1 週間ぶんの応答をモデル別に数えました。

| 日 | その日にやったこと | モデルの内訳 |
|---|---|---|
| 1 日目 | 1 作目のドラフト 17 本（規約 0 / 検査 0） | ⭐ **文章に強い側 83%** / 既定 17% |
| 3 日目 | 3 作目の本文 9 本 + **規約を 76 コミットぶん積んだ** | 既定 78% / 特化 22% |
| 6 日目 | 本文 2 本 + **書き方の検査 3 本** | ⭐ 既定 **100%** |

⭐ 同じ種類の仕事（記事本文を書く）だけを並べると、**特化 83% → 既定 78% → 既定 100%** です。その間に積んだのは規約 29 条と、書き方を見る検査 6 本でした。

⚠️⚠️ **それでも、この表は証拠になりません。** 理由が 3 つあります。

1. ⚠️ **抜いた日がある。** 4 日目・5 日目は記事ではなく本の付録を作っていて、仕事の種類が違います。同じ列に並べれば、その日の内訳が「積んだ効果」に見えてしまいます
2. ⚠️ **文章に強い側の新版が、ちょうど 1 日目の前後に出ています。** 「使えるものが増えた」時期と重なっているので、内訳の動きをどちらの理由にも読めます
3. ⚠️⚠️ **いちばん重いのはこれです** —— この数字が示しているのは「**何を使ったか**」であって、「**何で足りたか**」ではありません。切り替えたのは私の手なので、**このままでは私の主観の記録**です

⭐⭐ **3 つとも、後から統計で落とせるものではありません。** 記録は既に取られてしまっていて、条件は私が選んでいます。だから、統制した側を別に用意しました。

## 同じ課題を、高い側と安い側の 12 体に渡しました

会話を引き継がない作業者を 12 体、同時に起動して、同じ課題を渡しました。課題は「**未公開の記事を 1 本書く**」です。軸は 2 本あります。

- **仕組みの軸** —— 書き方の型を**言語化した文で渡すか、渡さないか**
- **モデルの軸** —— **高い側か、安い側か**

⭐⭐ 採点は人がやりません。**この連載の記事は、書き方の型を機械が既に見ています**（導入の主題文・次回予告の形・検証手順の 6 ラベル・本文の分量）。その検査をそのまま採点表に流用したので、**合否に私の判断が 1 度も入りません。**

    [observed] 1 回目（12 体・11 点満点）
    型を渡さない  高い側 8.0 / 安い側 6.3
    型を渡した    高い側 11.0 / 安い側 9.0
    仕組みの軸 +2.8 ／ モデルの軸 1.8

⭐⭐⭐ **仕組みの軸（+2.8）のほうが、モデルの軸（1.8）より大きく出ました。** そして、いちばん効く 1 行はここです ——

> ⭐⭐⭐ **安い側に型を渡したほう（9.0）が、高い側に型を渡さなかったとき（8.0）を上回りました。**

⚠️ ただし、この 1 回では**まだ言えていないこと**があります。型を渡した側は、渡した文のぶんだけ**入力が長い**のです。効いたのが「型」なのか「渡した量」なのか、この形では分けられません。

## 効いたのは、渡した量ではなく型のほうでした

そこで 2 回目は、条件を 1 つ増やしました。**型の話が 1 つも書いていない、同じ長さの文**を渡す条件です。⭐ **量だけを型と同じだけ増やして、中身を抜いた**わけです。

    [observed] 2 回目（12 体・1 回目と同じ 11 項目に換算）
    型を渡さない          7.0
    同じ長さの無関係な文  7.5
    型を渡した           10.2

⭐⭐⭐ **同じ長さの無関係な文（7.5）は、何も渡さないとき（7.0）の隣に落ちました。** 型を渡した側だけが、そこから **+2.7** 離れています。⭐ **効いたのは量ではなく、型のほうでした。**

⚠️⚠️ そして、この回でいちばん強いのは平均そのものではありません。**別の題材・別の実例・別の並びで回したのに、1 回目とほとんど同じ幅が出た**ことです（7.2 → 10.0 と 7.0 → 10.2）。⭐ 1 回の差はノイズですが、**幅が再現したなら、それは形です。**

⚠️ ここも割り切れていないところを 1 つ残します。無関係な文が効かなかったことは、「**量は効かない**」とも「**関係ないと見て読み飛ばした**」とも読めます。この形では分けられません。

## 型を言語化しても、守れないものがありました

落ちた項目を並べたとき、1 位はずっと同じでした。⚠️ **本文の分量**です。12 体のうち 7 体、次の回は 8 体が外れました。

⚠️⚠️ **分量の範囲は、規約に数字で書いてあります。** それでも外れます。⭐ 理由ははっきりしていて、**書いている側が自分の書いた文字数を数えられない**からです。

> ⭐⭐ **型を言語化しても守れないものがある —— 自分で数えないと分からない型です。**

⭐⭐⭐ これは「規約に書くか、検査にするか」という選び方に、線を 1 本引きます。**読めば守れる型は、文で足ります。数えないと決まらない型は、文では届きません。** ⚠️ 後者は最初から検査の側に置くしかありません。

⚠️ この結果は「型を言語化すれば安い側でも通る」を否定していません。**言語化の形が「文」では足りない型がある**、という線の引き直しです。

## 型を渡さないと、高い側のほうが大きく崩れました

平均だけを見ていると消えるものがあります。⚠️⚠️ **12 体で最低点を出したのは、高い側でした。**

その 1 体は、**換算前**の 13 点満点の **2 点**です（⭐ この回の実物は 13 項目で、上の平均はそれを 1 回目と同じ 11 項目へ換算した数です）。見出しの階層を 1 つ間違え、検証の節を 1 つも置きませんでした。⭐ 1 か所を外した結果、そこにぶら下がる項目が**まとめて落ちています。**

> ⭐⭐ **型が言語化されていないときの落ち方は、「少し下がる」ではなく「丸ごと外す」ことがあります。**

⚠️⚠️ この 1 体だけで、その回のモデルの軸は符号が反転しました。だから私は「**安い側のほうが良い**」とは書けません。⭐ 書けるのは、**平均ではなく落ち方の幅のほう**です —— 型を渡さないと、**どちらの側も同じようには落ちない**。

## 渡さなくても守られる型に、仕組みを置く意味はありません

回を重ねるうちに、逆側の数字も出ました。**知見を何も渡さない**条件を足したときです。

    [observed] 5 回目（12 体・11 点満点）
    何も渡さない 10.75 ／ 実例を渡す 10.75 ／ 型を渡す 11.00
    11 項目のうち、この 12 体が一度も落とさなかった項目: 10

⚠️⚠️ **何も渡さなくても、11 項目のうち 10 項目は両方の側が守りました。** ⭐ 差が出たのは 1 項目だけです。

> ⭐⭐ **渡さなくても守られる型に、仕組みを置く意味はありません。**

⭐⭐⭐ これは主題の反証ではなく、**手順の順番の話**です。仕組みを置く前に見るべきなのは「置いたら守られるか」ではなく、⚠️ **「置かないと落ちるか」**のほうでした。落ちない項目に規約を 1 条足すと、**規約だけが増えます。**

## 費用: 仕組みを置くと、置いたぶんだけ何かが塞がります

⚠️⚠️ ここは主題に正面から当たる副作用なので、隠さずに書きます。**型を明文で渡すと、渡したことによる失点が出ました。**

1. ⭐⭐⭐ **明文を渡した側だけ、実物の検査から見えない書き方が増えました。** 何も渡さない 10 体では 0 件、型を渡した 10 体では 5 件です（⭐ **どちらも、2 度の実験を合わせた体数**です）。**型は守られ、同時に、その型を見張っている検査の目が塞がれます**
2. ⭐⭐⭐ **明文を渡したことが、明文を渡した項目そのものを落としました。** 落ちた 3 体は、いずれも**落ちた行がコメントだけ**でした。⚠️ 渡した知見を守るだけでなく、**守っている理由を書き残し、その 1 行が当の検査に引っかかった**形です

⭐ どちらも「差は仕組みで埋まる」の**費用の側**です。⚠️⚠️ **仕組みは無料ではありません。** 置いた数だけ、置いたことに由来する落ち方が増えます。

## 原理: モデルの差は、仕組みの穴の在処を指しています

⭐⭐ ここまでの数字を 1 つにまとめます。

> ⭐⭐⭐ **モデルの能力で埋めていた差は、仕組みを置くと埋まります。だから「もっと強いモデルが要る」は、たいてい「仕組みが足りない」でした。**

⚠️ 大事なのは、**差そのものを消すことが目的ではない**ところです。⭐ **差が出た箇所は、仕組みが足りていない場所を指しています。** 高い側は、足りていない仕組みを**能力で埋めてしまう**ので、穴が見えません。⚠️⚠️ **安い側は、同じ穴でそのまま落ちます。**

だから、**両方に渡すこと自体が検出器になります。** 高い側が通り、安い側が落ちた箇所 —— そこだけが、仕組みで埋められる差です。

⚠️ 逆に、**落ちた理由を検査に落とせない差**が残ることもあります。⭐ その差は仕組みの穴ではなく、能力の差のほうです。**判定は「検査にできたかどうか」**で付きます。

```mermaid
flowchart TD
  A["同じ課題を両方へ渡す"] --> B{"落ちたのは<br/>安い側だけか"}
  B -- "両方通った" --> C["⚠️ 仕組みは要らない<br/>置いても守られる型が増えるだけ"]
  B -- "安い側だけ落ちた" --> D{"落ちた理由を<br/>検査にできるか"}
  D -- "できる" --> E["⭐ 仕組みが 1 つ増える<br/>差はここで埋まる"]
  D -- "できない" --> F["⚠️ ここは能力の差<br/>高い側に残す"]
```

⭐⭐ **払うのは 1 度です。** 両方に渡すぶん、その場では高くつきます。⚠️ **差が消えた項目については、以後を安い側で回せます。**

## 検証手順: 両方に渡して、落ちた差だけを仕組みにする

**前提**

- 会話を引き継がない作業者を、**同じ課題へ同時に**起動できること（1 体ずつ順に回すと、その時々の混み具合が条件の差に化けます）
- 合否が**機械で決まる課題**であること。⚠️⚠️ **人が採点する課題では、この手順は費用が跳ねます**（体の数だけ人の判定が要ります）
- ⚠️ 題材は**未公開のもの**にすること。公開済みのものを書き直させると、正がどこにあるかが濁ります

**所要時間**: 30 分（採点する検査が既にある場合。無いなら、まず検査を 1 本書くところから）

**手順**

1. 同じ課題を用意します。⚠️ **両方へ渡す中身は 1 バイトも同じ**にします
2. **高い側と安い側の両方**に、同じものを渡します。⚠️ 1 回の差はノイズなので、**同じ課題を複数回**回します
3. **高い側が通り、安い側が落ちた箇所**だけを並べます。⭐ ここが仕組みの足りない場所です
4. ⚠️ 並べた 1 つずつに「**渡さないと落ちるか**」を先に当てます。両方が守っている項目は、ここで捨てます
5. 残った差を、**規約か検査にして置きます**。⚠️ **数えないと決まらない型は、規約ではなく検査の側**に置きます
6. もう一度、両方へ同じものを渡します

**合格条件**（すべて満たすこと）

- 手順 3 で並べた差が、**1 つ以上ある**（0 件なら、その課題では仕組みの穴が見えていません）
- 手順 5 で置いたものが、**人の判定を 1 度も要求しない**（要求するなら、それは仕組みではなく運用です）
- 手順 6 で、**安い側の落ちた箇所が減っている**
- ⚠️ **高い側の点が下がっていない**（= 置いた仕組みが、通っていた側を壊していない）

**合格しなかったとき**

- **差が 0 件だった** —— 課題が易しすぎます。⚠️ **題材の側**を難しくしてください（物差しを厳しくすると、次は全員が同じ 1 か所で落ちて、やはり差が測れません）
- **差はあるが、検査にできない** —— そこは能力の差です。⭐ **その項目だけ高い側に残す**のが正解で、無理に規約へ書くと守られない条文が 1 つ増えます
- **手順 6 で高い側が下がった** —— 置いた仕組みが、**通っていた書き方まで禁じています**。⚠️ 条文の範囲を、落ちた現物 1 件ぶんまで狭めてください
- **落ち方が体ごとにばらばら** —— 回数が足りません。⚠️⚠️ **1 体の極端な結果で平均の符号が変わります**（実際に、最低点の 1 体だけでモデルの軸が反転しました）

**後始末**

- 作業者が書いた現物と採点表を削除します。⚠️ **採点表も一緒に消してください** —— 残すと、題材を作り直したつもりのまま古い採点で比べることになります
- ⚠️ 手順 5 で置いた規約・検査は**残します**。⭐ 消してよいのは測定の跡だけです

## 注意: この実験が言えないこと

⚠️⚠️ **「安い側を既定にしてよい」とは、まだ言えません。** 条件ひとつあたりの回数が少なく、モデルの軸は 1 体の極端な結果で符号が変わる程度の差しかありませんでした。⭐ 言えているのは**仕組みの軸のほうが大きく出た**ことと、**その幅が別の題材で再現した**ことまでです。

⚠️ もう 1 つ。**難しさは、物差しではなく材料で決まっていました。** 同じ物差し・同じ課題のまま、材料の言い回しを変えただけで、ある項目の落ちた体は **4 → 12 → 0** と往復しています。⭐⭐ **合否で測るかぎり、難度は材料の 1 行で反転します。** だから、この形の実測は**絶対の点数**ではなく、**同じ材料の中での条件差**としてだけ読めます。

⚠️ そして冒頭の内訳表は、最後まで証拠になりません。⭐ **統制された側で言えるのは「型を渡すと差が縮む」までで、「私が乗り換えなかった理由」はそこには含まれていません。**

## 乗り換えなくなったもの

- ⭐ **失敗を見たときに、上のモデルへ替えるのをやめました。** 先に、同じものを両方へ渡します。⚠️ **片方だけが落ちた箇所が無いなら、替えても直りません**
- ⭐⭐ **「守られていない型」を規約に足すのをやめました。** 足す前に、**渡さなくても守られるか**を見ます。守られるなら条文は増やしません
- ⚠️ **数えないと決まらない型を、文で書くのをやめました。** 分量・個数・並びの数は、最初から検査の側に置きます
- ⚠️⚠️ **新版が出た日に、組み方のほうを入れ替えるのをやめました。** ⭐ **新しいものは使います。**入れ替えるかどうかの材料が発表ではなく、**手元で落ちている箇所の一覧**だ、という話です

強いモデルが要る、という判断は、たいてい正しく見えます。⚠️ **落ちたところを見たうえでの判断だからです。** ⭐⭐ **ただ、その落ちたところが「仕組みで埋まる側」なのかは、両方に渡してみるまで分かりません。**

---

次回は「サブエージェントを使わない技術」。**私は、本体で終わる仕事をサブエージェントへ投げるのをやめました。**任せた 1 体が返してくるまでの間に、こちらが読み直している前提の量を数えたからです。
