智能体开发里有一个最基本、也最难绕开的核心问题,就是怎样把自然语言准确地转化为机器可以执行的动作。这个问题表面上看像是一个工程实现问题,实际上它同时涉及语言理解、上下文管理、操作约束、系统架构,甚至还涉及我们对未来人机互动方式的抽象建模。
从最粗的层面看,自然语言本来就不是机器指令。人说一句话,往往是模糊的、省略的、多义的,甚至是跨语言混合的。一个请求里可能同时包含中文语义、英文关键词、上下文暗示、默认前提和未说出口的目标。它不可能被简单地直接映射到某个电脑操作。中间一定要经过一个归化、解释、约束和重组的过程。这个过程本质上就是一次初步规划,而这一步在今天几乎必然要借助大语言模型来完成。当然,也可以辅以一些直接识别机制,比如对固定关键词、固定模式或者某些显式命令做快速匹配,但真正面对自然语言的复杂性时,仅靠规则是不够的。
目前很多智能体系统在这里采用的做法,本质上还是把自然语言先转成一组较粗粒度的可调用能力,然后再由这些能力去完成后续动作。像 OpenClaw 这类方案给人的启发就在这里。它并不是在最底层、最严格的电脑操作层面先做完全形式化的规范,而是大量依赖一种较上层的能力封装,也就是 skill。自然语言先被解释成对 skill 的调用,再由 skill 去落地到实际操作。这种方式有明显的优点,就是灵活、扩展快、开发效率高,也比较容易适配开放环境。但它的局限同样明显,因为这里的准确性在很大程度上依赖大模型对 prompt 和 skill 的解释能力。模型理解得准,结果就好一些。模型理解得偏,或者 skill 定义本身不够严密,执行就容易偏移。
这也正是我现在越来越明确的一点——如果智能体要真正走向实用,仅靠 skill 这一层还不够。它需要更强的结构化上下文,需要在更高层面上把用户的请求放进一个更有针对性的框架中理解。也就是说,用户说的不是孤立的一句话,而应该被看作是某个项目、某个工作项、某种角色分工、某种行为模式中的一个动作请求。只有这样,大模型拿到的上下文才不是一团松散的信息,而是被限定、被组织、被切分过的相关信息。这样它的理解才会更稳定,生成的计划才更有针对性,执行结果也才更容易可控。
这也是我在 SmallClaw 里引入 personal 和 organization 两种模式的根本原因。表面上看,这是两种使用方式。更深一层看,它们都是为了把大模型的上下文变得更相关、更有边界。尤其是 project 这一层,我认为非常关键。很多现有智能体系统更偏向围绕 session 和 task 组织上下文,也就是围绕当前会话和当前任务来管理相关性。这当然有它的合理性,因为这样做实现起来更直接,也更符合单轮或短期任务驱动的交互方式。但如果系统要支持更复杂、更持续、更现实的工作流,仅有 session 和 task 还是不够的。不同 session 之间需要隔离,不同 work item 之间也需要隔离,不同 project 之间更需要隔离。同时,同一个 project 内部的不同 work item 又不能完全断开,因为它们之间客观上存在相关性。这样一来,系统就不是一层上下文,而是多层次的上下文隔离与关联。
我现在越来越满意这种思路,不是因为它显得更复杂,而是因为它更贴近现实。现实中的人际协作,无论在公司、学校、社群还是家庭里,最终都离不开项目、任务、角色和行为方式之间的互动推进。所谓组织,不一定是传统意义上的公司组织架构,它也可以是一种 AI 时代的运行结构,是一种让不同目标、不同职责、不同工作流彼此配合的抽象容器。只要这个判断成立,那么 project、work item、role、behavior 这些东西就不是某种人为附加的复杂设计,而是对现实协作结构的一种抽象提炼。
在当前开发阶段,这些结构还需要被显式地展示出来。我们会借助一些开发测试用的脚本、调试界面或者临时手段,明确地看到项目、任务、角色这些对象的存在,因为我们需要验证它们是否真的起作用,是否真的改善了大模型的理解质量,是否真的让执行结果更稳定。但从产品最终形态来看,用户其实并不需要看到这些内部机制。用户真正关心的只是自己想做什么事。他可能没有任何项目管理的知识背景,甚至根本没有 project 这个概念,也不理解 role、work item 这些结构化术语。但这并不妨碍系统在后台默默地为他的请求建立这些结构。用户只管下达一个自然的请求,系统在背后自动为它分配上下文、建立项目归属、挂接相关工作项、绑定合适角色,然后再完成后续规划与执行。也就是说,这些结构并不是为了教育用户,而是为了让系统本身更聪明、更稳、更有条理。
这件事的关键,不在于把结构展示得多漂亮,而在于把结构内化得多彻底。真正成熟的智能体,不应该让用户感觉自己在操作一个项目管理系统,也不应该让用户显著感知到后台有多少角色、多少上下文分层、多少中间推理步骤。好的状态是,用户只感觉自己在自然地下达意图,而系统已经在背后完成了对结构的调度。这和传统软件很不一样。传统软件通常要求用户主动进入某个模块、理解某套结构、遵守某种表单逻辑。智能体如果做得足够好,它就应该把这层复杂性吸收到系统内部,而不是推给用户。
当然,这又带来了另一层要求,就是整个实现架构必须既稳定又灵活。因为大模型本身还在快速变化,智能体系统的发展也没有定型。今天合理的边界,明天未必还是最佳边界。今天可行的 skill 设计,明天可能会被更细的操作图谱、更多模态输入、更强的规划能力所替代。所以具体实现不能做成僵死的结构。它需要保留一定的抽象稳定性,比如 project、work item、role、behavior 这些概念层面的稳定,同时又要允许底层实现随着模型能力、渠道能力和系统基础设施的变化而调整。说到底,架构不能只适配今天的功能,而必须对未来的发展保持兼容。
因此,这个问题最后其实已经不只是技术问题。它当然有技术层面,但更深的部分是一种高度抽象的建模工作。我们到底把未来的人机互动理解成什么?是理解成一连串原子操作的直接触发,还是理解成一种被组织结构支撑的、持续推进的协作过程?如果是后者,那么 project、task、role 这些东西就不仅有工程价值,也有理论价值。它们不是为了凑功能,而是在表达一种判断——未来真正有效的人机协作,不是人不停地下达离散命令,也不是 AI 自由地胡乱代理,而是在某种结构中持续推进目标。
从这个意义上说,这套设计思路和我一直在思考的一个更大的问题也是相通的,那就是主体并没有一种天然不可替代的内在专属性。过去很多系统默认“主体”就是单一用户,是一个稳定、连续、中心化的发令者。但在智能体系统里,我们会越来越清楚地看到,真正承担推进作用的,往往不是一个孤立主体,而是一套动态结构。用户、角色、项目、任务、系统记忆、模型推理,它们共同构成了一个分布式的行动单元。主体性不再只是某个点,而更像是一种被组织起来的运行关系。这一点既是技术实现中的现实,也是值得继续展开的理论问题。
所以,如果回到最初那个问题,也就是怎样把自然语言准确地转成机器可执行动作,我现在的结论已经比较明确了。它不能只靠更强的大模型,也不能只靠更多 skill,更不能只靠更复杂的 prompt。真正可靠的方向,是在自然语言与底层动作之间建立一层足够稳定、足够可扩展的结构化中介。这层中介不是简单的命令列表,而是项目、工作项、角色和行为方式组成的上下文系统。大模型在这里不是直接控制一切,而是在这个结构中工作。这样做的结果,不只是让执行更准确,也是在为未来更成熟的人机协作方式打基础。
这件事的意义,也正在于此。它不是单纯把一个产品做得更好用一点,而是在尝试回答一个更大的问题——当 AI 真正进入日常工作与生活之后,我们应该用什么样的结构,把自然语言、智能理解和现实行动连接起来。我的判断是,答案不会是纯粹的原子操作堆砌,而会是一种更有层次、更有边界、更贴近现实协作逻辑的组织化结构。SmallClaw 现在做的事情,本质上就是朝这个方向迈出比较具体的一步。
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。