本記事は投資・売買を一切すすめるものではなく、損益や有利不利にも触れません。暗号資産取引は高リスクで、いかなる自動売買も利益を保証しない。扱うのは「OSSのOctoBotが、LLMをソフトウェアの“評価器”としてどう組み込んでいるか」という技術的な仕組みのみ。AIアーキテクチャの学習を目的とした中立的な解説であり、取引の可否・是非は各自の責任と各国の法規制に従うこと。
OctoBot は、暗号資産取引を自動化するオープンソース(GPL-3.0)のソフトウェアです。 15以上の取引所に対応し、複数の戦略を持つ成熟したプロジェクトですが、本サイトは AI関連OSSの解説に特化 しているため、本稿はそのうち 「LLM(大規模言語モデル)を使う機能=ChatGPT trading mode」の仕組みだけ を取り上げます。 取引そのものではなく、「LLMをソフトウェアの判断に組み込む設計の実例」 として読んでください。 OctoBot自体はGrid(グリッド)、DCA(ドルコスト平均法)、TradingView連携など多様な戦略を持つ成熟したOSSですが、これらの取引手法の良し悪しは本記事の対象外です。 あくまで、その中の「AIに判断を委ねる部分」が、技術的にどう作られているかだけを見ていきます。
なぜこれが面白いのか。 それは、OctoBotのChatGPT modeが 「LLMを評価器(evaluator)として判断パイプラインに組み込む」 という、ドメインを問わず応用できる設計パターン の好例だからです。 本稿は 2026年6月25日(JST)時点 で、公式リポジトリと公式ガイドをもとに、その仕組みを整理します。
LLMを「評価器(ジャッジ)」として使う発想は、Anthropicのプロンプト・プレイブック(評価エージェント) でも扱うテーマです。
- ・本記事はAI連携の技術解説。投資助言・損益・推奨の話は一切しない。
- ・OctoBot(GPL-3.0 OSS)のChatGPT trading modeを、LLM統合の実例として解説。
- ・仕組みは市場データ前処理→LLMにUP/DOWN+確信度を質問→評価器が重み付き評価。
- ・OpenAI APIでもローカルOllamaでも動く(評価器インターフェースを差し替え可能)。
- ・LLMは「最終決定」ではなく「一つの評価入力」。出力を過信しない設計思想が学べる。
1. なぜ「LLMを評価器として組み込む」のか
LLMの使い方というと、チャットや文章生成を思い浮かべがちです。 しかし、ソフトウェアの中でのLLMの強力な使い道のひとつが、「評価器(evaluator / judge)」 としての利用です。
評価器とは、入力を受け取って“判断”を返す部品 のことです。 たとえば「このレビューはポジティブかネガティブか」「この申請は承認すべきか」「この出力は基準を満たすか」——こうした判断を、ルールベースではなくLLMに委ねる、という発想です。
OctoBotのChatGPT modeは、この発想を 「市場データを入力に、UP/DOWNの判断を返す評価器」 として実装したものです。 ここで「評価器(evaluator)」という言葉に馴染みがない方のために補足すると、これは近年「LLM-as-a-judge(ジャッジとしてのLLM)」とも呼ばれる、注目度の高い使い方です。 たとえばAIの出力品質を別のLLMに採点させる、といった用途で広く使われており、本サイトでも評価エージェントの記事で扱っています。 OctoBotは、この「LLMに判断・採点をさせる」パターンを、市場分析という具体的なタスクに適用した一例だと位置づけられます。 重要なのは、ここでLLMが “最終決定者”ではなく“一つの評価入力” として扱われている点です。 LLMの判断は、他の評価器(テクニカル指標など)と 重み付きで統合(consolidate) できます。
この「LLMを判断パイプラインの一部品として組み込み、その出力を相対化する」という構造は、取引に限らず——与信審査・コンテンツ分類・異常検知・品質チェック など、あらゆる「判断」に応用できます。 だからこそ、OctoBotのChatGPT modeは、取引という題材を抜きにしても AIエンジニアにとって学びの多い実例 なのです。
「LLMを評価器として使う」発想が広がっている背景には、LLMの得意・不得意の理解が進んだことがあります。 LLMは、厳密な計算や確実な未来予測は苦手な一方、「文脈を読んで、人間的な判断を下す」 ことには長けています。 従来、ソフトウェアで「判断」を実装するには、if文の山やルールエンジン、あるいは専用の機械学習モデルが必要でした。 LLMは、これらを 自然言語の指示一つで、ある程度の柔軟さをもって代替 できます。 「このテキストは攻撃的か」「この回答は質問に答えているか」といった、ルール化しづらい判断を、プロンプトで記述できるのです。 OctoBotが市場データの解釈という曖昧な判断をLLMに委ねているのも、この“柔らかい判断”をLLMが担えるという前提に立っています。 ただし後述のように、その判断が常に正しいわけではない、という限界とセットで理解する必要があります。
2. ChatGPT trading modeの仕組み(3ステップ)
公式ガイドによれば、ChatGPT trading modeは大きく3つのステップで動きます。
生データ / 移動平均 / 加工値 を選択"] PRE --> LLM["② LLMに質問
『近い将来 UP か DOWN か?確信度は何%か?』"] LLM --> EVAL["③ 評価器が評価を出力
向き=UP/DOWN、重み=確信度"] EVAL --> CONS["他の評価器と統合(consolidate)
※ LLM単独でも使用可"] CONS --> DEC["最終的なシグナル(判断)"]
各ステップを補足します。
第一に、前処理(Indicator) です。 LLMに渡す前に、市場データをどう加工するかを設定します。 生のローソク足をそのまま渡すか、移動平均などの加工値を渡すかを選べます。 これは「LLMにどんな文脈(コンテキスト)を与えるか」の設計であり、評価器の品質を左右する重要な部分です。 ゴミを入れればゴミが出る(garbage in, garbage out)のはLLMでも同じで、渡す情報の質が判断の質を決めます。
第二に、LLMへの質問 です。 前処理したデータをLLMに渡し、「近い将来、相場はUPかDOWNか、確信度は何%か」を尋ねます。 ここがポイントで、自由回答ではなく 「UP/DOWN+確信度%」という構造化された出力 を求めています。 構造化することで、回答を機械的に扱えるようになります。 これは、近年のLLM活用で重視される「構造化出力(structured output)」の考え方そのものです。 自由文の回答は人間には読みやすい一方、プログラムから安定して値を取り出すのが難しく、パースに失敗するリスクもあります。 あらかじめ出力の形式を限定しておけば、後段の処理が単純になり、システム全体の信頼性が上がります。
第三に、評価器の出力 です。 LLMの回答から、評価器が「評価(evaluation)」を生成します。 評価の向き はUP/DOWNの回答に、評価の重み はLLMの確信度に基づきます。 この評価は、単独で使うことも、他の評価器と統合することもできます。
この3ステップを、AIエンジニアの視点でもう一段深く読み解いてみます。
前処理(ステップ①) は、いわば「プロンプトに何を含めるか」の設計です。
生のデータをそのまま渡すと、LLMはノイズに惑わされたり、トークンを無駄に消費したりします。
移動平均などに加工してから渡せば、LLMは要点を掴みやすくなります。
これは、RAG(検索拡張生成)で「どの文書を文脈に入れるか」を設計するのと同じ発想です。
構造化質問(ステップ②) は、出力を機械処理可能にするための定石です。
「どう思いますか?」と自由に聞くと、LLMは長い文章を返し、それを後段で解釈するのが大変になります。
「UPかDOWNか、確信度は何%か」と聞けば、回答は {direction: UP, confidence: 70} のように扱いやすい形に収まります。
評価器への変換(ステップ③) は、LLMの言葉を、既存システムが理解できる数値シグナルに翻訳する工程です。
向きと重みという2つの数値に落とすことで、他の評価器と同じ土俵で合成できるようになります。
この「自然言語の判断 → 構造化 → 数値シグナル」という変換こそ、LLMをソフトウェアに組み込む際の核心部分です。
3. LLMを「評価器」として一般化すると
OctoBotの3ステップは、実は 汎用的なLLM評価器のパターン そのものです。 取引の文脈を外して一般化すると、次のようになります。
この3つ——文脈を作る/構造化して問う/数値化して統合する——は、LLMを「賢いが気まぐれな判定者」として安全に使うための定石です。 特に③の「統合する(相対化する)」が肝心です。 LLMの判断を単独で全権委任すると、誤りや幻覚(hallucination)がそのまま結果に直結します。 他の根拠と重み付きで組み合わせることで、LLMの強みを活かしつつ、弱点を緩和 できます。 OctoBotが「LLM評価器を単独でも、他の評価器と統合しても使える」設計にしているのは、この考え方の実装例です。
この「重み付き統合」を、もう少し具体的にイメージしてみましょう。 仮に、テクニカル指標ベースの評価器が「DOWN(弱め)」、LLM評価器が「UP(確信度80%)」と出したとします。 このとき、両者を重み付きで合成すれば、最終的なシグナルは両方の主張を反映したものになります。 LLM評価器の重みを小さく設定すれば「参考程度」に、大きく設定すれば「主役」に——と、LLMをどれだけ信頼するかを数値で調整 できます。 これは、AIを既存システムに導入するときの現実的な進め方とも一致します。 いきなりAIに全権を渡すのではなく、まず小さな重みで“お試し”導入し、挙動を観察しながら徐々に比重を上げる、という段階的な統合が可能になるのです。 LLMを評価器として設計する最大の利点は、この 「信頼度を連続的に調整できる」柔軟さ にあるといえます。
4. ローカルLLM(Ollama)への対応
OctoBotのChatGPT modeは、OpenAIのGPTだけでなく、ローカルLLMのOllamaにも対応 しています。 これはAIエンジニアにとって示唆的な設計です。
・OpenAI(クラウド):OpenAIのAPIキーを設定するだけで使える
・Ollama(ローカル):LLMカスタムベースURLを自分のOllamaサーバーに向ける
具体的には、Ollamaの場合、ベースURLを次のように設定します(公式ガイドより)。
# OctoBot の「LLM custom base url」を Ollama サーバーに向ける
# 既定の Ollama アドレス(localhost:11434)なら:
http://localhost:11434/v1
ポイントは、OpenAIもOllamaも“同じインターフェース(OpenAI互換API)”で差し替えられる ことです。
OllamaはOpenAI互換のエンドポイント(/v1)を提供するため、接続先URLを変えるだけで、クラウドのGPTからローカルモデルへ切り替えられます。
これは「評価器の実装(LLMプロバイダ)を、呼び出し側を変えずに差し替える」という、良い抽象化の例です。
ローカルLLMを使う利点は、データを外部に送らない(プライバシー) ことと API課金が発生しない(コスト) こと、そして 回数を気にせず試せる ことです。 ローカルLLMでAIを動かす環境づくりは LM Studio入門|ローカルLLMをGUIで動かす も参考になります。 一方、ローカルの軽量モデルは、クラウドの上位モデルに比べて判断の質が劣る傾向があり、用途に応じた使い分けが必要です。
この「OpenAI互換APIによる差し替え可能性」は、近年のAI開発で非常に大きな意味を持っています。 かつては、各LLMプロバイダのAPIが独自仕様で、別のモデルに乗り換えるたびにコードを書き換える必要がありました。 しかし、OpenAIのAPI形式が事実上の標準になり、Ollamaをはじめ多くのツールがそれに準拠したことで、「接続先URLとモデル名を変えるだけ」で実装を差し替えられる ようになりました。 これは、特定ベンダーへのロックインを避け、コスト・品質・プライバシーの要件に応じてモデルを選べる、ということです。 OctoBotがクラウドGPTとローカルOllamaの両方を同じ仕組みで扱えるのは、この標準化の恩恵を素直に取り込んだ設計だといえます。 AIエンジニアにとっては、「自分のシステムも、LLM呼び出し部分をOpenAI互換インターフェースで抽象化しておけば、将来モデルを差し替えやすくなる」という教訓が読み取れます。
5. この設計から学べること(と限界)
OctoBotのChatGPT modeから、LLM活用について学べる点を整理します。
・構造化出力を求める:自由回答ではなく「ラベル+確信度」のように、機械処理できる形で答えさせる
・文脈の前処理が品質を左右する:LLMに何を・どう渡すか(生データか加工値か)の設計が重要
・LLMを単独の決定者にしない:他の根拠と重み付きで統合し、出力を相対化する
・プロバイダを抽象化する:OpenAI互換APIで、クラウド/ローカルを差し替え可能にする
・信頼度を調整可能にする:LLMの判断を重みで扱い、お試し導入から本格運用まで段階的に比重を変えられるようにする
一方で、限界とリスク も明確です。
LLMの「UP/DOWN予測」は未来を当てるものではない。LLMは文脈から尤もらしい回答を生成するだけで、相場の将来を正しく予測できる保証はない。確信度(confidence)もモデルの主観的な数値で、的中率とは別物。どんなAIも市場予測を保証しない。この種の自動売買は高リスクであり、本記事は取引を推奨しない。
・予測の信頼性:LLMは未来予測器ではない。確信度=的中率ではない
・幻覚(hallucination):尤もらしいが誤った判断を、確信ありげに返し得る
・再現性:同じ入力でも回答が揺れる(非決定的)。検証や監査がしにくい
・コストとレイテンシ:頻繁にLLMを呼ぶと費用・遅延が増える。クラウドLLMなら呼び出し回数がそのまま課金に響く
・ドメインの高リスク性:暗号資産取引は本質的に高リスク。AIの有無に関わらず損失はあり得るうえ、AIを使えば勝てるという誤解は危険
これらは、LLMを「判断」に使うとき全般に当てはまる注意点です。 だからこそ、LLMの出力を一票として相対化し、人間や他ロジックの確認を残す 設計が重要になります。
特に金融・取引のように 結果が直接お金に結びつく領域 では、この慎重さは決定的に重要です。 コンテンツ分類なら、LLMが時々間違えても影響は限定的です。 しかし、取引の判断を誤れば、実際の損失に直結します。 だからこそ、OctoBotのようなツールには バックテスト(過去データでの検証)やペーパートレード(仮想資金での試行) といった、いきなり実資金を投じない仕組みが用意されています。 これはAIに限らず自動売買全般の鉄則ですが、LLMという「非決定的で、確信度が当たるとは限らない」要素を加えるなら、検証の重要性はさらに増します。 本記事はあくまでAI連携の仕組みの解説であり、繰り返しになりますが、いかなる取引も推奨せず、利益も保証しません。 この種のツールを技術的に学ぶこと自体は有益ですが、実際に資金を扱うかどうかは、リスクを十分理解したうえでの各自の判断です。
まとめ
本記事は、OSSの OctoBot が LLM(ChatGPT/Ollama)を“評価器”としてソフトウェアに組み込む仕組み を、AIアーキテクチャの実例として解説しました(投資助言ではありません)。
要点を整理すると次のようになります。
・ChatGPT modeは「市場データ前処理→LLMにUP/DOWN+確信度を質問→評価器が重み付き評価」
・LLMは“最終決定”ではなく“一つの評価入力”。他の評価器と統合(相対化)できる
・この構造は「LLMを評価器として判断に組み込む」汎用パターンで、与信・分類・異常検知など取引以外にも応用可
・OpenAI互換APIで、クラウド(GPT)とローカル(Ollama)を呼び出し側を変えずに差し替え可能
・LLMの予測は未来を当てるものではない。確信度=的中率でもない。出力を過信しない設計が必須
OctoBotのChatGPT modeは、「LLMを評価器として判断パイプラインに組み込み、その出力を他の根拠と重み付きで相対化する」という、ドメインを問わず使える設計の実例だ。構造化出力・文脈の前処理・プロバイダ抽象化(OpenAI/Ollama)といった工夫は、与信・分類・異常検知など他の「判断」にも転用できる。ただしLLMは未来予測器ではなく、確信度も的中を保証しない。AIの出力は一票として扱い、過信しない——この設計思想こそ、取引という題材を超えて持ち帰るべき教訓である。LLMを“判断”に使う機会が増えるほど、この「相対化」の作法は効いてくる。(再掲:本記事は投資助言ではなく、いかなる取引も推奨しない)
参照ソース
・Drakkar-Software/OctoBot(公式GitHubリポジトリ)
・ChatGPT Trading mode(OctoBot公式ガイド)
・Ollama(ローカルLLM)
・AIエージェントとは?仕組み・種類・代表的OSSフレームワーク【2026年版】(本サイト・ピラー)