JetBrainsは、Airエコシステムのチーム向けレイヤーであるAir Teamsを発表した。これは、コーディングエージェントの作業を調整し、ソフトウェア開発ライフサイクル全体でうまくいった成果を共有するためのものだ。このサービスは現在、JetBrainsの法人顧客向けに提供されており、同社は今後、個人顧客にもアクセスを拡大する計画だ。
このサービスは、開発チーム内でAIエージェントを利用する際の実務上の問題を対象としている。各開発者の設定、指示、環境は、多くの場合その開発者のコンピューターに残されるため、成功したワークフローをチームの他のメンバーに移すことが難しい。そこでAir Teamsは、これらの要素をチームが管理し、再利用できる共有スペースへ移す。
共有ワークフローを構成する4つのコンポーネント
Air Teamsは、相互に関連する4つの要素で構成される。
- 自動実行:エージェントがクラウドで実行する反復タスク。プルリクエストのレビュー、特定の問題への対応、依存関係の更新などがあり、イベントまたはスケジュールに従って開始される。
- 共有クラウド環境:ビルドとテストに必要なツール、依存関係、アクセスデータを含む設定。チームが一度セットアップして再利用できる。
- クラウドタスク:開発者のコンピューターを占有せずに並列実行できる作業。統合開発環境またはブラウザーから開始・追跡でき、将来的にはスマートフォンからも可能になる。
- チームプロジェクト:メンバー、環境、コネクター、自動実行を、共有ロールとクレジットとともにまとめるスペース。
自動実行で反復作業を管理
各自動処理は、エージェントに求める内容を定める指示、実行環境、エージェントが利用できるツール、開始時刻を定めるトリガーという4つのコンポーネントから構成される。トリガーにはGitHubやJiraのイベント、Webhook、スケジュールが含まれ、今後は他の種類にも対応する予定だ。また、このサービスはJira、Figma、Linearなどのツールへのコネクターもサポートする。
JetBrainsは、新しいプルリクエストをすべてレビューすること、YouTrackの小さな問題の修正を試みてレビュー用のプルリクエストを開くこと、週2回依存関係を更新することなどを例として挙げている。最後の例では、エージェントがプロジェクトをビルドしてテストを実行し、修正できない場合は不具合を直すか更新をロールバックする。これにより、繰り返しプルリクエストを作成してチームを圧迫するのではなく、更新された1つのプルリクエストを維持する。
実際に何が変わるのか
Air Teamsは、エージェントのセットアップを個人の試行から共有資産へと変える。リポジトリ環境はリポジトリ内の.air/cloud/startup.shファイルに保存され、他のコードと同様にレビューやバージョン管理ができる。また、エージェントにリポジトリを検査させ、インストールとビルドを実行させたうえで、レビュー用に別ブランチでスクリプトを提案させることもできる。
JetBrainsによると、環境の共有は認証情報そのものの共有を意味しない。共有シークレットはその値を公開せずに使用できる一方、個人シークレットとリポジトリの権限は各ユーザーに紐づいたままとなる。プロジェクトにはサービスアカウントと専用のAIクレジットが付与されるため、管理者がプロジェクトのクレジットを使用することを選択すれば、作成者がチームを離れた後も自動実行を継続できる。
意思決定をエンジニアの手元に残す
このプラットフォームは、変更をエンジニアがマージまたは却下するプルリクエストの形に保つことで、不要なコメントやプルリクエストによって生じるノイズを抑えようとしている。また、各処理にはエージェントの会話記録とツール呼び出しの履歴が保存されるため、エラーが発生した際にチームは結果に至った理由を確認できる。ただし、原文は料金、利用上限、より広範なガバナンスの仕組みについて詳細を示していない。これらは、サービスを本番環境で大規模に採用する前に、各チームが確認する必要のある点だ。