Movatterモバイル変換


[0]ホーム

URL:


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

AIと”コードの評価関数”を共有する / Share the "code evaluation...

Avatar for Shintani Teppei Shintani Teppei
July 03, 2025

AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI

omotesando.rb #111 での発表資料です。
https://omotesandorb.connpass.com/event/359259/

https://github.com/euglena1215/code-qualia

Avatar for Shintani Teppei

Shintani Teppei

July 03, 2025
Tweet

More Decks by Shintani Teppei

See All by Shintani Teppei

Other Decks in Programming

See All in Programming

Featured

See All Featured

Transcript

  1. 2025/07/03 omotesando.rb #111 株式会社タイミー 新谷哲平 AIと”コードの評価関数”を共有する @euglena1215

  2. 自己紹介 Shintani Teppei(@euglena1215) • 株式会社タイミー • バックエンド テックリード • Claude

    Pro の枠をスマホゲームのデイリー ミッションの気持ちで消費してます
  3. 2025/07/03 omotesando.rb #111 株式会社タイミー 新谷哲平 AIと”コードの評価関数”を共有する @euglena1215

  4. AIエージェントとプログラミングをしていて思うこと

  5. AIエージェントとプログラミングをしていて思うこと

  6. AIエージェントとプログラミングをしていて思うこと

  7. AIエージェントとプログラミングをしていて思うこと

  8. AIエージェントとプログラミングをしていて思うこと

  9. AIエージェントとプログラミングをしていて思うこと

  10. AIエージェントとプログラミングをしていて思うこと

  11. AIエージェントとプログラミングをしていて思うこと

  12. AIエージェントとプログラミングをしていて思うこと めんどくさい!

  13. ✅ AIエージェントが得意なこと • RSpecを実行し、成功するまで修正を繰り返す • RuboCopを実行し、成功するまで修正を繰り返す 󰤇 AIエージェントが苦手なこと • 筋の良い設計・実装になるまで修正を繰り返す

    • 大事な部分はテストをしっかり書く AIエージェントとプログラミングをしていて思うこと
  14. ✅ AIエージェントが得意なこと • RSpecを実行し、成功するまで修正を繰り返す • RuboCopを実行し、成功するまで修正を繰り返す → 客観的でCLIで検証できる 󰤇 AIエージェントが苦手なこと

    • 筋の良い設計・実装になるまで修正を繰り返す • 大事な部分はテストをしっかり書く → 主観的でCLIで検証できない AIエージェントとプログラミングをしていて思うこと
  15. ✅ AIエージェントが得意なこと • RSpecを実行し、成功するまで修正を繰り返す • RuboCopを実行し、成功するまで修正を繰り返す → 客観的でCLIで検証できる 󰤇 AIエージェントが苦手なこと

    • 筋の良い設計・実装になるまで修正を繰り返す • 大事な部分はテストをしっかり書く → 主観的でCLIで検証できない → 客観的でCLIで検証できればいいのでは? AIエージェントとプログラミングをしていて思うこと
  16. まだ実験段階で実用レベルはもう少し先 Claude Code 製ツール https://github.com/euglena1215/code-qualia code-qualia:コード改善優先度計算ツール

  17. 1. テストカバレッジ テストが少ないほど品質低 2. 複雑度 複雑度が高いほど品質低 評価関数: "コードの品質" × "コードの重要度"

    3. 変更頻度 変更が多いほど重要度高 4. アーキテクチャ Modelのようなコアロジックほど 重要度高 コードの品質 コードの重要度 × 品質が低く重要なコードを改善対象として最優先する
  18. 評価関数の係数をパラメータとして設定可能 コードの品質に関するパラメータ コードの重要度に関するパラメータ アーキテクチャに関するパラメータ 各ディレクトリに対して重み付けを行う

  19. 最も重要なのはパラメータチューニング 複雑度よりも テストがないのは許せない

  20. 最も重要なのはパラメータチューニング このアプリケーションにとって サービスクラスは特に重要

  21. 最も重要なのはパラメータチューニング パラメータチューニング = 開発者の主観・経験則の言語化 このやりとりさえもAIエージェントと一緒にできるかも

  22. 想定する活用方法 • 「コードを変更したらスコアn以上のメソッドが存在しない状態を保つこ と」と書いておく • コードレビューを依頼する際に「スコアを踏まえた上でレビューして」と伝 える • 定期実行で「最もスコアの高いメソッドを改善する Pull

    Request を作って」 と要求する 重要ポイント:コマンド実行中は token を消費しないので経済的 💰 AIエージェントにとってコストが高く、安定しない操作は積極的にCLI化すべき
  23. 現状と今後の予想 今の code-qualia のクオリティはまだまだ • 全テストを実行したカバレッジ結果を手元に置いておく必要がある ◦ ローカルで動かせない規模のテストケースになってくると結構大変 • 今の実装だと中規模〜のRailsだと集計に時間かかる

    ◦ タイミーのモノリスだと35秒くらい。ちょっと遅い 開発者の主観・経験則をうまく表現し、CLIとしてAIに使わせてコードを 自律的に改善させるケースはこれからもっと増えていくのではという予想 e.g. https://github.com/mizchi/similarity
  24. Happy Vibe Coding!


[8]ページ先頭

©2009-2025 Movatter.jp