👺

JetBrainsのAIコーディングエージェント「Junie」の評価にCI/CDツール「TeamCity」が使われているはなし

に公開

はじめに

どうも、こんにちは。私です。

JetBrainsが開発したAIエージェント「Junie」は、ただのコード補完にとどまらず、プロジェクトの読み込みから修正の提案、テストの実行まで一貫して行える革新的な開発支援ツールです。

そんなJunieの性能をどうやって評価しているのか?
その裏側では、JetBrains製のCI/CDツール「TeamCity」が重要な役割を担っています。


🤖 Junieとは?

Junieは「AIソフトウェアエンジニア」とも言える存在です。
以下のような一連の作業を自動で行うことができます:

  • GitHubのIssueやPull Requestの内容を読み取り
  • 対応するコードの修正を提案・適用
  • テストを実行し、結果を確認

この一連の動きは人間のエンジニアが行う流れにとても近く、実用性の高いAIエージェントとして注目されています。


🔍 評価に使われるベンチマークとは?

Junieの性能を客観的に評価するために、JetBrainsは「SWE-bench」や「SWE-bench Verified」と呼ばれるベンチマークセットを利用しています。

  • SWE-bench: GitHubの実タスク(IssueやPR)を使って、AIがどこまで対応できるかを測るための標準ベンチマーク。
  • SWE-bench Verified: 上記に人手による正解データが加わったもの。信頼性の高い評価が可能。

🛠 TeamCityが担う役割

このような評価をスケールさせ、正確かつ効率的に行うためにTeamCityが使われています。

TeamCityの役割は以下の通り:

  • 並列実行:複数の評価タスクを同時に走らせて時間短縮
  • 再現性の担保:Dockerを使って同じ環境でタスクを実行
  • バージョン管理:Junieのバージョンごとに結果を記録
  • コスト管理:評価1件に100ドル以上かかるAPI料金を見える化
  • ログの保存と再利用:失敗例のデバッグや、結果の比較に利用可能

⚙️ 評価プロセスの流れ

TeamCity上での評価の自動化フローは、次のようになっています:

1. 評価タスクの定義(例:GitHub Issue)
2. Dockerで環境構築
3. Junieがコード修正を実行
4. テストの自動実行
5. 成否の記録・ログ出力
6. 結果の保存と可視化

🧠 なぜ自動化が重要なのか?

JunieのようなAIは、常に改善されていくものです。
毎回のアップデートで「本当に良くなったか?」を確認するには、定量的で再現性のある評価基盤が欠かせません。

TeamCityの活用により、

毎日のように行われる改善の効果を素早くチェック

ボトルネックの発見とデバッグ

評価履歴の蓄積と分析

といったことが可能になっています。

🚀 まとめ

JetBrainsのJunieとTeamCityの連携は、AIによるソフトウェア開発の可能性を広げる好例です。

CI/CDの概念は「人が書いたコードをチェックしてデリバリーする」ために生まれましたが、いまや「AIが書いたコードの性能を測る」ことにも応用されています。

📌 この記事は、JetBrains公式ブログをもとに、一部OpenAIのAIアシスタント(ChatGPT)を活用して作成されました。

🔗 参考リンク

株式会社NATTOSYSTEM

Discussion