Files
Hermes-Skills/lottery-hk/references/agent-workflow-pitfalls.md
T

8.0 KiB

Agent Workflow Pitfalls (2026-07-30 实战累积, 2026-08-04 第 4 次修正)

用户硬偏好 (违反必踩坑)

1. 不要在回复结尾加 "A/B/C 简单回答" 选项

用户原话: "这是什么技能输出的?" (答: 没有任何 skill 输出, 是 agent 自己加的回复模板)。

  • agent 默认行为: 结尾列"A. 是 / B. 否 / C. 别的" 选项
  • 正确做法: 直接回答用户问题, 不加模板。如果用户下一步不明, 等用户说。
  • 应用到所有回复, 不仅是 lottery。

2. 用户问"从哪取"只答来源一行, 不展开分析

用户原话: "我要知道你从哪里取的时间啊?"

  • 错: "我对比了 X / Y / Z 三个数据源 + 验证了 N 个字段后才确认 082 期是周四开彩..."
  • 对: "082 期时间从 v_xg.json Week=周四 Day=30 取的。"
  • 一行, 一句, 来源 + 数据, 完。

3. 错了立刻重做, 不分析 / 不等回话

用户原话: "知道错了, 还要来确认, 你直接跑不行吗"

  • 错: "我错了, 让我再想想 / 检查一下 / 等你回话..."
  • 对: 立刻跑正确的事。
  • 应用: agent 报错 / 跑偏 / 答错 → 立刻重做, 不解释原因。

4. 跑 X 框架不要自己造公式

用户原话: "记得我说过不要跑频率, 没有意义, 我要说什么你才能记住" / "我要 4 框架"

  • "4 框架" = reference 里的真实推演流程 (v_xg.json + 挂牌 + 红字), 不是 agent 写 河洛/梅花/玄空/奇门 公式
  • "特码分析" = sol.2344a.cc 挂牌 + 玄机 + 红字, 不混 v_xg.json Qi-1 期数据
  • 流程: 看到关键词 → 跑真脚本 (lottery_4frame.py / lottery_特码.py), 不要尝试自己推
  • 保留路径: python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_4frame.py
  • 保留路径: python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.py [期号]

5. 信号/分析输出不平均分, 给重点分配 (2026-07-30 用户实战)

用户原话: "怎么跟上次的号不一样呢" + "要有重点的分配"

  • 错: "5 个候选号各买 1 元 / 5 元平均分"
  • 对: 按权重比例分 (5/4/3/2/1), 重点放在前 2-3 个, 加 🥇🥈🥉 让用户快速识别
  • 默认预算: 信号类 (特码/跟单/做T) 用 ¥15 = 5/4/3/2/1
  • 用户对"平均分"反应是"怎么跟上次不一样" → 直接诊断"权重排序 vs 临时排序" 不要防御性回避
  • 适用范围: lottery 特码、币圈跟单、股票做 T 信号等"有预算上限的信号推送"

默认时区 = 北京时间 UTC+8

  • 任何时间字段 (挂牌/开奖/推送/cron schedule) 默认 UTC+8
  • cron schedule 是 UTC → 推送时显式标注 "北京时间"
  • agent 默认假设 UTC → 用户必纠正
  • agent 默认时间不准 (system prompt 时间可能旧), 要实时用 date 命令确认

挂牌日 = 开彩日 (硬规则)

  • sol.2344a.cc 挂牌帖发布时间 = 实际开奖日, 同一天
  • 错 (旧 SKILL.md 描述): "挂牌提前 2-3 天"
  • 对 (用户 2026-07-30 实战确认): 挂牌日 = 开彩日, 同天

v_xg.json 字段语义 (2026-08-04 第 4 次修正, marksix6.com 验证)

  • Qi = 最新已开期号 (刚开) — 不是"下次将开"
  • Nq = 未开下期期号 (下一个)
  • Week/Day/Year/Moon = Nq 期(未开下期)开彩日 (北京时间) — 不是 Qi 期
  • Data.1-7 = Qi 期真开彩号码 (不是 Qi-1, 也不是 Qi-2) — 7 个号码 + 5 行字段 (sx/nim/color/style/number)
  • 取 Qi 期真开号码: v_xg.json Data.1-7 就是 Qi 期真开 (2026-08-04 marksix6.com 验证)
  • 取 Qi 期开彩日: Nq 期开彩日 - 1 个开彩日 (周二/四/六规律), 或查 sol.2344a.cc 挂牌帖
  • 早期版本错误 (4 层错):
    • v1.0-v1.2.6: Qi=下次将开 + Data=Qi-1 期 + Week=Qi 期
    • v1.2.7 第一次修正: Data=Qi-2 期 (对) + Week=Qi 期 (错) + Qi=下次将开 (错)
    • v1.2.7 第二次修正: Week=Nq 期 (对) — 但 Data=Qi-2 仍错
    • v1.2.8 (本次, 第 4 次): Data=Qi 期真开彩 (对) — marksix6.com 验证 ✓
  • 验证法: 拿 marksix6.com 真开彩对照 v_xg.json Data.1-7 — 完全一致 (083 期 37/7/16/1/32/22/23)
  • 不要去 hkjc.com: 详见 references/hkjc-com-blocked.md (Browserbase 商业 IP 全拦)

CLI period 智能判别 (2026-08-04 修)

  • CLI 传 period: python3 lottery_特码.py 084 (用户指定期号)
  • CLI 不传: python3 lottery_特码.py → 自动取 v_xg.json Qi 期 (最新已开)
  • header 显示:
    • period == Qi (已开): "本期 (Qi) 开彩日: Nq 期开彩日 - 3 天 (周二/四/六规律)"
    • period == Nq (未开): "本期 (Nq) 开彩日: 直接显示 Week/Day" (不 -3 天)

084 期实战命中 (2026-08-04)

  • lottery_特码.py 跑 084 期 → Top 1 = 38 (权重 10)
  • 手填 084 期真开 special=38 (从 v_xg.json Data.1-7 第 7 位 + marksix6.com 验证) → check_hits: hit=✓
  • 金额 ¥5 中奖 → ¥210 (赔率 1:42)
  • 重要: v_xg.json Data.1-7 第 7 位 就是特码, 可直接用 (marksix6.com 验证)

marksix6.com = 真开彩验证源 (2026-08-04 新)

  • https://www.marksix6.com/ — 首选真开彩查询 (browser 渲染)
  • 详见 references/marksix6-com-verification-source.md
  • 不要: 试 hkjc.com / sol.2344a.cc/kj/ / 百度 / Wayback (全失败, 详见 hkjc-com-blocked.md)

QQ 推送格式 (跨 skill 用户偏好)

用横向 markdown 表格 (4-8 列)

  • 每票 1 列, 多票并列可左右滑动比较
  • 字段顺序: 名称表 + 项目表 (2 张表上下)
  • 列用票代码, 行用指标 (现价/股息率/趋势/MA50/支撑/离均线/ATR/策略)

严禁垂直堆叠 (1 票 1 块)

用户原话: "这个多了很多 proxychains 的无用信息" / "不是这种表格, 是这种 (横向)"

  • 错: 每票 N 行 emoji 列表
  • 对: 横向 4-8 列表格

已应用脚本 (Hermes-Scripts 仓库)

  • dividend_alert.py (A股/港股/美股股息)
  • cn_dividend_buy_timing.py (A股高息买入时机)
  • daily_t_analysis.py (做 T 分析)
  • scan_cn.py / dca_scanner.py / analyze_cmb.py (高息扫描)
  • lottery_特码.py (08-04 改横向表)

cron agent 模式必用 no_agent + script (2026-08-02 实战)

用户原话: "把数据都丢了, 时间都是错的" / "你直接跑不行吗"

反模式 (2026-08-02 lottery 推送 bug):

  • 用 cronjob agent 模式 + skill lottery-hk
  • 即使 SKILL.md 改 Qi-2 描述, model 仍按旧认知 编 (标题"082 期" + Qi-1 期 081 号码 + 错周二)
  • 多次纠正后仍编, 用户说"会编"

正解: cron 用 no_agent: true + 真脚本

  • 模型不参与, 0% 编概率
  • 真脚本输出直接推 QQ
  • 触发条件: 任何 cron 任务涉及"数据源不完整 / 字段语义有歧义 / 时间/期号计算" → 必用 no_agent + script
  • 保留路径: cd ~/.hermes/scripts && python3 <script>.py 或 ~/.hermes/scripts/<wrapper>.sh

复盘: 当时已经知道 lottery_4frame.py 存在 + 改了 cron prompt + 改了 SKILL.md description, 但还是错。真正的修复必须是 no_agent: true + script, 让模型没有推理空间。

参考: ~/.hermes/skills/devops/cron-job-management/SKILL.md §3 "Two Cron Job Modes" + §10 "Agent-Mode Cron + Provider Rate Limit" — 把这个规律扩展到新场景: agent-mode cron + 任何"语义模糊源" (期号/日期/字段含义) = 编风险, 必 no_agent + script。

实战回顾 (跨 skill)

082 期 (2026-07-30 凌晨, 第一次)

  • agent 编: "081 期 7/30 周四 21:30 开彩" (实际 081 = 7/28 周二)
  • agent 编: "082 期 = 8/1 周六" (实际 082 = 7/30 周四)
  • 用户反复纠正 → 真相: 挂牌日 = 开彩日

083 期 (2026-08-04 上午)

  • agent 编: title "082 期" + Data 是 Qi-1 期 081 号码 + "周二" 时间错
  • 用户问"为什么统计的是上上期"
  • → 修正 Data = Qi-2 期

084 期 (2026-08-04 下午, 第 4 次修正)

  • 用户问 "8 月 4 号不是 083 期" → 修正 Qi = 最新已开
  • 用户问 "Nq 是什么" → 修正 Nq = 未开下期
  • marksix6.com 验证: Data.1-7 = Qi 期真开彩 (不是 Qi-1/Qi-2)
  • 084 期 Top 1 = 38 → 真开 38 → 中奖 ¥5