VWork バイブコーディングフレームワーク

AI自動取引システムでは、取引所接続、価格データ収集、戦略実行、リスク管理、LLMによる判断が一つのアプリケーションに入りがちです。しかし、すべてを密結合にすると、LLMを変更するたびに取引システム本体まで修正することになります。

そこで今回、暗号資産向け知能API Kurage Crypto Brain(kcbrain) を、AIトレーディングOSS NOFX から選択して使えるようにしました。あわせてkcbrainをローカルGemma 4とDeepSeek V4 Flashの切り替えに対応させ、NOFXの日本語UIと日本語判断表示も実装して公開しました。

今回のポイントは、単にLLMを一つ追加したことではありません。取引するOSS本体と、判断するAIの境界をOpenAI互換APIで固定したことです。

今回公開したもの

今回の変更は、次の三つに分かれています。

  1. kcbrainをNOFXのAIモデルとして利用可能にした
  2. kcbrainのLLMをGemma 4 / DeepSeek V4 Flashから選択可能にした
  3. NOFXのUIと人間向け判断文を日本語化した

公開先はこちらです。

日本語化PRは公開済みですが、2026年7月20日時点では本家へ未マージです。したがって、この記事では「NOFX公式版が日本語対応済み」ではなく、日本語版を公開し、本家へ提案中と表現します。

NOFXを「本体」、kcbrainを「知能」にする

役割分担は次のとおりです。

市場データ・戦略・ポジション
            │
            ▼
          NOFX
  ├─ 市場情報の収集
  ├─ 戦略プロンプトの構築
  ├─ 判断JSONの検証
  ├─ リスク制御
  └─ 取引所接続・注文実行
            │ OpenAI互換 Chat Completions
            ▼
         kcbrain
  ├─ OSS由来の分析・討論・合議
  ├─ 構造化された判断
  └─ LLMプロバイダーの選択
       ├─ Ollama + Gemma 4
       └─ DeepSeek V4 Flash

NOFX側には、Kurage Crypto BrainというAIモデルプロバイダーを追加しました。NOFXがkcbrainのPOST /v1/chat/completionsへ市場コンテキスト、戦略プロンプト、出力契約を送り、kcbrainはOpenAI互換形式で応答します。

重要なのは、kcbrainが取引所APIキーやウォレットを持たず、注文を実行しないことです。LLMが返した内容をそのまま注文に変えるのではなく、NOFX側が機械可読な判断を検証し、固定のリスク制御を通したうえで実行します。

この境界により、LLMを変更しても取引所接続やリスク管理のコードを変更する必要がありません。

NOFXからkcbrainを選択する

NOFX日本語版では、AIモデル設定からKurage Crypto Brainを選択できます。同一ホストで動かす場合の既定接続先は次のとおりです。

API Base URL: http://127.0.0.1:18328/v1
Endpoint:     /chat/completions
Authentication: Bearer / X-KCBrain-Token

NOFXへ設定するのはkcbrain用のアクセストークンです。GemmaやDeepSeekの認証情報をNOFXやブラウザへ渡す必要はありません。

kcbrainには、単純なChat Completionsだけでなく、暗号資産分析用のAPIも用意しています。

NOFX連携ではOpenAI互換入口を使い、kcbrain単体では目的別の構造化APIを利用できる設計です。

kcbrainをDeepSeek V4 Flash対応にした

kcbrain 0.4.0では、環境変数でLLMプロバイダーを明示的に選択できます。

ローカルGemma 4を使う場合:

KCBRAIN_LLM_PROVIDER=ollama
KCBRAIN_OLLAMA_MODEL=gemma4:12b-it-qat

DeepSeek V4 Flashを使う場合:

KCBRAIN_LLM_PROVIDER=deepseek
KCBRAIN_DEEPSEEK_API_KEY=
KCBRAIN_DEEPSEEK_MODEL=deepseek-v4-flash

DeepSeek APIはOpenAI互換形式を提供しており、現在のモデル一覧にはdeepseek-v4-flashdeepseek-v4-proがあります。kcbrainでは/modelsで設定モデルの存在を確認し、/chat/completionsで推論を実行します。構造化判断ではJSON Outputを有効にし、プロンプトでもJSONオブジェクトを明示しています。

実装時に重視したのは次の点です。

自動フォールバックを入れなかったのは、金融判断で「どのモデルが答えたか」を曖昧にしないためです。DeepSeekを選んだのに、障害時だけGemmaの答えをDeepSeekの結果として保存する状態は避けなければなりません。

稼働中のヘルスチェックは、providerとmodelを明示します。

{
  "ok": true,
  "version": "0.4.0",
  "provider": "deepseek",
  "model": "deepseek-v4-flash"
}

実接続ではモデル一覧、通常チャット、JSON Output、kcbrainの構造化テクニカル分析まで確認しました。ローカルGemma 4も同じインターフェースで応答することを確認しています。

DeepSeekの仕様は公式ドキュメントで確認できます。

NOFX日本語化で守った「表示」と「実行」の境界

NOFXの日本語化は、画面のラベルを置き換えるだけではありません。今回の変更では、ランディング画面、トレーダー画面、チャート、戦略設定、Telegram表示、AIの判断理由まで日本語で利用できるようにしました。

一方で、機械処理に使う次の値は英語のまま維持しています。

open_long
open_short
hold

JSONキー、XMLタグ、銘柄名、売買アクションまで翻訳すると、表示は自然でもパーサーや注文処理を壊す可能性があります。そのため、人間が読む自然言語だけを日本語化し、機械が読む契約は変更しない方針にしました。

日本語化コミットでは30ファイルを変更し、翻訳キーの完全性テスト、Go側の戦略・Telegramテスト、Webビルド、デスクトップとモバイルの表示確認を行っています。本家へのPRにも、安全上の境界と検証内容を記載しています。

OSS本体と知能APIを分離する意味

この構成の利点は、LLMの選択肢が増えたことだけではありません。

OSS本体側は、誰でも監査・改善・再利用できる形で公開できます。市場データ、取引フロー、リスク制御、UIといった「体」の品質をコミュニティと育てられます。

知能API側は、ローカルモデル、外部LLM、将来の有料AI Agentなどへ差し替えられます。GPUを持つ利用者はGemmaをローカル実行し、運用負荷を減らしたい利用者はDeepSeekを選ぶ、といった使い分けができます。

これは以前紹介した「OSS body, metered brain」にもつながります。NOFXというOSS本体から、同じOpenAI互換境界を通じてローカルLLM、外部LLM、x402対応の知能APIへ接続できれば、アプリケーションを公開しながら知能部分をサービスとして提供できます。

まとめ

今回の開発で、次の流れが一つにつながりました。

AI自動取引では、モデルの性能だけでなく、AIの判断をどこで受け取り、どこで検証し、どこから先を実行させるかが重要です。NOFXとkcbrainの連携は、その境界をOSSとAPIの両方で確認できる実装例になりました。

本記事はシステム設計とOSS活用の技術解説であり、特定の金融商品や売買を推奨するものではありません。