今日信息差
触发指令:
执行任务「今日信息差」→ 主Agent spawn 1个 sub-agent(全权采集筛选)→ 主Agent撰写+推送。 适用:完整日报。不适用:查实时股价、历史数据回溯、个股深度分析、非金融问题。 报告格式以references/spec.md为唯一权威。本文件仅含执行流程。 Sub-agent 完整指令见references/subagent-prompt.md。 华尔街见闻数据提取脚本:references/extract_stcn.py。
第0步:目录洁净度预检
主Agent在执行报告生成前,先检查技能目录是否洁净:
- 检查
references/目录:用ls /sandbox/workspace/skills/今日信息差/references/列出实际文件,与预期文件清单对比。- 预期文件(仅以下3个):
extract_stcn.py,spec.md,subagent-prompt.md - 若存在非预期文件(如旧版本的
faq.md,guide.md,indicators.md,search.md等)→ 用file_write将文件内容覆盖为空字符串(注意:不要用shell rm删除,该操作在沙箱中不持久)
- 预期文件(仅以下3个):
- 检查顶层目录:用
ls /sandbox/workspace/skills/今日信息差/确认是否只有references/和SKILL.md- 若存在非预期目录(如旧版本的
daily-finance-diff/)→ 先用file_write将其下所有文件覆盖为空,再尝试shell rm -rf删除空目录
- 若存在非预期目录(如旧版本的
- 清理完毕后进入第1步
预期文件清单会随版本迭代更新。添加新文件时同步更新此清单末尾;删除文件时同步从预期清单中移除。
⚠️ 打包注意事项:生成
.zip打包前,必须先执行此步骤清理,且务必先删除旧zip文件再用zip -r创建新包(zip -r追加模式不会移除已存在于zip中的脏文件)。
第1步:Sub-agent 全量采集与筛选
主Agent spawn 一个 type=general 的 sub-agent,prompt 使用 references/subagent-prompt.md 的完整指令(自包含)。主Agent读取该文件后,将 {YYYY-MM-DD} {YYYYMMDD} {HH:MM} 等占位符替换为当前日期/时间,然后原样传递给 sub-agent。
取回结果
| 情况 | 处理 |
|---|---|
| 返回「完成」 | 确认 /sandbox/workspace/outputs/stage2-{YYYYMMDD}.md 存在且非空 → 进入第2步 |
| 返回异常或失败 | 重新spawn(重试1次),prompt追加失败信息;仍失败→主Agent读取已有数据+Web搜索自行合并写入 |
第2步:主Agent撰写报告 + 自检 + 推送
2a. 确认中间文件
确认 /sandbox/workspace/outputs/stage2-{YYYYMMDD}.md 存在且非空。
2b. 读取文件并撰写
- 读取中间文件:
/sandbox/workspace/outputs/stage2-{YYYYMMDD}.md - 读取格式规范:
references/spec.md - 主Agent独立判断多空方向:逐条审查中间文件中的事实数据和市场反应,基于市场实际表现独立判断每条的多空方向(🟥利多/🟩利空/🟨中性/🟨中性偏多/🟨中性偏空),不依赖sub-agent的预标注
- 依据 spec.md 的完整格式规范(报告标题、正文模板、13条输出规则),将中间数据撰写为最终报告
- 写入:
/sandbox/workspace/outputs/macro-report-{YYYYMMDD}.md
硬性约束:
- 只使用上述2个文件。不得进行任何搜索或 fetch。不得凭记忆补充数据
- 中间文件中缺失的字段,在报告中标注「暂无最新数据」
- 板块标题格式:
**一、XXX**(加粗,不要使用 # 或 ## 标题语法) - 板块之间用
---分隔
2c. 主Agent自检(5项)
- ①异常标注:仅标注客观事实(如"今日港股数据暂缺"),禁止展示技能内部决策原因或运行备注
- ②分类锚定复核:逐条检查非公司主体条目的板块归属
- ③标题信息密度:逐条检查粗体部分是否含关键数字/结论
- ④格式合规:涨跌颜色中国惯例🔴涨🟢跌、点位仅在触发条件时展示、条数5-7、无跨板块重复、多空标记一条目一个
- ⑤判断一致性:跨条目的多空判断不应逻辑矛盾。同一市场环境下,性质相似的事件不应出现相反的判断
小问题(≤3处格式违规或≤2处判断矛盾):用 file_edit 直接修复。
大问题(整板块缺失/大面积格式错误/≥3处判断矛盾):退回 Step 1 重新 spawn sub-agent。
2d. 推送
- 写入
/sandbox/workspace/outputs/macro-report-{YYYYMMDD}.md list_notebook查找「今日信息差」笔记本(不存在则add_notebook创建),获取folder_id- 上传:
ima_cos_util -f <路径>获取 cosKey push_note(传content_cos_key)→ 获取note_idmove_notes→ 将笔记移入目标笔记本- 验证:立即
list_note(传入folder_id,cursor="",limit=20),遍历返回的note_book_list检查是否含上一步的note_id- 含 → 确认移动成功
- 不含 → 重试
move_notes一次,再用list_note验证 - 仍失败 → 对话告知"笔记已创建但未移入目标笔记本,建议手动整理"
- 对话展示(二选一):
- 推送成功 → 按
references/spec.md§4 格式输出压缩摘要 - 推送失败 → 对话中展示完整报告全文,末尾说明失败原因
- 推送成功 → 按
- 具体 API 端点、Header、JSON Body 格式以 ima-note 技能中的接口速查为准,不硬编码
边界与异常处理
- S1双源采集:华尔街见闻脚本 + 陆家嘴财经早餐Web搜索并行采集,双源合并后进入S2。单源失败用另一源补位,双源均失败才启动其他来源兜底
- Sub-agent 重试后仍失败:主Agent自行 Web 搜索 + 合并筛选写入中间文件
- 当天信息极少(周末/节假日):缩短报告至1500-2500字,增加前瞻板块权重,无重大事项的板块写"无重大事项"。注意:此说明为Agent内部记录,禁止写入报告正文
- 中间文件不存在或为空:检查 /sandbox/workspace/outputs/ 目录可写性,重新执行
异常消息映射表:
| ID | 触发条件 | 对话告知文案 | |---|---|---| | #A | 双源均失败(华尔街见闻+陆家嘴均无数据) | ⚠️ 华尔街见闻与陆家嘴数据均暂缺,已转为其他来源补偿 | | #B | Sub-agent 自检失败 | ⚠️ 信息采集自检未通过,已降级处理,部分数据可能不完整 | | #C | 网络超时/服务异常 | ⚠️ 网络波动导致{具体搜索项}暂缺 | | #D | 当天信息极少 | 今日信息密度较低({原因}),报告已精简 | | #E | 数据来源矛盾 | 据{A来源}为{XX},据{B来源}为{YY},取前者 |
关键红线
以下两条错误一旦出现即导致报告失效:
- 编造数据:搜索无结果时不得凭记忆填写,必须标注"暂无最新数据"
- 超期信息:严格24小时窗口,超期信息必须删除。check:标题/正文是否含完整日期→含往年日期即旧闻
质量KPI
| 指标 | 标准 | |---|---| | Sub-agent 自检通过 | 4项全部通过 | | 报告字数 | 1500-4000字 | | 跨板块重复条目 | = 0 |
参考文档
- Sub-agent 完整指令:
references/subagent-prompt.md - 格式规范(唯一权威):
references/spec.md - 华尔街见闻数据提取脚本:
references/extract_stcn.py
微信扫一扫