Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の...

AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる

Avatar for どすこい

どすこい

January 09, 2026
Tweet

More Decks by どすこい

Other Decks in Programming

Transcript

  1. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 16
  2. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 17
  3. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 28
  4. Four Keys 30 • DORA(DevOps Research and Assessment)が提唱する開 発組織のパフォーマンスを測る4つの指標 •

    デプロイ頻度, リードタイム, 変更障害率, サービス復元時間 • 4つの指標がどれも優れている組織をエリートとしている • ペパボではこれをチームごとに記録する基盤があります 2020-10-01 https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance
  5. 他のチームの例 プロダクトやチームの状況でも変わってくる... 33 • 他1: 同様にデプロイの頻度が増えている。さらに2倍, 3倍 となるようにアクションを⾏っている。 • 他2:

    同じようなデプロイの頻度がみられなかった。そも そもPR作成の数が増えてなさそう。なので、PR作成数に フォーカスして再度測定。
  6. グッドハートの法則 Goodhart's Law 37 • 数値だけを追い求めてハックみたいになってはいけない • ⽬指すべきは⽣産性の増加で、知りたいのは現状の⽣産性 がどうだったのかと過去の⽣産性はどうだったのか •

    例えば、デプロイの頻度に注⽬しすぎて、いままで⼀つの PRでマージしていたものを細かいPRマージにして数値を 増やしても意味がない 開発生産性測定のトレードオフ 「グッドハートの法則」はもっと悲観的に捉えるべきだったFindy 開発⽣産性Conference2025 Kent Beck
  7. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 39
  8. 41 • Open AIが2021年に公開した、コード⽣成の定量評価 のためのベンチマークのためのデータセット ◦ LLMに⼊れるprompt, 実装するentry_point, 検証⽤test,... •

    GitHub由来の解答を⽣成しないように、⼈間が⼿書き でコードを⽣成。⾔語理解、アルゴリズムなどコー ディング⾯接っぽい問題。Pythonのコード。 データセット: HumanEval Mark Chen, et.al. , Evaluating Large Language Models Trained on Code, 2021, https://arxiv.org/pdf/2107.03374, https://github.com/openai/human-eval
  9. 42 • HumanEvalは英語,Pythonのみ。複数⾔語でコード⽣ 成のベンチマークを⽐較したいというモチベーション • 23の⾃然⾔語(without Japanese😇)と12のプログラミ ング⾔語があります ◦ 単純なコード⽣成能⼒というより多⾔語間でのコード⽣成能⼒の⽐較

    のためのもの HumanEval-XL Qiwei Peng, Yekun Chai, and Xuhong Li, 2024, LREC-COLING 2024 | HumanEval-XL: An Execution-based Multilingual Code Generation Benchmark Across 23 Natural Languages and 12 Programming Languages, https://github.com/floatai/HumanEval-XL, https://huggingface.co/datasets/floatai/HumanEval-XL
  10. 43 HumanEval-XL Qiwei Peng, Yekun Chai, and Xuhong Li, 2024,

    LREC-COLING 2024 | HumanEval-XL: An Execution-based Multilingual Code Generation Benchmark Across 23 Natural Languages and 12 Programming Languages, Fig 1, Illustration of data construction in four steps.
  11. 45 pass@1: ⼀回の試⾏で正しい正解を出⼒する能⼒の指標。最初の提案にどれ くらい信頼がおけるか、開発者がどれくらい⼿放しで開発できるかがわかる。 pass@100: 理論的な上限を探る指標。多数の不正解の中に埋もれていたとし ても、モデルが正解を⽣成する絶対的な能⼒を持っているかを評価します。 pass@10, pass@5: 開発者が選択肢を確認したり、対話的にコードを⽣成し

    ていくシナリオのものです。多様なコード⽣成をしつつ、正しいコードが⽣成 できるかの指標 評価⽅法: pass@k について Qiwei Peng, Yekun Chai, and Xuhong Li, 2024, LREC-COLING 2024 | HumanEval-XL: An Execution-based Multilingual Code Generation Benchmark Across 23 Natural Languages and 12 Programming Languages, Fig 1, Illustration of data construction in four steps.
  12. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 46
  13. HumanEval-XLを実際みて触ってみる 51 問題はこんな感じ • ⼝座の残⾼を追跡し、途中でマイナスになるかを判定。 • 整数リストの合計と積を返す。空なら (0,1)。 • リストからユニークな要素を取り出し、昇順にソート。

    • 整数リスト内に、和がゼロになるペアがあるか判定。 • ⽂字列をMD5ハッシュに変換。空なら None。 • ⼆つの整数 a, b の間の偶数を昇順で返す。 簡単な問題、⾼難易度の問題がある!
  14. HumanEval-XLを実際みて触ってみる 52 ⾃分で試してみる: 銀⾏⼝座残⾼管理 問題 Claude Code Sonnet 4.1(2025-0929)で試しました 問題 預⾦‧引き出し操作のリストが与えられ、ゼロ残⾼から開始して、任意の時点

    で残⾼がゼロを下回るかどうかを検出する関数を実装します。下回った時点で Trueを返し、そうでなければFalseを返します。 例: - `below_zero([1, 2, 3])` → False(残⾼: 0→1→3→6) - `below_zero([1, 2, -4, 5])` → True(残⾼: 0→1→3→-1で負になる)
  15. 53

  16. 54

  17. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 58
  18. 61 HumanEvalとの違い SWE-bench: Can Language Models Resolve Real-World GitHub Issues?,

    Carlos E. Jimenez et al. 2024, https://arxiv.org/abs/2310.06770 https://github.com/SWE-bench/SWE-bench HumanEval • 関数やクラス単位でのコード⽣成 • 数⾏で解け、⾃⼰完結する問題が中⼼ SWE-Benchは... • リポジトリ横断の⽂脈把握とコード⽣成を要求 • 現実のソフトウェア開発に則したベンチマーク
  19. 62 SWE-bench Multilingual https://www.swebench.com/multilingual.html • 多プログラミング⾔語対応のSWE-bench • Claude 3.7 Sonnetに絞ってますが、C、C++、Go、

    Java、JavaScript、TypeScript、PHP、Ruby、Rustで実 施 • 中央値で10⾏、95%の課題が110⾏以内のコード変更で解 決可能 • 明確なユニットテストがあるものに限定 ※この⼤規模版としてMulti-SWE-benchもあります。⼀旦今⽇は上記の話をします。
  20. 68 研究の限界 SWE-bench: Can Language Models Resolve Real-World GitHub Issues?,

    Carlos E. Jimenez et al. 2024, https://arxiv.org/abs/2310.06770 https://github.com/SWE-bench/SWE-bench • 相対的に易しい課題が多い • コードを書く以前/以外の環境的な難しさは評価してない • テストが通るかだけで判定するため、コードの品質を⾒ 落とすことがある。passしていても可読性が低かったり ⾮効率であったり保守性が低い場合がある • コードスタイルを無視した強引な修正を⾏なうことも
  21. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 70
  22. Table of contents • ⾃⼰紹介と導⼊ • 近年のAIエージェントのあゆみ • 現場でのAIエージェント開発の評価 •

    ⽣成AIによる単純なコード⽣成のベンチマーク: HumanEval • HumanEval-XLを実際触ってみる • 現実世界のソフトウェア開発の動きに近いベンチマーク: SWE-bench • 研究との現場の違い • これを踏まえたAI時代の動き 91
  23. 103 人 AIモデル AIエージェント 成果物 リリース 課題 GUIが良いな... エンジニアじゃ ない...

    会社で契約しているモ デルにしたい ... 安く済ませたい ...
  24. 107 107 両睨みしましょう🐍 • AI技術群は進化や発展がとても速く、最⾼のものはすぐ に塗り変わってしまう。 • 関わるプロダクトや⼈によっても最⾼は変わる。 • 特定のAIエージェントや技術だけを使うのではなく、 

    いつでも乗り換えられるように両睨みすべき。 • 最新の情報をキャッチアップして、実際に試して、より 良い場合に乗り換える柔軟さが強みになりそう。