AI图鉴

AI图鉴首页 › AI 资讯 › 优化与 Gemini 4 Argon 的20万行 Python 代码库

优化与 Gemini 4 Argon 的20万行 Python 代码库

来源:Google Developers · 发布时间:10-28 · 由 AI图鉴每小时自动聚合

我们的工程团队如何用.agents/技能和/目标模式在长塞西欧将模拟会前管理费削减40%

OCT. 13, 2026 (英语).

当一个新的型号发布时,大多数演示显示从空文件夹构建的绿地应用。 他们很有趣看。 他们也很少告诉一个工作软件工程师该模型如何处理一个现有的代码库。

对于Gemini 4 Argon的发布,我们想测试它是否可以在一夜之间就一个更棘手的问题进行无人关注的运行:在google/adk-python中找到并修复跨文件性能瓶颈。 Agent开发Kit(ADK)是Google的开源建设和部署企业agents的框架。

Python寄存器跨越近800个源文件的大约205,000行代码,辅以近17000个单元测试。

性能工作对于一个模型来说是一个艰难的考验,因为你不能仅仅打开一个文件并发现减速。 你必须直观地看症状的出现地点并持有一个地图说明整个密码库如何在很长一段时间内相互配合

这篇文章通过提示,. 你会看到运出的两个优化,我们在审查中拒绝了四个,以及如何在您自己的代码库上设置相同的一夜间的工作流程。

图1:ADK在第一个模型请求前的间接费用,在50和150转后测得。 Argon的变换削减在两个点上都增加了约40%,因此节省的时间随着会话的延长而增加。

大多数使用编码的agent的性能工作仍然运行在紧凑的人类循环中:工程师运行一个剖面仪,将模型指向单一的热函数,并指定固定。 我们想看看阿贡会怎么做只要得到团队关心的结果

在第一回合,我们用零自定义寄存器指令测试了Argon. 我们给了它这个单一的段落:

让 ADK 在任何 agent 中不添加显著的间接费用:

在启动时,在长会话中,在多agent和

工作流程设置。 保持模型得到的和

公共 API 不变,并背对每个变化

并进行一个能避免倒退的测试。

第1轮跑约2小时。 Argon写了7分钟的基准测试脚本,在编辑ADK源的单行之前花了70分钟测量和读取代码,在会话复制和包导入中发现了真正的瓶颈。 第一回合的部分密码进入了我们运送的最后任务

第一轮不足的是维护者公约。 因为Argon不知道ADK团队是如何审查代码的,所以在ADK的认证模型中附加了一个自定义钩子,潜移地改变了其公开的JSON schema,在自定义的复印机中错过了模拟事件边缘案例,只运行了附近的216个单元测试,并将基准测试数字从它的拉动请求描述中留下。

第一回合证明确实有需要加快的速度,所以我们设置了第二轮,并进行了两次调整。 首先,我们把团队的维护者指南放入寄存器的.agents/技能目录,就像新工程师的登机指南。 每个技能都以一个简短的SKILL.md索引开始,该索引在需求时指向焦点引用/文件,因此我们不会在每个转弯时淹没agent的上下文窗口。 Argon在9:11开始运行(图2)时

图2:阿尔贡的首发比赛时间为2小时,与其同球的11小时连夜比赛相比。 第1轮自行发现真正的加速,而第2轮则遵循Repo常规,运行了全部16,892个单元测试,并打开了审查准备的拉力请求。

第二,我们开启了Google反重力的/目标模式,它保留了整个上下文的收缩目标,因此agent一直运行到任务完成。 我们还加了两句,要求用前后的号码提出未出现的拉力请求:

/ 目标使 ADK 在任何 agent 中无明显的间接费用:

在启动时,在长会话中,在多agent和工作流程设置中。

保持模型得到的和公开的API不变,并用一个能够捕捉回归的测试回回每一个变化。

打开一个对主调请求,ADK 维护者将批准,并在描述中注明前后的数字。 别合并了

随着.agents/技能在repo和/oal模式中活跃,Argon在一夜之间跑出了11个小时无人看管(图3).

图3:阿尔贡一夜ADK在Google抗重力运行。 /目标速率在完成工作时仍被固定在窗口的上下方,然后倒塌成摘要块,因此原始规则会停留在几小时的编辑,基准测试和测试运行中查看。 (Screenshot在公共Antigravity接口重播,以删除内部的工作空间细节。

第二天早上看过夜的会话记录时,立即出现了一些行为。 在触摸源代码之前,Argon读取了12个准则文件,并运行了一个基线基准测试,跨越了四个测试工作量:包启动,200步对话,20个子agents手相交任务的测试应用,以及12节点工作流程,运行30次。 甚至在完成11小时运行前的3分钟,Argon仍在审计自己的diff,在自己的多agent缓存中捕捉到一个错误,并重新运行所有16,892个单元的测试,然后自己停下来。

更重要的是,Argon做了跨模块的腿部工作一个剖面仪不能为你做。 一个剖析器会告诉你,复制会话和导入包需要时间。 它不会做的是追踪每一个呼叫者,模拟目标,和共享参考在40个文件,这样这些路径的加速不打破现有的应用。

总体而言,阿尔贡的拉力请求提出了跨越32个文件的6个优化。 其中的两种优化方式清空地解决了ADK的核心瓶颈并运至生产:

ADK运行中的每一步都从装入对话历史开始。 之前,ADK的内幕会话服务在过滤到一个呼叫者要求的事件之前,深入复制了每个读数上存储的全部对话。 甚至列出没有它们的活动的会话,先复制每个活动。 Argon更新服务,在复制前过滤事件,并将Pydantic关于会话和事件的通用深复制路径替换为快速,循环安全的复印机,保存共享的状态词典和测试模拟。

运行导入 google.adk 之前在模块中拉动用于直播音频和视频流,OpenTeleometry tracking,以及网络服务器(FastAPI和Starlette)甚至用于一个基本的文本 agent. 简单地删除一个框架中的顶级导入会打破直接模拟模块属性的下游测试。 当Argon的圆二拉力请求从llm agent.py中移除了3个内部流量进口时,所有16,892个开源测试都通过了,然而25个内部的Google测试目标却因为补齐了这些准确的属性而失败。 所运出的固定装置使用懒惰的模块存取器,所以重包装载只进行首次使用,而每个公共属性都保留在测试预期的地方补丁。

阿贡提出的其他四个优化方案呢?

我们发现这个模式有创意的解决方案,其中一些创造性想法进入了框架规则,而打破变革是不可接受的。

图4:阿尔贡晨间拉力请求的6个优化,我们发运的2个和我们剪切的4个代码检讨。 我们保留了会话副本和懒惰进口的改动,这些改动能把真正的管理费用干净地削减掉,并放弃了那些依赖于脆弱状态,私人图书馆内部,或者只靠合成收益的四项。

在代码审查期间,我们拒绝了其他四个修改:

- 一个多agent事件缓存将合成的基准测试加速了17%,然而却依赖于一个薄弱的内存参考,如果Python在垃圾收集后重新使用内存地址,那么它可以返回整个会话中呆滞的数据。

- 遥测检查读取了OpenTeleometter的跟踪器执行上的私人属性,这可能会在微小的图书馆升级时无声破解。

- 重写 ADK 格式对话历史之前的每个模式调用使得核心代码路径更难读而不移动端到端 latency on our exident holdout 基准测试。

- 工作流程事件重播的检索索引增加了状态跟踪的复杂度,这只有助于合成重播测试,而不是日常的agent运行。

这种分工是工作流程起作用的原因:agent探索,维护者减去。 我们把第1和第2轮的最好部分合并成22个文件的更改,辅以17个新的测试功能。 经过整个ADK团队的审查,它主要以承诺注释"Argon产生了这些变化"登陆。

为了理解承诺信息中的数字,它有助于了解ADK所谓的转弯。

当工程师输入一个提示,得到一个最后的答案后,ADK称这为引用。 转动是每一次agent行为时在引擎盖下的一个内部步骤:调用工具,运行一批平行工具呼叫,或查询MCP服务器。

使用agent框架的原因是多回合制工具调用,其中运行下发生数十或数百个内部转弯。

在两轮运行前,我们写了一张Argon从未见过的独立悬疑基准测试(bench turn.py). 在shang turn.py中,一个单会话通过转弯与即时模型和即时工具变长,所以时钟上的每毫秒都是ADK自己的框架俯冲。 每个转弯在返回答案之前运行三轮四个平行工具呼叫,计时5在0,50之后转弯,150更早转弯。 下面的每个数字是6到12运行的中位数,在每次转弯时,模型都会在变化前后收到字节相同的请求。

我们测试了5个基准测试的合并承诺(图5):

图5:Argon改变之前和之后所有五个坚持者基准测试的中间ADK框架间接费用。 会话准备在长会话中会下降约40%,包导入时间会下降21%,而第一个请求的新进程时间会保持平整,因为第一个回合会推迟模块加载。

如何为您自己的 agents 读取这些数字:

21 % 的快速导入 google.adk 帮助每个 ADK 用户立即,加速 CLI 命令,本地开发,以及测试发现。 因为agent运行第一转弯时仍会延迟模块加载,所以从全新的过程到第一个模型请求的时间会保持平整(3.07s至3.09s). 在制作服务器上,在接受直播之前发送一个热身请求,这样第一个用户呼叫就不会支付一次性的导入费用。

- 40%的模型前间接费用削减适用于InMemorySession Service,它授权InMemoryRunner,本地评价环路,CI测试套件,以及默认的Cloud Run或GKE在未配置外部数据库 URI时的部署。 在一次需要几秒钟的LLM呼叫中,人类不会感觉到28ms或78ms. 然而,在158个内部工具回合中,这些副本的复合体:将全部158个回合从65.6秒移到56.1秒(近10秒纯框架高空)。 外部数据库,SQLite,Gemini平台,Firestore,和Redis会话存储从存储中解冻,而不是在内存中深层复制,因此他们的阅读时间不会在这里改变。

企业开发商和建设商可以在ID gemini-4-argon模式下的Gemini平台通过API访问Argon,在Google AI Studio中,在Google Antigravity中。

审查模版卡和开发商指南,以了解完整的技术规格、标志限制和迁移指示。

- ADK的 Python 快速启动

- 审查合并拉力请求和基准测试直接以google/adk-python方式承诺。

- 复制 agents/技能布局的 google/adk-python,如果您想要在无人看管的运行前给 agents 您的repo 建筑规则和CI检查。

本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

相关免费羊毛

同源资讯

阅读原文(developers.googleblog.com)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI图鉴首页 · 提交工具 · 商务合作 · 关于本站 · 593 款 AI 工具分类导航 · 每日 AI 热门项目与动态