AIコーディングツールは開発者の学習を妨げる、Anthropicの研究で判明
(anthropic.com)要点の一言まとめ
AIコーディングツールは、使い方次第で学習を助けることも損なうこともある。概念理解のための積極的な質問が鍵であり、完全に委任すると速度も学習もどちらも失う。
研究概要
- Anthropic研究チームが実施
- 対象: ソフトウェアエンジニア52人
- 実験設計: 新しいPythonライブラリ(Trio)を学習した後にコーディング作業を実施
- AIグループ: GPT-4oベースのAIコーディングツールを使用
- 対照グループ: ドキュメント + Web検索のみ使用
- 期間: 約1時間の作業
主な結果
- AI使用グループ → クイズスコア 17%低い
- AIを使っても作業速度 速くならない
- AI非使用グループ → Trio関連のエラーを 3倍以上 多く経験 → デバッグ能力が自然に向上
AI使用パターンによる違い(主要な発見)
- 悪いパターン(クイズ40%未満)
- AIにすべての作業を委任(コードを丸ごと生成、デバッグもすべて任せる)
- 徐々に依存度が増加
- 最も早く終えたが学習効果は非常に低い
- 良いパターン(クイズ65%以上)
- AIを理解を助ける道具としてのみ活用
- コード生成後に追加質問 / 概念説明の依頼 / 理解確認の質問
- 2番目に速いスピード + 高い学習成果
結論的なインサイト
- AIを使うこと自体が問題ではない → 使い方が学習を決める
- 「苦しみながら行き詰まる経験」が熟練度の形成に重要
- AIがエラー処理を代行 → 速度は速いが「なぜエラーが起きたのか」の理解が不足
- 短期的生産性 ↑ vs 長期的スキル形成 ↓ というトレードオフが存在
現場の開発者の意見(参考)
- 肯定: 1年分の作業を2週間で完了、10倍の速度向上の事例
- 否定: すでに理解しているコードにのみ使うことを推奨、ジュニアには技術的負債のリスク
- 意見が分かれる: 「コーディングは終わった」 vs 「監督→創造への転換が不快」
提言
- 新しい技術を学ぶとき: AIへの完全依存を避け、あえて「行き詰まる経験」を許容する
- 生産性が必要な作業: AIを積極活用可能
- 企業: ジュニアへの成果物プレッシャーと同時に、AIコードの検証/デバッグスキルの習得を並行して進める必要
- 将来展望: AIエージェントが主要業務を担い、人間は別途時間を取ってコード/概念を学ぶ
研究の限界
- サンプルが小さい(52人)
- 作業時間が短い(1時間)
- GPT-4o(2025年時点では旧型モデル)を使用
- クイズスコアが長期的スキルを予測できるかは不明
12件のコメント
解答を広げて目で追うだけで数学の問題を勉強するのと同じですよね。見ている瞬間は理解した気になっても、本を閉じたら何も残らない。
100%共感します。
とても共感できるお話です
なぜ私たちがAIに全面的に依存せず、あくまで補助的な「ツール」としてのみ使うべきなのかについて、明確な答えを示してくれる研究結果ですね。
1年分の作業が2週間になったのに、どうして10倍なんだろう…
2つのケースはそれぞれ別なのに、本文が紛らわしく書かれていますね。本文末尾のリンクを見ると、以下の2つのケースです。
30年の経験を持つあるソフトウェアアーキテクトは、「従来のやり方なら1年かかったはずの機能を2週間で完成させた」と絶賛しました。Linuxカーネルのコントリビューターである Roland Dreier は、「ここ6か月で大きな飛躍があった」とし、複雑な作業で10倍の速度向上を経験したと述べています。
opusでやっていれば、成長は逃しても速度は逃さなかったかも。知っておくべき知識の範囲が変わってきたと思います。
だんだん知る必要のないローレベルの領域が広がっていきますね。
最近はモデルを使うと、コードを読むこと自体がオプションになりつつある気がします。
学生やジュニアはAIを使うべきではない理由が出てきましたね。
使わないと就職できないじゃないですか?
勉強するときはできるだけ最小限に使い、就職して働くときには積極的に活用することが、AIという道具を正しく使う戦略になるのではないでしょうか。昔も今も、友人同士であるテーマについて批判的に議論することはあまりありませんよね。YouTubeを見たりブログで探そうとしたりしがちですが、何かを学ぼうとするときは、自分が説明してみることがいちばん早い方法である場合が多いと感じます。