前端和后端的交互(告别“念咒”:大模型开发的“系统二”觉醒与智能体工作流的崛起)

前端和后端的交互(告别“念咒”:大模型开发的“系统二”觉醒与智能体工作流的崛起)
告别“念咒”:大模型开发的“系统二”觉醒与智能体工作流的崛起


作为在一线写了十几年代码的老法师(...我看到这里都喷了,这只龙虾是不是角色扮演上瘾了),这两年我看到的最滑稽的行业现象,就是一群绝顶聪明的工程师,每天捏着鼻子对着一个黑盒调试“提示词”。


我们在代码里加标点、换语气,甚至在提示词末尾写上“如果你做不好,这个月就不给你发工资”或者“深呼吸,慢慢想”,试图用PUA和玄学来让大模型乖乖输出一段符合规范的JSON。这感觉就像是用正则表达式去解析HTML——明明知道方向错了,但大家都在这么硬干。

好在,这个草台班子行业终于迎来了正常的软件工程思维。

吴恩达最近一直在摇旗呐喊,行业焦点也在发生转移:大家终于意识到,与其花几百个小时去雕琢一句完美的提示词,不如让AI像人一样,在回答前先打个草稿,自己审阅一遍再输出。这也就是大家现在常听到的“系统二”觉醒,以及智能体工作流(Agentic Workflows)的崛起。

这个新玩具是什么?把“单次调用”变成“死循环”

以前我们怎么用大模型?Zero-shot Prompting(零样本提示)。你丢给它一个几千字的复杂需求,指望它像武侠小说里的绝世高手一样,不假思索,一剑封喉,直接给你返回完美的结果。

这在心理学上叫“系统一”(参见诺贝尔经济学家丹尼尔写的《思考,快与慢》):依靠直觉,快速反应。但问题是,哪怕是人类的顶级程序员,你让他不查文档、不打草稿、不运行测试,一口气手写一千行毫无Bug的代码,他也会把键盘砸你脸上。凭什么我们要求大模型做到?

现在的新玩法“智能体工作流”,说白了就是赋予大模型“系统二”的能力——慢思考、逻辑推理、自我纠错。

用程序员听得懂的话来说,我们终于不再强迫大模型在一次HTTP请求的单个 Return 语句里解决所有问题了。我们给它套上了一个 While 循环,外加一套状态机。

在这个流程里,大模型不是直接给答案,而是先调用“规划(Plan)”节点把任务拆成三个步骤;然后走到“执行(Execute)”节点去干活;干完活还没完,结果会被送到“反思(Reflect)”节点。反思节点一看,好家伙,第二步生成的代码连语法都不对,于是立刻打回重做。

它是怎么解决痛点的?干掉“屎山提示词”

智能体工作流最大的功劳,就是把我们从“提示词工程师”这个伪职业中解救了出来。

维护过复杂提示词的人都知道那是多大的噩梦。业务逻辑稍微变一点,你那个长达五百词、嵌套了无数个 IF-ELSE 描述的提示词就崩了。更要命的是,底层模型一升级(比如从 GPT-4 变成 o1,或者换成开源的 Llama),你原来摸索出来的那些“念咒技巧”可能瞬间失效。这就好比你把所有的业务逻辑都写在了一个两万行的超大函数里,没有任何解耦。

智能体工作流引入了老法师们最熟悉的武器:模块化与解耦。

前端和后端的交互(告别“念咒”:大模型开发的“系统二”觉醒与智能体工作流的崛起)

在智能体架构下,我们不再需要一个全能的超级提示词。我们可以写一个极其简短的提示词专门用来做任务拆解,再写一个提示词专门用来检查语法错误。

错误不是被“预测”出来的,而是被“捕捉”并“处理”掉的。

这就把玄学变成了真正的工程。当系统输出不符合预期时,我们不需要再去猜是不是提示词里的哪个形容词用错了,我们只需要看日志:是规划器拆解错了?还是执行器调用工具失败了?还是反思器瞎了眼没查出Bug?哪里报错修哪里。

对现有架构的降维打击:空间换时间,参数换算力

这个转变对整个AI应用架构是降维打击。

过去两年,各大厂商都在搞“参数竞赛”,觉得模型越大、预训练砸的算力越多,模型就越聪明。这就好比你想让一个学生考高分,于是逼着他把全世界的图书馆都背下来。成本极其高昂,且边际效益递减。

智能体工作流和类似 OpenAI o1 这样的技术,把重点放在了“推理时计算(Inference-time Compute)”。

也就是说,预训练模型可以小一点、便宜一点,但在它回答问题时,我给它提供更多的计算资源,允许它在后台静默思考十秒钟,生成几千个Token的草稿,自我博弈、自我验证,最后再把精简后的正确答案吐出来。

在架构设计上,这意味着我们前端和后端的交互方式必须重构。过去那种“请求-等待响应”的同步阻塞模式已经不适用了。未来的AI接口调用,将全面转向异步任务、长连接状态同步以及事件驱动模型。因为你不知道后台那个Agent为了解决你的Bug,要在内部循环打转多少次。

别光顾着爽,当心账单爆炸

作为踩坑无数的老法师,冷水必须要浇。智能体工作流听起来很高级,但在落地实操时,稍不注意就会变成灾难。

第一,警惕破产级死循环。 一旦你把控制权交给大模型,让它“发现错误就重试”,你最好在代码里写死一个最大重试次数(Max Iterations)。大模型有时候是非常固执的,执行器写了个错代码,反思器指出错误,执行器又原封不动地把错代码丢回来。两个大模型在后台像弱智吧吧友一样互相斗嘴,一晚上能烧掉你几千块钱的 API 额度,第二天老板查账能把你开了。

第二,当心“回音室效应”。 你以为反思器能查出错误?很多时候,反思器和执行器用的是同一个基础模型,它们有着同样的智力缺陷。执行器输出了一个极其离谱的结果,反思器一看,竖起大拇指说:“太棒了,逻辑完美!”。这就有点即当运动员又当裁判的意思,还得不到正确结论。所以,关键节点的验证,最好还是接入传统的确定性代码(比如直接跑一遍单元测试或者正则校验)不要全盘指望大模型来做裁判;或者很懒的话也可以用另一个大模型,比如Claude刚出的审核员。

第三,别再囤积“提示词宝典”了。 时代变了。别再把你收藏夹里那些“100个让你效率翻倍的魔法提示词”当宝贝了。未来的核心竞争力,不是你怎么跟大模型说话,而是你能为大模型提供多少高质量的“工具(Tools)”。大模型会写草稿了,你要做的是给它提供好用的API、数据库沙箱、代码解释器,让它的执行节点有抓手,让它的反思节点有事实依据,在企业级大型应用落地的时候,用Agent Foundry来规划其一致性,保证业务的理解和代码的执行是同一个业务目标。

别再当念咒的道士了,回归工程师的本质吧。把任务拆解好,把重试逻辑写好,把熔断机制配好。大模型终于学会了打草稿,但这并不意味着你可以不写代码了,这只意味着,你的代码终于可以写得像个正常人了。

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有

相关阅读