目标管理
目标将 Myrm 从聊天助手变为自主工作者。定义目标、设约束,让 Agent 跨多轮独立工作。创建目标
从 GUI
- 侧栏打开 Goal 面板
- 点 New Goal
- 描述目标(如「将认证模块重构为 JWT」)
- 可选设置验收标准、约束、预算
- 提交 — Agent 开始规划执行
从对话
用自然语言描述复杂任务,Agent 识别需持续努力并提议创建目标。目标生命周期
| 状态 | 说明 |
|---|---|
PENDING_APPROVAL | 等待用户批准执行计划 |
ACTIVE | Agent 积极向目标推进 |
PAUSED | 暂停(预算或用户) |
QUEUED | 等待当前活跃目标结束 |
COMPLETED | 目标达成并验证 |
FAILED | 预算内无法完成 |
CANCELLED | 用户显式取消 |
预算控制
每个目标 4 维预算:| 维度 | 说明 | 示例 |
|---|---|---|
max_tokens | 最大总 Token | 500,000 |
max_usd | 最大美元花费 | $5.00 |
max_time_seconds | 最大墙钟时间 | 3600(1 小时) |
max_turns | 最大 Agent 轮次 | 30 |
验收标准
定义「完成」标准:- Shell 验证 — 运行测试命令(
pytest、npm test)检查结果 - 语义验证 — LLM 对照验收标准评估
约束
Agent 必须遵守的硬规则:7 步续行守卫
每轮末续行守卫链决定是否继续:- 用户是否取消
- 预算(4 维)
- 工具是否报告完成
- 语义完成(LLM 裁判)
- 约束合规
- 是否停滞
- 动态子目标是否满足
优先级队列
多目标自动排队:- 首个立即运行
- 后续进入
QUEUED - 活跃目标结束自动启动下一个
- GUI 拖放重排
auto_approve: true 跳过审批,支持目标链完全无人值守。
自适应收敛与自动续跑
目标能自动检测 Agent 是否已完成工作,支持无人值守的持续执行。收敛检测
当 Agent 连续convergence_window 轮未调用任何工具时,系统判定目标已自然收敛(完成)。避免 Agent 空转浪费 Token。
| 参数 | 说明 | 默认 |
|---|---|---|
convergence_window | 无进展多少轮后自动收敛 | (未启用) |
自动续跑(Loop-on-Pause)
启用后,因收敛暂停的目标会自动重启并获得全新上下文,最多重启可配置次数。适用于长期监控或迭代优化任务。| 参数 | 说明 | 默认 |
|---|---|---|
loop_on_pause | 收敛暂停后自动重启 | false |
max_loop_restarts | 最大自动重启次数 | 0 |
恢复安全
手动恢复暂停目标时,收敛计数器(no_progress_streak 和 loop_restarts)自动归零,确保 Agent 获得完整新机会,不会立即再次触发收敛。
前端状态
目标状态卡片差异化显示:- 已收敛 — 目标通过收敛检测完成
- 重启中 (#N) — 目标正通过自动续跑重启(显示重启次数)
动态子目标
执行中可添加新目标而不中断:- 打开活跃目标详情
- 添加子目标(如「为新模块补单元测试」)
- 以最高优先级注入上下文
目标热编辑
执行中可改方向:- 打开活跃目标详情
- 编辑目标文本
- 作为转向消息注入 — Agent 调整航向不丢进度
执行摘要
完成后每个目标产出GoalExecutionSummary:
- 修改文件(含 diff 链接)
- Token 用量分解
- 按模型成本分解
- 耗时
- 轮次
- 完成原因

