背景
claude codeを使って文書を編集するとき、細部はどう動くのか?
agent loop(think / act / observe)の動きはある程度想像できるが、効率 vs 精度のトレードオフはあるはずで、どうなっているか実際に確かめようと思った。
題材
例えば翻訳校正、特に訳ブレの修正を考える。
原文における語Aが、訳文ではa1,a2,a3と訳ブレする危険は常にある。
例:study(名詞、部屋の意) => 書斎、仕事部屋、私室など
事前対策としては用語集(glossary)を策定し、それを参照しながら訳せば良いが、とりあえず今回は訳ブレが起きてしまってそれを直すシーンを考える。
「study => 書斎に統一して」
で良いわけだが、仮に低レベルのLLMが機械的にこれを行ったらどうなるか?
だって名詞studyには「研究」みたいな意味もある。
それを考慮せずに機械的に直してしまったら・・・?
テストデータ
claude codeに架空の推理小説(英語)と和訳を書いてもらった。
条件:
- 原文にstudyが異なる意味で登場する
- study(部屋)について自然な訳ブレが発生している
全文データはこちら。
study登場箇所一覧:
| 章 | 意味 | 訳語 | en | ja |
|---|---|---|---|---|
| Ch1 | 研究 | 研究 | Dinner was a pleasant enough affair, though our host was preoccupied. Lady Pemberton attempted to engage him in conversation about the county hunt, but Lord Blackwood withdrew to his study. He sat in silence, his gaze turned inward, and when Dr. Marsh enquired about his latest research, he murmured something about forged watermarks before trailing off. | 夕食はそれなりに和やかなものだったが、主人はどこか上の空だった。ペンバートン夫人が狩猟の話題で気を引こうとしたが、ブラックウッド卿は研究に没頭してしまった。黙り込んで視線は宙を彷徨い、マーシュ医師が最近の研究について尋ねても、贋作の透かしがどうのと呟いたきり言葉が途切れた。 |
| Ch1 | 部屋 | 書斎 | After dinner, our host excused himself and retired to his study on the ground floor. The study was a handsome room lined with oak bookshelves and furnished with a great mahogany desk. Lord Blackwood spent most of his evenings there, poring over his collection of rare manuscripts. | 夕食後、主人は失礼すると言って一階の書斎に引きこもった。書斎は樫の本棚が壁を覆い、立派なマホガニーの机が据えられた堂々たる部屋であった。ブラックウッド卿は毎晩のようにこの書斎で過ごし、稀覯本のコレクションに没頭していた。 |
| Ch1 | 部屋 | 書斎 | At half past ten, the butler, Simmons, brought a tray of brandy to the study and found the door locked from inside. When there was no answer to his repeated knocking, he summoned me. Together, we forced the door open. | 十時半、執事のシモンズがブランデーの盆を書斎に運んだところ、扉が内側から施錠されていた。何度叩いても返事がないため、シモンズは私を呼んだ。二人で扉をこじ開けた。 |
| Ch1 | 部屋 | 書斎 | "We must telephone the police at once," said Dr. Marsh, his face pale. "And no one should touch anything in this study until they arrive." | 「すぐに警察に電話を」とマーシュ医師が蒼白な顔で言った。「警察が来るまで、この書斎のものには誰も触れないように」 |
| Ch1 | 部屋 | 書斎 | I noticed that the window of the study was shut and latched from within. The room, it seemed, was completely sealed. | 書斎の窓は閉ざされ、内側から掛け金がかかっていた。部屋は完全に密室であるように思われた。 |
| Ch2 | 部屋 | 仕事部屋 | He went directly to the study where the body still sat undisturbed. For nearly an hour, he examined every corner of the room—the desk drawers, the bookshelves, the fireplace, the windows. He studied the position of the body with particular care, tilting his head this way and that. | 彼はまっすぐ遺体がそのまま残された仕事部屋に向かった。一時間近く、部屋の隅々まで調べた——机の引き出し、本棚、暖炉、窓。遺体の姿勢を入念に観察し、首をあちらこちらに傾けた。 |
| Ch2 | 部屋 | 仕事部屋 | "Tell me about this room," he said to Simmons the butler. "Lord Blackwood used this study every evening?" | 「この部屋について教えてくれ」彼は執事のシモンズに言った。「ブラックウッド卿は毎晩この仕事部屋を使っていたのか?」 |
| Ch2 | 部屋 | 仕事部屋 | "Without fail, sir. He would retire to his study after dinner, usually at nine o'clock, and remain until midnight." | 「欠かさず、旦那様。夕食後、たいてい九時に仕事部屋にお入りになり、真夜中までお過ごしでした」 |
| Ch2 | 研究 | 研究 | "Was Lord Blackwood engaged in any particular study of late?" he asked. "Any research that might have brought him into contact with dangerous persons?" | 「卿は最近、何か特別な研究をしていたか?」と彼は尋ねた。「危険な人物と接触するような調査を?」 |
| Ch2 | 研究 | 論文 | Dr. Marsh spoke up. "He was preparing a study on the provenance of several disputed manuscripts. He believed some in his collection were forgeries." | マーシュ医師が口を開いた。「いくつかの出所の怪しい写本について論文を準備しておりました。コレクションの中に贋作があると確信していたのです」 |
| Ch3 | 部屋 | 私室 | The following morning, Inspector Graves assembled us in the study. The body had been removed during the night, but otherwise the room was unchanged. We sat in a semicircle before the great desk—Lady Pemberton, Dr. Marsh, Mr. Hale, and myself—while the inspector stood with his back to the fireplace. | 翌朝、グレイヴズ警部は我々を私室に集めた。夜のうちに遺体は運び出されていたが、部屋はそれ以外そのままだった。我々は大机の前に半円を描いて座った——ペンバートン夫人、マーシュ医師、ヘイル氏、そして私——警部は暖炉を背にして立っていた。 |
| Ch3 | 部屋 | 私室 | "The port wine was the vehicle. A small quantity of aconitine was dissolved in the glass—enough to kill within minutes. The question is: who introduced it, and how, given that the study was locked from within?" | 「ポートワインが媒介でした。グラスにごく少量のアコニチンが溶かされていた——数分で死に至る量です。問題は、私室が内側から施錠されていたにもかかわらず、誰がどうやって毒を入れたかということです」 |
| Ch3 | 研究 | 調査 | "The answer lies in the manuscript on the desk. Lord Blackwood's study of the disputed manuscripts had revealed something extraordinary. One of his so-called rare acquisitions had been sold to him by someone in this very room." | 「答えは机の上の写本にあります。ブラックウッド卿が出所の怪しい写本を調査した結果、驚くべき事実が明らかになったのです。彼のいわゆる稀覯品のひとつは、この部屋にいる人物から購入されたものでした」 |
| Ch3 | 部屋 | 私室 | He turned to Dr. Marsh. "You visited the study yesterday afternoon on the pretext of borrowing a book. You had ample opportunity to prepare the glass of port that Simmons would later deliver." | 彼はマーシュ医師の方を向いた。「あなたは昨日の午後、本を借りるという口実で私室を訪れました。シモンズが後で運ぶポートワインのグラスに細工する十分な時間があった」 |
赤字部分がダミーというか訳ブレ修正の「ひっかけ」。
"Lord Blackwood withdrew to his study."
は文単体では、study(研究/書斎)の両義性から、
「ブラックウッド卿は研究に没頭している」
「ブラックウッド卿は書斎に引きこもっている」
に2通りの意味が考えられる。
今回は文脈から、卿は夕食の場にいることが明らかであり、前者の意味となる。
「study=書斎に統一せよ」の指示を機械的あるいは強制的に適用した場合、前者のような正しい訳文が、後者に変換されてしまうことが考えられる。
(実際LLMに対するglossary情報の伝え方を誤るとそれが起こる)
claude codeの通信をデバッグする準備
環境変数ANTHROPIC_BASE_URLを差し替えることで、claude codeが通信するLLM APIを(claudeから)変更できる。
これを利用することで、任意のLLMを使ったり、通信をモニターできる。
今回はclaude-code-proxyを使った。
リポジトリの案内通りセットアップし、make devで起動し、
export ANTHROPIC_BASE_URL=http://localhost:3001
をセットしてからclaude codeを起動すると、http://localhost:5173/ にてclaude code <-> claude のリクエスト/レスポンスを取得できる。
claude code をdebugしてみる
tool_useとしてbashが選ばれ、実行コマンドが返っている。
このあとは
- bashが実行され
- "2026-03-29 22:10:29 JST"という値が送られ
claudeがそれを自然言語に直したレスポンスを送り返してくる。

claude code <-> claudeがやりとりしているシステムプロンプトやtool/skillの情報などもすべて見ることができる。
実験(1)
指示:
data/test1/en
data/test1/ja
に、ある推理小説3章の英語原文と日本語訳がある。
studyの訳を「書斎」に統一してほしい。
修正後の訳文は
data/test1/ja_mod
に出力してほしい
tool動作:
6ファイル全部(en×3,ja×3)をread toolで読み込み、claudeに送信。
claude返信:
英文の "study"(部屋)の訳を確認しました。
- Chapter 1: すでに「書斎」で統一されている
- Chapter 2: 「仕事部屋」が3箇所 → 「書斎」に修正
- Chapter 3: 「私室」が3箇所 → 「書斎」に修正
修正ファイルを出力します。
tool動作(抜粋):訳ブレ修正が必要なファイルについてsed置換を実行
sed 's/仕事部屋/書斎/g' ./data/test1/ja/chapter2.txt > ./data/test1/ja_mod/chapter2.txt
tool動作:
修正後jaファイル×2をreadし、内容をuser messageに追加して送信
claude返信:
完了しました。変更内容のまとめ:
- chapter1 — 変更なし(元から「書斎」で統一済み)
- chapter2 — 「仕事部屋」→「書斎」(3箇所: 5行目, 7行目, 9行目)
- chapter3 — 「私室」→「書斎」(3箇所: 3行目, 9行目, 15行目)
出力先: `data/test1/ja_mod/`
実験1まとめ
- 最初に全ファイル内容を読み込んで修正対象を決定する
- この時点でダミー対象のstudy(研究)は対象外となった
- 対象についてsedで置換する
- 置換後のファイルを読み込んで修正結果を確認する
実験(2)
実験1の結果を見て、これだけでは実験として足りないことに気づいた。
LLMはsedのリスクをどこまで理解して計画を立てているのか?
例えば第2章においてstudy以外の語もたまたま「仕事部屋」と訳されていたり、第3章においてstudy以外の語もたまたま「私室」と訳されていたら?
sedによる一括置換が編集事故を起こしてしまう。
そこでこんな文を第3章に追加した。
原文
Lady Pemberton, overcome with distress, begged leave to retire to her private quarters upstairs. The inspector nodded curtly.
訳文
ペンバートン夫人は取り乱し、二階の私室に下がらせてほしいと懇願した。警部は素っ気なく頷いた。
"private quarters"は書斎ではないので、もし実験1のように、sedで「私室 => 書斎」に一括置換してしまうと翻訳事故となる。
ちなみにテストデータの調整自体をclaude codeにやってもらっているが、こちらの意図が全て見抜かれているので、

テストを実行する際は/clear でコンテキストをクリアしておくのが重要。
でないとcheatingになる。
まずclaudeの計画立案がこうなった。
でtool use(sed)が来るかな~と思ったら、いきなり変更後の訳文が来た(tool use > file write)。
しかも問題の第3章だけではなく、第1~3章全部その方式で処理された。
また第1章については誤修正が発生した。実験1ではちゃんと回避していたのに!
誤修正結果:
夕食はそれなりに和やかなものだったが、主人はどこか上の空だった。ペンバートン夫人が狩猟の話題で気を引こうとしたが、ブラックウッド卿は書斎へ退いてしまった。黙り込んで視線は宙を彷徨い、マーシュ医師が最近の研究について尋ねても、贋作の透かしがどうのと呟いたきり言葉が途切れた。
夕食後、主人は失礼すると言って一階の書斎に引きこもった。書斎は樫の本棚が壁を覆い、立派なマホガニーの机が据えられた堂々たる部屋であった。ブラックウッド卿は毎晩のようにこの書斎で過ごし、稀覯本のコレクションに没頭していた。
まとめ & 雑感
- たった1つの例外が入っただけで、sedをやめて全文書き換えに方針が変わった。例外箇所をガードした上でsedするとか、全文書き換えにしても第3章だけにして、第2章はsedするとか、効率化の方法はあるはず。
- 修正後のファイルを全部読み込んでチェックしているのが無駄だなあと思う。もし各章が巨大ファイルで、多くの章に修正対象が分散していたら・・・?
- ただそういった場合には、巨大リポジトリを扱う時や、巨大機能を実装する時と多分似ていて、ファイルサイズを見つつ適宜分割処理する計画を立てるのではないかと期待
- sedを実行するときにはユーザ許可を求めてくるので、挙動の確認のためにclaude-code-proxyは不要だったのでは・・・でもconversationの内容やtool use詳細がわかったのは良かった
おまけ
claude codeは毎ターン対話履歴=conversationをclaude送り、それはcacheされる。添付で万単位のcacheになっているのは、対話開始時に登録するsystem promptおよびsystem reminderが大きいため。
ちなみに本件で使ったファイル×6個は、4k token程度。





