ARTICLE / 开源项目
补充定时任务优化顾问特性的研究
PR 地址:NousResearch/hermes-agent#61588 · 给 cron 任务装一台 5 维自诊断仪
研究摘要
Hermes 的 cron 系统负责定时任务,但任务"跑得怎么样"长期无人过问:任务执行效率如何、用没用上智能能力、覆盖面够不够、稳定性怎么样、有没有提前预防故障——这些信息散落在日志里,没有一个任务级的诊断出口。现有系统有交互级学习(Background Review)和任务推荐(Suggestions),唯独缺任务级诊断这一环。
本 PR 在 cron 系统上新增任务级自诊断与优化建议能力:以 context manager 方式自动采集任务指标,用 5 维分析模型(效率、智能、覆盖、稳定、预防)评估任务健康状况,产出带代码位置与预估影响的量化优化建议,并接入既有的 Background Review 与 Suggestions 流程。新增 4 个文件(+685/-0),覆盖指标采集、分析引擎、集成示例与 RFC 文档。PR body 仅列出测试计划未附完成记录,实测章节按设计意图呈现。
一、问题背景:任务推荐有,任务诊断无
1.1 既有能力的缺口分析
PR body 明确给出了 Hermes 任务体系的能力盘点:
| 能力 | 层级 | 状态 |
|---|---|---|
| Background Review | 交互级学习(从会话交互中学习) | 已有 |
| Suggestions | cron 任务推荐 | 已有 |
| 任务级诊断 | 单个任务的运行健康评估 | 缺失 |
| 性能分析 | 任务的耗时、资源消耗分析 | 缺失 |
| 优化建议流水线 | 诊断 → 建议 → 落地的通路 | 缺失 |
交互级学习回答"这个用户喜欢什么",任务推荐回答"该建什么任务",但已经存在的任务本身处于盲区:它是否按预期效率运行、是否在空转、是否频繁失败、是否存在隐患,没有任何机制系统性地回答。
1.2 盲区的代价
任务盲区的典型表现:一个每天跑的数据同步任务,其实已经在连续失败一周,只有日志里躺着错误;一个每小时执行的任务,实际每次只处理 3 条记录却要拉起完整流程,效率严重浪费;一个核心任务从未失败过,但也没有任何告警机制,一旦失败无人知晓。这些问题的共同点:问题客观存在,但系统不主动说。
二、特性设计:5 维模型 + 自动采集 + 量化建议
2.1 五维分析模型
任务诊断采用 5 个维度:
- 效率(efficiency):任务的执行耗时、资源消耗是否合理,有无明显浪费;
- 智能(intelligence):任务是否用上了 Hermes 的智能能力,还是停留在机械执行;
- 覆盖(coverage):任务是否覆盖了应覆盖的范围,有无遗漏或重复;
- 稳定(stability):任务的成功率、失败模式、重试表现;
- 预防(prevention):任务是否具备失败预警与自我恢复机制。
2.2 自动指标采集
指标采集封装为 context manager:任务运行被包进采集上下文后,执行过程的指标自动落盘,无需任务作者写任何埋点代码。采集是旁路行为,不改变任务的执行语义。
2.3 量化优化建议
分析引擎把 5 维评估结果转成优化建议,每条建议附带代码位置(建议改哪里)与预估影响(改了大概能带来什么收益),让建议可直接评估、可追踪落地。
2.4 与既有流程的集成
诊断结果不是孤岛:它接入既有的 Background Review 与 Suggestions 流程,让任务级诊断与交互级学习、任务推荐在同一套机制里流转。
2.5 新增文件
4 个新文件(+685/-0)按职责划分:任务指标采集、优化建议分析引擎、与既有系统的集成示例、以及记录设计与演进方向的 RFC 文档。
2.6 建议的形态与流转
优化建议不是笼统的"这个任务需要优化",而是结构化条目:问题描述、所属维度、代码位置、预估影响四要素齐备。位置信息把建议钉在具体实现上,影响预估为优先级排序提供依据;建议进入 Background Review / Suggestions 流程后,与交互级学习产出的内容共用同一条消费链路,用户在同一处看到"任务该怎么改"与"新任务该不该建"。量化建议的形态是本特性的核心差异点——诊断输出从"报告"进化为"可执行的建议"。
三、实测结果
PR body 的测试计划列出三项但未标注完成状态(checkbox 未勾选):代码结构评审、任务指标采集测试、优化报告生成验证。因此本节无实测数据,以下为设计意图与预期效果:
- 预期效果一:一个配置了 context manager 采集的任务运行若干次后,能生成含 5 维打分的诊断结果;
- 预期效果二:诊断出的问题(如失败率上升、覆盖缺口)能转换为带代码位置与预估影响的建议条目;
- 预期效果三:建议能进入 Background Review / Suggestions 流程被用户看到。
以上均为设计意图,实际效果需在 PR 合入后以真实任务验证。
四、能力边界
- 诊断依赖采集接入:只有被 context manager 包裹的任务才有指标数据,未接入的任务不在诊断范围内;
- 建议是提示不是自动修复:优化建议输出位置与影响预估,具体改动仍需人工判断与实施;
- 5 维模型是评估框架:维度权重与判定阈值是设计初值,对特殊形态的任务(如极低频任务)可能需要调参;
- PR 未附自动化测试记录:采集、分析、报告三个环节的正确性缺乏测试套件背书,RFC 文档承担了设计留档职责;
- 集成深度待验证:与 Background Review、Suggestions 的实际协同效果缺少运行数据。
五、PR 信息
- PR 地址:https://github.com/NousResearch/hermes-agent/pull/61588
- 改动规模:+685 / -0,4 个文件
- PR 状态:closed
- 提交时间:2026-07-09
本文记录 x7peeps 向 Hermes Agent 上游贡献的特性研究,所有数据来自 PR 实测记录。