【50歳からのAI自動化】Gemini CLI vs Claude Code 非対話モード(Non-interactive mode)対決!

50歳で学び直しを受けてる身としては、やらないと時代に取り残されるという危機感がひしひしと😅

ということで、先月あたりから使用し始めたGemini CLIClaude Codeの特に非対話モード(UIなしでコマンドプロンプトから実行するモード:Non-interactive mode)について試してみました。コマンドプロンプトからLLMを呼び出す事ができるというだけで結構できることが増えそうな予感です。

今回も同じような立場で学習されてる方の参考になれば幸いです🤗

また、実行環境については以下を想定しています。細かなバージョンに関しては特に問題はないと思います。

  • Windows11
  • WSL2
  • Ubuntu 24.04 LTS

WSL2にした理由は、Gemini CLIのコマンド起動がWindowsNode.js経由だと少し遅い印象があったためと、そもそもClaude CodeがNativeのWindows環境で対応がされていない点からになります。WSL上のGemini CLIにはバグ報告もあるようですが、私自身、現状そのトラブルが発生していないのでそのまま進めます。

Gemini CLI:無料で始められる安心感

Gemini CLIは基本無料で使えます🥰 これがClaude Codeと大きく違うところ!

プラン 料金 制限
個人Googleアカウント 無料 1分60回、1日1,000回
API利用 従量課金 より多くのリクエスト可能

学び直しには嬉しい😊

既に過去のブログでもセットアップの方法については説明していますが、今回は軽めにしておきます。ただ、今回は非対話モードなのでnxpと使用したりするのではなくちゃんとgeminiコマンドが使用できるようにインストールをすることをオススメします。

参考

uepon.hatenadiary.com

セットアップ方法(簡易版)

【STEP1】事前準備

# Node.jsのバージョン確認(18以上が必要)
$ node -v

⚠️ここで躓く人も多いので要注意!Node.jsが古いとインストールできません。

バージョンが古い方はnvmなどを使用してバージョンをあげてもいいかなと思います。

【STEP2】インストール

今回はgeminiコマンドを使用するので以下の方法でインストールを行います。

$ npm install -g @google/gemini-cli

インストールが完了したら以下のコマンドでバージョンを確認しておきましょう。(先週は0.1.7だったのにバージョン上がってる🤩

$ gemini -v

【STEP3】初期設定

一旦、Interactive modeで実行し初回起動で以下の選択をします。

$ gemini
  1. カラーテーマ選択(好みで)
  2. 認証方法選択
    • Login with Google → 個人Googleアカウント(今回はこちら)
    • Gemini API Key → API利用の場合

ブラウザが開いて登録済みのアカウントでログイン。これで完了です。

非対話モード(Non-interactive mode)を使用する

非対話モードのマニュアルは以下にあります。

github.com

基本的な使い方

オプションやパイプ渡し標準入力でプロンプトを入力することが出来ます。

# 実行方法1
$ gemini -p "Pythonの関数を書いて"
# 実行方法2
$ echo "fizzbuzzの関数をPythonで書いて" | gemini

今回のようなプロンプトではちょっと微妙な結果になってしまいますが一度認証を行っておけば、コマンド1つでLLMに生成を依頼する事ができるのは非常にいいですね。

ファイル分析が超強力💪

これがGemini CLIの真価!@記号でファイル指定できます。

# 単一ファイル分析
$ gemini -p "@gemini-test/fibonacci.py このコードを説明して"

# 複数ファイル同時分析
$ gemini -p "@package.json @src/index.js 依存関係チェックして"

# ディレクトリ丸ごと分析
$ gemini -p "@project/ システム全体を要約して"

ワンショットのLLMの生成になるので生成結果に過度な期待はしない方がいいかもしれません。また、Streamタイプの返答ではないので、結果がすべて生成されてからの出力となります。なんとなく処理が遅く感じるかもしれませんが、仕方のないことです。

プロンプトの書き方を工夫することで、大きなプロジェクトでも解析などができるのはいいですね。

Claude Code:プロ仕様だけど学習投資として価値あり

Claude Codeは有料 でも、コストを投資として考えれば決して高くない!

プラン 料金 特徴
Proプラン 月額$20 モデル変更不可だけど十分
Maxプラン 月額$100〜$200 全機能利用可能
API利用 従量課金 使った分だけ

私はProプランで試してます。月2,000円ちょっとなら費用として許容範囲かな🤔

セットアップ方法(簡易版)

$ npm install -g @anthropic-ai/claude-code

インストール自体はGemini CLIと似てますが、認証が必要ですでした。以前認証情報を入力していても、時間が立つと再度認証が必要なこともあります。対話モード(Interactive mode)で実行して/logout後に/loginをしてください。

非対話モード(Non-interactive mode)を使用する

Unixらしい使い方が自然にできるClaude Code

Claude Codeの非対話モードはUnixらしい動きを感じました。

# ファイル内容を直接処理
$ cat calculator.py | claude -p "このファイルの要点をまとめて"

# 複数コマンドの組み合わせ
$ find . -name "*.py" | head -10 | xargs cat | claude -p "コード品質評価して"

# ログ分析
$ grep ERROR logs.txt | claude -p "これらのエラーを分類して"

標準入力オプション指定でプロンプトを構成して処理できる点はかなり自由度が高いです。

使いたくなる機能群

出力をJSONフォーマットで出力

$ claude -p "calculate.pyの問題点を指摘して" --output-format json |  jq .

安全性の確保

#ツールを指定して操作
$ claude -p "このファイルを整理して" --allowedTools "Bash(ls:*,cat:*)"
# アクセスログ分析
$ claude -p "アクセスログから異常なパターンを検出" --allowedTools "Bash(cat:*,grep:*,awk:*,sort:*)"
# エラーログの要約
$ tail -f error.log | claude -p "リアルタイムでエラーを分析して要約" --allowedTools "Bash(grep:*,wc:*)"
# JSON → CSV変換
$ claude -p "このJSONファイルをCSVに変換" --allowedTools "Read,Write,Bash(jq:*)"
# データクリーニング
$ claude -p "CSVデータの重複と異常値を除去" --allowedTools "Read,Write,Bash(sort:*,uniq:*,awk:*)"

処理に使用できるプログラムの制限ができるので、「変なコマンド実行されたら困る」という心配がありません

実際に比べてみた感想

使用感の比較

項目 Gemini CLI Claude Code
学習コスト 低い(無料で気軽) 中程度(有料だが機能充実)
実用性 高い(大容量分析強力) 非常に高い(自動化最適)
安心感 高い(Googleブランド) 高い(プロ仕様の安定性)
継続しやすさ 非常に高い(無料) 中程度(コスパ次第)

どっちがオススメといえば🤔

【結論】まずはGemini CLIから始めるかな…

理由

  • 失敗を恐れずに試せる → 無料なので「間違えたらどうしよう」がない
  • 学習ペースを自分で決められる → 時間をかけてじっくり慣れられる
  • Googleブランドの安心感 → なんとなく安心🤗

より効率を求めるのであればClaude Code一択!

お仕事に使用するのであれば、個人的にはClaude Codeのほうがオススメです。 特にデータフォーマットの自由度やシェルなどに組み込みやすいことがその理由です。

理由

  • 現場のツールを体験できる → 実際のプロが使ってるもの
  • より深い学習ができる → 複雑な自動化まで学べる
  • コストの価値がある → 学び直しの成果を実感

使い分けするなら

強いて使い分けるなら以下のような感じでしょうか。

  • 無料で試したい → Gemini CLI
  • 本格的な自動化したい → Claude Code
  • 大規模分析したい → Gemini CLI(100万トークン活用)
  • 安定性重視 → Claude Code

おわりに

非対話モードはかなり使えるかもと思っています。特に難しいコードを書くことなく、既存の組み合わせをするだけでLLMの生成機能を使えるのはとても便利です。特にClaude Codeの出力フォーマットのJSON形式指定については、自分の関係するプロジェクトですぐに使える機能だと思っています。また、Gemini CLIも大規模なコンテキストが扱える上、無料枠もあるので、用途によっては強力な相棒になりえます。このあたりは状況を見つつといったところでしょうか。

私の体験が少しでも参考になれば嬉しいです😊


参考リンク

uepon.hatenadiary.com

uepon.hatenadiary.com