Skip to content

refactor(runtime): 重新评估并弱化 max_steps 作为核心终止条件 #291

Description

@fennoai

背景

在长时间运行的 Agent 任务中,固定 max_steps 更像框架层人工中断,而非任务自然终止条件。任务步数应主要由问题复杂度、工具粒度和中间状态设计决定。

问题

当前以固定步数强制终止,会导致任务在“仍有进展且未完成”的情况下被中断,影响连续分析体验。

建议方向

  • 移除 max_steps 作为核心终止条件,或至少将其降级为可选 guardrail。
  • 优先依赖上下文压缩/summary/checkpoint 来控制上下文增长,而不是固定步数中断。
  • 保留并强化更贴近真实失败模式的约束:
    • wall-clock time / token budget
    • 连续若干轮无新进展
    • 重复调用相同工具或明显循环

验收建议

  • 长任务在未触发真实 guardrail 前可持续推进,不因固定步数被提前中断。
  • 在极端长任务下,仍能通过 budget / stagnation / loop-detection 等机制安全收敛。

来源:PR #290 讨论评论(@minorcell

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions