AI・信頼性・評価
AI協働の判断は、機械判定・可逆性・静かな失敗で仕分ける
序章で、手がかかるのは「モデルの外側」だと置いた。モデルにより大きく頼るための「外側の仕組み」——ハーネス——には、渡す前に形を決める側と、受け取ったあとに締める側がある。
問題は、そこから先だ。AI協働の判断——検証、委譲、記憶、統治、コスト——は、領域ごとに別の言葉で語られる。検証なら「機械で縛るか、人が気をつけるか」、委譲なら「戻せる仕事か、戻せない仕事か」、統治なら「能力を持たせるか、承認で止めるか」。呼び名は違うが、下で動いている仕分けの型は同じだ。この型をひとつ持てば、新しく見える判断の多くが、すでに知っている型の当てはめだと分かる。
その型に名前をつけよう。型はひとつ——仕事を三つの問いで仕分け、三つの担い手へ流す。
三つの問いで仕分ける
仕分けは、一つの軸ではなく、順に効く三つの問いで決まる。上から順に当てて、答えが担い手を決める。
一つ目——機械が判定できるか。 その仕事の正しさは、型・境界・不変条件のように、機械が自動でチェックできる性質に落ちるか。この考え方自体は新しくない。Meyer の「契約による設計(Design by Contract)」は、事前条件・事後条件・不変条件を機械可読な契約として書き、破れば機械的に検出できるようにする設計法だ1。判定できるなら、正しさは構造で保証でき、人の目に頼らずに済む。ただし限界がある。Naur は、プログラムの本質は書き手が抱く「理論」であり、それはプログラム本文にも文書にも汲み尽くせないと論じた。しかも彼はもう一歩踏み込んで、理論として保持された知識は原理的に規則として表現できない、その拠り所となる類似性は基準としては表現しえないとまで書いている2。規則にも基準にも落ちないものが残るのなら、曖昧さ・自然言語・判断が絡む仕事は、そもそも機械の判定に落ちない。だから最初の問いは、落ちるものと落ちないものを分ける関門になる。
二つ目——可逆か。 機械の判定に落ちないとき、次に問うのは「外したとき戻せるか」だ。可逆性で判断の重みを変えるのは、Amazon が経営判断に据えた原則でもある。Bezos は決定を「一方通行の扉」(不可逆・ほぼ取り返せない)と「両開きの扉」(可逆・戻せる)に分け、後者に重い手続きを課すと、動きが遅くなり、過度にリスクを避け、実験が足りなくなって、結果として発明力が落ちると説いた3。戻せる仕事なら、多少外しても事後に直せる——速く任せて、あとで検証すればいい。戻せない仕事は、その贅沢が効かない。ここで言う不可逆には「戻せない」と「外したとき被害が大きい」の両方を含める。対外送信・破壊・秘密の露出のように、取り消せず影響も広いものが、二つ目の関門で止まる。
三つ目——静かに壊れるか。 最後に問うのは、失敗が「赤く出る」か「黙って通る」かだ。エラーで即座に止まる失敗は、気づいて直せる。厄介なのは、もっともらしい顔で通り抜ける失敗——静かな破壊は、戻す前に気づけない。しかも人間は、自動化の出力を過信して監視を緩めやすい。Parasuraman と Manzey は多数の実証研究を統合してこれを示したが、条件も明示している——手作業が自動化された作業と注意を奪い合う、複数タスク負荷の下で起きやすい、という条件だ4。静かに壊れる仕事を「人が最後に見ればいい」で受けても、その確認役が他の作業と注意を奪い合っているかぎり、見落としは減らない。だから静かさは、人手をどこに温存すべきかを決める問いになる。
三つの担い手へ流す
三つの問いへの答えが、仕事を三つの担い手のどれかへ流す。担い手は縛る力の強さで並ぶ——強い順に、機構・指示・人手だ。
機構は、コード・型・テスト・権限で構造的に縛る。「気をつける」ではなく「できないようにする」。最小権限と安全側に倒れる初期値(fail-safe defaults)を安全設計の基本原則としてまとめた Saltzer と Schroeder の古典が、その背骨だ5。機械が判定できる性質は、ここへ流す——最も強く、人の注意力を消費しない。
指示は、言葉で頼み、相手が気をつけると約束して守る運用だ。レビューする、手順を踏む、危険な操作の前に確認する。機構より弱い既定である点は正直に見ておく必要がある。約束は破れるし、先ほどの過信——監視が緩む complacency——が効けば、指示は静かに緩む4。機械の判定に落ちないが可逆な仕事——外しても戻せるもの——は、指示や、事後検証つきで AI に任せる領域になる。
人手は、希少な人間の判断だ。最も高く、遅く、スケールしない。安く速い担い手が増えた今こそ、人手は乱用でなく温存の対象になる。機械の判定に落ちず、戻せず(外せば影響も広く)、静かに壊れる——三つの問いがすべて「危ない」側に振れた仕事にこそ、人間の判断を残す。ただしそれは「最後にもう一目見る」ことではない——他の負荷を外し、そこだけに注意を割ける形で当てる、という意味だ。ここを機構や指示で代用しようとすると、機械判定に落ちない仕事を、判定できない道具に預けることになる——強く縛っているつもりで、実は何も縛っていない。
配達は機構、遵守は指示
三つの担い手は、縛る力の強さで並べた。この並べ方は、暗黙に一つのことを仮定している——届けることと守らせることを、同じ担い手が引き受けるという仮定だ。機構なら、検査はコードが走らせ、落ちれば止まる。指示なら、人が読み、人が気をつける。だが実在の道具を見ると、この二つは分かれる。
分けて見るには、軸を二本立てればいい。配達は、その決まりごとが相手の目の前に確実に届くかどうか。遵守は、届いたものに従うことが構造的に保証されるかどうかだ。機構は両方を持ち、純粋な指示はどちらも持たない。実際に多いのは中間の形——配達だけを機構が引き受け、遵守は指示のままという組み合わせである。本連載ではこれを 「機構が配達する指示」(短く: 機構配達の指示)と呼ぶ。系の設計で言う advisory(勧告的)に近い。advisory lock は、ロックの仕組みは確かに在るが、取りに行くかどうかは各プロセスの作法に委ねられる。仕組みは在る。強制は無い。
例は、いま広く使われている道具の中にある。Claude Code の規約ファイル(CLAUDE.md)は毎回のセッション冒頭に自動で読み込まれる。だが Anthropic 自身が公式ドキュメントで「強制される設定ではなく文脈として扱う」と書き、行為そのものを止めたいならフックを使え、と案内している6。Cline の Focus Chain は、依頼を受けた時点で手順の一覧を作り、既定では6メッセージごとにそれを文脈へ入れ直す。同社は狙いを、逸れた注意を本筋へ引き戻すことだと説明している7。スキル集 superpowers が定義するフックは、セッション開始時に指示文書の全文を冒頭へ注入する一つだけで、実行時に操作を止めるフックは無い8。三つとも、配達は機械が保証する。従うかどうかは、受け取った側に残る。
この形が厄介なのは、失敗が可視化されないことだ。純粋な指示は「書いてあるが読まれなかった」という形で失敗する。読まれなかったことは、後から辿れる余地がある。純粋な機構は「赤く落ちる」という形で失敗し、落ちた瞬間に分かる。機構配達の指示は、そのどちらでもない。配達は毎回成功しているので「届かなかった」とは言えず、止める力は無いので、無視しても何も起きない。無視が可視化されない——確実に残るのは配達の成功だけだ。進捗の一覧を持つ道具(Focus Chain)もあるが、それを書き込むのは受け取った側なので、遵守の失敗はそこにも現れない。
だから仕分けの答えは変わらない。配達をどれだけ機械化しても、遵守が読み手に残るかぎり、その仕事が座るのは指示の側だ。注入したから守られる、とは読まないこと。機械判定に落ちる性質をここで代用すると、機構を持ったつもりで指示を運用していることになり、しかもそのズレは赤く出ない。
難所は、型の外ではなく当てはめにある
新しく見える判断の大半は、「機械判定できるか/可逆か/静かに壊れるか」で仕分けて、機構・指示・人手へ流す——という一つの型で説明できる。 検証は前工程(仕様)と後工程(機構ゲート)に、委譲はこの仕分けそのものに、統治は「能力を持たせるか、承認で止めるか」=三つ目の問いに対応する。記憶は「どの知識をコードや設定に固定し、どこから先を言葉の指示に委ねるか」、コストは「どの担い手にいくら払うか」——いずれも同じ型の当てはめで、以降の回で個別に扱う。
ただし——型があることと、型を正しく当てられることは、別だ。難所は型の外側にあるのではない。どの仕事がどの問いのどちら側に落ちるかを見極める、その当てはめにある。マルチエージェントの失敗を分類した研究は、失敗の相当部分がモデルの限界ではなく、仕様の曖昧さや連携設計の欠陥に由来すると報告している9。ここから先は本稿の読みだが——賢いモデルを待っても消えない失敗の多くは、「この仕事は機械判定に落ちるのか」「本当に可逆か」を人が読み違えた結果だ。可逆だと思って任せたものが実は戻せなかった。判定できると思ったものが、実は判断を含んでいた。
だからこの型の価値は、答えを自動で出すことではない。問いを取り違えないための足場を与えることにある。新しく見える判断に出会ったら、まずこの三つの問いに照らす——それだけで、多くは既知の型に収まる。
出典9件
-
B. Meyer, “Applying ‘Design by Contract’,” Computer (IEEE), vol. 25, no. 10 (1992). 事前条件・事後条件・不変条件を機械可読な「契約」として書き、破れば機械的に検出できるようにする設計法。判定できる性質を機構のゲートに落とす根拠。 https://doi.org/10.1109/2.161279 ↩
-
P. Naur, “Programming as Theory Building,” Microprocessing and Microprogramming, vol. 15 (1985). プログラムの本質は書き手が抱く「理論」であり、それはプログラム本文や文書に汲み尽くして表現できない(文書だけからの program revival は strictly impossible)と論じた古典。同論文はさらに、逐語で
the knowledge held by someone who has the theory could not, in principle, be expressed in terms of rules、the similarities in question are not, and cannot be, expressed in terms of criteriaと述べており、理論が規則・基準に還元できないことを明言している——本稿の一つ目の問い(機械が判定できるか=型・境界・不変条件に落ちるか)に直接効く。※ただし原論文が論じるのはプログラムの理論であって、「自然言語の指示は仕様になりえない」という命題ではない。指示文への適用は本稿の読みである。機械判定に落ちない仕事が残ることを示す留保側。 https://doi.org/10.1016/0165-6074(85)90032-8 ↩ -
J. Bezos, “2015 Letter to Shareholders,” Amazon.com, Inc. (2016). 決定を「一方通行の扉」(不可逆=慎重に)と「両開きの扉」(可逆=軽く速く)に分け、後者に重い手続きを課すのは誤配分だと説く。可逆性で判断の重みを変える根拠。 https://s2.q4cdn.com/299287126/files/doc_financials/annual/2015-Letter-to-Shareholders.PDF ↩
-
R. Parasuraman & D. H. Manzey, “Complacency and Bias in Human Use of Automation: An Attentional Integration,” Human Factors, vol. 52, no. 3 (2010). 人間は自動化の出力を過信して監視を緩めやすい(complacency)と多数の実証研究を統合して示す。抄録は発生条件を「手作業が自動化された作業と注意を奪い合う複数タスク負荷の下で起きる」と明示しており、無条件の一般則ではない。なお同論文は complacency(注意の配分)と automation bias(判断の依存)を関連するが区別される現象として整理している。指示が静かに緩むこと、人手を最後の関所に据えるときの弱点を照らす。 https://doi.org/10.1177/0018720810376055 ↩ ↩2
-
J. H. Saltzer & M. D. Schroeder, “The Protection of Information in Computer Systems,” Proceedings of the IEEE, vol. 63, no. 9 (1975). 最小権限(least privilege)とfail-safeな初期値を安全設計の基本原則としてまとめた古典——「危険な能力を構造的に持たせない」=機構で縛る側の支持。なお fail-safe defaults は同論文が自ら
This principle, suggested by E. Glaser in 1965と E. Glaser の1965年の提案に帰属させており、著者らの定式ではない(最小権限のほうは (f) として外部帰属なしに提示されている)。 https://doi.org/10.1109/PROC.1975.9939 ↩ -
Anthropic, Claude Code 公式ドキュメント “How Claude remembers your project”(閲覧2026年7月30日)。規約ファイル(CLAUDE.md)と自動メモリを「どちらも毎回の会話の冒頭に読み込まれる」としたうえで、「Claude はそれらを、強制される設定ではなく文脈として扱う(Claude treats them as context, not enforced configuration)」と書き、「Claude が何を決めるかによらず行為を止めたいなら、代わりに PreToolUse フックを使え」と案内する。組織展開の節でも「設定側の規則は、Claude が何をしようと決めてもクライアントが強制する。CLAUDE.md の指示は振る舞いを形づくるが、強制の層ではない」と書き分けている。自動で配達される指示文書が、それ自体では遵守を保証しないことの一次資料(製品ドキュメントゆえ更新されうる)。 https://code.claude.com/docs/en/memory ↩
-
Cline, “Cline v3.25: The Coding Agent Built for Hard Problems”(2025年8月15日公開・閲覧2026年7月30日)。「完璧な計画があってもエージェントは逸れる」ため Focus Chain を入れたとし、依頼から手順の一覧を自動生成して文脈へ入れ直し続けると述べる。記事側の逐語は
keeps injecting this list back into the context at regular intervals。本文の「6メッセージごと」も同じ記事に書かれており、Every six messages (by default), Cline is remindedとある。実装も同じ値で、cline/clineのapps/vscode/src/shared/FocusChainSettings.tsに// Interval (in messages) to remind Cline about focus chainというコメント付きでremindClineInterval: 6とある。一方で、一覧から外れた行動を止める仕組みにはどちらも触れていない——配達を機械化しても遵守までは買えない側(製品の記事ゆえ更新されうる)。 https://cline.bot/blog/cline-v3-25 https://github.com/cline/cline/blob/791d2389966d927396830470c51d456d04687b69/apps/vscode/src/shared/FocusChainSettings.ts ↩ -
obra/superpowers v6.3.0(2026年8月12日リリース)の
hooks/hooks.jsonとhooks/session-start。原文を読んだ2026年7月30日時点の版は v6.2.0 だが、この2ファイルは v6.3.0 でも中身が変わっていないので、リンクは現行版を指してある。配線されているフックは SessionStart 一つだけで(startup|clear|compactの各契機に発火。Cursor 向けに別置きされたhooks/hooks-cursor.jsonも、同じ起動時の一点しか持たない)、その実体はskills/using-superpowers/SKILL.mdの全文を読み、<EXTREMELY_IMPORTANT>で囲んでセッション冒頭の追加文脈として渡すシェルスクリプトである。実行中の操作をブロックする発火点は、どちらの定義ファイルにも無い。強い語で囲んでも、それは配達の側の工夫であって遵守の強制ではない側。 https://github.com/obra/superpowers/blob/v6.3.0/hooks/hooks.json https://github.com/obra/superpowers/blob/v6.3.0/hooks/session-start ↩ -
M. Cemri et al., “Why Do Multi-Agent LLM Systems Fail?” (2025), arXiv:2503.13657. マルチエージェントの失敗の相当部分がモデルの限界でなく仕様の曖昧さ・連携設計の欠陥に由来すると分類した——難所が型の当てはめ(仕様の見極め)にあることの裏づけ。 https://arxiv.org/abs/2503.13657 ↩
この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。