0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Antigravity(Gemini 3.1 Pro)とClaude Codeを併用してファイルを読み合わせるレビューワークフロー

0
Posted at

TL;DR

  • Google Antigravity(Gemini 3.1 Pro)とClaude Codeを同時に使い、片方が生成したファイルをもう片方に読ませて相互レビューさせる
  • コンテキストが大きい作業はGemini側に逃がし、Claude Code側のトークン消費を分散できる
  • 2つのモデルの意見が食い違う箇所が「設計判断が必要な場所」のシグナルになる

環境

項目 詳細
OS macOS 15.x
Google Antigravity v1.22.2(VSCode fork、無料)
使用モデル(Antigravity) Gemini 3.1 Pro
Claude Code 最新版
使用モデル(Claude Code) claude-sonnet-4-6

ワークフローの概要

AntigravityとClaude Codeはどちらもファイルシステム上のファイルを直接参照できる。これを利用して、片方に生成させたファイルをそのままもう片方に読ませる「読み合わせ」ができる。手動でのコピーは一切不要。

基本の流れ:

  1. Antigravity(Gemini 3.1 Pro)にタスクを渡してドラフトファイルを生成させる
  2. Claude Codeに同じファイルパスを指定して読ませ、「どこが気になるか」を聞く
  3. Claudeの指摘をAntigravityに渡してリファクタリングさせる
  4. 必要なら逆向きにも回す(ClaudeにドラフトさせてGeminiにレビューさせる)

Antigravityのセットアップ

AntigravityはVSCode forkのため、既存のVSCode拡張機能がそのまま動く。

# 公式サイトからDLしてインストール
# https://antigravity.google/

# 既存VSCode拡張の移行(設定 > 拡張機能 > インポート)
# ESLint、Prettier、GitLensなどはそのまま使用可能

モデルの切り替えはコマンドパレット(Cmd+Shift+P)から Antigravity: Switch Model で行う。Gemini 3.1 Proを選択する。

実装例:相互レビューの実際

Step 1: Geminiにドラフト生成させる

Antigravity上でGemini 3.1 Proに指示する:

src/utils/tax_calculator.py を作成してください。
要件:
- 税率を引数で受け取る
- 税込価格と税額を返す
- 0%を含む任意の税率に対応する

Geminiはファイルを生成して src/utils/tax_calculator.py に保存する。

Step 2: Claude Codeに同じファイルを読ませてレビューさせる

Claude Codeのターミナルで:

src/utils/tax_calculator.py を読んで、気になる点を教えてください。
特に:エッジケース、例外処理、型安全性の観点で。

Claude Codeはファイルを直接読みにいく。コピーは不要。

Step 3: 意見が割れる箇所に注目する

Geminiが「問題ない」と判断したコードに対して、Claudeが指摘を出すことがある。実際に起きたケース:

# Geminiが生成したコード(省略版)
import asyncio

async def fetch_all(urls):
    results = await asyncio.gather(*[fetch(url) for url in urls])
    return results

Claudeの指摘:

asyncio.gather() はデフォルトでいずれかのタスクが例外を送出すると
他のタスクの結果を破棄します。
return_exceptions=True を指定しないと、
一部のURLが失敗した際に全結果が失われる可能性があります。

Geminiは「動くコード」として生成した。Claudeは「壊れるケース」を見た。どちらも正しいが、要件によって対応が変わる判断が必要な箇所だ。

修正版:

async def fetch_all(urls: list[str]) -> list[dict]:
    results = await asyncio.gather(
        *[fetch(url) for url in urls],
        return_exceptions=True  # 個別の失敗を例外オブジェクトとして返す
    )
    return [r for r in results if not isinstance(r, Exception)]

トークン分散の考え方

Claude Codeはトークン消費が早い。コンテキストが大きい以下の作業はAntigravity(Gemini)側に逃がす:

  • リポジトリ全体の設計確認・把握
  • 大きなファイル(1000行超)の一括読み込み
  • 複数ファイルにまたがる依存関係の調査
  • 初期ドラフト生成(試行錯誤が多い段階)

Claude Codeは以下に集中させる:

  • エッジケース・例外処理の指摘
  • 型安全性・null安全性の確認
  • 設計意図の説明・言語化
  • 最終的なリファクタリング判断

Antigravityは無料でGemini 3.1 Proが使い放題なため、コンテキストを食う作業を移すだけでClaude Code側の月間消費を体感で30〜40%程度抑えられる。

コンテキストズレへの対処

2つのツールにコンテキストを分散させると「どちらが最新のファイルを持っているか」がわかりにくくなる。

問題が起きるパターン:

1. Claude CodeがファイルAを直接編集
2. AntigravityはファイルAの変更を認識していない状態でレビューを依頼
3. 古いコードに対してリファクタリング案が出る

現状の対処:

  • ファイル編集はClaude Code側で行う(ファイルシステムは共有なので実際は同期されている)
  • AntigravityへのレビューはRead指示でファイルパスを明示する(キャッシュを持っていても強制的に再読させる)
# Antigravityへの依頼時
src/utils/tax_calculator.py を改めて読み直した上で、
前回の指摘を踏まえたリファクタリング案を出してください。

拡張機能との組み合わせ

AntigravityはVSCode forkのため、既存拡張がそのまま動く。Geminiがコードを生成した直後にESLintとPrettierが自動で走る設定にしておくと、Claude Codeへのレビュー依頼前にフォーマット・静的解析が完了した状態になる。

// settings.json(Antigravity / VSCode共通)
{
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  }
}

まとめ

  • AntigravityとClaude Codeはファイルシステムを共有するため、生成ファイルをそのまま読み合わせる相互レビューが実現できる
  • Gemini 3.1 Proは広いコンテキスト・全体把握向き、Claudeはエッジケース・推論の深さ向き
  • 2モデルの意見が食い違う箇所は「設計判断が必要な場所」のシグナルとして使える
  • Gemini側でコンテキスト大の作業を引き受けることでClaude Codeのトークン消費を分散できる
  • VSCode拡張(ESLint、Prettierなど)はAntigravityでそのまま動く

概要や実際に使ってみた感想も含めた記事はこちら → GeminiとClaudeに喧嘩させながらコードを書いている話

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?