The Best Prompt Architecture for FX Bots in 2026
執筆者: FXマクロデータチーム
発行: May 21, 2026
FXボットの大半は間違ったモデルを使用しているため失敗しません. 弱いプロンプトアーキテクチャを使用しているので失敗します. ライブ取引では,プロンプットは段落ではありません. それはあなたのシステムが文脈を解釈し,リスクポリシーを適用し,決定をフォーマットする方法を決定する制御面です.
ロボットが監視しているなら ドル/JPY解禁する 国内外活動実行ゲートへの出路を指示します. このガイドは,まさにそれを行う実用的なアーキテクチャを提供します.
単一ブロックのインプットが リアルマーケットに 突入する理由
A single long prompt usually mixes context, policy, and desired format in one blob. That makes behavior unstable when input size changes or market conditions spike.
症状は以下の通りです
- 静かなセッションでは JSON をクリーンにします 不安定なセッションでは出力が不適切です
- 信頼の強い物語で 無効化レベルが欠けている
- 時間の経過とともに 動いている 潜在的リスクの仮定
建築が解決する 形容詞ではなく
層1: 状態の提示 (事実のみ)
ステートレイヤーは APIから抽出した 客観的な文脈のみを含めるべきです 解釈もアドバイスもありません
{
"asof_utc": "2026-05-21T20:00:00Z",
"pairs": {
"EUR/USD": { "last": 1.0872, "change_24h_pct": 0.42 },
"USD/JPY": { "last": 156.81, "change_24h_pct": -0.35 }
},
"events": [
{ "currency": "USD", "indicator": "core_pce", "time_utc": "2026-05-22T12:30:00Z" },
{ "currency": "GBP", "indicator": "unemployment", "time_utc": "2026-05-22T06:00:00Z" }
]
}
安定したエンドポイントから構築します 例えば:
curl "https://fxmacrodata.com/api/v1/announcements/usd/core_pce?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/gbp/unemployment?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/forex?base=EUR"e=USD&api_key=YOUR_API_KEY"
層2: 規則 提示 (推論の境界)
ルール層はモデルがどう考え,何をできないかを定義します
You are an FX research assistant.
Allowed:
- Infer directional bias from supplied macro + price context.
- Mention uncertainty explicitly.
Not allowed:
- Invent missing data.
- Give broker execution instructions.
- Output fields outside contract.
Behavior:
- If data is insufficient, return action=flat with reason="insufficient_context".
- Prefer concise causal chains over broad narratives.
これは,デバッグを容易にする,生データから推論ポリシーを分離します.
レベル3:リスクの迅速性 (ハード・コンクリート)
リスクはスタイルのものではない 契約の条件として扱え
Risk policy v1:
- max_size_pct = 0.50
- min_confidence = 0.60
- invalidation is mandatory
- no new risk inside +/- 15 minutes of high-impact calendar events
- if any rule fails, return action=flat and policy_status=reject
銀行からの中央銀行の通信が 連邦準備制度理事会 ほら 日本銀行 信頼のインフレが過剰な取引に 変わることを防ぎます
レイヤ4:出力契約 (決定的インターフェース)
実行エンジンが実際に消費するものです 細かく厳格に
{
"action": "long|short|flat",
"pair": "string",
"confidence": 0.0,
"thesis": "string",
"invalidation": "string",
"size_pct": 0.0,
"policy_status": "approve|reject",
"next_data_to_watch": ["string"]
}
スキーマ検証に失敗する応答を拒絶する.生産中にベスト・エフフォア・パーシングを試みるな.
完全 の 速さ の 堆積物 を 組み立て て いる
実行では,各層を独立してバージョン化して実行時に組み合わせます:
PROMPT = {
"state": state_payload, # dynamic JSON
"rules": rules_block_v3, # static text
"risk": risk_policy_v1, # static text
"output_contract": contract_json, # static schema
}
final_prompt = f"""
STATE:\n{PROMPT['state']}
RULES:\n{PROMPT['rules']}
RISK:\n{PROMPT['risk']}
OUTPUT CONTRACT:\n{PROMPT['output_contract']}
Return JSON only.
"""
この構造により 解剖が明確になります 行動が変化すると 州データやルール リスク 契約執行が変わるか 特定できます
再利用できるプロムットテンプレート
予測可能な動作を望むなら,アドホックプロンプト編集から明示的なテンプレートに移行します.実用的なアプローチはバージョンブロックと不変のポリシー参照を持つプロンプット宣言です.
{
"prompt_id": "fx_agent_v6",
"state_version": "state_schema_v2",
"rules_version": "rules_v3",
"risk_version": "risk_v1_2",
"contract_version": "decision_contract_v4",
"fallback_mode": "flat_on_error"
}
Wire this into your runtime so each decision log stores all four versions. That gives you instant comparability when you run replay tests or investigate drift after a high-impact week.
ブロックの順序を提案する
- システム アイデンティティと範囲 (短く安定)
- 状態のペイロード (JSON データのみ)
- ルールブロック (許容/禁止行為)
- リスクブロック (取引できない制約)
- 輸出契約 (JSON スキーマ + 返信のみの指示)
- エラーバックバック命令 (
flat疑いから
契約指示の前に長いナラティブガイドを配置しないでください. モデルはしばしば長い文脈で初期のテキストを過重評価します.
状態を認識する即時ルーティング
単一のプロンプトアーキテクチャにはまだレジムのルーティングが必要です. "静かなセッション"のルールは"イベントショック"のルールと一致してはいけません.推論の前に軽量ルーターを使用してください:
def select_prompt_profile(next_event_minutes: int, realized_vol_pct: float) -> str:
if abs(next_event_minutes) <= 20:
return "event_profile"
if realized_vol_pct >= 1.1:
return "high_vol_profile"
return "normal_profile"
各プロファイルは同じ契約を共有し,リスクの限界値と推論スタイルの制約を変更することができます.例えば,イベントプロファイルが短い論文,より低いサイズキャップ,より強い不確実性言語を強制することができます.
障害処理と復旧設計
Prompt architecture quality is visible when things go wrong, not when they go right. Define explicit fallback behavior for three scenarios:
- スキーマの失敗: ルーターはコンパクトなコンテキストで一度再試します
- 政策の対立 行動する必要が
flat付き合ってpolicy_status=rejectわかった - データ不足: 取引候補が出ないし,アラートが出る.
最小バックバックポリシーブロック:
Fallback policy:
- If contract parse fails -> return flat candidate from deterministic fallback template.
- If policy_status != approve -> do not call execution adapter.
- If data freshness check fails -> skip inference and publish "no-decision" note.
壊れやすいデモロボットと 違いがあります
活使前の検証チェックリスト
- 復習テストでは,目標値を超えるスキーマ通過率
- 政策の遵守は,イベントが多い窓の下では,100%近くです. リリースカレンダーわかった
- 混同型のコンテキストの 荷重に幻覚場はない
- 安定した行動 セッションを通して追跡 外国為替セッションわかった
- 命令とゲートキーパーバージョンは 鍵で監査可能
結論
提示式アーキテクチャは,多くのAI取引スタックに欠けているエンジニアリング層です. 提示を状態,ルール,リスク,契約層に分割し,それぞれを決定的検証で強制します. このようにしてモデルインテリジェンスを繰り返しの行動に変えるのです.
次のステップは 毎月再プレイのベンチマークを実行し 層ごとにデリフトを追跡します 性能が低下した場合 推測する代わりに どこに介入すべきか正確に知っています