乐于分享
好东西不私藏

OpenClaw 没有意图识别,为什么还有很多人用它?

OpenClaw 没有意图识别,为什么还有很多人用它?

OpenClaw 没有意图识别,为什么还有很多人用它?

一个关于 Agent 产品设计的深度讨论

01. 先说结论

昨天和同事聊了一个很有价值的问题:OpenClaw 没有复杂的意图识别层,为什么还有很多人用它?

答案很简单:

OpenClaw 的设计目标就不是「企业级严格 Agent」,而是「个人级灵活助手」。 在它的目标场景里,「不做意图识别」反而是优点,不是缺点。

02. OpenClaw 没有意图识别,它做了什么替代?

轻量的安全过滤,而非语义理解

OpenClaw 在 LLM 执行之前,只做了三层安全过滤

第一层:Mention 检测

正则匹配机器人名字/emoji,决定是否触发响应。

Code
用户说 "默默,在吗?"  →  匹配到名字 "默默"  →  触发 AI用户说 "今天天气不错"  →  没有匹配  →  不触发 AI

第二层:dmPolicy 配置

安全准入控制,三种模式:

模式
行为
pairing
第一次聊需要配对确认
allowlist
只有白名单用户能聊
open
谁都能直接聊

第三层:Per-Agent 工具隔离

每个 Agent 只能看到被允许的工具,LLM 不会从一堆无关工具里选错。

Code
Agent A 的工具:[日历, 邮件, 文件]Agent B 的工具:[代码, GitCI/CD]

真正的理解发生在 LLM 层

当消息通过上述三层过滤后,OpenClaw 把以下内容全部传给 LLM:

Code
用户消息 + SOUL.md + USER.md + MEMORY.md + SessionHistory + ToolsManifest  ↓LLM 自己决定:调用哪个工具?用什么参数?
把「理解用户意图」这件事,完全交给了 LLM。

03. 工具规模化问题:几百、几千个工具怎么办?

这是必须要回答的问题。

矛盾所在

如果把 1000 个工具的 Schema + 描述全部传给 LLM:

Context 爆了 — Token 成本飙升
选错工具概率高 — 从 1000 个里选一个,容易选错
费用失控 — 日均万级调用,每条都过 LLM 成本极高

OpenClaw 的解法:多层过滤

Code
用户消息  ↓Gateway 入口层 — Mention + dmPolicy + 命令检测  ↓Session + Agent 层  ↓Per-AgentAllowlist — 每个 Agent 只能看到被允许的工具  ↓ToolPolicy — Gateway 全局 + Profile 基线 + Sandbox 隔离  ↓LLM 看到的是:经过过滤后的工具子集(通常 20-50 个)
核心思想:不是让 LLM 从 1000 个工具里挑,而是通过配置让 LLM 只能看到 20-50 个工具。

业界其他解法(供参考)

如果 Per-Agent allowlist 依然不够,业界还有:

语义检索 + 动态加载(Tool RAG)
Code
用户消息 → 向量数据库检索 top-K 相关工具 → 只把这 K 个工具传给 LLM
两层 Agent(Dispatcher + Specialist)
Code
用户消息 → DispatcherAgent(理解意图,粗分类)         → 路由到 SpecialistAgent(执行具体工具)

04. 为什么很多人喜欢用 OpenClaw?

原因一:安装即用,零配置

Code
curl -fsSL https://openclaw.bot/install.sh | bashopenclaw onboard

两步安装,自动引导配置。不需要写一行代码,不需要理解 Agent 概念,就能跑起来。

对比其他平台:写 Prompt、调参数、配工具、上线——没有两三天搞不定。

原因二:Workspace 文件设计很聪明

Code
SOUL.md      — AI 的人设(我是谁,我要什么)USER.md      — 用户信息(你是谁,你的偏好)MEMORY.md    — 跨会话的长期记忆

这三个文件解决了 Agent 的核心问题:

SOUL 让 AI 有性格,不是冷冰冰的工具
USER 让 AI 认识你,记得你的习惯
MEMORY 让 AI 有记忆,不是每次都从零开始
而且这些文件是 Markdown,普通人就能编辑,不用写代码。

原因三:多 Channel 接入非常方便

飞书/Telegram/Discord/WhatsApp……接一个需要折腾半天。

OpenClaw 的做法是:扫码授权,自动配置。

Code
openclaw plugins install @openclaw/feishu→ 终端弹出二维码→ 飞书扫码→ 自动完成所有配置

原因四:多 Agent 隔离,场景分离

Code
defaultAgent    — 日常助手coding Agent     — 写代码专用analyst Agent    — 数据分析专用

每个 Agent 有独立的 workspace、独立的工具、独立的记忆。不用担心里程碑和代码任务互相干扰。

原因五:完全开源,可定制

代码开源,可以自己改。可以写插件,可以加 Skill,可以接入自己的工具。


05. 为什么说「不做意图识别」是它的优点?

因为它本来就不需要。

个人助手的场景,和企业场景完全不同:

个人助手
企业助手
问「帮我查下天气」
回答天气,挺好
必须回答天气,不能回答别的
问「帮我约个会议」
约错了也没大事
约错了影响业务
容错率
极低
工具数量
几十个
可能几百上千个
费用敏感度
高(日均万级调用)
个人场景:LLM 偶尔答错,没关系,再问一遍就行。
企业场景:LLM 答错了,可能误导业务决策,必须严格。

OpenClaw 把「理解」这件事完全交给 LLM,在个人场景里是完全合理的工程权衡。


06. 企业 Agent 怎么考虑?

如果要做一个企业级 Agent,需要额外考虑这些问题:

问题一:精准意图识别

企业不能「猜」。 员工问「这个月的销售额」,不能回答成「上个月的」。

需要在意图分类层加置信度校验,低于阈值时主动追问。

问题二:答案的可靠性

企业不能 hallucinate。 回答必须带数据来源,不确定时必须说「我不知道」。

问题三:费用控制

日均万级调用不能每条都走 LLM。需要多级缓存 + 简单查询走规则。

核心思路

Code
把「理解」和「执行」解耦个人 AgentLLM 是大脑,什么都能做企业 AgentLLM 是执行器,理解靠上游,LLM 只负责生成和调用

07. 一句话总结

OpenClaw 是一个为个人场景设计的 Agent 平台:零配置、多 Channel、开箱即用、足够灵活。 它不做意图识别,因为在个人场景里,不需要那么严格。

企业级应用?有另外的设计思路,但那不是 OpenClaw 解决的问题。


微信号:ysf99918
欢迎添加微信,备注「OpenClaw」,拉你进技术交流群*