はじめに
七尾百合子さん、お誕生日 253日目 おめでとうございます! nikkieです。
Codex CLI とコードリーディングしての気づきの紹介です。
目次
まとめ:それぞれ@の効果が違う
共通点は、ファイルパスの入力ヒントです。
Codex CLI

Gemini CLI

違うのは、@が残るかどうかです
- Codex CLI:
@が残らない- あくまでファイルパスの入力補助
- コンテキストにファイルの内容を含めていない
- GPT がそのファイルを読むかを決める
- Gemini CLI:
@が残る- コンテキストにファイルの内容が展開されて Gemini に渡る
Codex CLIの@(/mention)
Slash command /mentionは、@に変わるだけです。
https://developers.openai.com/codex/guides/slash-commands#highlight-files-with-mention
テストの様子がこちら
https://github.com/openai/codex/blob/rust-v0.63.0/codex-rs/tui/src/bottom_pane/chat_composer.rs#L2486-L2519
/mentionがクリアされ、@に変わる検証とのことです(gpt-5.1-codex 解説)
(@でファイルパスのヒントが表示されるロジックは、今回はどちらも見ていません)
Gemini CLIの@
テレメトリを見ていて1気づいたのですが、@で指定されたファイルの内容が含まれます。
テスト https://github.com/google-gemini/gemini-cli/blob/v0.17.1/packages/cli/src/ui/hooks/atCommandProcessor.test.ts#L141-L176
@file_pathのように渡された時、ファイルの内容が展開されます。
{ text: `@${relativePath}` }, { text: '\n--- Content from referenced files ---' }, { text: `\nContent from @${relativePath}:\n` }, { text: fileContent }, { text: '\n--- End of content ---' },
実装箇所はこちら
https://github.com/google-gemini/gemini-cli/blob/v0.17.1/packages/cli/src/ui/hooks/atCommandProcessor.ts#L443-L483
readManyFilesToolで読んでいるみたいです
追い切れてないですが、@にディレクトリのパスを指定しても動くようです
感想
2つのコーディングエージェント、@のヒントで指定したファイルパスの扱いが異なっていて興味深いです。
Codex CLI の方が賢い印象です。
調査のやり方を知っている。
知りたいことに対して、細い糸を通して調査を進めていく
Gemini CLI はガバっとコンテキストに入れて、だいたい合ってる出力をする感じですね。
Codex CLI と同じやり方はできないのでは
私の感覚と近いつぶやきもありました
ここ数日、敢えてGemini 3だけで生活してみたけどまだ同じ感想です。
— 炎鎮🔥 - ₿onochin - (@super_bonochin) 2025年11月24日
前と比べるとかなり良くなってるのは事実なんだけど、それでもなんか『勢いに任せて玉石混交の情報をぶちまけてるだけ』というのが変わってない。
GPTが『賢い』のに対してGeminiは『賢い情報も含んでる』みたいな感じ。… https://t.co/5hcT1n0XCA
終わりに
便利だからとコーディングエージェントに@でファイルパスを渡していますが、テレメトリやソースコードリーディングから扱いが異なることを知りました。
Codex CLI で Codex CLI の Rust 実装を読んだのですが、gpt-5.1-codex は知れば知るほど超優秀なエンジニアという印象です(シェル1つでコードベースに向かい、私の疑問をなんでも解決してくれるので)
Claude Code は実装が見えないですが、果たしてどちらなのでしょうね(VS Code 拡張で使うと Gemini CLI 式の印象?)
本記事は、以下の発表準備の中で生まれたものです。
11/26(水)お昼にオンライン開催!
- 全部知りたいですから ↩