💡

Claude Codeの品質が不安定?OpenCodeに乗り換えて1週間使ってみた

に公開

OpenCodeのスクリーンショット

こんにちは!スペースマーケットのjinです😎

最近、さまざまなAI開発ツールやMCPを試す中で、特に気に入ったOpenCodeの使用感をまとめました。使う前は「複数のAIモデルを扱えるオープンソースのツール」という認識でしたが、私の環境では先週の実使用でCodex CLIやClaude Codeよりも一段満足度の高い開発体験を得られました。以下はあくまで個人の体験に基づく所感です!

https://opencode.ai/


あくまで個人的なCodexの課題

  • レスポンスが全体的に遅めに感じる
  • 対話感が希薄に感じられる場面がある
    • レスポンスが遅いと思考の連続性が途切れやすい
    • 生成したコードは効率的な一方で、可読性が十分でないと感じることがある
  • 機能面で、他ツールに比べ成熟度がやや劣る印象

あくまで個人的なClaude Codeの課題

  • まれに応答品質の揺れを感じることがある
    • 過去にインフラ起因の不具合が公表されたことがあり、改善後も断続的に類似の揺れを体感
  • それでもツールとしての完成度、応答速度、機能の豊富さから、これまではClaude Codeを最も多く使っていた

※ いずれもモデル・ネットワーク・設定・時期によって体験は変わり得ます。

OpenCodeを使ってみて

OpenCodeは、Claude Codeの長所をほぼ踏襲しつつ、少なくとも私の使用範囲ではときどき感じていた「レスポンス品質の揺れ」が目立ちにくく、より安定して使えました。そこでなぜ安定しているのかを確かめたくなり、公式リポジトリと実装を一通り確認してみました。

https://github.com/sst/opencode

🔍 内部構造の要約 — オープンソースの透明な設計

OpenCodeは、単に「Claudeモデルへ接続するクライアント」ではありません。 内部にクライアント/サーバー型のエージェント基盤を持ち、ローカルでサーバーを動かし、その上にTUIやVSCode拡張など複数のクライアントを接続できる設計です。

特徴的なのは、システムプロンプトの組み立てがコードで追える点です。 Claude Code側の詳細プロンプトは非公開ですが、OpenCodeは環境情報の注入などがリポジトリのコード/設定から確認できます。対話開始時のメッセージ構成は実装や設定により変わり得ますが、概ね次のように組み立てられます:

システムプロンプトの構成(最大2メッセージに圧縮):

  1. Providerヘッダー — Anthropicモデル専用の特殊ヘッダー(他モデルは空)
  2. 基本システムメッセージ — エージェントのカスタムプロンプト、またはモデル別の役割定義(GPT-5/Beast/Gemini/Claude/Qwen等)
  3. 環境情報(Environment Prompt) — 作業ディレクトリ、OS、Git状態、日付、プロジェクトツリー(最大200ファイル)を取得して統合
  4. ユーザーコンテキスト — プロジェクトのAGENTS.md、CLAUDE.md、グローバル設定、opencode.jsonのinstructions

システムプロンプト外で別途送信される要素:

• ツール情報 — read/edit/bash等のツール定義は、toolsパラメータとして別個に渡される
• ユーザー入力 — プロンプトはmessages配列のuserロールとして、システムメッセージとは分離して送信される

この構造はpackages/opencode/src/session/prompt.tssystem.tsで確認でき、環境情報の注入は設定で調整可能です。

このように、「OpenCode上で動いている」という前提を共有したうえでやり取りが始まるため、文脈のズレを抑えつつ一貫性のある応答を得やすく、必要なら設定やコード側で挙動を調整できます。

モデルプロバイダーとツールプロバイダーの分離

OpenCodeはClaude Codeと異なり、ツール(クライアント)とモデル(バックエンド)の担い手が分離されています。

つまり、AnthropicのモデルはAPI経由で利用しますが、プロンプトやリクエストの組み立て方、結果の表示方法はOpenCode側が制御します。こうした設計のため、モデルの応答品質が不安定化する局面が相対的に少ないのかもしれません。

Anthropicは公式に「意図的にモデル品質を下げない」と説明しています。一方、コミュニティではClaude Codeで時折感じられる品質の揺れについて多くのユーザーが疑問を呈し、「より良い品質や安定性を目指した最適化や実験的な仕組みが、特定の条件で副作用を生んでいるのではないか」という見方もあります(あくまで推測です)。私の環境では、少なくともOpenCodeでは同様の現象はまだ見られず、やり取り全体で応答が一貫して安定していると感じます。

なお、参考までに、前払いのトークン課金のみで動作するAmp Codeでも、同じClaude Sonnetモデルを使った場合の応答の安定性が高いと感じました。

OpenCodeの良かった点

  • AGENTS.mdを標準サポート
  • 応答の安定性が高い印象 — 少なくとも私の環境では、顕著な品質低下に遭遇する頻度が少なかった
  • レスポンスが速く、対話のテンポが良い
    • AIは最初から完璧なコードを書けないので、後続フィードバックでテンポ良く修正していく体験がgoodだった
    • 新しいコードの内容を追う際も、とにかく「会話になる」のが良かった
  • プロジェクト別のカスタムプロンプト — .opencode/command に記述して運用(Codexはできない)
  • セッション共有が可能 — やり取りを他者と共有しやすい

OpenCodeの惜しい点

  • Plan Modeの認識エラー:たまに「書き込み権限がない」のようなメッセージを表示し、単純なread-onlyモードのように動作する時がある
  • Claude Codeの細かい便利機能の一部はまだない:例えば/output-styleなどはないが、/undo/redoのような機能はむしろClaude Codeより先にサポートした

まとめ

AIツールは変化が速く、来週には新しい選択肢が出てくるかもしれません。とはいえ、Codexの使い勝手やClaude Codeの品質の揺れに共感する方には、OpenCode × Claude Pro/Maxの組み合わせは試してみる価値があると思います!

スペースマーケット Engineer Blog

Discussion