Replies: 1 comment
-
|
HALF 主分支目前只有两种故障会标记为 needs_attention:
第一种错误可以认为是 agent 行为错误导致的,第二种错误更像是系统性错误。从这个角度来看,可以把故障原因归类,把第一种错误的原因在重派发时作为提示发送给 agent。 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
[Idea] 从 last_error 到 failure taxonomy:结构化失败原因能否改进 HALF 的 Agent 重派发?
背景
HALF 当前已经有基础的任务异常处理机制:
needs_attentionlast_errorTaskEvent中会记录error、timeout、redispatched等事件redispatch这说明 HALF 已经能记录“任务失败了”和“上一次错误是什么”。
但目前这些信息主要还是状态和自由文本错误。比如
result.json不合法、任务超时、Git 同步失败等,通常被记录为一段last_error。这些错误信息可以帮助人类排查问题,但还没有被进一步组织成可统计、可复用的结构化失败原因。因此这里想讨论一个问题:
核心问题
在 human-in-the-loop 的多 Agent coding 工作流中,对失败任务进行结构化失败原因标注,是否能提升后续 Agent 的重试质量,并减少无效重派发?
更具体地说:
论文依据:EvoMAC 中的失败反馈驱动改进
此问题的启发来自仓库里已有一篇对 EvoMAC 的讨论:#123。此处不再过多赘述论文本身的内容。简单来说,EvoMAC 的核心思路不是让多个 Agent 简单分工后各自完成任务,而是引入一个“执行 - 测试 - 更新”的闭环:
这里最值得借鉴的一点是:EvoMAC 没有把失败仅仅看作一次任务结束后的日志,而是把失败反馈转化为下一轮协作改进的输入。
这对 HALF 有一个比较直接的启发:
HALF 当前已经会把失败任务标记为
needs_attention,并记录last_error。但这些失败信息更多是给人看的,还没有被进一步结构化,也没有系统性地影响下一次redispatch。因此,可以考虑一个更小的、适合 HALF 当前阶段的问题:
也就是说,不一定马上实现 EvoMAC 那种完整的自进化多 Agent 网络,而是先把失败反馈从自由文本变成可分类、可统计、可复用的对象。
与 HALF 当前机制的关系
当前 HALF 已经具备:
Task.status = needs_attentionTask.last_errorTaskEvent(error / timeout / redispatched)redispatch但这些机制更偏向“记录和恢复状态”,并未明显形成:
所以这个问题不是要替代现有机制,而是想讨论现有机制是否可以进一步结构化。
一个可能的分类方向
初步来看,失败原因可以分成两类。
系统可直接识别的失败
例如:
timeout_no_resultinvalid_result_jsontask_code_mismatchartifact_path_invaliddependency_blockedgit_sync_failed需要人工或 Agent 辅助判断的失败
例如:
context_missingrequirement_misunderstoodincomplete_patchwrong_file_modifiedtest_failedtask_too_largeover_editing这些更接近 Agent 行为层面的失败,可能需要人工 review 或额外判断。
可能的研究价值
这个问题的价值在于,它处在一个相对小但很关键的位置:
last_error更有研究价值。needs_attention/redispatch机制直接相关。如果 failure taxonomy 有效,HALF 未来也许可以回答这些问题:
想讨论的问题
last_error是否应该继续作为自由文本保留,同时增加结构化标签?Beta Was this translation helpful? Give feedback.
All reactions