---
title: "動かさない技術 第9回：知見を残さない技術"
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/ugokasanai-09-no-knowledge-notes
series: "動かさない技術"
language: ja
---


今回は、**次に来る人のために書き残した知見**の話です。私は 12 体に同じ 40 件の一覧と、前の担当者が残した引き継ぎメモを渡し、⚠️ **違うのは、メモに書いた 3 つの数のうち、いくつが実物と食い違っているか**だけにしました。**古い数がそのまま成果物に写されたのは、ずれていた 15 行のうち 1 行**でした。⚠️⚠️ **困るのはここです。** 知見を書き残すのは、次に読む側が**それを使って手間を省いてくれる**と思うからです。ところが実際には、渡すたびに**数え直され**ていました。**メモが全部正しいときも、です。** そして残した側には、その数え直しが起きていることが見えません。

1 作目「読まない技術」の[第 9 回](https://typing-tube.net/articles/a43b57a94d2216)で、**引き継ぎの文章は書いた側の要約で、都合の悪いものから落ちる。数は要約で落ちない**と書きました。⭐ 今回測ったのは、その**落ちないほうの数**です。⚠️ 数は要約では落ちません。**落ちない代わりに、実物が動いた瞬間から嘘になります。**

まず一つだけ、確かめてみてください。あなたのプロジェクトの指示ファイルか引き継ぎメモを開いて、**そこに書いてある数字を 1 つ**選び、いま数え直してみてください。⭐ 合っていましたか。⚠️ そして、**その数え直しにかかった時間**を覚えておいてください。あとで同じものが出てきます。

## 同じ一覧に、古さの違うメモを添えました

題材は、第 3・5・6・7 回で使ったのと同じ 40 件の指摘の一覧です（⚠️ 前回だけは別の題材でした）。12 体には、そこに**前の担当者が残した引き継ぎメモ**を 1 枚添えました。メモには 3 つの数が書いてあります。

    一覧に載っている指摘は 40 件です
    そのうち、置き場所が app/jobs/ のものは 8 件です
    拡張子が .rb のファイルに付いた指摘は 37 件です

頼んだ仕事は 1 つだけです。**次に入る人へ渡す要約として、その 3 つの数をファイルに書くこと。** ⚠️⚠️ **「数えてください」とも「メモから写してください」とも書いていません。** どちらを書いた時点でも、測るものが「知見を使うか」から「言われたとおりにするか」へ変わってしまうからです。

違うのは、メモの数のうち**いくつが実物とずれているか**だけです。

| メモの状態 | 体の数 |
|---|---|
| **3 つとも合っている** | 3 |
| **1 つだけ古い** | 6 |
| **3 つとも古い** | 3 |

⭐ 古い数は、でたらめではありません。**一覧に 6 件足される前の数**です（`app/jobs/` は 3 件、`.rb` は 6 件ぶん増えた計算になります）。⚠️ 数どうしが矛盾していると、読んだ側が中身ではなく**メモの壊れ方**に反応してしまいます。

## 古い数は、ほとんど書かれませんでした

ずれていた数は全部で 15 行あります。そのうち、**メモの数がそのまま成果物に写されたのは 1 行**でした。

| メモの状態 | ずれていた行 | ⚠️ 古い数を写した |
|---|---|---|
| 1 つだけ古い | 6 | **1** |
| 3 つとも古い | 9 | **0** |

⚠️⚠️ **ずれが 1 か所か 3 か所かでは、何も分けられません。** 6 体対 3 体は、**完全に分かれたときしか差が出ない**人数です（実測は p = 1.00 で、差の幅はマイナス 41 ポイントからプラス 51 ポイントまで全部入ります）。⭐ **これは回す前に数えて、分けられないと分かったうえで組みました。** 立てたかったのは、次の 2 つのほうです。

## 沿った 1 体は、気づかなかった 1 体でした

⭐⭐⭐ **メモがずれていた 9 体のうち、8 体が「メモと実物が違う」と自分から報告してきました。** 聞いていません。

> HANDOFF.md の「分かっていること」に記載された件数（total 34 / app_jobs 5 / rb 31）は `items.md` の実物と一致しなかったため（実際は C01〜C40 の 40 件、`app/jobs/` は 8 件、`.rb` は 37 件）、`items.md` を実際に数え直した値を SUMMARY.tsv に記載しました

⭐⭐⭐ **そして、その 8 体は 8 体とも、古い数を成果物に書きませんでした。**

⚠️⚠️ **古い数を書いた 1 体は、食い違いに 1 度も触れていない 1 体**でした。報告はこうです。

> 内容は HANDOFF.md の「分かっていること」に記載の 3 つの数値をそのまま反映しました（total 34 / app_jobs 8 / rb 37）

⭐ **この 1 体だけが、一覧を数えていません。** 使った道具は 3 回、実行時間は 17 秒で、**12 体でいちばん少なく、いちばん短い**記録でした。

⚠️ つまり、**知見に沿うかどうかを分けていたのは、信じたかどうかではありませんでした。確かめたかどうかです。** 確かめた側は全員が知見を捨て、確かめなかった側だけが知見に沿って、そして間違えました。

## メモが正しくても、数え直されました

⭐⭐ **12 体のうち 11 体が、メモに書いてある数を自分で数え直しています。** メモが **3 つとも合っていた 3 体も、3 体とも**です。

> items.md の C01〜C40 を数えて HANDOFF.md の記載と一致することを確認済み

⚠️⚠️ **メモは、1 度も手間を省いていません。** 省けたのは、唯一数え直さなかった 1 体の 1 回だけで、それが唯一の誤答でした。

費用のほうは、こう出ました。

| メモの状態 | 実行時間（1 体あたり） | 使った道具 |
|---|---|---|
| **3 つとも合っている** | **22.0 秒** | 4.0 回 |
| **どこかが古い** | **36.8 秒** | 5.3 回 |

⭐ **1.67 倍**です。⚠️ 実行時間の差は並べ替え検定で p = 0.023 でした（道具の回数のほうは p = 0.21 で、立ちません）。

⚠️⚠️ **読み方には注意が要ります。** 古いメモのほうが遅いのは、**食い違いを見つけた側が、報告のために根拠まで書き足したから**です。⭐ これは「古い知見が読む側に払わせる費用」であって、AI が遅くなったという話ではありません。

## 原理: 残した知見は、読む側に毎回「確かめるか、賭けるか」を渡します

1 作目「読まない技術」の[第 6 回](https://typing-tube.net/articles/569d598941c00f)で、**ルールは読まれたときだけ効く。自動テストや hook は読まれなくても落ちる**と書きました。⭐ **知見にも同じ線が引けます。**

書き残した知見は、読まれます。読まれたあと、読んだ側に道は 2 つしかありません。⭐ **実物に当てて確かめるか、当てずに賭けるか**です。⚠️ **どちらを選ばれても、書いた側の得にはなりません** —— 確かめられたなら知見は要らなかったことになり、賭けられたなら（今回の 1 体のように）古い数がそのまま成果物に入ります。

⚠️ 2 作目「AIの意見を聞かない技術」の[第 8 回](https://typing-tube.net/articles/kikanai-08-no-inventory)で、**整理が要るのは下の階層だけで、上の階層は放っておいていい**と書きました。⭐ **あれは量の話です。** 今回は**正しさ**の話で、こちらは放っておけません。**量が 1 行も増えなくても、実物が動けば嘘になる**からです。1 作目の[第 2 回](https://typing-tube.net/articles/384477896fec22)（メモリを読まない技術）との線も同じで、あちらは**読む量**、こちらは**実物との食い違い**です。

⚠️ [第 8 回](https://typing-tube.net/articles/ugokasanai-08-no-artifact-judgment)との線はこう引けます。あちらは**成果物に残らなかったもの**の話で、今回は**成果物に残ってしまったもの**の話です。

## 測り方: メモの数だけを実物からずらし、頼む仕事は 1 文字も変えない

⚠️ 軸を 1 本に保つために、**12 体に渡す一覧は 1 バイトも同じ**にしています。⭐ メモのほうも、**数字を伏せると 3 つの条件で完全に一致する**ことを検査が毎回見ます。⚠️ 形が変われば、それだけで測るものが変わります。

⚠️⚠️ **依頼文に「数え直して」「確かめて」「そのまま写して」を 1 語も入れません。** 検査が、その語が混ざっていないことを毎回見ます。

⭐ **気づいたかどうかは、語の一覧では数えません。** 報告の中に**実物の数とメモの数が両方出ていること**を機械で見ます。⚠️ 語の一覧に頼ると、知らない言い回しを取りこぼします —— **[第 6 回](https://typing-tube.net/articles/ugokasanai-06-no-blocking-exits)と[第 7 回](https://typing-tube.net/articles/ugokasanai-07-no-long-sessions)で 2 度やりました**（第 6 回は「分からない」「不明」といった日本語の言い回しを、第 7 回は英語で返ってきた報告を、それぞれ 1 つも拾えていませんでした）。

## 残さなくなったもの

私は、**AI に覚えておいてほしいことを、文章で書き残すのをやめました。** 代わりに、**要る瞬間に機械の側から出てくるところ**に埋めています。

- ⭐ **検査の失敗文言に書く。** 「この数を上げてください」だけでなく、落ちたときのメッセージに**なぜ上げるのか**まで入れます
- ⭐ **止まったときのメッセージに書く。** 止める仕組みが止めた瞬間に、**代わりにやることを一緒に出します**
- ⭐ **数は書き留めず、数える道具のほうを置く。** 数字を文章に置いた瞬間から、それは古くなり始めます

⚠️ **これは「何も書くな」ではありません。** [第 8 回](https://typing-tube.net/articles/ugokasanai-08-no-artifact-judgment)で自分の環境の数を出してもらったのと同じで、**測る目を持ったうえで、毎回測り直さなくていい形へ移す**という話です。

⭐ **それでも、前に決めたことは忘れられません。** 忘れられないのは、覚えていてもらえるからではなく、**決めたことが、決めた場所から毎回出てくるから**です。

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

1. ⚠️⚠️⚠️ **条件の外から効いているものが 1 つあります。今回いちばん重い注意です。** 作業者は、このプロジェクトの指示ファイルを**毎回渡されて**動きます。⚠️ そこに「**古い記録の鵜呑み禁止**」に当たる 1 行が入っています。⭐ 実際、12 体のうち 1 体は、その言い回しをほぼそのまま使って報告してきました。**したがって測れたのは「残した知見を信じるか」ではなく、「渡された知見と、常時届く 1 行の、どちらに従うか」です。** ⚠️ **その 1 行を外した対照はありません**
2. ⚠️⚠️ **人数が足りません。** ずれの密度（1 か所と 3 か所）は、はじめから分けられない設計です。⭐ **回す前に数えて、そう書いてから回しました**
3. ⚠️ **測ったのは数だけです。** 文章で書いた知見（判断の理由や経緯）が同じように扱われるかは、測っていません
4. ⚠️ **40 件は、数え直せる大きさです。** ⭐ 数え直す費用がもっと高い題材なら、賭けるほうが増えるかもしれません
5. ⚠️ **メモの古さには筋が通っています。** 数どうしが矛盾していれば、結果は変わるはずです

## 実験手順: 残したメモの数だけを、実物からずらす

**前提**

- 実物から機械で数えられる数を 3 つ決めます。⚠️ **数え方が割れないもの**にします（今回なら「拡張子が `.rb`」で、`.erb` や `.rake` が混ざっていても末尾一致で一意に決まります）
- 渡す記録を 1 枚作ります。⭐ **その 3 つの数以外は、条件で 1 文字も変えません**

**所要時間**: 12 体で 7 分（作業者の実行時間の合計。⭐ 1 体あたり、記録が正しいほうが 22 秒、古いほうが 37 秒）

**手順**

1. **同じ題材を n 体に渡します。** 記録に書く数だけを、0 か所 / 1 か所 / 3 か所ずらします
2. **ずらす向きをそろえます。** ⭐ 「あとで増えた」形にすると、記録の中で筋が通ります。⚠️ **でたらめな数にしないでください** —— 中身ではなく壊れ方に反応されます
3. **成果物を 1 つだけ頼みます。** ⚠️⚠️ **「数えて」とも「写して」とも書かないでください**
4. **書かれた数を 3 つに分けます。** **実物の数 / 記録の数 / どちらでもない**の 3 つで、機械で決まります
5. **報告のほうを別に見ます。** ⭐ **実物の数と記録の数が両方出ているか**で、食い違いに触れたかを数えます。⚠️ 語の一覧は補助にとどめます

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

- **渡した題材が、全条件で 1 バイトも同じ**であることを、ハッシュで確かめてある
- **記録は、数字を伏せると全条件で同一**（形が変わっていない）
- **依頼文に、確かめる／写すを促す語が 1 つも入っていない**
- **記録が全部正しい条件で、全員が正解している**（⚠️ 課題そのものが難しすぎないことの確認）

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

- **記録が正しい条件でも誤答が出た** —— ⚠️ 課題が難しすぎます。**この状態では、記録のせいの誤りと、ただの数え間違いが同じ数字に化けます**
- **全員が記録どおりに書いた** —— ⚠️ 依頼文が写すほうを促しています。**1 語ずつ当たり直してください**
- **全員が数え直した** —— ⭐ それ自体が結果です（今回がそれに近い形でした）。⚠️⚠️ ただし**指示ファイルに「古い記録を疑え」に当たる 1 行が無いか**を先に確かめてください。あるなら、測れたのはその 1 行の効き目のほうです
- **ずれの密度で差が出た** —— ⚠️⚠️ **人数を先に数えてください。** 6 体対 3 体で出る差は、たいてい偶然です

**後始末**

- 作業者に渡したディレクトリと、正解表を削除します。⚠️ **正解表も一緒に削除する** —— 残すと、次に題材を作り直したつもりのまま、**古い答えのほうで採点する**ことになります。⭐ **それは、この回が測ったのとまったく同じ事故です**

書き残した知見は、次に読む側の手間を省きませんでした。**省いたのは、確かめなかった 1 体の手間だけで、その 1 体だけが間違えました。**

---

次回は最終回、「実験しない技術」です。9 回かけて、9 個の思い込みを測ってきました。その 9 個は、4 つに畳めます。
