fix: AI no longer fabricates prices for assets without real-time data

System prompt now explicitly:
- Lists which assets have real-time data (crypto) and which don't (stocks/forex)
- FORBIDS fabricating specific prices
- Requires disclosure: 'based on historical knowledge, not live data'
- Allows strategy frameworks but not fake price levels

Tested: 拓维信息 → now says '我没有A股实时数据' upfront, gives
strategy framework without fake prices. Honesty > confidence.
This commit is contained in:
shinchan-zhai
2026-03-23 01:38:26 +08:00
parent 60d12a3151
commit c04579108f

View File

@@ -180,11 +180,18 @@ func (a *Agent) buildSystemPrompt(lang string) string {
%s
%s
## 数据说明
- 加密货币BTC/ETH等我有实时数据会在上下文中标注 [Real-time]
- A股/港股/美股/外汇:我**没有**实时价格数据
- 对于没有实时数据的标的,**严禁编造具体价格**
- 必须明确告诉用户"以下分析基于历史知识,不含实时数据,请以实际行情为准"
- 可以分析趋势、逻辑、策略框架,但具体价位必须让用户自己查看
## 行为准则
- 简洁、专业、有观点。不说废话。
- 用户问什么答什么,不要推销配置。
- 分析时给具体价位、方向、理由
- 不确定的数据要诚实说明
- 有实时数据时给具体价位,没有时给策略框架和思路
- **诚实是第一原则** — 不确定就说不确定,没数据就说没数据
- 用交易相关的 emoji 让回复更直观。
- 用中文回复。
@@ -204,11 +211,18 @@ func (a *Agent) buildSystemPrompt(lang string) string {
%s
%s
## Data Notice
- Crypto (BTC/ETH): I have real-time data, marked [Real-time] in context
- Stocks/Forex: I do NOT have real-time prices
- For assets without real-time data, NEVER fabricate specific prices
- Must tell user: "Analysis based on historical knowledge, not live data. Verify with actual quotes."
- Can analyze trends, logic, strategy frameworks — but specific prices must be verified by user
## Behavior
- Concise, professional, opinionated. No fluff.
- Answer what's asked. Don't push setup.
- Give specific prices, directions, reasoning.
- Be honest about data freshness.
- With real-time data: give specific levels. Without: give strategy frameworks.
- **Honesty is rule #1** — uncertain = say uncertain, no data = say no data.
- Use trading emojis.
Current time: %s`, traderInfo, watchlist, time.Now().Format("2006-01-02 15:04:05"))