取り組みの背景 — なぜマルチエージェントが開発を変えるのか
ソフトウェア開発においてAIアシスタントを使う場面は増えていますが、1つのAIに全てを任せるアプローチには限界があります。コードの生成、テストの作成、ドキュメントの更新、コードレビューなど、異なるタスクには異なる専門性が求められるからです。
Antigravity のマルチエージェント機能は、この課題を解決するために設計されましました。複数のAIエージェントがそれぞれの専門領域を担当し、Manager Surface を通じて協調動作することで、単一エージェントでは実現できない開発効率を達成できます。
Manager Surface の基本操作
Manager Surface は、Antigravity のマルチエージェント機能の中核となるインターフェースです。ここからエージェントの起動、タスクの割り当て、進捗の監視を行います。
エージェントの起動と設定
Manager Surface を開くには、Antigravity のコマンドパレットで Manager Surface を検索するか、キーボードショートカット Cmd+Shift+M(macOS)/ Ctrl+Shift+M(Windows/Linux)を使用します。
# Antigravity CLI からもエージェントを起動できる
# プロジェクトルートで実行
antigravity agent start --name "code-reviewer" --role "Code Review Specialist"
antigravity agent start --name "test-writer" --role "Test Suite Generator"
antigravity agent start --name "doc-updater" --role "Documentation Maintainer"
# 起動中のエージェント一覧を確認
antigravity agent list
# 期待される出力:
# ID NAME ROLE STATUS
# ag-1 code-reviewer Code Review Specialist active
# ag-2 test-writer Test Suite Generator active
# ag-3 doc-updater Documentation Maintainer active各エージェントにはロール(役割)を設定できます。ロールはシステムプロンプトとして機能し、エージェントの振る舞いを専門化させます。
タスクの割り当て
エージェントにタスクを割り当てるには、Manager Surface のタスクパネルを使用するか、CLI から直接指定します。
# 特定のエージェントにタスクを割り当て
antigravity agent assign ag-1 --task "src/auth/login.ts をレビューし、セキュリティ上の懸念点を報告"
antigravity agent assign ag-2 --task "src/auth/login.ts のユニットテストを作成"
antigravity agent assign ag-3 --task "src/auth/README.md を login.ts の最新実装に合わせて更新"
# タスクの進捗を確認
antigravity agent status
# 期待される出力:
# ag-1 [code-reviewer] ████████░░ 80% Reviewing login.ts...
# ag-2 [test-writer] ██████░░░░ 60% Writing unit tests...
# ag-3 [doc-updater] ████░░░░░░ 40% Updating README.md...実践的な連携パターン
マルチエージェントの真価は、エージェント同士が連携して複雑なワークフローを処理する場面で発揮されます。
パターン1: パイプライン型(直列処理)
1つのエージェントの出力が次のエージェントの入力になる連鎖型のワークフローです。
# .antigravity/workflows/pipeline.yaml
name: code-quality-pipeline
description: コード品質を段階的に検証するパイプライン
steps:
- agent: code-generator
task: "ユーザーの要件に基づいてコードを生成"
output: generated_code
- agent: code-reviewer
task: "生成されたコードのセキュリティと品質をレビュー"
input: $generated_code
output: review_report
- agent: test-writer
task: "レビュー結果を踏まえたテストスイートを作成"
input: $generated_code, $review_report
output: test_suite
- agent: doc-updater
task: "最終的なコードとテストに基づいてドキュメントを更新"
input: $generated_code, $test_suiteパイプライン型は、各ステップの品質を段階的に保証できるメリットがあります。コード生成→レビュー→テスト→ドキュメントの流れは、人間のチーム開発と同じプロセスをAIで再現しています。
パターン2: ファンアウト型(並列処理)
複数のエージェントが独立したタスクを同時に実行し、結果を集約するパターンです。
# .antigravity/workflows/fan-out.yaml
name: comprehensive-analysis
description: コードベースの多角的な分析を並列実行
parallel:
- agent: security-scanner
task: "依存関係の脆弱性をスキャン"
output: security_report
- agent: performance-analyzer
task: "ボトルネックを特定しパフォーマンスレポートを作成"
output: performance_report
- agent: accessibility-checker
task: "WCAG 2.1 準拠のアクセシビリティ監査"
output: a11y_report
aggregate:
agent: report-compiler
task: "3つのレポートを統合し、優先順位付きのアクションアイテムを作成"
input: $security_report, $performance_report, $a11y_reportファンアウト型は、独立性の高いタスクを並列処理することで全体の所要時間を大幅に短縮します。
パターン3: 監視・フィードバック型
1つのエージェントが他のエージェントの成果物を監視し、品質基準を満たさない場合にフィードバックループを形成するパターンです。
// カスタムワークフローを TypeScript で定義する例
import { AgentManager, WorkflowBuilder } from "@antigravity/agents";
const manager = new AgentManager();
const workflow = new WorkflowBuilder()
.addAgent("implementer", {
role: "Feature Implementation Specialist",
maxRetries: 3,
})
.addAgent("quality-gate", {
role: "Quality Assurance Gate",
criteria: {
testCoverage: 80,
lintErrors: 0,
typeErrors: 0,
docCoverage: 100,
},
})
.setFeedbackLoop("quality-gate", "implementer", {
onFail: (report) => ({
message: `以下の基準が未達です:\n${report.failures.join("\n")}`,
action: "retry_with_feedback",
}),
})
.build();
const result = await manager.run(workflow, {
task: "ユーザー認証のパスワードリセット機能を実装",
});
console.log(result.summary);
// 期待される出力:
// ✅ Implementation complete after 2 feedback iterations
// - Test coverage: 85%
// - Lint errors: 0
// - Type errors: 0
// - Doc coverage: 100%よくあるエラーと対処法
マルチエージェント環境では、シングルエージェントとは異なるエラーが発生することがあります。
エージェント間のコンテキスト共有エラー
エージェント間でファイルの変更が競合する場合、Antigravity はロック機構で衝突を防ぎます。ただし、同じファイルを複数のエージェントが同時に編集しようとするとデッドロックが発生することがあります。
対処法として、ワークフロー設計時にファイルの所有権を明確にする点が肝心です。パイプライン型であれば自然に排他制御されますが、ファンアウト型では各エージェントが操作するファイルが重複しないよう注意してください。
リソース消費の最適化
複数のエージェントを同時に動かすと、APIコールとトークン消費が増加します。コストを抑えるためには、軽量なタスク(Lint チェック、フォーマット確認など)には小さいモデルを割り当て、重要なタスク(セキュリティレビュー、アーキテクチャ設計など)には高性能モデルを使用する戦略が効果的です。
まとめ
Antigravity のマルチエージェント機能は、開発ワークフローを根本から効率化するための強力なツールです。パイプライン型、ファンアウト型、監視・フィードバック型の3つの基本パターンを理解すれば、ほとんどの開発シナリオに対応できます。
まずは2つのエージェント(コード生成 + レビュー)から始めて、徐々にワークフローを拡張していくのがおすすめです。重要なのは、エージェントの数を増やすことではなく、各エージェントの専門性を高め、連携の質を上げることです。