首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
Vibe Coding这一年:从“代码苦力”到“超级个体”,我如何把3天的工作压缩进2小时?
2
小程序项目架构设计与基础页面搭建(基础)
3
微信小程序送补贴!手把手教你薅免费云开发资源+混元Token(附使用教程)
4
如何创建一个有效的阅读清单?
5
踩坑记:Elasticsearch 索引写不进去了?可能是触碰了这个隐藏限制
6
RoLID-11K:面向小目标检测的行车记录仪路边垃圾数据集
7
mysql报错通用排查方法 排查MY-001312 can't return a result set in the given context
8
安装并使用谷歌AI编程工具Antigravity(亲测有效)
9
解密Prompt系列68. 告别逐词蹦字 - Transformer 的新推理范式
10
技术人的人生战略:在代码与成长中寻找平衡
11
JavaScript 文件分析与漏洞挖掘指南
12
多 Agent 视角下的自动驾驶系统设计:车端 Agent 与 RSU Agent 协同机制解析
13
构建AI智能体:潜藏秩序的发现:隐因子视角下的SVD推荐知识提取与机理阐释
14
告别浏览器!用Rust打造一键JSON处理神器
15
仅需1元,基于 LangChain 和腾讯混元大模型,实现知识图谱
16
轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub
17
构建AI智能体:SVD知识整理与降维:从数据混沌到语义秩序的智能转换
18
2025年CodeBuddy是如何拯救职场危机中的我?
19
轻量化知识库方案:Docker部署Dokuwiki 的最佳实践
20
踩坑实录:别被 extended_bounds 骗了!ES 直方图聚合的边界陷阱
21
步履不停,共鸣常在:我的 2025 技术旅程与回响
22
构建AI智能体:从SVD的理论到LoRA的实践:大模型低秩微调的内在逻辑
23
[MYSQL] 恢复被drop/truncate的表
24
Sugo Protector 代码保护效果分析报告
25
前端平台大仓应用稳定性治理之路|得物技术
26
C++的5种高级初始化技术:从reserve到piecewise_construct等
27
HierLight-YOLO:面向无人机航拍的层次化轻量目标检测网络
28
金融服务领域的智能体革命:AI智能体解决方案、产业分析与技术实施的战略分析
29
大模型提示词-新手篇
30
2025,一个普通开发者的社区成长地图
31
“氛围编程”正让创意本身成为最终技能
32
AD域攻防权威指南:九.利用备份组获取域Hash
33
【跟着AI学】H5射击游戏开发实录:射击游戏
34
这一年,熬过许过夜,也有些许收获 | 2025年终总结
35
2025,一个技术徘徊者的AI工具真实答卷
36
告别手撸架构图!AI+Ooder实现漂亮架构+动态交互+全栈可视化实战指南
37
GitHub 霸榜:让你的 Claude 拥有“设计总监”级的品味,只要一行命令
38
构建AI智能体:AI古典文学:基于LoRA微调本地大模型打造唐诗生成器
39
拥抱人机共生,锻造不可替代的“金头脑”
40
[MYSQL] 5.7能否从ibdata1中提取出表DDL
41
Spring Boot 实战:手把手教你实现腾讯云 COS 对象存储文件上传
42
解密Prompt系列67. 智能体的经济学:从架构选型到工具预算
43
Google OCS光路解耦揭秘:寒武纪大爆发,从供应链双轨到CPO百万卡全光计算织物
44
未来已来 | 写给 .NET 开发者的 2025 年度总结
45
MYSQL实战:深入理解内存临时表优化
46
Ooder框架规范执行计划:企业级AI实施流程与大模型协作指南
47
openGauss 核心体系架构深度解析
48
架构视角:Jackson3新特性
49
LLM架构机制管窥:作为黑板的上下文窗口
50
LiveKit Agents 深度技术架构剖析
清单首页123文章详情

解密Prompt系列67. 智能体的经济学:从架构选型到工具预算

导读:2025年是智能体爆发的一年。然而,随着模型能力的提升,工业界开始反思:盲目增加智能体、盲目增加工具调用次数真的能“大力出奇迹”吗?本文串联了两篇Google论文,从宏观的架构选择到微观的工具预算感知,探讨如何科学地构建高效的Agent系统。 ## Part 1. 宏观选型:多智能体的科学定律 >- Towards a Science of Scaling Agent Systems 最近在很多分享交流上对于究竟使用单智能体vs多智能体有很多不同的声音。24年其实以多智能体架构为主,但是随着模型能力的提升,不少论文发现,多智能体带来的边际收益在递减,同时多智能体之间的沟通成本和信息碎片化,导致在部分任务上甚至不如单智能体的效果。 而Google这篇论文没有停留在理论争辩,而是通过严谨的控制变量实验,揭示了架构选择与任务特征之间的深层数学关系。论文试图回答: - 影响智能体系统表现的决定性变量是什么? - 智能体间的“沟通”何时是蜜糖,何时是砒霜? - 是否存在一个通用的“最优架构”? ### 实验设计:解耦与控制 为了得出上述结论,作者设计了一个非常严谨的控制变量实验。以下是其具体的实验步骤: **步骤一:明确的Agentic任务范围** 论文明确剔除了所有非智能体任务,毕竟多智能体隐式带来的Ensenble等推理效果很容易在HumanEval等任务上带来提升。这里智能体任务包含三个特点 - 多步和环境交互 - 基于部分观测的反复信息收集 - 基于反馈的策略优化 缺少以上条件的任务,其实都是在测试模型自身的推理能力,而非智能体在**动态非确定环境性下**工具调用和多步动态规划能力。基于以上条件论文选择了下面四个测试实验 - **Finance-Agent**: 高可分解性,需多视角数据聚合。 - **BrowseComp-Plus**: 动态网页浏览,具有高熵搜索空间 。 - **PlanCraft**: 基于《我的世界》GUI界面的合成数据集,包含时空数据的规划任务,具有严格的序列依赖性。 - **Workbench**: 评估业务流程自动化,涉及确定的代码执行和工具使用,例如发邮件、安排会议。 **步骤二:梳理智能体架构分类** 为了解耦“多智能体”这个概念,作者将其拆解为 5 种标准架构进行对比: - SAS:单智能体架构 - MAS:多智能体架构,论文按照信息流动方式和结构分成以下几类 - Independent:所有智能体之间没有沟通,各干各个的,等同于Ensemble模型 - Centralized:中心化模式,Cluade称之为Orchestrator,主智能体负责规划分发任务给子智能体并汇总信息,整个信息流动中存在主导者和信息瓶颈。 - DeCentralized:去中心化,所有智能体All to All通信,论文使用的是辩论模式,其实也有也有像圆桌讨论、多角色讨论等其他模式,只不过是智能体的角色和所站论点的差异。 - Hybrid:兼顾中心规划和子智能体的横向沟通的混合模式 更具体的不同智能体架构的交互深度、沟通复杂度如下 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/fdd1d01fefd11ff534db0cc5295fdf1b.png) **步骤三:变量控制** 所有架构使用完全相同的工具、指令和任务描述,和相同的总推理Token预算。所以会存在MAS下子智能体越多,那每个子智能体分配到的轮次就更少。 ### 实验结论和分析 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/153dd92faaf6dd324aec8e0ae36f1745.png) 如上图是不同智能体结构在不同任务上的实验效果,实验结果并未给出一个“万能架构”,反而揭示了**信息流结构(Information Flow Structure)**才是决定架构优劣的根本。 #### **多智能体收益高度依赖任务结构,不存在永远最优的智能体架构** - **正收益**: 在可分解、并行的任务上,例如需要多角度信息收集的Finance Agent任务上,MAS 表现出色,中心化架构(Centralized)比单体(SAS)提升了 80.9% 。 - **微收益**: 在动态搜索任务(BrowseComp-Plus)上,去中心化架构仅带来 9.2% 的提升 。 - **负收益**: 在强序列依赖的规划任务(PlanCraft)上,所有 MAS 架构都导致性能下降,降幅在 39% 到 70% 之间 。 #### **为什么多智能体在序列任务重失效?** 作为算法工程师,我们需要透过现象看本质:**这是Context Fragmentation(上下文碎片化)带来的必然结果。** 1. **高可分解性任务**:类比Finance Agent,以及单段落的大纲写作等任务 这类任务的信息流特征是**正交且独立**,所以 $P(task2|task1)\sim P(task2)$,也意味着子智能体之前几乎无需沟通交流或者状态同步,因此中心化结构能带来并发效率提升,以及覆盖更广的搜索空间。 2. **强序列依赖任务**:类比PlanCraft,以及Coding等任务 这类任务的信息流特征是**马尔科夫或者更长程的序列依赖**,所以$State_2=f(State_1, Action_1)$,意味着每个智能体都要能获取前面智能体任务执行的全部输出以及隐含假设,才能继续执行。**依赖全面完整的信息传递和大量的信息传输交流。而这正是SAS单智能体的模式** #### 重要的Scaling法则 同时论文还尝试进一步归因除架构之外的其他影响因素,包括 - **工具-协作权衡(Tool-Coordination Trade-off)**: 这是一个强负相关因素 ($\beta=-0.330$)。任务涉及的工具越多(Tool-heavy),多智能体的通信开销(Overhead)就越严重,导致效率骤降。一个可能原因在于工具越多,复杂的tool schema会和复杂的协作指令抢夺模型有限的注意力空间(类似注意力抢占在多轮对话vs工具调用中也能观测到)。 - **能力饱和效应(Capability Saturation)**: 当单体 Agent 的基线准确率已经超过 45% 时,增加更多 Agent 反而会因为协调成本带来负收益。因为高水平模型在同一任务上的一致性较高,而额外的沟通返回会引入语义漂移(类似传话过程中的传递误差)。除非是多智能体独立查询不同数据独立完成任务,否则只是推理协作提升不大。(所以本质还是信息流动的问题) - **架构相关的错误放大(Error Amplification)**: Independent架构会将错误放大 17.2倍(因为缺乏错误验证机制),而中心化架构能显著通过中心的规划智能体作为verifier对所有子智能体的返回信息尽心验证提升系统鲁棒性。 所以整体上在智能体设计上几个点很明确,第一明确你任务的信息流结构、再评估单智能体的效果、最后评估你工具的复杂度再考虑使用什么类型的多智能体结构。 ## Part 2. 微观执行:单智能体的预算感知 >- Budget aware Tool-USE Effective Agent Scaling 聊完多智能体选型,接下来我们看下如何最大化单智能体在有限工具调用下的执行效果。论文揭示了实际应用中的一个现实问题,既我们不会无限等待模型去循环往复的调用工具,我们依旧是在追寻**效率和效果的帕累托最优**。 **那Agent执行,本质就变成了一个条件优化问题,如何在有限的工具调用次数下,最大化智能体的执行效果。** ### 2.1 核心痛点:盲目的Hard Stop 现有Agent框架通常设置 max_steps(iteration)=XX 作为兜底,来强制截断模型超长的工具调用链路,但 Agent 本身不知道自己还剩多少次机会。这也导致简单的增加 step 限制并不能线性提升效果,因为 Agent 不知道自己“钱(Budget)”还剩多少,在实际任务执行时我们往往观测到**两种失败模式** - **Agent过早放弃没有收集到完整信息** - **Agent在错误,或者很难成功的道路上反复尝试导致资源耗尽** ### 2.2 解决方案Level1 - 显式感知 作者提出的 BATS (Budget Aware Test-time Scaling) 框架,本质上是在 Prompt Engineering 和控制流层面引入了模型可感知的**预算条件约束**。 指令如下,论文在Prompt中动态加入了工具调用Budget,在每轮模型进行工具调用时,显式告知模型,当前可用的工具调用次数,以及针对不同的预算剩余,模型应该如何动态调整自己的工具调用策略。 ```markdown ## Budget You have two independent budgets: - Query Budget (for search) - URL Budget (for browse) Each string in 'query' or 'url' consumes 1 unit respectively. After each <tool_response>, a <budget> tag shows remaining units. You must ADAPT your strategy dynamically to the current budget state. ### HIGH Budget (>=70% remaining) - Search: 3-5 diverse queries in one batch. - Browse: up to 2-3 high-value URLs. - Goal: Broad exploration, build context fast. ### MEDIUM Budget (30%-70%) - Search: 2-3 precise, refined queries per cycle. - Browse: 1-2 URLs that close key knowledge gaps. - Goal: Converge; eliminate uncertainty efficiently. ### LOW Budget (10%-30%) - Search: 1 tightly focused query. - Browse: at most 1 most promising URL. - Goal: Verify a single critical fact or finalize answer. ### CRITICAL (<10% remaining or 0 in one budget) - Avoid using the depleted tool. - Only perform 1 minimal-cost query or browse if absolutely essential. - If uncertainty remains and no tool use is possible, output <answer>None</answer>. ``` 论文使用多个模型,在多个任务上对比了单纯使用ReACT,和加入Budget的ReACT的效果。 1. 相同预算下,Budget Tracker可以实现更高的任务完成准确率 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/0adb38e6fba224862ad2067c826f6175.png) 2. 相同的准确率下,Budget Tracker的工具调用轮次更低 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/e78f326bea2b4ac6861d205ad38870df.png) 3. 加入Budget Tracker后,提升工具调用次数可以更加持续地带来效果提升。换言之引入Budget Tracker可以提升智能体在单任务的执行上限。 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/4ad8622011f73ea2059fbef188829106.png) ### 解决方案Level2 - 策略使用 Budget Tracker只是第一步,它负责“报账”让模型了解自己还有多少次机会,剩余全靠模型自己发挥,而再进一步我们可以系统告知模型如何利用这笔预算来规划复杂路径,包括如何优化Planning和Verification的效果。 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/1e0954c6c83e9f5e790e9a3bbd051d85.png) 论文选用的智能体架构,是两个单线程的智能体,第一个智能体Planner负责规划,并根据规划步骤逐步调用工具回答并给出答案, 第二个整体Verification负责对第一个智能体给出的答案进行校验,并判断是否需要答案已经合格,后者需要深入挖掘、或者更换搜索方向。 我们就单看下和Plan模块的结合,Budget预算对这个模块的影响包括 1. Exploration: 预算决定了搜索树的宽度。预算足 $\rightarrow$ 制定多分支探索计划;预算紧 $\rightarrow$ 制定单点验证计划 2. Verification:预算决定了回溯的深度。预算足 $\rightarrow$ 深入挖掘;预算紧 $\rightarrow$ 立刻转换方向或者直接输出答案 具体规划相关的指令如下: ```markdown ## About questions Questions contain two types of constraints: exploration and verification. * Exploration: Broad, core requirements (e.g., birthday, profession). Use these for initial searches to surface candidates. You may combine 1-2 to form stronger queries. * Verification: Narrow, specific details. Apply these only after you have candidates, to confirm or filter them. Never begin with verification constraints. Start with exploration queries, then use verification to validate the results. ## About planning Maintain a tree-structured checklist of actionable steps (each may require several tool calls). - Mark each step with its status: [ ] pending, [x] done, [!] failed, [~] partial. - Use numbered branches (1.1, 1.2) to represent alternative paths or candidate leads. - Log resource usage after execution: (Query=#, URL=#). - Keep all executed steps, never delete them, retain history to avoid repeats. - Update dynamically as you reason and gather info, adding or revising steps as needed. - Always consider current and remaining budget when updating the plan. ``` 引入以上指令和Budget Tracker后,会观测到模型在不同预算前提下做出的如下行为改变。 ![image](https://developer.qcloudimg.com/http-save/yehe-6190096/b95375afd5ec89a0d88ced4d5189702e.png) 再进一步感觉可以把不同Latency要求场景中,对于模型尽量快执行完成、或者尽量更全收集信息等差异化约束条件,以及不同工具在不同场景的使用优先级打分等都作为模型可以动态感知信息注入到模型上文中,把当前RL Agent训练的思路都显式注入到推理上文中,是个值得尝试的思路。 想看更全的大模型论文·微调预训练数据·开源框架·AIGC应用 >> [DecryPrompt](https://github.com/DSXiangLi/DecryptPrompt) ---- 2025年最后一天了,唠2块钱的,高烧已经烧了三天烧的一时不知今夕是何夕,似乎每次项目一上线,人一泄劲免疫力就跟着出走,睁眼一看已经是31号了,趁着早上烧还没起来抓紧把年底最后一篇博客传了。 ~2026年祝自己和爸爸妈妈都身体贲棒,吃嘛嘛香,也祝大家明年都健健康康,无病无灾~今年就许了这一个愿望,希望会成真哦~

下一篇
举报
领券