news 2026/9/10 22:54:17

ruflo 跨会话目标追踪实战:用 Horizon Track 技能管理多周级长周期任务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ruflo 跨会话目标追踪实战:用 Horizon Track 技能管理多周级长周期任务

ruflo 跨会话目标追踪实战:用 Horizon Track 技能管理多周级长周期任务

【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo

本文讲解 ruflo 生态中用于管理跨会话、跨天、跨周长期目标的horizon-track技能:如何初始化一个 "horizon"(地平线目标)、如何通过会话签到(check-in)与会话签出(check-out)保证跨会话连续性、如何用里程碑(milestone)检查点推进进度,以及如何用漂移检测(drift detection)发现目标失控信号。读完本文,你将掌握一套完整的长周期目标追踪协议——它依赖 ruflo 的持久化记忆命名空间与 MCP 工具链实现,可直接在你的多会话 Agent 工作流中落地。

关联文档:SKILL.md;配套 Agent 与命令见 horizon-tracker.md、goals.md;插件总览见 ruflo-goals README。

适用场景:什么是 "需要 horizon 追踪" 的任务

单次会话能完成的任务不需要 horizon。horizon-track面向的是注定无法在一次对话里收尾的工作:

  • 多周迭代的功能开发(multi-week features)
  • 长周期的研究项目(research programs)
  • 跨多轮的迁移改造项目(migration projects)
  • 任何需要跨对话保持进度连续性的工作

判断标准只有一个:目标是否大到无法在单次会话内完成。只要答案是肯定的,就应该为其建立 horizon,而不是依赖会话上下文里的临时状态——因为会话一旦结束,临时上下文就会丢失。

从 ruflo-goals README 的选择指南看,ruflo-goals 按任务形态把工作分成四类,horizon-track明确对应 "long-running objective":

任务形态使用的 Agent / Skill
一个待回答的问题deep-researcher/deep-research
一个待向外扩展的种子实体dossier-investigator/dossier-collect
一个多步骤目标goal-planner/goal-plan
一个长周期运行的目标horizon-tracker/horizon-track

配套的horizon-trackerAgent(agents/horizon-tracker.md)以 Sonnet 模型承载同一套方法论,二者共享完全相同的记忆命名空间与追踪原则。

追踪协议总览:七个步骤

horizon-track把长周期追踪组织为七个可执行步骤,形成一个完整的生命周期闭环:

  1. 初始化 horizon——定义目标、目标日期、3~7 个里程碑
  2. 存储 horizon——调用memory_store写入命名空间horizons
  3. 会话签到(check-in)——每次会话开始:召回 horizon、复查里程碑、评估漂移、规划本次贡献
  4. 工作并记录——更新里程碑状态、记录会话摘要、存储中间发现
  5. 会话签出(check-out)——每次会话结束:更新状态、记录成果、标注阻塞与范围变化、估算剩余工作量
  6. 里程碑完成——核验完成标准、沉淀学习模式、推进到下一里程碑
  7. 漂移检测——发现目标失控信号并触发应对

下面按阶段展开讲解每一步的实操细节。

初始化与存储:定义目标、里程碑并持久化

定义 objective 与 targetDate

初始化第一步是为目标写下具体的成功标准(concrete success criteria)——这是 horizon-tracker.md 强调的起点:"Define the objective with concrete success criteria"。模糊的目标无法被里程碑核验,也无法被漂移检测量化。同时设置:

  • 目标日期(targetDate):期望完成的截止日期,漂移检测中"时间轴漂移"的计算基准;
  • 3~7 个里程碑(milestones):每个里程碑必须携带可验证的完成标准(criteria),这是后面"里程碑是二元的"原则的基础。

存储:memory_store 与 horizons 命名空间

定义完成后,调用mcp__plugin_ruflo-core_ruflo__memory_store,命名空间为horizons,键为horizon-[name]。原技能文档给出的完整负载结构如下:

{ "objective": "...", "created": "2026-04-28", "targetDate": "2026-05-15", "milestones": [ {"id": "m1", "name": "...", "criteria": "...", "status": "pending"}, {"id": "m2", "name": "...", "criteria": "...", "status": "pending"} ], "currentMilestone": "m1", "sessions": [] }

字段说明:

字段含义取值建议
objective目标描述,含成功标准具体、可验证,不要写"完成 X"而写"X 满足什么条件才算完成"
created创建日期YYYY-MM-DD,作为时间基线
targetDate目标截止日期YYYY-MM-DD,漂移检测的时间锚点
milestones3~7 个里程碑数组每个含idnamecriteriastatuspending/ 进行中 /done
currentMilestone当前活跃里程碑 id初始为第一个里程碑,如m1
sessions会话记录数组初始为空,每次签出追加一条

在底层,这个工具由 v3/src/infrastructure/mcp/tools/MemoryTools.ts 注册:memory_store接受idagentIdcontenttypemetadata等参数,最终通过backend.store(memory)写入持久化记忆后端(见 MemoryTools.ts)。也就是说,"horizon 状态持久化"最终落在 ruflo 的记忆后端上——这正是跨会话连续性的基础设施保证。

命名空间规范与 ADR 背景

horizon-track共使用三个记忆命名空间:

  • horizons——活跃 horizon 的定义与当前状态
  • horizon-sessions——按[horizon]-[date]键组织的逐会话摘要
  • horizon-learnings——horizon 执行期间发现的模式与洞见

需要说明的是,这三个命名空间属于遗留命名。根据 ruflo-goals ADR-0001 的记录,它们先于 ruflo-agentdb ADR-0001 的<plugin-stem>-<intent>命名约定而存在。ADR-0001 给出的前进路径是:

遗留(当前写入)规范形式(前进方向)状态
horizonsgoals-horizons遗留读 + 新写入待定
horizon-sessionsgoals-horizon-sessions遗留读 + 新写入待定
researchgoals-research遗留读 + 新写入待定
research-sourcesgoals-research-sources遗留读 + 新写入待定
dossierdossier文档化的 base-name 例外
adradr-patterns(ruflo-adr 所有)移交给规范所有者,本插件不写入

当前实现新写入应使用规范的 kebab-case 形式,读取则新旧两个命名空间都查以保持向后兼容;同时严禁遮蔽保留命名空间(patternclaude-memoriesdefault)。了解这一层,你在长期使用 horizon 数据时就能预判未来的迁移方向。

会话签到(Check-In):跨会话连续性的起点

horizon-tracker的第一条追踪原则是"Always check in"——任何会话的第一个动作就是召回 horizon 状态。签到流程:

  1. 召回 horizon:调用mcp__plugin_ruflo-core_ruflo__memory_retrieve,键horizon-[name],命名空间horizons
  2. 复查里程碑状态:确认当前活跃里程碑及其完成标准(currentMilestone+ 对应criteria
  3. 评估漂移:对照时间轴、范围、方法三个维度自问"我们还在正轨上吗?"
  4. 规划本次贡献:明确本次会话为该里程碑做什么

memory_retrieve在 MemoryTools.ts 中的签名是按id取回单条记忆,底层调用backend.retrieve(id)(MemoryTools.ts)。这里把id约定为horizon-[name],就实现了"用一个稳定键回读整个 horizon 状态"的协议。

签到的意义在于:会话上下文是易失的,horizon 状态不是。没有签到,第二次会话的 Agent 等同于"失忆"开工;有了签到,每次开工都从持久化的真实状态出发。

工作与记录:把进展写回记忆

会话进行中,horizon-track要求随进度即时记录,而不是等结束时补记:

  • 更新里程碑状态:完成的工作使milestones[].statuspending变为完成态
  • 记录会话摘要:写入horizon-sessions命名空间,键为[horizon]-[date]
  • 存储中间发现:有价值的中间结论、数据、链接,同样按会话维度落库

这一"过程即记录"的设计,使任何时刻中断会话都不会丢失关键信息,也为后面的漂移检测提供了时间轴上的数据点。

会话签出(Check-Out):每次会话的收尾协议

对应 "Always check in",第二条原则是"Always check out"——最后一个动作是把更新后的状态持久化。签出时完成四件事:

  1. 更新 memory 中的 horizon 状态:把本次会话后的milestonescurrentMilestone等写回horizons命名空间
  2. 记录本次完成的工作what was accomplished
  3. 标注阻塞项或范围变化blockersscope changes——这些是漂移检测的原始素材
  4. 估算当前里程碑的剩余工作量remaining effort,供下次签到与时间轴评估使用

值得注意的是,horizon-trackerAgent 还提供了神经学习回路:任务完成后可用以下 CLI 命令沉淀成功模式并回查历史模式:

npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --store-results true npx @claude-flow/cli@latest memory search --query "TASK_TYPE patterns" --namespace patterns

这与技能中的hooks_intelligence_pattern-store工具形成互补:前者走 CLI hooks 通道,后者走 MCP 工具通道,目的都是把"这次做对了什么"变成下次可复用的模式。

里程碑完成:二元判定与模式沉淀

horizon-track对里程碑的态度是严格的二元判定:"Milestones are binary: either criteria are met or they aren't——no partial credit"。完成标准(criteria)达标就是达标,不达标就是不达标,不设部分完成。这是保证目标不被"差不多"腐蚀的关键机制。

里程碑完成时的动作序列:

  1. 核验完成标准:逐条对照该里程碑的criteria
  2. 沉淀学习模式:调用mcp__plugin_ruflo-core_ruflo__hooks_intelligence_pattern-store,把"什么做法让这个里程碑顺利通过"存入模式库
  3. 推进到下一里程碑:更新currentMilestone指向下一个id
  4. 必要时重新校准时间轴Recalibrate timeline if needed——如果此前有漂移,这里就是修正机会

这套"完成 → 沉淀 → 前进 → 校准"的循环,让每个里程碑既是进度的检查点,也是知识积累的节点。

漂移检测:识别目标失控的四种信号

horizon-track的哲学是"Drift is normal: the goal isn't to prevent drift but to detect and adapt to it"。漂移不是故障,是常态;追踪器的职责是及时感知并适应。技能文档定义了四种必须标记的漂移信号:

  • 进度速率不足:Progress rate suggests target date will be missed——按当前速率会在targetDate之前完不成
  • 范围膨胀:Scope has grown beyond original definition——工作内容超出最初定义
  • 依赖变化:Dependencies have changed——外部依赖发生变化
  • 方法需要根本性重估:Approach needs fundamental rethinking——当前路径的基本假设不再成立

配套的horizon-trackerAgent 在此基础上扩展为五个维度(agents/horizon-tracker.md):

漂移类型信号
Timeline drift(时间轴)进度速率表明会错过目标日期
Scope drift(范围)工作超出原始定义
Approach drift(方法)基本假设已改变
Dependency drift(依赖)外部依赖发生偏移
Priority drift(优先级)其他工作占用了产能

一旦命中任一信号,正确的动作不是"硬扛",而是进入适应流程:重新评估状态、调整里程碑计划或时间轴、必要时重新校准。这与同一插件内goal-plan技能的"replanning triggers"(skills/goal-plan/SKILL.md)理念一致——长周期任务的管理核心是自适应而非刚性执行

配套命令:/goals 快速总览

在 horizon 运行期间,可用/goals命令随时查看全局状态(commands/goals.md)。其流程:

  1. 调用mcp__plugin_ruflo-core_ruflo__memory_list,命名空间horizons,枚举全部活跃 horizon(注意:需要语义过滤时才用memory_search*不是合法的语义查询)
  2. 对每个 horizon 展示:objective、当前里程碑、进度百分比、目标日期、漂移状态
  3. 调用memory_list列出research-synthesis命名空间,查看已完成的研究报告
  4. 汇总成一张 horizons 与研究状态总表

/goals让多 horizon 并行的场景有了一屏总览能力,特别适合同时在跑多个长期目标的团队或个人工作区。

验证与质量保障

horizon-track并非孤立文档,而是 ruflo-goals 插件契约的一部分。插件的验证入口是 scripts/smoke.sh,运行方式:

bash plugins/ruflo-goals/scripts/smoke.sh # Expected: "10 passed, 0 failed"

其中与 horizon 直接相关的检查项包括:第 2 步确认horizon-track技能及其name:/description:frontmatter 存在;第 3 步确认 README 的选择指南覆盖 "long-running" 任务形态;第 7 步确认 legacy-vs-canonical 命名空间映射表(含horizonsgoals-horizons);第 10 步确认技能没有通配符工具授权(allowed-tools不允许*,SKILL.md 中显式列出的 14 个 MCP 工具 + Bash/Read/Write 即为此检查的落实)。这套 smoke-as-contract 机制保证技能文档、Agent、命令与插件元数据始终一致。

落地建议:把 Horizon Track 用起来

综合技能文档、Agent 定义与仓库实现,落地时的关键实践可归纳为:

  1. 先定义"完成"再定义任务:objective 里写清成功标准,里程碑的criteria必须可验证,否则二元判定无法执行
  2. 固定 3~7 个里程碑:太少无法体现进展,太多则失去检查点意义
  3. 坚持签到/签出纪律:会话首尾各一次工具调用,成本极低,收益是跨会话的"不失忆"
  4. 把漂移当信号而非故障:命中四种漂移信号之一就触发适应流程——重新评估、调整里程碑或时间轴
  5. 注意命名空间演进:新写入优先用goals-horizons等规范形式,读取兼容旧命名,为未来迁移留好路

这套协议的价值在于:它把"长周期目标管理"从"靠聊天记录回忆"升级为"靠持久化状态驱动的可审计流程",而这一切在 ruflo 中只需要一个技能文件、一个 Agent 定义和一组 MCP 工具即可运行。

【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 22:53:41

Telegram Nearby Map用户手册:从注册API到查看附近用户的快速入门

Telegram Nearby Map用户手册&#xff1a;从注册API到查看附近用户的快速入门 Telegram Nearby Map是一款实用工具&#xff0c;能够帮助用户发现附近Telegram用户的位置。本手册将为你提供从注册API到查看附近用户的快速入门指南&#xff0c;让你轻松上手这款工具。 准备工作…

作者头像 李华
网站建设 2026/9/10 22:43:38

基于CNN的网络入侵检测实战:从NSL-KDD数据预处理到模型部署

简介&#xff1a;基于Python与CNN的网络入侵检测算法源码及项目说明&#xff0c;面向计算机专业学生完成毕业设计、课程设计&#xff0c;以及网络安全爱好者开展深度学习方法实战。项目利用卷积神经网络自动提取网络流量特征&#xff0c;在NSL-KDD标准数据集上完成训练与评估&a…

作者头像 李华
网站建设 2026/9/10 22:41:38

智能体职业教育的现状、挑战与未来趋势

1. 智能体职业教育现状观察 最近两年&#xff0c;智能体职业教育突然成为教育科技领域的热门话题。从最初几家创业公司的小范围尝试&#xff0c;到现在头部教育机构纷纷入局&#xff0c;这个细分领域正在经历爆发式增长。但作为从业者&#xff0c;我们需要冷静思考&#xff1a;…

作者头像 李华