Quartet / Quintet

2026-09-04  ·  llm · ollama · ai · claudecode · 個人開発

ローカルLLMに何を任せて、何を任せないか(実測つき)

クラウドのLLMを使っていると、トークン量が気になってきます。 「軽い作業はローカルLLMに逃がせば節約できるのでは」と考えるのは自然です。

手元のマシンで Ollama を動かし、実際に振り分けてみました。 結論は「効く作業と、やると逆に高くつく作業がはっきり分かれる」でした。 その線引きを、実測値つきで書きます。

使った環境

呼び出し側は Node の薄いラッパを1本書いただけです。

const HOST = process.env.OLLAMA_HOST ?? "http://192.168.x.x:11434";

export async function chat(prompt: string, opts: ChatOptions = {}) {
  const res = await fetch(`${HOST}/api/chat`, {
    method: "POST",
    headers: { "content-type": "application/json" },
    body: JSON.stringify({
      model: resolveModel(opts.model),
      messages: [...(opts.system ? [{ role: "system", content: opts.system }] : []),
                 { role: "user", content: prompt }],
      stream: false,
      think: opts.think ?? false,          // 思考トークンは基本不要
      options: { temperature: opts.temperature ?? 0.7 },
    }),
  });
  const data = await res.json();
  return { text: data.message.content.trim(), tokens: data.eval_count };
}

think: false は忘れないでください。既定で思考を出すモデルだと、 必要のない推論トークンを延々と吐きます。


効いた作業

1. 長文の一括翻訳 — これが本命

技術ドキュメント10章・882行を英訳させました。

指標 結果
1章あたりの所要 約35秒
見出し数の一致 10/10章で完全一致
コードブロック数の一致 10/10章で完全一致
表の行数の一致 10/10章で完全一致
相対リンクの保存 全11本が保持
誇張語の混入 0件
日本語の残存 0件

記事1本(217行、出力2030トークン)で32.6秒でした。

構造が完全に保存されたのが大きい。 プロンプトでこう縛りました。

- Preserve the markdown structure exactly: headings, tables, code blocks, lists.
- Do NOT translate content inside code blocks. Keep code identical.
- Keep relative markdown links exactly as they are (e.g. [text](03-architect.md)).
- Keep the tone factual and plain. No hype words
  (revolutionary, seamless, supercharge, unlock, effortless).
- Output ONLY the translated markdown. No preamble.

禁止語を名指しで並べたのが効きました。 これを書かないと "revolutionary" や "seamless" が湧いてきます。

検証は機械でやります。原文と訳文で構造の数を比べるだけです。

def stats(t):
    return (len(re.findall(r'^#{1,3} ', t, re.M)),   # 見出し
            t.count("```") // 2,                      # コードブロック
            len(re.findall(r'^\|', t, re.M)),         # 表の行
            len(re.findall(r'\[[^\]]+\]\([^)]+\)', t)))  # リンク

一致しなければ訳し漏れか勝手な追加が起きています。

2. 記事の重複検査(埋め込み)

記事を書き足していくと、前に書いたことの焼き直しになりがちです。 bge-m3 で埋め込みを取り、コサイン類似度で機械的に弾きます。

0.945  a.md <> b.md   ← 言い換えただけの焼き直し。検出できる
0.805  記事1 <> 記事3  ← 話題が近い。許容範囲
0.591  記事2 <> 記事3  ← 別物

閾値 0.85 を超えたら公開しない、というルールにしています。 実際に1本、0.855 で引っかかったので構成を切り直しました。 書いている本人には「別のことを書いている」ように見えるので、機械の判定が要ります。

3. 見出し案・タイトル案の量産

10案出させて1案選ぶ、という使い方なら十分です。


やると逆に高くつく作業

販売コピーや記事本文の新規執筆

ここが一番の学びでした。下訳を読んで書き直すぶん、自分で書くより高くつきます。

実際に出てきた出力です。

* Claude Codeによる5つのAIエージェント分工体制:3ヶ月間で10本の個人アプリを完遂した開発プロセス
* 並列処理で開発効率化:Claude Codeを活用し、5つの役割分担で3ヶ月に10本アプリをリリースする方法
* 個人開発の速度革命:Claude Codeで構成する5人格ワークフローが3ヶ月で10本の実用アプリを生んだ理由

「速度革命」「駆使した」「完遂した」。日本語の誇張表現が混ざります。 禁止語リストを日本語でも書けば減りますが、根本的には「何を言わないか」の判断が要る作業で、 そこは指示に落としきれません。

そして経済的にも合いません。下訳を全文読み(入力トークン)、書き直す(出力トークン)。 最初から書けば出力トークンだけで済みます。削減どころか増えます。

短い文章

27bモデルで147トークンの出力に12.3秒。短文はレイテンシが支配的で、 待ち時間のほうが体感コストになります。数十トークンなら自分で書いたほうが速い。


線引き

実測から出した基準です。

任せる 任せない
長文の一括変換(翻訳・整形) 新規の文章執筆
出力を全文読まなくてよい作業 品質が売上や信用に直結する文面
検証が機械でできる作業 「何を言わないか」の判断が要る作業
埋め込み・分類・重複検査 短文(レイテンシ負け)

一行でまとめると、「出力を読まずにファイルへ流し込めるか」 です。

読まずに済むなら委譲が効きます。全文読んで直すなら、最初から自分で書くほうが安い。 翻訳は前者です。構造の一致という機械的な合格判定があるので、全文を目で追う必要がありません。

失敗しないための実装上の注意

投げっぱなしにしないこと。 一度、10章ぶんの翻訳が走っていないことに 数分気づきませんでした。ログだけ空のまま残り、失敗したことが分からなかったためです。

原因を nohup のせいだと書きかけましたが、これは誤りです。nohup はむしろ 親や端末が消えても子を生かすための仕組みで、落ちる理由になりません。実際の原因は 別(& の付け忘れ、プロセスグループごとの kill、実行環境側の後始末)でした。

教訓は原因の特定より単純です。完了を確認できない投げ方をしない。 ジョブの管理は、結果を待てる呼び出し側の仕組みに任せます。

タイムアウトは長めに。 長文の一括処理は数十秒かかります。 既定の数秒でアボートすると、モデルは動いているのに結果が捨てられます。

モデルは別名で呼ぶ。 fast / big / coder / embed のような別名を ラッパ側で解決すると、モデルを入れ替えても呼び出し側を触らずに済みます。

まとめ


Claude Code に設計・実装・レビューを別々の人格として分担させ、GitHub Issue と ブランチを軸に並列開発を回すための設定一式を MIT で公開しています。 コピーして ./setup.sh を叩けば動きます。技術スタックには依存しません。

https://github.com/quintetkit/quartet

このワークフローだけで実際にツールを 1 つ作りました。Issue の分割から PR、 レビュー、マージまで記録が全部残っています。うまくいかなかった箇所も消していません。

https://github.com/quintetkit/mdlinkcheck

UI 設計人格・レビュー基準・Issue 単位の並列実行スクリプト・実践ガイド 10 章を 足したものは製品ページにあります。

この運用そのものを配っています

4 人格版 Quartet は MIT で無料公開しています。UI 設計人格・レビュー基準・ Issue 単位の並列実行スクリプト・実践ガイド 10 章を足した Quintet は有料版です。

無料版を見る 製品ページ