概要
- AIツール は熟練オープンソース開発者の 生産性を低下 させる傾向
- Peter Naur の理論がその理由を説明
- 開発者はAIで 速くなると錯覚 しやすい
- メンタルモデル の重要性とAIの限界
- 一般的な企業開発者には 異なる効果 の可能性
AIツールは熟練オープンソース開発者を遅くする理由
- Metr社 の研究によると、オープンソース開発者が 自分の得意なコードベース でAIツールを使うと、AIなしよりも 19%遅く 課題を完了
- 開発者自身は AIで24%速くなる と予測し、実際に遅くなっても 20%速くなった と錯覚
- この 認知と現実のギャップ が顕著
- 対象は 熟練のオープンソース開発者、他の開発者全体には一般化できない点に注意
- 例:企業の保守的なプロジェクトでは AIで生産性向上 の可能性
Peter Naurの「プログラミング=理論構築」論
- Peter Naurの論文「 Programming as Theory Building」の要点
- プログラミングとは プログラム全体の洞察(理論) を構築する活動
- 本当の成果物は 開発者の頭の中のメンタルモデル
- このモデルがあるからこそ、 ソフトウェアの理解・保守・拡張 が可能
- Metr社の被験者 は自分のプロジェクトの 深いメンタルモデル を持つ
- AI(LLM) はこのメンタルモデルに アクセスできない
- 開発者がAIに情報を渡す過程は 遅く、情報損失も大きい
- 結果として 独自の強みが損なわれる
メンタルモデルの移転困難性
- 他者にタスクを委任する時の 伝達の難しさ に類似
- 例:「赤ちゃんを寝かせる」指示でも意図通りに伝わらない
- メンタルモデル は非常にリッチで 完全な伝達は不可能
- テキストのみでAIに伝える 場合、AIは
- 質問や確認 をしない
- 重要度の判断 ができない
- 学習能力が限定的
- このため、 AIツールは熟練開発者の生産性を低下 させる
一般的な企業開発者へのAIの効果
- 「自分のプロジェクトを深く理解している」開発者には AIは逆効果
- しかし、企業では
- 古いコードベース や 他人が作ったシステム を扱うことが多い
- 理解よりも納期重視 の環境も多い
- こうした場合、 AIはコードベースの理解を早めたり、動く変更を素早く生成 できるメリット
- 「 短期的なビジネス価値の創出」を生産性と定義するなら、 AIで生産性向上 もあり得る
メンタルモデル構築とAIの限界
- メンタルモデルがない状態 でAIに頼れば 一時的な生産性向上 は可能
- しかし、 本質的な目的はメンタルモデルの構築
- AIに作業をアウトソースすると モデル構築が困難
- 長期的にプロジェクトに関わり、 深い理解と自立的な改修能力 を得たいなら 自分でコードを書くべき
- 逆に「 使い捨ての開発現場」ではAI活用も選択肢
AIツールの今後と注意点
- 現在のAIツールは 熟練開発者のメンタルモデル支援 には不十分
- 将来的に より高度なAI が登場すれば、状況は変わる可能性
- 今は「 Claude Code」などを 適切に活用 しつつ、自分の目的に応じて使い分けが必要
参考
- Metr社の研究論文(要約だけでも読む価値あり)
- Peter Naur「Programming as Theory Building」
- Claude Code推奨、Cursorは非推奨