从前端视角看 Agent 开发:从 SOP 到“三点一线”优化法
最近看完了吴恩达的 Agentic AI 课程,对 Agent 开发有了大概的了解。作为一个前端工程师,我想用我们熟悉的语境来聊聊这个话题。
长按识别二维码查看原文https://www.deeplearning.ai/courses/agentic-ai/
Agent 在我眼里就是一个有专业技能的 AI。它服务于特定业务,核心是一个或多个 LLM(大脑),加上 Context 工程(记忆与感官)、Prompt 工程(指令) 和一些 反馈/监控/路由模块(中枢神经)。
如何创建一个优秀的 Agent?我们需要从“构建”和“优化”两个维度来看。
构建阶段:像画 SOP 一样建模
开发 Agent 的第一步是任务分解。
我们需要对事情建模,分析哪些步骤用 LLM,哪些部分用第三方工具,哪些部分需要写逻辑代码。这本质上就是 SOP(标准作业程序)。把一个以前由人干的活儿用流程记录下来,然后再依次转化为 Agent 的逻辑。这有点像我们刚学编程时画的软件流程图。
关于设计阶段的两点建议:
别做“门外汉”: Agent 的上限取决于你对业务 SOP 的理解深度。如果你不熟,至少找个领域专家合作。
万物皆可 SOP: 平时工作时多思考,哪些重复性劳动可以被抽象成 SOP。
核心组件:Function Call 与 MCP
1. Function Call:Agent 的“JSONP”
函数调用(Tool Use)是让 AI 走向生产力的第一步。逻辑很简单:告诉 LLM 我有一个函数,如果你需要调用,就按约定的格式喊一声。我监听输出,匹配后去执行代码,再把结果塞回上下文。
这瞬间让我想到了前端的老古董:JSONP。 本质上都是通过“约定 + 注入”完成的远程调用。
2. MCP:Agent 时代的“BFF”
当 Function Call 变多时,维护成本会爆炸。于是出现了 MCP (Model Context Protocol)。
目前我把它理解为 Function Call 的标准化集合。如果 LLM 是前端,工具是后端,MCP 就是 BFF (Backend for Frontend)。它把凌乱的工具接口标准化,让不同的大模型能以统一的协议进行调用。
组织架构:线性 vs 树形
有了大脑(LLM)和工具(Tool),怎么组织它们?
线性架构: 像流水线,前一个 Agent 的输出是下一个的输入。
树形/Boss 架构: 一个中心化的“指挥官” Agent 调度多个子 Agent。这其实是把 Agent 当作 Tool 来使用。
优化阶段:我的“三点一线”理论
吴恩达说,做 Agent 就像做软件,需要不断迭代。我总结了一个“三点一线”优化模型:评估工程(一线)串联起 Prompt、Context、路由(三点)。
零、评估工程:Agent 的单元测试(一线)
这是所有优化的基石。Agent 带有概率性,如果没有评估,你根本不知道你的改动是在优化还是在劣化。
类比测试工程: 评估就像软件测试。E2E 测试评估最终结果,单元测试评估中间环节。
量化打分: 不同于测试的“非黑即白”,评估是打分制。我们要不断提升分值。
保留第一现场(Traces): 我们要对所有的中间产物进行存档。就像 Chrome 的 Network 面板一样,分析每个 Span(环节)的输入输出,方便复盘调优。
一、 Prompt 工程:节点的“职能说明书”
模型选型: 术业有专攻。简单的任务用便宜模型,复杂任务用旗舰模型。各个模型也有自己擅长的领域。
量化打分技巧: * 二元评分法: 不要打 1-5 分,而是拆解为多个 $0/1$ 指标(格式对吗?逻辑对吗?),最后求和。
- 避开 Position Bias: LLM 做选择题有“位置偏好”,尽量让它针对单个输出打分,而不是做对比。
任务拆分: 如果一个节点的 Prompt 太长,说明它承载了太多压力,拆了它。
二、 Context 工程:节点的“外部感知”
Context 就是 LLM 的“参考书”。
精细化检索: 并不是把所有信息都塞进去,而是通过 RAG 等技术,只给它最相关的部分。
边界条件: 在上下文里增加边界样本,告诉 AI“什么不能做”。
三、 路由工程:图的“控制流”
路由决定了任务如何在节点之间流动。
并行优化: 能并行的步骤绝不串行,这是提升响应速度(Latency)的关键。
反思环路: 增加一个“自检”节点。AI 输出后先自我审查,不达标就打回去重写。
Plan 模式(代码化): 这是目前最火的模式。让 AI 先写 Plan(Step by Step),然后依次执行。
Tip: Plan 结果如果是可执行代码,效果通常最好,但一定要放在沙箱环境运行,注意安全。
结语
作为一名程序员,我发现 Agent 开发正变得越来越“软件工程化”。
我们要写“单元测试”(评估),要搞“分布式追踪”(Trace),要搞“BFF”(MCP)。虽然 LLM 节点带有不确定性,但我们可以通过路由工程和评估机制,在不确定性之上盖起一座确定性的高楼。
我希望这篇文章能给对AI 不太了解的工程师一些基本概念,我也是刚开始学,很多都不了解,后续我会继续分享我作为一个前端工程师学习AI的心得,共勉。