7 ポイント 投稿者 GN⁺ 2025-03-25 | 1件のコメント | WhatsAppで共有
  • AIベースのコーディングツールが急増し、一部の個人開発者はAIを使って驚くべき成果を上げているが、実際のエンジニアリングチームでは成果が乏しい場合が多い
  • 成果に差が出る理由は2つある: "グリーンフィールド vs 大規模コードベース", "シングルプレイヤー vs マルチプレイヤー"
  • そこで、AIのための新しいコーディングワークフローと今後の流れを次のように予測している:
    • 多くの企業がエンジニアを追加採用中 — 特に優れた企業ほどその傾向が強い
    • 最大の課題は大規模コードベース — 実際に価値を生み出す領域
    • ロボット vs アイアンマン — AIツールの哲学的な違い
    • 開発者の幸福の最適化 — AIが処理できる面倒な作業とは何か?
    • AIコード追跡はアンチパターン — 追跡の誘惑に陥らないこと

成果差の原因

  • Green-field vs 大規模コードベース
    • ほとんどのAIツールは新規プロジェクト(Green-field)に最適化されている
    • 古いコードベースでは活用度が落ちる
  • シングルプレイヤー vs マルチプレイヤー
    • 現在のAIワークフローはシングルプレイヤー中心
    • チームで協業すると問題が発生する (マージ競合、複雑なコンテキスト処理など)
      > "AIワークフローは一人で作業するぶんには問題ないが、チームで使うと衝突が頻発し非効率だ。"

優れた企業はより多くのエンジニアを採用している

  • AIの進歩によってエンジニア需要が減るという予測は誤り
  • AIで生産性が上がると、結果としてエンジニア採用が増える ジェボンズの逆説 が起きる
  • AI導入に対する組織ごとの反応

    • 上位チーム: AI導入で生産性が向上 → エンジニアを追加採用
    • 平均的なチーム: 官僚主義と調整コストにより採用の変化なし
    • 下位チーム: 技術が単なる道具にすぎない → コスト削減のためチーム縮小

最大の問題は大規模コードベース

  • AIはアルゴリズム問題の解決には優れているが、実際のフリーランス業務での成果は低い
  • コンテキスト不足 が主な原因
  • コードベースでコンテキストを渡す方法:
    • Fine-tuning → 予測不能でコストが高い
    • Context Window拡張 → 精度保証が難しい
    • RAG (Retrieval-Augmented Generation) → 現時点で最も有望
      > 優れたRAG がAIコーディングツール拡張の鍵

ロボット vs アイアンマン: AIツールの哲学的な違い

  • 自律型ツール → 独立したエージェントのように動作
    • Slackで命令を受けて自動でPRを提出
    • 例: Devin, Lindy
  • 拡張型ツール → 人間が作業を主導し、補助役を担う
    • IDEで補助ツールとして活用し、最終的なPRは人が提出
    • 例: Augment, Cursor
  • どの戦略がより有利か?

    • フィードバックループ → 拡張型ツールのほうがより速く誤りを修正できる
    • 拡張性 → 自律型ツールは組織的複雑性を高めるリスク
    • 人間中心のアプローチ → 拡張型ツールは人間を強化する方向に進化
      > "AIはクローン戦争ではなくアベンジャーズを作るべきだ"

開発者の幸福のための最適化

  • 成功するチームは 生産性 ではなく 開発者の幸福 に焦点を当てる
  • AIを使って単純作業(面倒な作業)を減らすことに集中
  • AIが解決できる Toil
    • 1) テスト自動化
      • AIがテストコードを作成 → ボイラープレートコードの負担を軽減
      • 事前仕様記述への見返りが増加 → TDDの適用が容易に
    • 2) ドキュメント自動化
      • AIがコードコメントや技術仕様を作成 → 文書管理の負担を軽減
      • AIはコード構造や動作を説明できる → ただし、コードを書いた意図は依然として人間が説明すべき
    • 3) コード品質改善
      • コードスタイルやセキュリティ脆弱性を点検可能
      • AIツールの例: Augment, Packmind, Codacy

AIコード追跡はアンチパターン

  • AIが自律的に作業するなら成果追跡が必要
  • しかしAIが人間を拡張する場合、AIコードと人間コードを区別することには意味がない
  • 生産性と開発者満足度 に集中するほうが効果的

主な示唆

  1. AI導入でエンジニア採用は増加 → ジェボンズの逆説により、生産性向上時には採用が拡大
  2. AIのマルチプレイヤー導入が必要 → チームでの協業強化が必要
  3. 大規模コードベース問題の解決が必要 → 文脈提供が鍵
  4. 拡張型ツールは自律型ツールより有利 → 人間が主導しAIが補助
  5. 開発者の幸福の最適化 → 生産性より幸福を重視
  6. TDDの復活 → AIがテスト作成の負担を軽減
  7. ドキュメント負担の軽減 → AIがコードコメントや技術仕様を自動作成
  8. コード品質改善 → AIがコードスタイルやセキュリティ問題を点検
  9. AIコード追跡は無意味 → 成果は全体の生産性と満足度で評価すべき

1件のコメント

 
livekth 2025-03-25

1番には同意しにくいですね。

  • 良い会社は優秀なエンジニアだけを採用しようとします。そうしたエンジニアという資源には限りがあります。だから採用は増えません。

私はこれをとても強く感じます。なぜなら、小さな会社で良いエンジニアを採用しようと努力していますが、本当に簡単ではないからです。