feat: 优化每日分析提示词模板并修复分段生成链路
提示词: - SYSTEM_PROMPT 重写为可执行原则(事实优先/时间锚定/判断挂数字/禁用套话)+输出格式契约 - DAILY_ANALYSIS_PROMPT 重排注意力:取数指令置顶(要求同轮并行调用 4 个核心工具)、 写作规约 8 条、环比快照居中、前日报告全文置底并改为「今日数据优先+核对昨日展望」 - 新增单位口径、符号规范(+/- 是前端红涨绿跌着色依据)、不荐股等硬规约 - 移除已废弃的「今日定调」摘要规则(与分段指令、前端渲染互相冲突) - 八章重构:板块资金流独立为「四、资金与筹码」,重复的「关注方向+下个交易日建议」 合并为「七、明日展望」 生成链路: - 修复分段生成未回灌前文,后段看不到前段导致重复铺数据、数字口径打架 - 新增 REQUIRED_TOOLS 校验:核心工具不全时补一轮并在 user 消息点名缺失项 - 修复 _extract_summary 被 # 标题行占掉,改为剥离标题与 Markdown 标记后截断 AGENTS.md 同步八章结构与 prompt 工程约定
This commit is contained in:
@@ -73,7 +73,10 @@
|
||||
- ✅ 替代方案:使用腾讯实时行情API的外盘(索引7)和内盘(索引8)数据计算净主动买入额 = (外盘 - 内盘) × 当前价 × 100(单位:元)
|
||||
## 每日 AI 分析(backend FastAPI,15:10 自动触发)
|
||||
|
||||
- 报告结构约定:正文直接从 `## 一、市场总览` 开始,无"今日定调"摘要(已移除:prompt 不生成、前端无高亮框);`summary` 字段仅为正文前200字截断,供管理列表展示
|
||||
- 报告结构约定:正文以 `# {trade_date} A股收盘分析报告` 开头后直接进入第一章,无"今日定调"摘要(已移除:prompt 不生成、前端无高亮框);`summary` 为去掉标题行与 Markdown 标记后的正文前200字,供管理列表展示
|
||||
- 八章固定顺序:一、市场总览|二、题材热点分析|三、核心股追踪|四、资金与筹码|五、重要消息面|六、海外市场与国内期货|七、明日展望|八、风险提示;分段归属:part1=一+二、part2=三+四、part3=五~八(原"四、关注方向/五、下个交易日建议"内容重复,已合并为"七、明日展望",板块资金流从第二章挪出独立成第四章)
|
||||
- prompt 工程约定(改模板必读):①取数指令放 prompt 最前(要求同一轮并行调用 4 个核心工具,代码用 `REQUIRED_TOOLS` 校验,缺则补一轮并在 user 消息里点名缺哪些);②环比快照紧随其后、前日报告全文放最后(避免长文本把取数指令挤出注意力区);③凡写数字的规则必须同时写"找不到就写 —(今日无数据)",否则模型会用常识补全;④涨跌幅/环比/净额一律带 + 或 -,这是前端 `colorizeText` 红涨绿跌的着色依据;⑤模板用 `.format()` 渲染,正文中出现裸 `{}` 会直接报错
|
||||
- 分段生成必须回灌前文(`messages.append({"role":"assistant","content":part_content})`):否则后段看不到前段,会重复铺同一段数据、数字口径打架;生成失败的占位段不回灌
|
||||
- 环比数据:`collect_ai_analysis` 每次运行先采集当日盘面快照(指数+涨跌统计 JSON)写入 `daily_market_stats` 表(UNIQUE trade_date,upsert),再读上一交易日快照格式化为 prompt 中的"环比数据段";首跑无昨日数据时 AI 须如实标注"暂无昨日基准"
|
||||
- 连板梯队:`get_market_dashboard` 返回 `limitLadder` 字段(完整版,2连板以上全量+首板前8),涨停原因/封单金额来自涨停池按 thscode 匹配;看板 events 里的天梯仍只取每层前2(保持 UI 精简),两处用途不同不要合并
|
||||
- tokens 口径:`ai_reports.tokens_used` 只记"当次生成"消耗(约7万/份);同日重新生成走 UPSERT,`generation_count` 自增、`updated_at` 刷新、`created_at` 保留首次生成时间;表有 UNIQUE(trade_date, report_type),禁止改回 INSERT OR REPLACE 之外还要注意别用 lastrowid(UPSERT 更新时不可靠,须回查 id)
|
||||
|
||||
Reference in New Issue
Block a user