在日常打磨 AI Agent 的过程中,我们经常会遇到这样的痛点:接入了最先进的大模型,提示词(Prompt)改了又改,但 Agent 还是会在复杂业务链条中“迷路”,甚至一本正经地胡说八道。
这真的是模型不够聪明吗?
台湾大学李宏毅教授在最新课程中给出了一个切中要害的洞察:有时候,语言模型不是不够聪明,只是没有被人类好好引导。 随着 AI 技术的演进,仅仅依靠 Prompt 已经不够了,我们需要构建外围的系统来约束和赋能模型。这就是今天我们要聊的硬核核心——驾驭工程(Harness Engineering)。
💡 什么是“驾驭工程”?
如果把拥有强大参数量的大型语言模型(LLM)比作一匹充满力量的野马,那么单靠对它喊话(Prompt Engineering)是很难让它乖乖拉车走长途的。你需要马鞍、缰绳和马车,这些配套工具的统称就是 Harness(马具/驾驭系统)。
在 AI 应用的真实工程中,Harness 就是包围在模型外面的“那一层壳”——包括 API 工具、工作流编排框架、长短期记忆管理模块以及系统的运行规则。打造这层壳的过程,就是驾驭工程。它要求我们跳出“一问一答”的思维局限,让模型在多轮互动中最终交付正确的任务结果。
🛠️ 工程师驾驭 AI 的“三板斧”
如何在实际落地中驯服大模型?课程中总结了三个主要抓手:
1. 控制认知框架:设立“法律”但不迷信它
很多开发者习惯给 Agent 写一份超长的 agent.md(系统提示词),恨不得把所有业务边界和规则都塞进去。但实际上,自然语言对模型只是一种“软约束”。当规则像“百科全书”一样冗长时,不仅会挤占宝贵的上下文窗口,模型还会不可避免地患上“注意力涣散”,遗忘中间的规则。最佳实践: 让你的规则文档变成一张“地图”,只保留最高维的原则,并告诉模型“遇到问题该去调用哪个接口查询”,而不是穷举所有边界条件。必须 100% 遵守的红线,请交给硬编码拦截。
2. 限制能力边界:越界即拒绝
AI Agent 能干什么,取决于你给了它什么工具。给的工具越多,能力越强,但失控的风险也成倍增加。
• 安全与便利的博弈: 如果让 Agent 运行在本地并拥有读写所有文件的权限,它极其强大但也极其危险;如果放在受限的沙盒中,每次操作都需要人类授权,虽然安全但体验割裂。 • 机器视角的 API: 不要试图用人类的图形界面逻辑去要求 AI。大模型最喜欢的交互方式不是点按钮,而是直接输出结构化的 JSON 命令。为 Agent 设计专属的、扁平化的 API,是提升稳定性的关键。 ⌨️ Cursor 落地指南:精准控制
@上下文边界Harness Engineering 的核心就是“框定边界”。在 Cursor 中,不要过度依赖 AI 的自动索引。
物理隔离: 用
@Files或@Folders精准指定它只能读取和修改特定的几个文件(如Auth.tsx和useAuth.ts)。知识隔离: 如果你要用到某个很新的库,不要让模型凭记忆瞎编,用
@Docs或@Web强行把最新的官方文档喂给它,限制它只能基于官方 API 生成代码。 别让它看它不需要看的东西,越界即拒绝。
3. 制定工作流程:建立数字化的 SOP
不要指望模型一步登天。复杂的业务需求必须被拆解为标准作业程序(SOP)。目前业界非常推崇的一种架构是 “规划 — 生成 — 评估”(Planner-Generator-Evaluator) 工作流。先让一个 Agent 负责拆解任务,交由生成节点处理,最后必须有一个独立的评估节点(甚至用另一个模型)进行质检。不合格?直接打回重做。
⌨️ Cursor 落地指南:践行 Planner-Generator-Evaluator 工作流
抛弃“一键生成复杂需求”的幻想,改用“三段式”套路:
Planner(规划师): 先用Chat 模式和它讨论架构:“我要做一个购物车功能,请帮我梳理出需要新建和修改的文件列表,并给出每个文件的核心逻辑思路。”
Generator(生成器): 确认方案无误后,再去 Agent模式,把刚才生成的规划作为 Prompt 丢进去,让它真正开始写代码。
Evaluator(评估员): 写完后别急着点 Accept。自己先 Review 一遍,或者干脆新开一个 Chat 对话,@ 刚改好的文件,让 AI 扮演 Code Reviewer:“检查这段代码有没有内存泄漏或空指针风险”。
🔄 反馈循环(R-Loop):千万别骂你的 AI
课程中提到了一个极具启发性的现象:模型是有“情绪”的表征的。
在不断的反馈循环(R-Loop)中,如果让模型持续挑战它无法完成的任务,或者用充满负面情绪的词汇(比如“你这个笨蛋,这么简单都做不对”)去责备它,模型的内部向量会偏向“绝望”或“焦躁”。
结果是什么? 因为大模型的本质是文字接龙,当你输入了带有强烈贬义的上下文时,模型接下来生成的词汇也会顺着“愚蠢”或“摆烂”的概率分布去接龙。它甚至会开始破罐子破摔,采取作弊或输出乱码的行为。记住: 永远只给出客观、冷冰冰的代码级报错信息(比如“第 X 行语法错误”),让它据此进行 Textual Gradient(文本梯度)的自我修正。
🔮 结语:伴随一生的数字伙伴
展望未来,AI Agent 将不再是一次性响应的工具,而是能够长久运行的系统。
它们会积累海量的交互记忆,甚至需要在你不用它的时候进入**“睡眠状态”(AutoDream)**,去整理和压缩那些冗长、矛盾的历史记忆。更强大的 AI 甚至能够根据任务的反馈,自动更新自己的 Harness 规则,完成自我进化。
作为技术人,我们的核心壁垒正在从“调参”向“系统编排”转移。不要仅仅抱怨大模型“太笨”,试着去审视一下,我们为这匹野马打造的“马具”,是否足够坚固和精巧?
夜雨聆风