はじめに
2026年現在、AIコーディングエージェントを使ってプログラミングしている時に、私がどういうメンタルモデルで作業しているかメモしておきます。
ハーネスについての考え方
制約がなければ出力は無限にある
AIコーディングエージェントを何も制約のない状態で動かした場合、その出力はどんなものにもなりえます。そして、こちらが本当に欲しいものは、ありうる出力全体のごく一部の点に過ぎません。
(まあ実際にやってみればほとんどは「具体的な指示をください。使い方はこちらを見てください」で終わると思いますが)
ハーネスを足して「誤り」を塗りつぶす
このままでは作業の自由度が無意味なほど高すぎるため、ここにハーネス(AIエージェントの出力を縛る制約)を足していきます。
ここでいう「ハーネス」は、出力を絞り込む制約としての側面に限定して扱います。
具体的には以下のようなものです。
- 指示プロンプト: 願望や課題を書く。自由会話で都度指示したり、AIからの質問に答えたりもする
- コンテキスト:
CLAUDE.mdや動作プロジェクト、必要な情報・ツールへのアクセス - 自動テスト: ビルド・linter・型チェック・ユニットテスト・Mサイズテストなど
指示プロンプトだけでは、AIエージェントがその場しのぎの変更に終始して、各種制約を無視した「変更してみただけ」の結果になってしまいます。コンテキストが加わるとプロジェクトの流儀や既存の資産を踏まえた変更にはなりますが、それが実際に動くかどうかは誰も確認していません。自動テストまであることで、変更の検証がある程度堅くなってきます。
黒く塗られた部分が、ハーネスによって「誤り」と判定できるようになった領域です。
ハーネスを足すほど、AIエージェントに許される出力の範囲は狭まります。ハーネスを満たさない作業は「誤り」として機械的に分類できるので、「誤りを避けろ」という明確な制約としてAIエージェントに指示できるわけです。しかもAIエージェントは人間と違って作業量に文句を言わないため、人間基準では工数的に厳しいハーネスも足せます。
重要なのは、ハーネスが効果的であるほどAIエージェントの作業ミスが減るという点です。検証方式の数と種類が、そのまま品質に直結すると考えています。
検証手段を足すたびに黒い領域が増え、AIエージェントに残された「やってよい作業」は願望の周辺だけになっていきます。
最後に残る白い領域はモデルの知性が埋める
ただし、ここまで絞り込んでも人間本来の願望と乖離しているケースは残ります。「なんとなくうまい感じにやっておいてくれ」というラストワンマイルは、賢くないモデルでは願望どおりに埋められません。最後の制約はAIエージェントの知性に委ねるしかない、ということです。
賢いAIエージェントほど、ここを拾える可能性が上がります。
ハーネスで黒く塗りつぶせるのは「誤り」までで、残った白い領域のどこに着地するかはモデルの知性が決めます。だからハーネスを整えることと、賢いモデルを使うことは、どちらも別々に効きます。同時に、賢いモデルほどハーネス抜きでもある程度成立してしまう、ということでもあります。
(現状は、最後の余白を手作業で埋めることになりがちです)
まとめ
2026年現在のAIコーディングの心象風景を言語化してみました。
実際の仕事でも、ハーネス(制約)を足して願望に近づけていくというイメージをチーム内で共有することが多いので言語化したのですが、来年も同じ心象風景を抱いているかは謎です。
とにかく現状はハーネスとなる検証手段を人間側から提案して追加しつつ、開発スピードアップに追いつくしかありません。



