プログラミングの中に難易度の高い低いタスクがある
from 日記2025-03-01
プログラミングの中に難易度の高い低いタスクがある
プログラミングってこんな感じ
- 黒い小さい丸: やり方のわかってる軽作業(git cloneしたりnpm installしたり)をやって
- 緑色の中くらいの丸: 「実装」という表現活動をして
- 大きな赤丸: その2倍の難易度の「デバッグ」という謎解きをする
いままでのプログラマはこの流れを一人で全部やっていたので、謎解きの頻度はそんなに多くなかった
- 特にチーム開発になると、チームでの情報共有のために仕様書を書いたりコミットログをきれいにしたりドキュメントを書いたりレビュー依頼したりレビューしたり、と黒丸タスクが増えるので、なおさら頻度が下がった
AIエージェントは「ある程度小さい丸なら実行できる」という振る舞いをする
- 実装する緑丸の大きさは人間の指示によって変わる

- A: 適切なサイズで指示した人は「わお、すごい、一通りの作業を全部やってくれた!」となる
- B: 大きすぎる指示を出した人は「全然実装できないじゃん」となる
- C: その中間の人は、AIが「実装できました!」というので確認してみるとバグっている
- なので人間が難易度の高いデバッグばかりやる羽目になる
- ここまで書いて絵が適切ではない気がした
- AIはバグに気づかずに完了したと思って最後まで進むんだよな
- バグを検知する力がなければデバッグをすることもできない
- テストを追加することはバグを検知する力を増やす
テストファーストが正解かもな
AIアシスタントがある時代の人は赤丸の謎解きばかりがある状態からスタートして、謎解きのための必要性から抽象化レイヤーの下を学ぶようになる