ブログ一覧

OpenCode 2.0 の Code Mode は同じ Claude で費用が Claude Code の4分の1

OpenCode を作っている Anomaly から、オープンソースのコーディングエージェントの新しい版 OpenCode 2.0 が出ました。Claude を含む色々なモデルを選べ、2.0 では Code Mode が既定になっています。

Code Mode では MCP のツールが JavaScript の関数(tools.github.get_issue など)になり、モデルが書いた短いスクリプトの中で OpenCode がツールを呼んで結果を加工し、別のツールを呼ぶまでをまとめて実行する仕組みです。

で、肝心なのは、本家のコーディングエージェントの Claude Code との比較ですが、結論、GitHub の Issue を Linear に写す作業で比べると、Code Mode の費用は Claude Code の4分の1になりました。

  • モデルとの往復の数はほぼ同じ
  • 減ったのはモデルが Issue の本文を書き写す出力
  • 本文を要約させる作業では差が縮んだ

本文を写す作業でも、Claude Code との差の半分ほどは Code Mode と関係のない OpenCode 自体の軽さから来ていました。

往復の回数はほとんど変わらず、減ったのはモデルが書き写す出力

試したのは、GitHub で bug ラベルが付いた open な Issue 20件を Linear に作る作業です。3件は Linear に既にあるので作るのは17件で、説明欄には Issue の本文をそのまま写させました。モデルは Sonnet 5.5 で、GitHub と Linear の MCP サーバーはモックです。応答が大きかったり遅かったりする実物のサーバーでは数字が変わる可能性がありますが、Claude Code と Code Mode を3回ずつ動かし、どの回も正しく作れました。

中央値は次のとおりです。費用は API の定価で換算した額で、請求額ではありません。

  • 費用: Claude Code $0.274 / Code Mode $0.068
  • かかった時間: Claude Code 55秒 / Code Mode 21秒
  • モデルへのリクエスト: Claude Code 7回 / Code Mode 5回
  • モデルの出力トークン: Claude Code 10,088 / Code Mode 1,597

リクエストの回数に大きな差が無いのは、Claude Code も1回の応答で十数個のツールを並べて呼ぶからです。図には、Code Mode を切った OpenCode も並べています。

リクエストの回数はほとんど変わらないのに、Code Mode では出力トークンと費用が大きく減る

差が出たのはモデルの出力のトークンです。Claude Code は Linear に Issue を作るツール save_issue を17個並べ、その引数ごとに Issue の本文を書き写していました。Code Mode では、モデルが次のスクリプトを書いています。

const nums=[9,15,18,24,27,36,39,42,48,51,54,60,63,66,69,72,75];
const out=[];
for (const n of nums) {
  const i = await tools.github.get_issue({owner:"acme",repo:"web",number:n});
  const r = await tools.linear.save_issue({teamId:"team_web", title:i.title, description:i.body+"\n\n"+i.url, priority: i.labels.includes("p1")?1:3});
  out.push(r);
}
return out;

get_issue が取ってきた本文は、モデルが読まないまま save_issue に渡っています。同じ考え方は Anthropic も Code execution with MCP に書いています。

本文を要約させると差は縮む

本文を2〜3文に要約してから説明欄に入れさせると、Code Mode の費用は Claude Code の4割ほどになりました。

  • 本文を要約して写す: Claude Code $0.207 / Code Mode $0.088

要約はスクリプトの中ではできないので、Code Mode も取ってきた本文をいったんモデルに返して読ませています。

差の半分は OpenCode 自体の軽さ

OpenCode で Code Mode を切り、スクリプトを使わずにツールを直接呼ばせると、本文を写す作業の費用は $0.158 でした。Claude Code の $0.274 からここまでの差は Code Mode と関係が無く、Code Mode が下げたのは $0.158 から $0.068 までの分です。

Code Mode と関係の無い差は、次の2つから来ています。

  • 1回目のリクエストの入力: Claude Code 約32,000トークン / OpenCode 約11,700トークン
  • キャッシュの書き込みの単価: Claude Code が使う TTL 1時間のキャッシュは、TTL 5分のキャッシュの1.6倍

この記事をシェア