TL;DR
模型偶发坏参数(空串/截断 JSON)→ provider 400 → 整个会话死刑。hmharness 0.23.33 毒物控制:消毒为空对象+回放同消毒+重发指引,一次失误从死刑降级为重试;报错会话不散绑(sessionId 绑回、续写同一 rollout)。
现场
任务越长、模型输出参数越多,撞上格式失误概率越大——长任务+坏参数=必然翻车。没有容错的智能体跑不了长任务。hmharness(MIT,github.com/swsgbl/hmharness)是开源鸿蒙开发智能体框架。
毒物控制
坏参数不执行但也不杀会话:进 transcript 前消毒为 {}、回放同消毒(重放不复活毒物)、给模型的是重发指引不是报错。
报错会话不散绑
抛错携带 sessionId 绑回原会话:/export 立即可用、下一任务续写同一 rollout、latestSession 空前缀=真 mtime 最新。
工程纪律
可靠性问题必须由真实复现驱动——changelog 写着「用户两次实锤复现 2026-10-08」。模型会犯错是前提不是异常。
口径
npm @hmharness/cli 0.23.33;与华为/开放原子无隶属。GitHub:https://github.com/swsgbl/hmharness