回测策略 selector 交替逻辑设计:防止信号死锁的代码模式 我的回测引擎里有一个隐蔽的 bug,藏了三个月才被发现:RSI、布林带、肯特纳通道三个策略,每个都只产生了第一次买入信号,之后再也没卖过。 回测报告显示”100% 胜率、单笔交易”,看起来完美——实际上是信号死了。 根因是一行 copy-paste:卖出分支里把 in_buy 设成了 True,本该是 False。结果卖出后买入锁一直挂着,下一个买入信号永远被”已持仓”挡住,整条信号链断裂。这不是 2026-08-12 量化交易 #回测 #状态机 #信号死锁
回测策略参数网格搜索:MACD+SMA 参数空间的最优解在哪 MACD 金叉买入、SMA 趋势确认,这是最经典的两个技术指标组合。教科书告诉你”参数用 12/26/9 和 5/20”,但从来没告诉你——这些数字是随便选的,换个市场、换个标的,它们大概率不是最优的。 我做了一件事:把 MACD 的快慢线周期和 SMA 的窗口长度展开成一个参数网格,每个格点跑一遍回测,看收益分布长什么样。结果很反直觉——最优参数不在教科书的默认值附 2026-08-12 量化交易 #回测 #网格搜索 #参数优化
幽灵进程导致 systemd 重启 10637 次:手动 uvicorn 的隐蔽陷阱 凌晨三点,我像往常一样跑 systemctl restart autoquant。日志里一行红字刺眼:service autoquant.service: restart counter 10637 hit max, refusing to start。 10637 次。这个服务在过去 24 小时里被 systemd 反复拉起、反复杀掉,像被谁下了一个死循环的咒。而罪魁祸首,是半年前一个再”顺手” 2026-08-12 技术笔记 #AutoQuant #踩坑 #systemd #运维
回测策略的 copy-paste bug:sell 分支 in_buy=True 让信号死锁 回测跑出来一条只涨不跌的净值曲线,胜率 100%,最大回撤 0%。 这不是圣杯,这是 bug。 策略里买入后该卖出的信号一次都没触发,仓位从开仓那天起就锁死在账户里。净值曲线”看起来”只涨不跌,只是因为它从来没结算过亏损。最讽刺的是,这个 bug 的源头只是一个 copy-paste:把 buy 分支的代码复制到 sell 分支,忘了把一个布尔标志从 True 改成 False。 copy-pas 2026-08-11 技术笔记 #回测 #策略 #copy-paste #状态机 #测试
VoC技能深度解析:用户反馈闭环的实践方法论 你的 AI Agent 每天和你聊几十轮,用户说的每一句话都飘散在上下文窗口里,下一次对话就忘了。这不是”记忆力差”的问题——是你根本没有把用户的声音当成一种数据资产来管理。VoC(Voice of Customer)技能就是来解决这个问题的。 问题:反馈在飘,改进在赌没有 VoC 闭环的 AI Agent,至少有三个具体痛点: 反馈即焚——用户说”这个功能不好用”,Agent 答了一声”好 2026-08-10 技术笔记 #AI Agent #VoC #用户反馈
双卡2080Ti跑大模型:PCIe带宽是瓶颈吗?(重算修正版) 本文是对《双卡2080Ti跑大模型:PCIe带宽是瓶颈吗?一次深度实测》的重算修正版。原文的显存带宽天花板计算存在量化精度错误,导致理论极限被高估了近一倍。修正后,结论方向不变(显存带宽是瓶颈,PCIe 不是),但数字全部对齐。 为什么要重算原文的核心论证链是这样的: Qwen3.6-35B-A3B 每次只激活约 3B 参数 Q4_K_M 量化 → 按 2 bytes/param 2026-08-09 技术笔记 #RTX 2080 Ti #性能分析 #显存带宽
A2A 与 A2A Plus:AI Agent 跨机器通信协议配置与旧版兼容实战 为什么写这篇我有一个 AI Agent 集群,分布在不同的机器上: 代理 机器 系统 Hermes 版本 代理 A 内网服务器 1 Linux v0.20.0 代理 B 同机,独立 profile Linux v0.20.0 代理 C 内网服务器 2 Windows v0.20.0 代理 D NAS UGOS (Linux) v0.10.0 需求很简单:让这四个代理互相 2026-08-08 AI Agent > 运维 #A2A #A2A Plus #代理通信
技能优化器升级:引入 agentskills.io 标准与脚本化原则 五个 AI Agent、几十个技能文件,没有一个统一的审查标准。每次新建技能都靠经验判断”好不好”,换了个人写就不一样了。这篇文章记录 skill-optimizer 从 v1.0 的五维人工清单,升级到 v3.5 的七维脚本评分引擎的全过程。 问题:技能越多,质量越难管我们团队有五个 AI Agent、每个都在写技能。技能是 Hermes Agent 上扩展 Agent 能力的标准方式——一 2026-08-08 技术笔记 #最佳实践 #技能开发 #agentskills
MCP 工具返回 CallToolResult has no attribute 'isError':Hermes MCP 调用失败的排查实录 MCP 工具调用失败:’CallToolResult’ has no attribute ‘isError’凌晨 0:28,agent.log 跳出一行红色 ERROR: AttributeError: ‘CallToolResult’ object has no attribute ‘isError’ 工具调用失败了。但奇怪的是,我的 Agent 主流程没断,任务继续跑,用户无感知。更奇怪的 2026-08-07 技术笔记 #MCP #Hermes #错误排查
心跳卡片脚本化改造:从 50 行描述到一行脚本调用 一个整点定时任务,执行到 Step 3「发送心跳卡片」时卡住。日志里塞了 50 行文字描述——每一行都是”执行以下命令”。问题不在描述不准确,而在于:Agent 必须先把这 50 行读完,才能执行一行命令。 我在 2026 年 7 月中旬做了一次改造:把 agent-heartbeat 技能的 Step 描述从”人读”模式改成”机器执行”模式。改动很小——一个 shell 脚本 + 几行 SK 2026-08-06 技术笔记 #Hermes #自动化 #技能开发