目标管理
目标将 Myrm 从聊天助手变为自主工作者。定义目标、设约束,让 Agent 跨多轮独立工作。创建目标
从 GUI
- 在消息输入区域切换 目标模式(右下方切换按钮)
- 配置面板展开,包含以下区域:
- 预算 — 设置
max_tokens、max_usd、max_time_seconds、max_turns的任意组合 - 验收标准 — 定义 Shell 命令和语义检查
- 约束 — Agent 执行期间必须遵守的规则
- 保护路径 — 禁止 Agent 修改的文件 glob 模式(如
*.env、migrations/**) - 高级 —
loop_on_pause自动重启、convergence_window收敛窗口、逐步暂停确认(Per-Todo Checkpoint)
- 预算 — 设置
- 在消息框输入目标后发送 — Agent 开始规划执行
从对话
用自然语言描述复杂任务,Agent 识别需持续努力并提议创建目标。目标生命周期
预算控制
每个目标 4 维预算:
预算耗尽时暂停并附结构化进度摘要。可随时恢复并追加预算。
验收标准
定义「完成」标准:- Shell 验证 — 运行测试命令(
pytest、npm test)检查结果 - 语义验证 — LLM 对照验收标准评估
高级用法:逻辑一致性验证
对于长文档生成任务,语义验证可确保全文逻辑一致、前后呼应:约束
Agent 必须遵守的硬规则:14 层防死循环盾
每轮末 14 层守卫链决定是否继续 — 杜绝失控执行、成本超支、Token 浪费、轨迹偏离和沙箱越权:
此外,渐进预算降级(WARNING → FINALIZATION,含动态剩余 USD 注入)和4 层上下文窗口溢出保护在中间件层运作,在守卫链之前捕获边缘情况。
裁判反馈闭环
当语义裁判判定目标尚未完成时,会给出具体原因(如”5 张图表只完成了 3 张”)。该原因自动注入下一轮提示词,让 Agent 精确知道差距所在——消除冗余重分析,减少不必要的轮次。逐步人工确认(Per-Todo Checkpoint)
在高级设置中开启**“逐步暂停确认”**即可激活该模式。开启后,Agent 每完成一个 todo 项会自动暂停,等待你确认后再继续。 工作流程:- Agent 通过
todo_write报告某 todo 已完成 - 守卫链检测到新完成项,自动暂停目标
- GoalStatusCard 展示刚完成的步骤和继续按钮
- 你审查结果,点击继续推进到下一步
- 生产部署 — 每步迁移确认后再继续
- 数据管道 — 每阶段验证数据完整性
- 复杂重构 — 逐步审查代码变更
- 学习模式 — 了解 Agent 每步的执行逻辑
优先级队列
多目标自动排队:- 首个立即运行
- 后续进入
QUEUED - 活跃目标结束自动启动下一个
- GUI 拖放重排
auto_approve: true 跳过审批,支持目标链完全无人值守。
自适应收敛与自动续跑
目标能自动检测 Agent 是否已完成工作,支持无人值守的持续执行。收敛检测
当 Agent 连续convergence_window 轮未调用任何工具时,系统判定目标已自然收敛(完成)。避免 Agent 空转浪费 Token。
自动续跑(Loop-on-Pause)
启用后,因收敛暂停的目标会自动重启并获得全新上下文,最多重启可配置次数。适用于长期监控或迭代优化任务。恢复安全
手动恢复暂停目标时,所有运行时计数器(no_progress_streak、loop_restarts、consecutive_judge_parse_failures)自动归零,确保 Agent 获得完整新机会,不会立即再次触发收敛或误暂停。
Judge 失败熔断
如果语义 Judge 模型连续 3 次返回无法解析的输出(非有效 JSON),目标自动暂停以防止 token 浪费。此机制保护以下场景:- 使用了不支持 JSON 格式回复的弱模型
- 模型暂时降级产生无效输出
- 避免无限重试循环浪费预算
服务重启恢复
如果服务重启(升级、崩溃或容器重调度)时目标正在执行,孤儿目标会被自动检测并暂停:- 启动时扫描所有仍标记为 ACTIVE 但无执行引擎驱动的目标
- 每个孤儿目标转为 PAUSED,reason 显示”Server restarted — resume when ready”
- 系统通知提醒您有目标被暂停
- 打开对应会话即可看到暂停状态并一键恢复
前端状态
目标状态卡片差异化显示:- 已收敛 — 目标通过收敛检测完成
- 重启中 (#N) — 目标正通过自动续跑重启(显示重启次数)
全局 Goal 追踪
无需切换页面,在任何位置实时监控所有活跃目标:- 导航栏 Badge — 实时显示活跃目标数量,通过 SSE 推送即时更新。
- 后台任务面板 — 点击 badge 展开 Popover,查看所有会话的活跃目标:目标、状态、token 消耗、运行时间。
- 快捷操作 — 直接在面板中暂停、恢复或取消任意目标。操作完成后 toast 确认。
- 会话导航 — 「跳转到会话」按钮直达目标所在的聊天上下文。
- 系统通知 — 目标完成/失败/暂停时推送 OS 通知,即使浏览器在后台也不会错过。
动态子目标
执行中可添加新目标而不中断:- 打开活跃目标详情
- 添加子目标(如「为新模块补单元测试」)
- 以最高优先级注入上下文
IM 斜杠命令
在任意 IM 渠道(Slack、飞书、Telegram、WhatsApp 等)中完整管理目标:
通过 IM 添加的约束以”CONSTRAINTS (MUST NOT VIOLATE)“注入 Agent 提示词,语义裁判在完成验证时强制执行,与 GUI 设置的约束行为完全一致。
目标热编辑
执行中可改方向:- 打开活跃目标详情
- 编辑目标文本
- 作为转向消息注入 — Agent 调整航向不丢进度
执行摘要
完成后每个目标产出GoalExecutionSummary:
- 修改文件(含 diff 链接)
- Token 用量分解
- 按模型成本分解
- 耗时
- 轮次
- 完成原因
交付物 Bundle
当目标完成且产出 2 个或以上的交付物(文档、电子表格、演示文稿等)时,Myrm 会自动将它们聚合为 交付物 Bundle 卡片:- 自动收集 — 目标 session 期间产出的所有 artifacts 自动收集,无需手动操作
- 一键 ZIP 下载 — 将整个 bundle 打包为 ZIP 一键下载
- 逐个预览 — 点击任意交付物在 Artifact Portal 中格式感知渲染
- 文件名去重 — 同名文件自动追加唯一标识
使用场景:办公全链路交付
使用预置的 「办公全链路交付」 智能体模板,一次对话生成完整文档套件:- 在智能体选择器中选择「办公全链路交付」
- 描述交付需求(例如:“帮我准备季度汇报全套材料:Excel 数据表 + PPT 演示 + Word 总结报告”)
- 智能体以 Goal 模式执行,确保所有文档间数据一致
- 完成后交付物 Bundle 卡片自动出现,全部文件一键下载
API 访问
交付物也可通过 REST API 获取:GET /api/goals/{goal_id}/status— 返回deliverables数组(含 artifact ID 和文件名)POST /api/files/download-bundle— 将多个 artifacts 打包为 ZIP 下载
示例工作流
项目里程碑(跨会话目标)
Goal 在单次会话内运作,而项目里程碑跨越多个会话。你可以为整个项目定义战略目标,Agent 在每次对话中自动感知它们。工作原理
- 创建里程碑 — 在侧边栏项目面板中添加
- 自动上下文注入 —
ProjectRoadmapMiddleware将紧凑的路线图上下文(~100 token)注入该项目的每次对话 - 追踪进度 — 里程碑关联看板任务,自动计算完成率
创建里程碑
在侧边栏导航到你的项目,找到里程碑区域:- 点击
+按钮添加新里程碑 - 每个里程碑有标题、可选的描述和验收标准
- 目标达成后标记为已完成