ジェネラティブエージェンツの大嶋です。
「AIエージェントキャッチアップ #51 - opencode」という勉強会を開催しました。
https://generative-agents.connpass.com/event/370374/generative-agents.connpass.com
アーカイブ動画はこちらです。
opencode
今回は、OSSのCLI型コーディングエージェント「opencode」をキャッチアップしました。
opencodeのGitHubリポジトリはこちらです。
今回のポイント
opencodeとは
opencodeは、OSSのCLI型コーディングエージェントです。
opencodeはもともと、以下のGitHubリポジトリで開発されていました。
上記のもともとのopencodeが分岐して、現在は2つのプロジェクトとなっています。
- Crush(FSL-1.1-MITライセンス)
- sst/opencode(MITライセンス)
上記の2つのうち、今回はsst/opencode(以後「opencode」と呼びます)を扱うことにしました。
opencodeが対応するモデル
opencodeでは、Anthropic、OpenAIなどの各種プロバイダのAPIキーを設定したりすることで、様々なモデルが使用可能になっています。
また、Beta機能として「opencode zen」という仕組みが提供されています。 opencode zenに登録してAPIキーを作成することで、opencodeチームが検証済みのモデルを使用することができるとのことです。
opencodeを動かしてみた
実際にopencodeを動かしてみました。ドキュメントに従ってインストールした後、opencode auth loginを実行すると、プロバイダーを選択するよう求められます。

その後、opencodeを起動すると、Claude CodeなどのCLI型コーディングエージェントのようなTUIが表示されます。

/initのようにコマンドを実行したり、自然言語で指示を出すことができます。

opencodeの主な機能
opencodeの主な機能はClaude Codeなどの他のコーディングエージェントと同様です。
- AGENTS.md
- プランモード
- カスタムエージェント
- カスタムコマンド
- GitHub Actionsとの統合
とくに気になった機能をいくつか紹介します。
/undoコマンド
opencodeでは、/undoでエージェントの変更を元に戻すことができます。
また、/redoで元に戻した変更を再度適用することができます。
/shareコマンド
opencodeでは、/shareコマンドを実行すると、https://opencode.ai/s/<share-id>のようなURLでセッション(opencodeの作業状況)を共有できます。

セッションの共有機能は、無効化したりセルフホストすることもできるようです。
Server / Client機能
opencode serveコマンドを実行すると、opencodeのサーバーが起動するという機能があるようです。
起動したサーバーにはSDKからアクセスして利用可能です。
opencodeの内部実装について
opencodeの内部実装も少し見てみたので、面白かった点をまとめます。
モデルごとにシステムプロンプトが異なる
opencodeでは、選択したモデルによってシステムプロンプトが異なるようになっています。
たとえばAnthropicのモデルを使用する場合は以下のシステムプロンプトになります。
todowriteツールのdescription
opencodeのようなコーディングエージェントでは、ツールがどのように実装されているのかも重要です。
たとえばtodowriteツールのdescriptionは以下のファイルに記述されていました。
かなり長文のdescriptionとなっており、このようなエージェントを実装する際のツールのdescriptionの重要性が伺えます。
評価に関するコードは見つからず
opencodeの評価(evaluation/benchmarking)に関するコードはコードベースに含まれていないようでした。
opencodeの開発チームは何らかの方法で評価を実施していると思うので、具体的にどうしているのかは気になるところです。
次回のご案内
以上、今回は「opencode」をキャッチアップしました。
次回は「AIエージェントキャッチアップ #52 - Agent Payments Protocol(AP2)」ということで、エージェントエコノミーのためのオープンプロトコル「Agent Payments Protocol(AP2)」がテーマです!
https://generative-agents.connpass.com/event/370894/generative-agents.connpass.com
ご興味・お時間ある方はぜひご参加ください!
また、その次の回以降のテーマも募集しているので、気になるエージェントのOSSなどあれば教えてください!