Antigravity のエージェントモードとは
Antigravity IDE には、AIエージェントがタスクに取り組む際の「思考モード」を切り替える機能が備わっています。代表的なものが Plan Mode と Fast Mode の2つです。
Plan Mode はエージェントがコードを書く前に計画を立て、ステップバイステップで進めるモードです。一方、Fast Mode はエージェントが素早く応答し、即座にコード生成や修正を行うモードです。どちらが優れているということではなく、タスクの性質に応じて使い分けることが開発効率を最大化するカギとなります。
Plan Mode の特徴と活用シーン
Plan Mode は、Antigravity のエージェントが実装に入る前に「何をどの順序で行うか」を明示的に計画するモードです。以下のような特徴があります。
- タスク分解: 大きなタスクを小さなステップに分割してから実行する
- 確認プロンプト: 各ステップの実行前にユーザーへ確認を求める
- 依存関係の分析: ファイル間の依存関係を事前に分析し、変更の影響範囲を把握する
- ロールバック計画: 万が一の際に元に戻せるポイントを意識した設計
Plan Mode が特に力を発揮するのは、次のようなシーンです。
大規模なリファクタリング: 複数ファイルにまたがる構造的な変更を行う場合、事前に計画を立てることで変更漏れや矛盾を防げます。
新機能の設計と実装: ゼロからコンポーネントやモジュールを作成する際、アーキテクチャの全体像を先に描くことで、後から手戻りする可能性を減らせます。
CI/CDパイプラインの構築: ビルド・テスト・デプロイの各段階を計画的に組み上げる必要がある作業に向いています。
// Plan Mode を使った新機能設計の例
// エージェントへのプロンプト:
// 「ユーザー認証機能を追加してください。Plan Modeで進めてください。」
// エージェントの計画出力例:
// Step 1: 認証スキーマの定義(schema/auth.ts)
// Step 2: 認証APIルートの作成(api/auth/route.ts)
// Step 3: ミドルウェアの実装(middleware.ts)
// Step 4: フロントエンドの認証コンテキスト(contexts/AuthContext.tsx)
// Step 5: ログインフォームコンポーネント(components/LoginForm.tsx)
// Step 6: テストの作成と実行
// 各ステップで確認を求めてから次に進むFast Mode の特徴と活用シーン
Fast Mode は、エージェントが最小限の計画で即座にコードを生成するモードです。速度を重視した開発に最適で、以下のような特徴があります。
- 即時応答: プロンプトに対してすぐにコードを生成する
- 反復的な開発: 「書いて → 試して → 直して」のサイクルを高速に回せる
- コンテキスト活用: 現在開いているファイルのコンテキストを活かして素早く提案する
- 低トークン消費: 計画フェーズがないため、AIクレジットの消費を抑えられる
Fast Mode が活躍するのは、次のようなシーンです。
バグの修正: エラーログを見て素早くパッチを当てる場面では、計画よりもスピードが重要です。
小規模な変更: CSSの調整、テキストの修正、型定義の追加など、影響範囲が限定的な変更に向いています。
プロトタイピング: アイデアを素早く形にしたいとき、Plan Mode の計画フェーズは逆にボトルネックになり得ます。
// Fast Mode を使ったバグ修正の例
// エージェントへのプロンプト:
// 「このコンポーネントで undefined エラーが出ています。修正してください。」
// Fast Mode では即座に修正コードを生成:
// Before:
const userName = user.profile.name; // user.profile が undefined の可能性
// After(エージェントが即座に提案):
const userName = user?.profile?.name ?? "Guest";
// Optional chaining とフォールバック値で安全にアクセスPlan Mode と Fast Mode の切り替え方法
Antigravity でモードを切り替えるには、いくつかの方法があります。
方法 1: コマンドパレットから切り替える
Cmd + Shift + P(Mac)または Ctrl + Shift + P(Windows/Linux)でコマンドパレットを開き、「Agent Mode」と入力します。表示されるオプションから Plan Mode または Fast Mode を選択できます。
方法 2: チャットパネルから切り替える
エージェントのチャットパネル上部にあるモード切り替えのドロップダウンメニューから、直接モードを選択できます。これが最も直感的な方法です。
方法 3: プロンプトで指定する
チャット入力欄に直接モードを指示することも可能です。
Plan Modeで認証機能を設計してください
Fast Modeでこのバグを修正してください
エージェントはプロンプト内のキーワードを認識し、適切なモードに切り替えて動作します。
モード選択の判断基準
どちらのモードを使うべきか迷ったとき、以下の判断基準が参考になります。
Plan Mode を選ぶべき場面:
- 変更対象のファイルが3つ以上ある
- タスクの完了に30分以上かかりそう
- アーキテクチャの設計判断が含まれる
- チームメンバーにレビューを依頼する予定がある
- ロールバックが難しい変更を行う
Fast Mode を選ぶべき場面:
- 変更が1〜2ファイルに収まる
- 5分以内で完了するタスク
- 修正内容が明確(エラーメッセージが特定済み)
- プロトタイプや実験的なコード
- 繰り返しの作業(テスト追加、型定義の拡張など)
実際の開発では、1つのタスクの中でもモードを切り替えることが効果的です。たとえば、新機能の全体設計は Plan Mode で行い、個々のコンポーネントの実装は Fast Mode で進めるといったハイブリッドなアプローチが有効です。
実践例: Plan Mode でAPIエンドポイントを設計する
ここでは、REST APIのエンドポイントを Plan Mode で設計する実践例を紹介します。
// エージェントに以下のプロンプトを送信:
// 「商品管理APIのCRUDエンドポイントをPlan Modeで設計・実装してください」
// エージェントが生成する計画:
// ─── 計画 ───
// 1. データモデル定義: Product型とバリデーションスキーマ
// 2. APIルート作成: GET/POST/PUT/DELETE
// 3. エラーハンドリング: 統一エラーレスポンス
// 4. テスト: 各エンドポイントのユニットテスト
// Step 1: データモデル(types/product.ts)
interface Product {
id: string;
name: string;
price: number;
description: string;
createdAt: Date;
updatedAt: Date;
}
// Step 2: APIルート(app/api/products/route.ts)
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const page = parseInt(searchParams.get("page") ?? "1");
const limit = parseInt(searchParams.get("limit") ?? "20");
const products = await db.product.findMany({
skip: (page - 1) * limit,
take: limit,
orderBy: { createdAt: "desc" },
});
return Response.json({ products, page, limit });
}
export async function POST(request: Request) {
const body = await request.json();
// バリデーション後に作成
const product = await db.product.create({ data: body });
return Response.json(product, { status: 201 });
}Plan Mode では各ステップの完了をユーザーに確認した上で次に進むため、設計の意図を理解しながら実装を進められます。
実践例: Fast Mode でスタイリングを即座に修正する
次に、Fast Mode を使ったCSSの即時修正の例です。
/* エージェントへのプロンプト:
「このカードコンポーネントにホバーエフェクトとダークモード対応を追加して」 */
/* Fast Mode が即座に生成: */
.card {
padding: 1.5rem;
border-radius: 0.75rem;
background: white;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
.card {
background: #1e1e2e;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.card:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
}Fast Mode では計画フェーズをスキップするため、このような局所的な変更を瞬時に完了できます。
全体を振り返って
Antigravity の Plan Mode と Fast Mode は、それぞれ異なる強みを持つ開発モードです。Plan Mode は大規模で複雑なタスクに、Fast Mode は素早い修正や反復的な作業に適しています。
開発効率を最大化するには、1つのモードに固執するのではなく、タスクの性質に応じて柔軟に切り替えることが大切です。設計には Plan Mode で俯瞰的な視点を取り入れ、実装には Fast Mode のスピードを活かす — このハイブリッドアプローチが、AI駆動の開発ワークフローをさらに一段階引き上げてくれるはずです。
AIツールを活用した開発ワークフロー全般について体系的に学べます。