0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemini CLIで大きなタスクを処理する方法

Last updated at Posted at 2025-12-10

はじめに

※以下の記事は執筆時点の記事です。

Googleが提供するGemini CLIは、コマンドラインからAIを活用できる無料ツールとして便利です。ただし、大きなタスクを処理することは不得意です。たまに途中で止まります。

本記事では、このことを解決するためにgemini-cli-wrapperを使った方法を説明します。ここでは具体的な一例として、「長文のPDF処理を分割翻訳するタスク」を題材にしています。

タスク分割できるものであれば、いろいろなタスクの実行に使えると思われます。プログラムを組むことが面倒な方は、git cloneした後に、以下のようにAIに依頼すると、良い感じのプログラムを作ってくれます。どなたかのお役に立てれば嬉しいです。

gemini-cli-wrapper使って、「XXXのタスク」を達成するPythonプログラムを組んで。example_pdf_translator.pyは参考にして。

環境

gemini-cli-wrapperの説明のための環境を以下の通り用意しました。順にご説明します。

  • OS: Windows 11
  • Gemini CLI: @google/gemini-cli (最新版)
  • Python: Python 3.12

事前準備: Gemini CLIのインストール

まず、Gemini CLIのインストールが必要です。

インストール手順

コマンドプロンプトで以下を実行:

# Node.jsがインストールされていることを確認
node --version

# Gemini CLIをグローバルインストール
npm install -g @google/gemini-cli

# 認証
gemini auth login

認証時にはブラウザが開き、Googleアカウントでログインする必要があります。

インストール確認

# バージョン確認
gemini --version

# 動作確認
gemini "Hello, Gemini!"

実験対象

本実験では、以下の2つの著名な論文PDFを対象としました。

  1. Bitcoin: A Peer-to-Peer Electronic Cash System (約9ページ)

  2. Attention Is All You Need (約15ページ)

実験1: 短文PDF処理 (Bitcoin論文)

実行方法

Windowsコマンドプロンプトで実行:

gemini "このPDFファイル C:\Users\...\Desktop\bitcoin.pdf を日本語に和訳してMarkdown形式で、C:\Users\...\Desktop\bitcoin.md というファイル名で保存してください。各ページを1ページずつ、丁寧に翻訳してください。"

結果

処理結果: 成功
処理時間: 約1-2分
翻訳品質: 全12セクション + 参考文献が完全に翻訳され、Markdown形式で適切にフォーマットされました

出力サンプル

# ビットコイン:P2P電子通貨システム

**Satoshi Nakamoto**
satoshin@gmx.com
www.bitcoin.org

**要旨**
真のP2P版電子通貨は、金融機関を介さずに、ある当事者から別の当事者へ
オンライン決済を直接送信することを可能にするだろう...

## 1. はじめに

インターネット上の商取引は、電子決済を処理するための信頼できる第三者
として機能する金融機関にほぼ完全に依存するようになった...(以下略)

実験2: 長文PDF処理 (Attention Is All You Need論文)

第1回試行: gemini-cli直接実行

同様の方法で15ページの論文を翻訳しようと試みました。

gemini "このPDFファイル C:\Users\...\Desktop\Attention Is All You Need.pdf を日本語に和訳してMarkdown形式で、C:\Users\...\Desktop\Attention Is All You Need.md というファイル名で保存してください。各ページを1ページずつ、丁寧に翻訳してください。"

結果

処理結果: 失敗
現象: コマンド実行後、10分経過しても応答が返らず、結果が得られませんでした。

長文PDFに対してgemini-cliが応答しなかった原因として、以下が考えられます。大きなタスクの処理は難ありですね。

  1. 一括処理による負荷: 全体を一度に処理しようとしたため、処理時間が長大化
  2. レスポンスサイズの制限: 翻訳結果が大きすぎて、CLIが標準出力に返せない
  3. タイムアウト: Gemini API側またはCLI側でのタイムアウトが発生

gemini-cli-wrapperでのタスク分割による処理

解決策

問題は、全ページを一度に処理しようとすることにあります。これを解決するには、タスクを個別に分割して順次実行するアプローチが有効です。

コマンドプロンプトで実行:

# gemini-cli-wrapperのクローン
git clone https://github.com/daishir0/gemini-cli-wrapper
cd gemini-cli-wrapper

# PDF翻訳実行
C:\python312\python.exe example_pdf_translator.py "C:\Users\...\Desktop\Attention Is All You Need.pdf" "C:\Users\...\Desktop\Attention Is All You Need.md"

結果

処理結果: 成功
処理時間: 約23分
翻訳品質: 全ページが翻訳された

処理の進捗表示:

  0%|          | 0/15 [00:00<?, ?it/s]
  7%|▋         | 1/15 [01:23<19:34, 83.89s/it]
 13%|█▎        | 2/15 [02:20<14:42, 67.87s/it]
 20%|██        | 3/15 [03:09<11:48, 59.05s/it]
 27%|██▋       | 4/15 [04:18<11:32, 62.98s/it]
 33%|███▎      | 5/15 [05:21<10:32, 63.21s/it]
 40%|████      | 6/15 [08:07<14:42, 98.10s/it]
 47%|████▋     | 7/15 [10:06<13:58, 104.85s/it]
 53%|█████▎    | 8/15 [13:19<15:31, 133.00s/it]
 60%|██████    | 9/15 [15:36<13:24, 134.08s/it]
 67%|██████▋   | 10/15 [17:59<11:25, 137.12s/it]
 73%|███████▎  | 11/15 [20:49<09:48, 147.16s/it]
 80%|████████  | 12/15 [21:36<05:49, 116.61s/it]
 87%|████████▋ | 13/15 [22:07<03:01, 90.57s/it]
 93%|█████████▎| 14/15 [22:30<01:10, 70.19s/it]
100%|██████████| 15/15 [23:08<00:00, 60.64s/it]
100%|██████████| 15/15 [23:08<00:00, 92.59s/it]

出力サンプル

# ページ 1

Attention Is All You Need

Ashish Vaswani∗
Google Brain
avaswani@google.com

...

要旨

主要な系列変換モデルは、エンコーダとデコーダを含む複雑な再帰型または
畳み込みニューラルネットワークに基づいています。我々は、再帰と畳み込みを
完全に排除し、アテンションメカニズムのみに基づいた、新しいシンプルな
ネットワークアーキテクチャであるTransformerを提案します...

---

# ページ 2

1 はじめに

特にリカレントニューラルネットワーク、長・短期記憶([13])および
ゲート付きリカレント([7])ニューラルネットワークは、言語モデリングや
機械翻訳([35,2,5])などのシーケンスモデリングおよび変換問題における
最先端のアプローチとして確立されてきました...(以下略)

比較分析

項目 gemini-cli
(一括処理)
gemini-cli-wrapper
(分割処理)
短文PDF (9ページ) ✓ 成功 (1-2分) ✓ 成功
長文PDF (15ページ) ✗ 応答なし ✓ 成功
進捗可視化 なし あり
処理方式 一括処理 ページ単位の逐次処理
メモリ効率 低い 高い
エラー耐性 低い (一度の失敗で全体が失敗) 高い (ページ単位でリトライ可能)
実装の複雑さ 単純 Pythonスクリプトが必要

注意事項

Gemini CLIの制限

Gemini CLI無料プランの制限はこちらです。また、ログインが切れた場合は入りなおしてあげる必要があります。

  • 1分間に60リクエスト
  • 1日に1,000リクエスト

まとめ

  1. Gemini CLIは大きなタスクの実行が難しいという制約があります(途中で止まります)
  2. このことは、タスク分割アプローチによりある程度クリアできます
  3. そのために、汎用的なwrapperを作りました

私は、このアイディアをClaude CodeのSkillとして作成し活用しています。Gemini CLIの方が無料なので、多くの方に役立つかな、と思い記事作成しました。お役に立てれば幸いです。

参考資料

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?