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

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

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

Avatar for Shintani Teppei

Shintani Teppei

July 03, 2025
Tweet

More Decks by Shintani Teppei

Other Decks in Programming

Transcript

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

    Pro の枠をスマホゲームのデイリー ミッションの気持ちで消費してます
  2. ✅ AIエージェントが得意なこと • RSpecを実行し、成功するまで修正を繰り返す • RuboCopを実行し、成功するまで修正を繰り返す → 客観的でCLIで検証できる 󰤇 AIエージェントが苦手なこと

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

    • 筋の良い設計・実装になるまで修正を繰り返す • 大事な部分はテストをしっかり書く → 主観的でCLIで検証できない → 客観的でCLIで検証できればいいのでは? AIエージェントとプログラミングをしていて思うこと
  4. 1. テストカバレッジ テストが少ないほど品質低 2. 複雑度 複雑度が高いほど品質低 評価関数: "コードの品質" × "コードの重要度"

    3. 変更頻度 変更が多いほど重要度高 4. アーキテクチャ Modelのようなコアロジックほど 重要度高 コードの品質 コードの重要度 × 品質が低く重要なコードを改善対象として最優先する
  5. 想定する活用方法 • 「コードを変更したらスコアn以上のメソッドが存在しない状態を保つこ と」と書いておく • コードレビューを依頼する際に「スコアを踏まえた上でレビューして」と伝 える • 定期実行で「最もスコアの高いメソッドを改善する Pull

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

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