【トークン節約術】カビゴン(Gemini 3 Pro)に「ひでんマシン」でコードを丸呑みさせて爆速デバッグする戦略
RUNTEQでWEBエンジニアを目指して奮闘中のヤドゥンです!🙋♂️
突然ですが皆さん、最強のエース 「カイリュー(Claude 4.5)」 を重用しすぎて、おこづかい(AIのトークン)が「ひんし」状態になった経験はありませんか?💸
僕は何度もあります……。
でも大丈夫!
今日は100万トークンの圧倒的な胃袋(文脈窓)を持つ 「カビゴン(Gemini 3 Pro)」 と、それを支える 「ひでんマシン(Repomix)」 を使った、財布に優しく爆速なデバッグ戦略をご紹介します!😎
| 項目 | バージョン/詳細 |
|---|---|
| OS | Windows 11 |
| ターミナル | WSL2 / Ubuntu 24.04 |
| 環境構築 | Docker |
| 言語・フレームワーク | Ruby 3.2.2 / Rails 7.2.1 |
| Node.js (Repomix用) | v20.x 以上 |
| 使用AI | Gemini 3 Pro (Proモード有効) & Claude 4.5 |
🔋 Gemini 3 Proの「100万トークン」を活用したデバッグフロー
Gemini 3 Proの最大の武器は、100万トークンという広大なコンテキストウィンドウです。これは、ファイル間にまたがる依存関係や、従来の「一部コピペ」では見落とされがちな「プロジェクト全体の設計上の矛盾」に起因する「見えないバグ」を特定する際に真価を発揮します。
■ 「見えないバグ」殲滅フロー
1. プロジェクト全容の統合とアップロード
Repomixを実行し、ディレクトリ構造、依存関係、ソースコードを単一のXMLファイルとしてパッケージ化します。この「ひとまとめ」のファイルを Gemini 3 Pro にアップロードすることで、AIは断片的な情報ではなく、プロジェクトの「完全な地図(ソースマップ)」を保持した状態で推論を開始できます。
2. Proモードの有効化
Gemininoチャットメニューから 「Proモード」 を選択します。これにより、モデルが即答せずに内部で論理ステップを積み重ねるようになり、ファイル間にまたがる複雑な依存関係を深層まで解析できるようになります。
3. 俯瞰的な修正提案
「ファイルAでの定義変更が、実はファイルBのバリデーションに影響していた」といった、リポジトリ全体を俯瞰(ふかん)していないと辿り着けない根本原因を指摘させます。
🛠️ Ubuntu環境におけるRepomixの導入と実行手順
プロジェクト全体のコンテキストをLLMに効率よく提供するためには、まずバラバラのファイルをAIフレンドリーな形式にパッキングする必要があります。Repomixは、リポジトリ全体を単一のXML等に統合するCLIツールです。
Ubuntuターミナル(WSL2)においてNode.js環境が構築されている場合、以下の手順で実行します。
■ インストールと実行
-
とりあえず一度試したい場合(推奨):
ルートディレクトリに移動後に下記コマンドを入力
npx -y repomix@latest
- いつでもすぐ呼び出せるようにしたい場合:
# まずPCに「道具」として登録(インストール)
npm install -g repomix
# 次からはこれだけで実行可能
repomix
実行後、ルートディレクトリに「repomix-output.xml」が生成されます。これにより、50個、100個と大量に増えたソースファイルを、カビゴン(Gemini)が一撃で丸呑みできるサイズに集約できます。

⚙️ repomix.config.jsonによる最適化とトークン節約
無差別に全ファイルを投入することは、コスト増大だけでなく、AIの注意力を散漫にさせ回答精度を低下させる要因となります。そのため、repomix.config.json による適切な除外設定が不可欠です。
■ 作成・編集手順
Ubuntuターミナルで npx repomix --init を実行して、初期ファイルを生成します。実行後、ルートディレクトリに生成された repomix.config.json を開き、以下の設定例を上書きコピーしてください。
{
"$schema": "[https://repomix.com/schemas/latest/schema.json](https://repomix.com/schemas/latest/schema.json)",
"input": {
"maxFileSize": 52428800
},
"output": {
"filePath": "repomix-output.xml",
"style": "xml",
"removeComments": true,
"removeEmptyLines": true,
"topFilesLength": 30,
"showLineNumbers": false
},
"ignore": {
"useGitignore": true,
"useDefaultPatterns": true,
"customPatterns": [
"log/**",
"tmp/**",
"vendor/**",
"node_modules/**",
"public/assets/**",
"storage/**",
"*.png",
"*.jpg",
"*.jpeg",
"*.gif",
"*.svg",
"master.key",
"credentials.yml.enc"
]
},
"security": {
"enableSecurityCheck": true
}
}
1. 出力形式の固定(output.style)
Gemini等のLLMが構造を最も理解しやすい「xml」形式を指定します。タグによってファイル間の境界が明確になり、大規模なコードベースでもAIが迷子になりません。
2. 不要な情報の除外 (ignore)
トークン消費を抑えるため、以下の項目を確実に除外します。
-
依存・ログ:
node_modules,log,tmp,vendor -
バイナリ: 画像ファイル (
*.png,*.jpg,*.svg) やPDFなど
3. セキュリティチェックの有効化
enableSecurityCheck を true に設定し、APIキー等の機密情報がXMLに含まれるのを自動防止します。

📝 戦略的デバッグプロンプト・テンプレート
Repomixで生成したファイルを読み込ませる際、以下の構造を使用することで効果を最大化できます。
【入力例】
# 指示:プロジェクト全体のコードを俯瞰した高度なデバッグ
## 👤 役割(Role)
あなたは、10年以上の実務経験を持つシニアエンジニアであり、卓越したデバッガーです。
添付のXMLファイルは、`Repomix`によって統合されたリポジトリ全体のソースコードです。
## 🔍 解析の目的
現在、特定の致命的なエラーは発生していませんが、コードベースの健全性を診断する必要があります。
以下の観点に基づき、人間では見落としがちな「潜在的なリスク」を発見してください。
1. **セキュリティ脆弱性**: (XSS, SQLi, 権限昇格, 機密情報のハードコーディング等)
2. **ロジックの欠陥**: (競合状態, リソースリーク, エッジケースでの意図しない挙動)
3. **設計上の問題**: (密結合, スパゲッティコード, 将来的な拡張の阻害要因)
## 🎯 実行指示(Proモード必須)
以下のステップに従い、**Proモード**を最大限に活用して解析してください。
1. **全体構造の把握**:
各ファイルの依存関係を俯瞰し、この機能に関係する一連のデータフローを整理してください。
2. **根本原因の特定**:
特定のエラー箇所だけでなく、ファイル間での定義の不整合や設計レベルの矛盾を深層まで推論してください。
3. **副作用の検証**:
修正による他機能への影響がないか、プロジェクト全体をスキャンして検証してください。
4. **データフローと権限の解析**:
ユーザー入力からデータベース/外部APIまでのデータの流れを追跡し、サニタイズ漏れや不正アクセスが可能でないか検証してください。
5. **異常系・境界値のシミュレーション**:
「ここで想定外のデータが来たらどうなるか?」「高負荷時にどうなるか?」を脳内でシミュレーションし、コードの堅牢性をテストしてください。
6. **保守性と可読性の評価**:
「半年後の自分や他人が読んでも理解できるか」「機能追加時に修正範囲が爆発しないか」という観点で設計を評価してください。
## 🛠️ 出力形式
1. **原因の要約**: 論理的な裏付けとともに説明してください。
2. **修正コード(Diff)**: 具体的な `diff` 形式で提示してください。
3. **今後の対策**: 再発を防ぐためのテストケースや改善案を添えてください。
🏆 結び:リソース管理こそがエンジニアの戦略的勝利
エンジニアとしての成長は、ただコードを書くだけではありません。最強のエース 「カイリュー(Claude 4.5)」 をここぞという場面で繰り出すための「リソース管理」こそが、戦略的な勝利を分かつと勝手に思ってます☝️
普段は、広大な胃袋を持つ 「カビゴン(Gemini 3 Pro)」 に 「ひでんマシン(Repomix)」 で整えたコードをたっぷりと食べさせ、100万トークンの広大な視点でバグを洗い出しましょう。
リソースを賢く使って、爆速で立派なエンジニアに進化しちゃいましょう!
それでは、良いデバッグライフを!ヤドゥンでした!💻🦖✨

