从对话到自主
一个只会说话的 AI,和一个能动手做事的 AI,中间隔着的不是一个功能开关,而是一整套系统设计。
前两章建立的认知——概率预测、文本拼接、有限窗口——描述的是一台只能"说"的机器。但你每天用的 AI 编程工具,显然不只是在"说":它读你的文件、搜你的代码库、执行终端命令、甚至自己跑测试验证结果。从"回答问题"到"执行任务",需要解决的问题远比想象中多:
- 它怎么决定下一步做什么?它怎么知道有哪些工具可用?
- 工具执行失败了怎么办?
- 有些能力根本不是"工具"能表达的,该怎么处理?
- 一个 Agent 搞不定的任务,需要多个 Agent 协作吗?
这些问题的答案,构成了 Agent、Function Calling、MCP、Skill 这些概念的底层逻辑。它们不是某个产品的发明,而是"让 AI 自主执行"这个需求在不同约束下逼出来的不同解法。我们需要了解的不仅仅是这些时髦的名字,而是它们各自解决了什么问题、引入了什么代价、以及在什么条件下会到达边界。