Building a CI harness with Mastra
1時間 7秒
急増するCIの課題をMRAで解決!StarlingのエージェントネイティブCIとは
この記事は動画の内容を元にAIが生成したものです。正確な情報は元の動画をご確認ください。
ポイント
- •本記事は、AIによるコード生成で急増するCIのボトルネックに悩むエンジニア向けに、Starling社が提唱する「エージェントネイティブCI」を紹介します。
- •MRAを核とするこのCIは、実行履歴の学習とABテストを通じ、最適化の根拠を添付したプルリクエストを自動生成し、継続的な自己改善を実現します。
- •これにより、従来の場当たり的なCI改善から脱却し、CIの待ち時間を解消することで、エンジニアはより価値の高い開発業務に集中し生産性向上を実現できます。
皆様、こんにちは。MRAワークショップへようこそ。 本日は、Starling社の共同創設者兼CTOであるダニエル氏をお招きし、MRAを活用したCIハーネスの構築について深く掘り下げていきます。CI(継続的インテグレーション)が今日のソフトウェア開発においていかに重要な役割を果たすか、そしてそれが直面している課題について、具体的な解決策とともにご紹介いたします。
導入:CIのボトルネックが開発速度を阻害する時代
私はサンディエゴから参加しており、ダニエル氏はサンマテオから参加されています。今日のテーマは、MRAを使ったCIハーネスの構築です。
Starling社の共同創設者兼CTOであるダニエル氏は、これまでNetflixでエンジニアリングマネージャーおよびパフォーマンスエンジニアとして、またMetaのAIカメラチームで勤務してきました。そのため、パフォーマンスとAIに関する課題は、彼にとって非常に身近なものです。
まず、Starlingについて簡単にご紹介します。Starlingは「エージェントネイティブCI」を提供しており、高速なGitHub Actionsランナーを通じてプルリクエスト(PR)を自動で作成し、時間の経過とともにCIを高速化します。このPR作成の中心には、Mastraで構築されたリサーチエージェントが据えられています。今回のワークショップでは、このPR作成の部分に焦点を当てて詳しく見ていきます。
なぜ今、CIが重要なのか?
CIは、現在のエンジニアリングチームにとって新たなボトルネックとなっています。Anthropic社の最近のブログ記事では、過去6ヶ月間でCIジョブのボリュームが25倍に増加し、テスト数も10倍に増えたと報告されています。また、Linear社のエンジニアリングチームも、テストスイートが37倍に増加したとブログで述べています。これは、エージェントがコードを記述するようになったことで、CIジョブの数が指数関数的に増加していることを示しています。この状況では、コードをメインブランチに統合し、デプロイし、コードが検証され、安全であることを確認する方法が大きな課題となります。
ダニエル氏も、Metaのような大規模な企業では、AI以前から多くのエンジニアがいたため、CIのボトルネックを早期に経験していたと述べています。しかし今では、100体のエージェントがコードを書く時代となり、この問題は「すべてのチーム」の問題となっています。CIジョブが遅いと、マージの準備ができていてもCIの完了を待たなければならず、開発速度が大きく低下してしまいます。
従来のCI最適化アプローチの限界
過去3年ほど前を振り返ると、多くのチームがCIの遅さに悩んでいました。テスト、ビルド、コードレビューに時間がかかりすぎると感じた一人のエンジニアが、自らのラップトップでコードを深く掘り下げ、実験を行い、PRを作成し、結果が良ければマージするという流れが一般的でした。しかし、このアプローチは非常に場当たり的で、緊急性の高い痛みに対応するものであり、継続的かつ自己改善的なものではありませんでした。さらに、その変更が本当にCIを改善したのかどうか、検証されないままマージされることも少なくありませんでした。
StarlingのエージェントネイティブCI:継続的な自己改善を実現
Starlingは、この課題に対し、継続的かつ自己改善的なアプローチを提供します。私たちのエージェントは、実行されたすべてのCIジョブを完全に記憶しており、変更のABテストを実施します。最終的には、エンジニアが検証し、マージできるPRが生成されます。しかし、このPRには、最適化の内容とその変更がCIをなぜ高速化するのかについての「証拠」が添付されています。これにより、場当たり的な対応ではなく、データに基づいた確実なCI改善が可能になります。
Starling CIハーネスのアーキテクチャ:2つのループでCIを最適化
StarlingのCIハーネスには、高レベルで2つのループが存在します。このアーキテクチャが、エージェントネイティブCIの継続的な最適化を可能にしています。
アウターループ:コードベースの進化を学習する
一つ目の「アウターループ」では、コードベースへの変更(Starlingによって提案されたPRまたは皆様自身の変更)がマージされると、その情報がエージェントにフィードバックされます。これにより、エージェントは「このコードベースでは、現在のCIはどのように実行されているか」という仮説を立てることができます。これは、システムの長期的な進化をエージェントが学習し、適応するための重要なプロセスです。
インナーループ:MRAエージェントによるCI最適化の実行
二つ目の「インナーループ」は、今回のワークショップでより深く掘り下げる部分です。ここでは、MRAエージェントがCIを最適化するためのプルリクエストを作成し、検証するプロセスが実行されます。
- 仮説の生成: MRAエージェントが、既存のCIデータとコードベースの情報を基に、CIを高速化するための新しい仮説(例:テストの実行順序変更、依存関係の最適化など)を立てます。
- テストと検証: 立てられた仮説は、実際の環境に近いサンドボックスでテストされます。この際、ABテストが実施され、変更が本当にCIパフォーマンスを向上させるのか、あるいは問題を引き起こさないかを慎重に検証します。
- PRの作成: テストと検証が成功し、CIの最適化が確認された場合、MRAエージェントは具体的な変更内容と、その変更がCIをどれだけ高速化するかを示す「証拠」を添付したプルリクエストを自動的に生成します。
- エンジニアによる確認とマージ: 生成されたPRは、最終的に人間のエンジニアがレビューし、内容を確認した上でマージされます。これにより、自動化された最適化と人間の専門知識が融合され、安全かつ効率的な開発ワークフローが実現します。
このインナーループが繰り返されることで、CIは継続的に改善され、エンジニアはCIのボトルネックに悩まされることなく、より重要な開発業務に集中できるようになります。
まとめ:MRAとStarlingが拓くCIの未来
StarlingのエージェントネイティブCIは、MRAを核とするインテリジェントなエージェントを活用することで、CIのボトルネックという現代の開発における喫緊の課題を解決します。
従来の場当たり的なCI改善から脱却し、完璧な実行履歴の記憶、ABテスト、そして最適化の証拠を伴うPRの自動生成を通じて、継続的かつ自己改善型のCIを実現します。これにより、エンジニアはCIの待ち時間から解放され、より価値の高い業務に集中できるようになります。
MRAとStarlingが提供するこの革新的なアプローチが、皆様のCIプロセスを劇的に改善し、開発チーム全体の生産性向上に貢献することを願っています。
参考動画
URL: https://www.youtube.com/watch?v=vIQ2sHYtCBY