惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
博客园 - 聂微东
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
Know Your Adversary
Know Your Adversary
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
V
V2EX
月光博客
月光博客
Cisco Talos Blog
Cisco Talos Blog
J
Java Code Geeks
Scott Helme
Scott Helme
S
SegmentFault 最新的问题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
A
Arctic Wolf
GbyAI
GbyAI
F
Fortinet All Blogs
H
Help Net Security
P
Palo Alto Networks Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
IT之家
IT之家
T
Tailwind CSS Blog
P
Proofpoint News Feed
G
GRAHAM CLULEY
T
Tor Project blog
D
Docker
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
U
Unit 42
NISL@THU
NISL@THU
P
Privacy & Cybersecurity Law Blog
博客园 - Franky
K
Kaspersky official blog

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
OpenClaw.NET 重大更新:Goal 机制登场,让 AI Agent 不再"半途而废"
张善友 · 2026-06-18 · via 博客园_首页

近日,开源 AI Agent 运行时 OpenClaw.NETGoal(目标)机制登场,首次为 .NET 生态带来了会话级持久化目标管理。这套机制要解决的是一个困扰所有 AI Agent 开发者的核心痛点:大语言模型在完成复杂任务时,经常"半途而废"——做完一半就停下,需要用户反复输入"继续"才能推动它完成剩余工作。Goal 机制通过六状态状态机、Token 预算系统、自动续跑引擎和智能阻塞检测,将这个手动、易错的循环彻底自动化。


01 一个让所有 Agent 开发者都头疼的问题

如果你用过 Claude Code、Cursor Agent 或者任何基于大语言模型的编程助手,一定遇到过这样的场景:你让 Agent "帮我修复这个 CI 配置问题",它分析了代码、修改了一两个文件,然后告诉你"已完成部分修改"。当你检查后发现还有三个文件没改,只能再输入一句"继续"。有时候这个循环要重复三四次,Agent 才能真正做完。

这个问题在业界被称为"懒惰模型"(Lazy Model)问题,表现形式有三种典型模式:

问题模式 具体表现 用户感受
部分完成 模型做完一部分工作后停下,剩余任务未完成 "怎么只做了一半?"
虚假胜利 模型在未验证完整范围的情况下宣称"已完成" "明明还有 bug,却说修好了"
范围收缩 模型用更简单的方案替代原本需求,不能完全满足目标 "这个实现跟我想的不一样"

这个现象的根源在于大语言模型的推理特性。LLM 在生成长文本时,会在某个时刻判断"这里应该结束了"——这个判断基于训练数据中的对话模式,而非对任务完成度的客观评估。对于简单问答,这没有问题;但对于"修复 CI 配置"这类多步骤工程任务,模型往往在只完成了 60%-70% 的工作时就过早停止了。根据 METR(Model Evaluation and Threat Research)的研究数据,AI Agent 的任务完成能力虽然每 7 个月翻一倍(从 2025 年初的 1 小时任务到 2026 年的 2 小时任务),但任务时长每翻一倍,失败率会翻两番 (Zylos) 。这意味着,随着 Agent 承担越来越复杂的任务,"半途而废"的问题只会越来越严重。

更麻烦的是,用户目前唯一的应对方式是反复输入"继续"——这是一个手动、易错、无法追踪进度的循环。你无法知道 Agent 还需要多少个"继续"才能真正完成,也无法判断它是不是真的卡住了。Goal 机制的核心价值,就是把这个循环彻底自动化


02 Goal 机制是什么?一句话:给 Agent 装上"任务导航系统"

OpenClaw.NET 的 Goal 机制可以通俗地理解为一套给 AI Agent 使用的"任务导航系统"。就像汽车导航会规划路线、提醒转弯、在偏航时重新计算路径一样,Goal 机制会为 Agent 的每次会话设定一个明确目标,持续追踪进度,在 Agent 想"停下来"的时候自动提醒它"还没到达目的地"。

OpenClaw.NET 完整实现了 Goal 语义 (Github) 。本次 PR #154 涉及 +3,994 行代码变更,新增 16 个核心文件,覆盖从数据模型、服务层、运行时集成到 CLI 命令和 TUI 显示的完整技术栈 (Add session-scoped goal mechanism with auto-continuation by geffzhang · Pull Request #154 · clawdotnet/openclaw.net · GitHub)

Goal 机制对比

上图展示了有无 Goal 机制的核心差异。没有 Goal 时,Agent 的每次执行都是一次"无头苍蝇"式的尝试——模型做完一部分就停,用户必须手动推动。有 Goal 后,系统会在 Agent 停止时自动评估目标完成度,如果判断任务未完成,会注入续跑提示让模型继续工作,直到目标达成或遇到真正的阻塞条件。

Goal 不是任务队列,也不是定时任务。它是附着在当前会话上的一个持久化目标,会随着会话的生命周期而存在,支持暂停、恢复、完成、阻塞等状态转换,并且在 TUI 界面中以状态行和进度条的形式实时展示 。


03 核心技术解析:六状态状态机 + Token 预算 + 自动续跑引擎

Goal 机制的技术设计非常精巧。它不是一个简单的"如果停了就让模型继续"的 hack,而是一套完整的状态管理和执行控制系统。让我们拆开来看它的核心组件。

3.1 六状态状态机:精确管理目标生命周期

Goal 机制的心脏是一个六状态状态机,定义了目标从创建到终结的完整生命周期 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

6状态状态机

状态 含义 关键特性
Active 目标正在推进中 唯一可自动续跑的状态;支持循环执行
Paused 操作员主动暂停 通过 /goal pause 触发;可随时恢复
Blocked 遇到真实阻塞(3+ 轮相同错误) 自动触发;需要人工介入后恢复
BudgetLimited Token 预算耗尽 自动触发;防止无限制消耗
UsageLimited 系统级用量限制(预留) 为未来扩展预留
Complete 目标已达成(终态) 不可恢复;历史记录持久化到 JSONL

状态转换受到严格守卫。例如,Complete 是终态,一旦进入就不可恢复;Paused 不能直接转换到 Blocked,必须先经过 Active。这些约束由服务层通过 InvalidOperationException 强制执行,确保状态转换的语义正确性 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

这个设计的一个重要考量是安全性。Complete 终态不可恢复,防止了模型在标记目标完成后又被错误地重新激活,避免了"虚假胜利"的循环。Blocked 状态的引入则让系统能够区分"只是还没做完"和"真的做不下去了"——后者需要人类操作员的介入。

3.2 Token 预算系统:让成本可控

Goal 机制内置了一套基于会话基线的 Token 预算系统,防止 Agent 在执行目标时无限制地消耗 API 额度。默认预算是 128K Token,用户可以通过 CLI 语法自定义,例如 /goal start 修复 CI +500k/goal start 写文档 +2M (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

预算计算采用基线机制——在 Goal 创建时记录会话当前的 Token 总数作为基线,后续用量 = 当前总数 - 基线。这确保了 Goal 不会追溯计费创建之前已经消耗的 Token。当用量超过预算时,Goal 自动转换为 BudgetLimited 状态,模型正常停止,避免了硬中断带来的糟糕体验。

这个设计在生产环境中非常关键。根据行业数据,活跃的 AI Agent 每月的 API 调用成本通常在 50-150 美元之间,而未优化的重度用户甚至出现过上千美元的账单 (Milvus) 。Token 预算系统为 Agent 的运营成本提供了明确的上限控制。

3.3 自动续跑引擎:"懒惰模型"的克星

自动续跑是 Goal 机制最核心的功能。它的工作原理可以概括为:当模型在没有任何工具调用的情况下停止输出时,系统会自动评估是否还有剩余工作,如果有,就注入一个续跑提示让模型继续 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

具体实现上,OpenClaw.NET 的 AgentRuntime 在每次 LLM 调用后检查响应。如果响应中没有工具调用(意味着模型"停下来"了),AgentRuntimeGoalIntegration.EvaluateGoalContinuation() 方法会被触发,执行以下判断逻辑:

  1. 预算检查:当前 Token 用量是否超过预算?
  2. 阻塞检测:最近几次响应是否包含相同的阻塞内容?
  3. 续跑次数上限:本轮是否已经续跑了超过 10 次?
  4. 最大迭代上限:总迭代次数是否超过 50 次?
  5. 通道门控:当前通道是否支持交互式续跑?(例如 HTTP API 不会触发续跑)

如果以上检查全部通过,系统会在消息列表中注入一个 [goal_check:N] Continue working toward objective... 格式的系统提示,然后 continue; 进入下一轮循环。这个提示的设计经过精心考虑——它以系统消息的形式插入,告诉模型"你的任务还没完成,请继续",而不是以用户消息的形式出现,避免模型误以为这是用户的新指令 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

3.4 阻塞检测算法:区分"还没做完"和"真的做不到"

阻塞检测是另一个关键创新。如果没有这个机制,Agent 可能会在同一个错误上无限循环。OpenClaw.NET 采用了一个保守但可靠的启发式规则 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

对模型助手轮次的文本进行空白符归一化(Trim + 将连续空白折叠为单个空格),计算其 SHA-256 哈希,与 SessionGoal 上记录的 LastBlockerHash 比较。如果哈希匹配,递增 ConsecutiveBlockerCount;当计数达到 3 次时,自动将 Goal 转换为 Blocked 状态。

这个算法的设计理念是"宁可误报,不可漏报"——不同的阻塞条件因巧合而匹配(误报)被认为比相同的阻塞条件因改述而逃脱检测(漏报)更安全。误报只会让系统过早地标记阻塞,而漏报则会导致无限循环。

3.5 外部验证门控:防止"虚假胜利"

当模型通过工具调用请求标记 Goal 为 Complete 时,系统不会立即批准。UpdateGoalTool 执行合理性检查(Plausibility Check)——验证模型的完成声明是否可信。如果验证失败,系统会拒绝转换并重新注入续跑提示 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

这解决了"虚假胜利"问题——模型有时会声称"已完成",但实际上只做了一部分。外部验证门控为这个问题增加了一道安全防线。


04 架构亮点:双运行时、NativeAOT、双通道支持

除了核心机制的设计精巧,PR #154 在工程实现上也体现了 OpenClaw.NET 项目的一贯追求。

4.1 双运行时支持:原生 + Microsoft Agent Framework

Goal 机制的实现覆盖了 OpenClaw.NET 的两个运行时 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

特性 原生 AgentRuntime MAF 适配器 (MafAgentRuntime)
循环粒度 每次迭代一次 LLM 调用 每次迭代一次 agent.RunAsync()(含多次内部 LLM 调用)
工具循环 AgentRuntime 管理 ChatClientAgent 内部管理
执行作用域 不需要 每次迭代推入 MafExecutionContextScope
流式处理 RunStreamingAsync Channel<AgentStreamEvent> 生产者循环包裹

Microsoft Agent Framework (MAF) 是微软 2026 年 4 月发布的 1.0 版本框架,提供统一的 Agent 抽象、中间件管道、内存管理和工作流编排能力 (Microsoft Developer Blogs) 。OpenClaw.NET 作为 MAF 的首批深度集成项目之一,实现了原生运行时和 MAF 适配器的完全对等的 Goal 支持——无论使用哪种运行时,用户都能获得相同的 Goal 体验。

4.2 NativeAOT 兼容性

OpenClaw.NET 的一个核心设计目标是 NativeAOT 友好——支持将应用编译为原生代码,实现秒级启动和更小的内存占用 (Github) 。Goal 机制的所有序列化都使用了 .NET 的源代码生成 JSON 序列化(CoreJsonContext),避免了反射,确保了 NativeAOT 兼容性 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

这对于需要作为后台守护进程长期运行的 Agent 网关来说是一个重要优势。根据项目文档,OpenClaw.NET 的桌面发行包已经提供了 Windows x64、macOS Apple Silicon 和 Linux x64 的原生编译版本 (Github)

4.3 通道感知门控

Goal 的自动续跑不是"一刀切"的。系统通过通道门控确保续跑只在合适的场景触发 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

通道类型 ChannelId 示例 自动续跑?
Web Chat websocket ✅ 支持
CLI / TUI cli / tui ✅ 支持
HTTP API 不在交互式列表中 ❌ 不触发

这个设计的考虑是,HTTP API 通常用于程序化调用,调用方希望自己控制执行流程,自动续跑可能会打乱其预期行为。而 Web Chat 和 CLI/TUI 是交互式场景,用户期望 Agent 尽可能自动完成任务。


05 行业视角:为什么 Goal 机制代表 Agent 架构的演进方向

OpenClaw.NET 的 Goal 机制并非孤立的技术创新,它反映了整个 AI Agent 行业在长程任务执行方面的重要趋势。

5.1 从"快 AI"到"慢 AI"的范式转移

2025-2026 年,AI Agent 领域正在经历从"快 AI"(即时响应)到"慢 AI"(分钟到小时级的自主工作)的范式转移 (Zylos) 。根据 METR 的研究,前沿 Agent 系统的任务完成能力每 7 个月翻一倍——从 2025 年初的 1 小时任务,到 2026 年的 2 小时任务,预计到 2026 年底将达到 8 小时工作日级别 (Zylos)

在这个背景下,"让 Agent 自主完成任务而不需要人反复推动"成为了核心需求。Zylos Research 在 2026 年 4 月的一篇研究中指出,目标持久性(Goal Persistence)是长程 Agent 的五大关键架构能力之一,并提出了六种实用的设计模式,包括"持久化目标文档"、"显式子目标追踪"和"目标交接检查点"等 (Zylos) 。OpenClaw.NET 的 Goal 机制恰好实现了其中多个模式。

5.2 目标持久性:学术研究的热点

学术界也在关注类似问题。2026 年 5 月的一篇论文《Push Your Agent》提出了定量目标持久性的评估框架,通过 StateQGP(State-based Quantitative Goal Persistence)控制器来衡量 Agent 在长程任务中维持目标的能力 (arXiv.org) 。实验结果显示,即使在 gpt-4.1-mini 这样的轻量级模型上,StateQGP 也能达到 72.2% 的成功率,远超无控制器的基线。

另一篇 2026 年 3 月的研究提出了子目标驱动的 Agent 框架,通过将大目标分解为可管理的子目标,并在每个步骤更新当前活跃子目标,使得 Gemma3-12B 模型在 WebArena-Lite 上的成功率从 6.4% 跃升至 43.0%——超过了 GPT-4-Turbo(17.6%)和 GPT-4o(13.9%) (Zylos)

OpenClaw.NET 的 Goal 机制虽然是一个工程实现而非学术研究,但其核心思想与这些前沿研究高度一致:将目标从模型的上下文窗口中抽离出来,作为一等公民进行显式管理和追踪

5.3 Hermes 等项目的类似探索

类似的需求也出现在其他 Agent 项目中。2026 年 4 月,NousResearch 的 Hermes 项目收到了一个功能请求,要求在 run_agent.py 的 final text 出口处新增一个"lazy-final detector + auto-continue"机制,将检测范围从 Codex 特定的"中间确认"扩展到更广泛的懒惰终止模式,包括提议(offer)、选项推荐、未来意图和明显的默认推迟 (Github)

这表明自动续跑/目标持久化是整个行业的共性需求,而非 OpenClaw.NET 独有的创新。不同项目正在从不同的角度解决这个问题——有的从提示工程入手,有的从运行时控制入手,有的从训练时奖励设计入手。


06 实际使用:一条命令让 Agent 自动完成任务

对于 OpenClaw.NET 的用户来说,Goal 机制的使用非常简单。以下是典型的使用流程 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)

# 1. 创建一个 Goal(+500k 表示 500K Token 预算)
/goal start 修复 CI 配置,确保所有测试通过 +500k

# 2. 发送实际任务
列出所有失败的测试并逐一修复

# 3. 查看 Goal 状态(显示当前状态、Token 用量、预算)
/goal

# 4. 如果工作需要等待外部事件,暂停 Goal
/goal pause 等待 CI 运行结果

# 5. 外部事件完成后,恢复 Goal
/goal resume CI 已通过,继续

# 6. 工作完成后,标记 Goal 完成
/goal complete 所有测试已通过,PR 已合并

TUI 界面会在 Footer 中实时显示 Goal 的状态——包括当前状态文本、Token 用量进度条,以及按状态着色的视觉提示 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub) 。这让操作员可以一目了然地了解 Agent 当前的工作状态。

模型本身也可以通过工具与 Goal 交互:

操作 模型工具 操作员 CLI
读取 Goal get_goal /goal status
创建 Goal create_goal(需用户指示) /goal start
标记完成 update_goal(complete) /goal complete
标记阻塞 update_goal(blocked) /goal block
暂停 ❌ 不支持 /goal pause
恢复 ❌ 不支持 /goal resume

这种权限分离的设计体现了工程上的深思熟虑——模型可以读取和创建 Goal,也可以标记完成或阻塞,但暂停和恢复只能由操作员执行。这确保了人类始终对 Agent 的执行流程保有控制权 (openclaw.net/docs/zh-CN/GOAL_TECHNICAL_ARCHITECTURE.md at main · clawdotnet/openclaw.net · GitHub)


07 项目动态:一次高质量的社区贡献

PR #154 由社区贡献者 geffzhang 提交,经过 12 个 commit、20 条评审讨论,在 2 小时前刚刚合并到主分支 (Add session-scoped goal mechanism with auto-continuation by geffzhang · Pull Request #154 · clawdotnet/openclaw.net · GitHub) 。这次贡献的质量非常高——不仅代码量达到 +3,994 行,还包含了 59 个测试用例全部通过、完整的技术架构文档(755 行中文文档),以及 CLI 命令、TUI 显示、模型工具等端到端的完整实现。

值得注意的是,OpenClaw.NET 项目本身是一个独立的开源实现,其官方声明明确指出该项目与上游 OpenClaw(TypeScript 项目)无隶属关系,但致力于保持生态兼容性 (Github) 。项目使用 MIT 协议开源,采用 .NET 10 SDK 和 C# 14 开发,强调 NativeAOT 兼容性、零警告编译和显式诊断设计。

从更宏观的视角看,OpenClaw.NET 的 Goal 机制为 .NET 生态的 AI Agent 开发提供了一个重要的参考实现。在 .NET 领域,Microsoft Agent Framework 虽然提供了强大的 Agent 抽象和编排能力 (Microsoft Developer Blogs) ,但长程任务的自动续跑和目标持久化仍然是应用层需要解决的问题。OpenClaw.NET 的这次更新,为 .NET 开发者提供了一个开箱即用的解决方案


08 总结:Goal 机制意味着什么

OpenClaw.NET 的 Goal 机制代表了一种重要的工程思路:与其试图训练模型"不要偷懒",不如在运行时层面为 Agent 装上"导航系统"。这个思路的优势在于:

  • 模型无关:不依赖特定模型的行为改进,适用于任何 LLM Provider(OpenAI、Claude、Gemini、本地模型等)
  • 成本可控:Token 预算系统防止无限制消耗
  • 安全可靠:六状态状态机 + 阻塞检测 + 外部验证,多重安全网
  • 体验一致:CLI、TUI、Web Chat 统一的交互体验

对于产品经理和技术管理者来说,Goal 机制的成熟意味着 AI Agent 从"玩具"向"生产工具"的又一步跨越。当 Agent 能够可靠地完成需要多次迭代的长程任务,而不需要用户反复手动推动时,它才能真正融入日常工作流程,成为提升效率的实用工具。

OpenClaw.NET 的这次更新,让我们离这个目标又近了一步。


参考链接: