補助金に関連する当ページの情報について
当ページの記載事項に基づいてすべてを判断せず、必ず公募要領を確認してください。当社ページの見解に従った結果、不採択となった場合も、当社は責任を負いかねます。このページの情報や見解は、予告なしに変更することがあります。

ブログ

Claude CodeとGemini CLIを連携してみた

https://imamura-net.com

おはようございます!マネジメントオフィスいまむらの今村です。

GeminiもCLIベースのエージェントをリリースしたことが、この1週間ほどAI界隈を騒がせていますね。ぼくもGemini CLIを入れてみたのですが、Claude CodeとGemin CLIを連携させたいな~と思って、いろいろ調べてみたところ、うまく連携ができました!失敗経験も含めて共有します。

※この記事は2025/7/3に書いたものです。すぐに状況が変わり、記事の内容が過去のものになるかもしれません。

スポンサーリンク

Claude Codeが、Geminiに相談しながらコーディングを自動ですることを目指す

計画はシンプルです。Claude Codeを司令塔にして、バディであるGemini CLIにコードレビューを依頼する、というものです。そのための連携方法は、X(旧ツイッター)のこの方の投稿を参考にしました。(感謝❗️

最初の計画:ヒアドキュメントという「正攻法」の罠

この方のやり方は、UNIX/Linuxの標準的な機能である「ヒアドキュメント(Here Document)」を使うというものでした。具体的には、以下のコードをCLAUDE.mdに記述するというものでした。

 CLAUDE.md
## Gemini CLI 連携ガイド
### 目的
ユーザーが **「Geminiと相談しながら進めて」** (または同義語)と指示した場合、Claude は以降のタスクを **Gemini CLI** と協調しながら進める。
Gemini から得た回答はそのまま提示し、Claude 自身の解説・統合も付け加えることで、両エージェントの知見を融合する。
---
### トリガー
- 正規表現: `/Gemini.*相談しながら/`
- 例:
- 「Geminiと相談しながら進めて」
- 「この件、Geminiと話しつつやりましょう」
---
### 基本フロー
1. **PROMPT 生成**
Claude はユーザーの要件を 1 つのテキストにまとめ、環境変数 `$PROMPT` に格納する。
2. **Gemini CLI 呼び出し**
```bash
gemini <<EOF
$PROMPT
EOF

これで連携するんなら簡単だな!とキラッキランランでコピペをしたのですが、予期せぬ警告が表示されます。

/bin/bash: line 51: warning: here-document at line 49 delimited by end-of-file (wanted `EOF`)

 

これは、「ヒアドキュメントの終了を示すEOFが見つからないまま、ファイルの終端に達してしまった」というBashからの警告ですね。当初、「コピペをミスったかな?」と思っていましたが、原因はもうちょっと根深いところにありました。

問題の本質:コマンドの「仕様」という壁

といっても自分で原因分析ができるスキルなど到底ないので、当のClaude Code自身に原因調査を丸投げしただけですが、Claudeは自身の失敗を分析し、次のような結論を導き出しました。

  1. 構文エラーの可能性: ヒアドキュメントの終端処理に問題がある。
  2. 仕様の誤解: そもそもgeminiコマンドは、ヒアドキュメントからの標準入力を受け付けず、-pオプションでプロンプトを渡す必要がある。

つまりヒアドキュメントを使わないやり方じゃないとダメ、というシンプルなものでした。えっ?そうなの?と思いながら、言われるがまま、コードを修正しました。(なんで元の投稿主さんは、あれでできたんだろう?)

修正後のコードはこちら。

 CLAUDE.md
## Gemini CLI 連携ガイド
### 目的
ユーザーが **「Geminiと相談しながら進めて」** (または同義語)と指示した場合、Claude は以降のタスクを **Gemini CLI** と協調しながら進める。
Gemini から得た回答はそのまま提示し、Claude 自身の解説・統合も付け加えることで、両エージェントの知見を融合する。
---
### トリガー
- 正規表現: `/Gemini.*相談しながら/`
- 例:
- 「Geminiと相談しながら進めて」
- 「この件、Geminiと話しつつやりましょう」
---
### 基本フロー
1. **PROMPT 生成**
Claude はユーザーの要件を 1 つのテキストにまとめる。
2. **Gemini CLI 呼び出し**
```bash
\ No newline at end of file
gemini -p "質問内容をここに記載"
\ No newline at end of file

方向の連携は可能か? アーキテクチャの違いという現実

ClaudeからGeminiを呼び出すことに成功したので「逆は可能なのか?」という疑問が湧きました。つまり、Gemini CLIにタスクを依頼し、その過程でClaude Codeに相談させることはできるか、ということですね。

早速試してみましたが、答えは明確な「ノー」でした。そして、その理由をGemini自身が非常に的確に説明してくれました。それは、両者のアーキテクチャの根本的な違いに起因するものだったのです。

  • Claudeの連携方法:「外部の職人を呼ぶ」 ClaudeはMCPサーバーを通じて、OSのシェル機能を使い、自分とは独立した外部プログラム(今回の場合geminiコマンド)を呼び出すことができます。これは人間がターミナルでコマンドを打つのと同じで、非常に柔軟な連携方法です。
  • Geminiの連携方法:「自分の道具箱を使う」 一方、Geminiは外部コマンドを自由に実行する能力を持ちません。その代わり、playwright(ブラウザ操作)やzen(複数AIへの相談)といった、あらかじめシステムに深く統合された**「内部ツール」**だけを呼び出すことができます。Geminiが「相談する」と言うとき、それは外部のAIを呼ぶのではなく、この内蔵された専用ツールを使っているのです。

AIエージェント間の連携方法は、必ずしも技術的に対称的な関係ではないということですね(そりゃそうだろう)。片方向はできても、逆方向はできない。それは、それぞれのAIが持つ設計思想やセキュリティ思想の違いなんでしょうね。

スポンサーリンク

スポンサーリンク

最近の人気記事

1

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 国際標準化機構(ISO)は、現行のISO9001:2015(品質マネジメントシステム規格I)を改訂する準備を進めているようです。現在の ...

2

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 2024年2月、ISO(国際標準化機構)は、マネジメントシステム規格に「気候変動への配慮」を盛り込む形で規格の一部を改定しました。今回 ...

3

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 5Sの考え方がISO9001や14001の運用に役立つことがあります。その逆もあって、ISOの仕組みが5S活動に役立つこともあるんです ...

-ブログ

S