Setup and context
Antigravity IDE's March 2026 update brought a significant expansion to its AI model roster. You now have access to six distinct models: Gemini 3.1 Pro (High/Low), Gemini 3 Flash, Claude Sonnet 4.6, Claude Opus 4.6, and GPT-OSS 120B. With this many options, a natural question arises: which model should you use, and when?
This article goes beyond surface-level comparisons. We'll build a systematic framework for model selection, automate it with AGENTS.md, and design advanced multi-agent workflows that leverage each model's unique strengths. By the end, you'll have a concrete strategy that improves code quality while reducing token costs.
What you'll learn:
- Detailed comparison of each model's strengths and weaknesses for development tasks
- A task-classification matrix for optimal model selection
- How to configure AGENTS.md for automatic model routing
- Advanced multi-agent workflows combining different models
- Practical techniques for optimizing token consumption and cost
Prerequisites: This guide assumes you're comfortable with Antigravity's core features — chat, file editing, and terminal integration. Familiarity with basic agent operations is expected.
Setting Up Your Environment
Requirements
- Antigravity IDE v1.20.3 or later (latest recommended)
- Google Account (required for Gemini model access)
- Any project to experiment with (we'll use a Next.js project as our example)
Checking Available Models
You can select models from the model selector in the bottom-right corner of the editor, or from the dropdown at the top of the chat panel. Here's the current lineup:
| Model | Provider | Key Strength | Best For |
|---|---|---|---|
| Gemini 3.1 Pro (High) | Highest accuracy, deep reasoning | Architecture decisions, complex refactoring | |
| Gemini 3.1 Pro (Low) | Fast, cost-efficient | Everyday coding, lightweight tasks | |
| Gemini 3 Flash | Ultra-fast responses | Code completion, quick questions | |
| Claude Opus 4.6 | Anthropic | Long-context understanding, precision | Large codebase analysis, documentation |
| Claude Sonnet 4.6 | Anthropic | Balanced performance | General-purpose coding, code review |
| GPT-OSS 120B | OpenAI | Open-source, flexibility | Experimental tasks, multilingual support |
Core Concept: Why Multi-Model Matters
The Limits of a Single Model
No single model excels at every task. Gemini 3.1 Pro (High) delivers exceptional reasoning for complex architecture decisions, but its response time makes it overkill for simple code completions. Gemini 3 Flash responds instantly, but lacks the depth for large-scale system design.
The core insight behind a multi-model strategy is matching task complexity to model capability — using the right tool for the right job.
Antigravity's Model Routing Architecture
Antigravity controls model selection through three layers:
- Manual selection: Direct model choice via the chat panel dropdown
- AGENTS.md / GEMINI.md rules: Project-root configuration files for automatic routing
- AgentKit skill metadata: Each skill can specify its preferred model
Step-by-Step Implementation
Step 1: Build a Task Classification Framework
Start by classifying your daily development tasks into four tiers:
// Conceptual task classification framework
type TaskTier = "tier1_simple" | "tier2_standard" | "tier3_complex" | "tier4_critical";
const taskClassification: Record<TaskTier, {
model: string;
examples: string[];
maxTokens: number;
}> = {
tier1_simple: {
model: "gemini-3-flash",
examples: [
"Variable renaming",
"Adding import statements",
"Fixing simple typos",
"Code formatting"
],
maxTokens: 1000
},
tier2_standard: {
model: "gemini-3.1-pro-low",
examples: [
"Function implementation",
"Unit test creation",
"Adding API endpoints",
"Component creation"
],
maxTokens: 4000
},
tier3_complex: {
model: "claude-sonnet-4.6",
examples: [
"Refactoring planning",
"Performance optimization",
"Security review",
"Cross-file consistency checks"
],
maxTokens: 8000
},
tier4_critical: {
model: "gemini-3.1-pro-high | claude-opus-4.6",
examples: [
"Architecture design",
"Large-scale migration planning",
"Production incident debugging",
"New system design"
],
maxTokens: 16000
}
};Step 2: Configure AGENTS.md for Automatic Routing
Place an AGENTS.md file at your project root to automatically select models based on directories and file patterns:
# AGENTS.md - Multi-Model Strategy Configuration
## Test-Related Tasks
When editing or generating test files (`**/*.test.ts`, `**/*.spec.ts`),
use Gemini 3.1 Pro (Low). Tests follow predictable patterns and a
fast model delivers sufficient quality.
## API Design and Schema Changes
When modifying `src/api/` or `prisma/schema.prisma`, use Claude Opus 4.6.
API consistency and schema integrity require deep, long-context understanding.
## Frontend Components
When creating or modifying React components in `src/components/`,
use Claude Sonnet 4.6. It provides a good balance of UI logic
and styling quality.
## Infrastructure and CI/CD
When editing `.github/workflows/`, `Dockerfile`, or `docker-compose.yml`,
use Gemini 3.1 Pro (High). Infrastructure misconfigurations can
directly impact production, so maximum accuracy is essential.
## Documentation
When generating or updating Markdown files in `docs/`,
use GPT-OSS 120B. It excels at natural language generation
and multilingual content.Step 3: Orchestrate Multi-Model Agent Workflows
Use Antigravity's Manager Surface to run multiple agents simultaneously, each powered by a different model:
# Multi-model agent orchestration via Manager Surface
# Agent 1: Code generation (Gemini 3.1 Pro Low — speed)
# Agent 2: Test generation (Claude Sonnet 4.6 — accuracy)
# Agent 3: Documentation (GPT-OSS 120B — natural prose)
# Each agent automatically selects its model based on
# AGENTS.md directory rules.
# How to set this up:
# 1. Open Manager Surface (Cmd+Shift+M / Ctrl+Shift+M)
# 2. Spawn three new agents
# 3. Give each agent its specific prompt:
# Agent 1 prompt:
# "Implement a Stripe webhook handler in src/services/payment.ts"
# Agent 2 prompt:
# "Write comprehensive tests for all functions in
# src/services/payment.test.ts"
# Agent 3 prompt:
# "Create API documentation for the payment service
# in docs/api/payment.md"Advanced Patterns
Pattern 1: Model Chaining (Progressive Refinement)
Generate a draft with a fast model, then review and refine with a high-accuracy model:
// Model chaining: Two-stage approach
// Step 1: Gemini 3 Flash generates a rapid draft
// Step 2: Claude Opus 4.6 reviews and fixes
// Practical example: API route implementation
// --- Step 1: Flash scaffolds the code ---
// Prompt: "Create an authenticated CRUD API at /api/users"
// → Basic structure ready in seconds
// --- Step 2: Opus performs security review ---
// Prompt: "Review this API for security issues.
// Check for auth bypass, SQL injection, rate limiting."
// → Deep analysis catches vulnerabilities
// Benefits of this two-stage approach:
// - Total response time: ~15s (vs ~25s with Opus alone)
// - Quality: Opus-reviewed, high quality
// - Cost: Flash's lower token price reduces overall spendPattern 2: Model Voting (Critical Decisions)
Ask multiple models the same question and judge reliability by response consensus:
// Compare multiple model opinions for architecture decisions
//
// Question: "For this project's database, which is optimal:
// PostgreSQL vs MongoDB vs Supabase? Explain why."
//
// Gemini 3.1 Pro (High) answer:
// → PostgreSQL (type safety and scalability)
//
// Claude Opus 4.6 answer:
// → Supabase (development speed and realtime features)
//
// GPT-OSS 120B answer:
// → PostgreSQL (ecosystem maturity and cost efficiency)
//
// Analysis:
// - 2/3 recommend PostgreSQL → high confidence
// - Supabase rationale is also valid → consider hybrid
// - Final decision: PostgreSQL + Supabase client
// (leverage benefits of both)Pattern 3: Language-Specific Model Selection
Different models have varying strengths across programming languages. Configure language-based routing in AGENTS.md:
# AGENTS.md - Language-specific routing rules
## Rust / Go / Systems Languages
When working with `*.rs` or `*.go` files, use Gemini 3.1 Pro (High).
Memory management and compiler error resolution benefit from
the highest-accuracy model.
## TypeScript / JavaScript
When working with `*.ts`, `*.tsx`, `*.js`, `*.jsx` files,
use Claude Sonnet 4.6. It has strong knowledge of both
frontend and backend ecosystems.
## Python / Data Science
When working with `*.py` or `*.ipynb` files, use GPT-OSS 120B.
It has extensive knowledge of scientific computing libraries
and data processing pipelines.
## Swift / Kotlin (Mobile)
When working with `*.swift` or `*.kt` files,
use Gemini 3.1 Pro (High). It stays current with the latest
platform APIs and UI frameworks (SwiftUI, Jetpack Compose).Real-World Workflow: Building a Payment Feature
Let's walk through a concrete example of how multi-model orchestration works in practice. Imagine you're building a Stripe payment integration for a SaaS application.
Phase 1: Scaffolding (Gemini 3 Flash)
Start with Flash for rapid scaffolding. Ask it to generate the basic file structure, route handlers, and type definitions. Flash excels here because payment integration follows well-established patterns — webhook endpoints, session creation, and subscription management are all standard code that doesn't require deep reasoning.
The key advantage is speed. Flash generates a working scaffold in 2-3 seconds, giving you a foundation to build upon rather than starting from a blank file.
Phase 2: Business Logic (Claude Sonnet 4.6)
Switch to Claude Sonnet for implementing the nuanced business logic — proration calculations, grace periods, upgrade/downgrade flows, and idempotency handling. Sonnet's balanced performance makes it ideal for this phase: the code isn't trivially simple (ruling out Flash), but it doesn't require the heavyweight reasoning of Opus or Pro (High).
Sonnet particularly shines when you need to maintain consistency across multiple files. Ask it to implement the webhook handler while keeping the type definitions, database schema, and API routes in sync.
Phase 3: Security Review (Claude Opus 4.6)
Once the implementation is complete, switch to Claude Opus for a thorough security review. Payment code demands the highest level of scrutiny. Ask Opus to check for webhook signature verification, CSRF protection, SQL injection vectors, and race conditions in concurrent payment processing.
Opus's large context window allows it to analyze the entire payment module — routes, services, middleware, and tests — in a single pass, identifying cross-file security issues that shorter-context models might miss.
Phase 4: Documentation (GPT-OSS 120B)
Finally, use GPT-OSS 120B to generate comprehensive API documentation, integration guides, and changelog entries. Its natural language generation capabilities produce documentation that reads like it was written by a technical writer rather than an AI.
This four-phase workflow typically completes in under 10 minutes, with each model contributing its unique strength to the final result.
Troubleshooting
Common Issues and Solutions
Issue 1: Context resets when switching models
When you manually switch models, chat history is preserved but the model's internal state resets. For mid-conversation switches, provide a brief summary of the current context before asking the new model to continue.
Issue 2: AGENTS.md rules not being applied
AGENTS.md support was added in v1.20.3. Verify your version and confirm the file is in the project root directory. When both GEMINI.md and AGENTS.md exist, AGENTS.md takes priority.
Issue 3: Specific models responding unusually slowly
Gemini 3.1 Pro (High) can take longer for complex reasoning tasks. If you're experiencing timeouts, consider splitting the task into smaller parts or switching to (Low) mode.
Issue 4: Inconsistent code style across models
Different models may produce code with slightly different formatting conventions, naming patterns, or architectural approaches. To mitigate this, include explicit style guidelines in your AGENTS.md file. For example, specify that all models should follow the project's ESLint configuration, use named exports over default exports, or prefer functional components over class components. This ensures consistency regardless of which model generates the code.
Issue 5: Model unavailability during peak hours
Occasionally, specific models may experience higher latency or temporary unavailability during peak usage periods. Your AGENTS.md configuration should include fallback preferences. For instance, if Claude Opus 4.6 is your primary choice for security reviews but is temporarily slow, your workflow should gracefully fall back to Gemini 3.1 Pro (High) for similar tasks.
Performance Considerations
Optimizing Token Consumption
Cost efficiency is the most critical factor in a multi-model strategy. Follow these guidelines to minimize token spend while maintaining quality:
| Optimization Technique | Impact | Implementation |
|---|---|---|
| Tier-based auto-selection | 30-50% token cost reduction | AGENTS.md rules |
| Flash-first approach | 40% faster response times | Default simple tasks to Flash |
| Context compression | Reduced long-context costs | Summarize before passing to model |
| Batch processing | Fewer API calls | Group related tasks together |
Model Response Time Benchmarks
Measured averages from a Next.js project:
- Gemini 3 Flash: 1-3s (code completion), 3-5s (function generation)
- Gemini 3.1 Pro (Low): 3-8s (function generation), 5-12s (refactoring)
- Gemini 3.1 Pro (High): 8-20s (complex reasoning), 15-30s (design decisions)
- Claude Sonnet 4.6: 3-8s (general tasks), 5-15s (code review)
- Claude Opus 4.6: 10-25s (large-scale analysis), 15-40s (architecture design)
- GPT-OSS 120B: 5-15s (general tasks), 8-20s (prose generation)
Wrapping Up
Antigravity IDE's multi-model environment is a powerful asset for developers. Rather than forcing one model to handle everything, strategically matching models to task types optimizes quality, speed, and cost simultaneously.
Three actions you can take right now:
- Create an AGENTS.md file at your project root with directory-based model routing rules
- Consciously switch to Gemini 3 Flash for simple tasks and experience the response time difference firsthand
- Open Manager Surface with two agents on different models and compare their outputs on the same task
A multi-model strategy pays dividends once configured. Start with AGENTS.md and gradually discover the optimal model combinations for your workflow.
Related advanced topics: Agent Prompt Optimization, Claude × Antigravity Dual AI Workflow, AgentKit 2.0 Complete Guide