0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeで翻訳や文章校正をやらせると無限ループしてトークンを溶かす理由と、claude -p での回避策

0
Posted at

Claude Codeに「この文章を校正して」「この字幕を翻訳し直して」と頼んだら、1時間以上ファイルをいじり続けた挙げ句、つじつまの合わない結果しか出てこなかった——という話をいくつか見かける。同じ作業をふつうのチャット(ChatGPTやclaude.aiのチャット)に投げたら数秒で片付いた、という落ちまでセットで。

これは「モデルが文章作業をできない」のではない。実際、Claude Codeの中で動いているモデルは、チャットで良い答えを返すモデルと同じものだ。違いはモデルの周りの仕組み、つまりハーネス(実行ループ)の形にある。タスクの形とツールの形が噛み合っていないだけで、これは噛み合わせを直せば消える。

この記事では、なぜ起きるのかと、Claude Codeでも数秒のチャットと同じ振る舞いをさせる具体的な回避策をまとめる。

なぜ単純なテキスト作業でループするのか

Claude Codeはコード編集のためのエージェントループとして作られている。基本の動きはこうだ。

  1. ファイルを読む
  2. 小さく部分編集する(Edit
  3. もう一度読んで自分の編集を確認する
  4. 必要ならまた小さく直す

この形は、複数の手順と検証を伴うコード作業にはよく効く。だが「ソースも、直したい方向も、はっきり決まっている一発のテキスト校正・翻訳」には、ループそのものが余計な形になる。

  • 部分編集を繰り返すので、長い文章の一部だけが直り、別の箇所と一貫しない結果が生まれる。「100回やっても直らない」「でたらめが混ざる」というのは、たいていこの部分適用のばらつきだ。
  • 毎周ファイルを読み直し、再挑戦するので、文脈がどんどん積み上がってトークンを食う。1時間溶けた、というのはこのループが空回りしている時間だ。
  • 一方チャットは、テキスト全体を一度だけ書き直して返す。これがこの作業に必要な動きそのものなので、数秒で終わる。

つまり原因を一行で言うと、同じモデルでも、エージェントループはコード編集向けに最適化されていて、まとまった文章の書き換えには向いていない。だから純粋な言語タスクのときは、ツールをモデルの手から取り上げてやると、チャットと同じ振る舞いに戻る。

回避策(効く順)

1. claude -p で一発実行する

いちばん確実なのは、対話ループを使わずに1ターンだけ走らせることだ。Claude Codeには非対話モード(print mode)がある。

claude -p "次の文章を校正してください。校正後の本文だけを出力し、説明や前置きは一切付けないでください。

<ここに本文を貼る>"

-p--print)は対話のやり取りをせず、1回で結果を返して終わる。ファイルを延々と編集しに行くループが発生しないので、空回りもトークンの積み上がりも起きない。出力をそのまま受け取って、自分でファイルに貼り戻せばいい。

翻訳でも同じだ。

claude -p "次の英語字幕を自然な日本語に翻訳してください。訳文だけを出力してください。

<本文>" > translated.txt

2. ファイルを直接編集させない

対話のまま使う場合でも、「ファイルを書き換えて」ではなく「校正後の全文を返して」と頼む。本文をプロンプトに貼り付け、結果を本文として受け取り、貼り戻すのは自分でやる。長い散文をその場で部分編集させるのが、ループと部分適用の温床になる。

3. 全文を一度に渡し、全文を一度に受け取る

分割して少しずつ直させると、箇所どうしで矛盾した結果になりやすい。全体を一度に渡し、全体を一度に書き直してもらうと一貫する。

4. plan mode で空回りを止める

対話を続けたいなら、plan mode(--permission-mode plan)で動かす。モデルが勝手に書き込み・実行のループに入れなくなるので、まず方針を見せてもらってから進められる。推測や脱線は、実行される前に計画の文字として見えるので、その場で却下できる。

5. そもそもチャットを使う

コードを触らない純粋な文章作業なら、claude.aiのチャットに貼るのが素直な正解だ。Claude Codeはリポジトリの中で複数手順の作業を回すための道具で、一発の変換はチャットの土俵だ。道具をタスクの形に合わせる、というだけの話でもある。

まとめ:道具をタスクの形に合わせる

  • エージェントループ(Claude Code の既定)が向くのは、検証を伴う複数手順のコード作業。
  • 一発の変換(翻訳・校正・要約・書き換え)が向くのは、チャットか claude -p
  • 一発の変換にループを使うと、部分適用のばらつきと、読み直し・再挑戦によるトークンの溶け込みが起きる。

「Claude Codeが単純な作業で時間とトークンを溶かす」と感じたら、たいていはモデルの能力ではなく、タスクとツールの噛み合わせの問題だ。ツールを手から外して claude -p で一発、を覚えておくと、無駄なループのほとんどは消える。


Claude Codeのトークン消費を作業の種類ごとに見直して体系的に減らしたい場合は、30日間の実データから消費の内訳と削減策をまとめた本(トークン消費を半分にする)も書いている。今回のような「タスクとツールの噛み合わせ」も、月の消費を押し上げる要因のひとつだ。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?