From 45ec64537d20303fe2e013ffb8e503e072e89794 Mon Sep 17 00:00:00 2001 From: ZhouYongyou <128128010+zhouyongyou@users.noreply.github.com> Date: Sun, 2 Nov 2025 08:38:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A3=9C=E5=85=85=20System=20Prompt=20?= =?UTF-8?q?=E4=B8=AD=E6=96=B0=E5=8B=95=E4=BD=9C=E7=9A=84=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E8=AA=AA=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 問題: - System Prompt 的 action 列表缺少新增的動作 - 只列出:open_long, open_short, close_long, close_short, hold, wait - 缺少:update_stop_loss, update_take_profit, partial_close - 導致 AI 不知道可以使用這些新動作 修復: - 補充完整的 action 列表(9 個動作) - 添加每個新動作的必填字段說明: * update_stop_loss: new_stop_loss, reasoning * update_take_profit: new_take_profit, reasoning * partial_close: close_percentage (0-100), reasoning 影響: - AI 現在知道可以使用動態止盈止損功能 - 明確每個動作需要哪些字段 - 與 Decision 結構定義完全一致 --- decision/engine.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/decision/engine.go b/decision/engine.go index 24aab6a1..65e75a3b 100644 --- a/decision/engine.go +++ b/decision/engine.go @@ -287,9 +287,12 @@ func buildSystemPrompt(accountEquity float64, btcEthLeverage, altcoinLeverage in sb.WriteString(" {\"symbol\": \"ETHUSDT\", \"action\": \"close_long\", \"reasoning\": \"止盈离场\"}\n") sb.WriteString("]\n```\n\n") sb.WriteString("字段说明:\n") - sb.WriteString("- `action`: open_long | open_short | close_long | close_short | hold | wait\n") + sb.WriteString("- `action`: open_long | open_short | close_long | close_short | update_stop_loss | update_take_profit | partial_close | hold | wait\n") sb.WriteString("- `confidence`: 0-100(开仓建议≥75)\n") - sb.WriteString("- 开仓时必填: leverage, position_size_usd, stop_loss, take_profit, confidence, risk_usd, reasoning\n\n") + sb.WriteString("- 开仓时必填: leverage, position_size_usd, stop_loss, take_profit, confidence, risk_usd, reasoning\n") + sb.WriteString("- update_stop_loss 必填: new_stop_loss, reasoning\n") + sb.WriteString("- update_take_profit 必填: new_take_profit, reasoning\n") + sb.WriteString("- partial_close 必填: close_percentage (0-100), reasoning\n\n") return sb.String() }