智能体就只是文件:当配置取代 Python
关联
这一集来自一场开发者大会的分享(大会第四天、主题演讲前的最后一场),主角是 Google 的一位工程师。他要论证一个正在发生的转变:智能体(agent,让大模型在循环中反复调用工具、直到完成目标的程序)的编写方式,正在从「写 Python 代码」变成「写文件」。他的演示方式很直接:用三种不同方法构建同一个 GitHub PR 审查智能体,每换一版就删掉一部分代码——最后代码几乎全没了,剩下的全是文件。
第一版:原始 Python 循环,什么都自己写
大约一年到一年半以前,写智能体基本等于用 Python 写一个循环:定义 JSON schema(告诉模型能调用哪些工具的格式说明)、写 Python 函数、检查 LLM 输出是函数调用还是文本、匹配类型、调用工具、处理错误、来回往复。演示里这一版有 agent 主文件、系统指令文件、工具的 JSON schema 定义,外加用 GitHub API 手写的工具实现。
跑起来能用,但局限明显:让agent做没定义过的事,它只会说「我做不到」。这一版里你必须亲手做的事很多——执行循环、工具路由、写 schema、写工具代码、管理状态。
第二版:交给智能体框架,删掉循环和 schema
然后智能体框架(如 ADK)出现,把样板代码抽象掉了:工具循环、函数调用、重试、错误处理都由框架的 agent 类接管,JSON schema 也不用写了——框架直接从 Python 函数的签名即时生成 schema 供模型用。这一版的 agent 文件消失了,系统提示词和工具实现还在。但问题依旧:工具还是得自己用 Python 写,你得非常明确地声明 agent 能做什么;问它旧金山天气,它还是答「我没有天气 API 的权限」。
第三版:远程智能体 + 云端沙箱,代码彻底消失
关键转折在 Google I/O 上发布的 anti-gravity 远程 agent(Gemini API 上的新能力)。它带来一个 environment 参数:agent 可以访问一个托管的、隔离的云端沙箱(一套隔离的远程 Linux 环境),在里面跑 bash 命令、读写文件、执行工具。
于是演示的第三版里,整个 source 目录都没了,只剩下一个 agents 文件夹:一个 agents.md 文件写系统指令,一个 Bash 脚本负责「GitHub CLI 没装就第一轮自动装上」。你不再为「读 PR、取 diff」写专门工具,只告诉 agent:你有 GitHub CLI、有 Bash、有文件系统,觉得有用就用。
效果立竿见影:agent 自己探索沙箱、发现 CLI 没装、装上、然后用它审查 PR;问旧金山天气,它直接调内置的 Google 搜索,查到当天约 20 摄氏度——通用工具 + 模型自己的知识,胜过一堆精心定义的专用工具。
后端发生的事很简单:就一次 API 调用。Google 启动云沙箱、加载 agents.md 和 skills,模型在 API 和沙箱之间自己做所有循环——调函数、拿结果、再调。服务端还替你管着会话状态、上下文窗口和压缩(对话太长时自动压缩上下文,你不用管)。
安全与复用的设计细节
沙箱里的 agent 看不到你的凭据:Google 在沙箱外面包了一层网络代理,agent 向外发请求时代理才注入你定义的令牌,agent 只知道「我能调 GitHub API」。你还可以限制它能访问哪些域名(留空即全部默认放开),以及用 GitHub 仓库、GCS bucket 或内联文件作为 sources 提供代码。另外还有 agents API:把你自定义的系统指令、环境、凭据注册成一个带 ID 的 agent,之后像调 Gemini 模型一样调它,现有代码全部复用。
行业在验证同一个方向
演讲者引用了几个例子:Cursor 在欧洲 AI Engineer 大会上分享,他们用 200 行 agent 文件替换了约 12000 行 TypeScript 代码——原本是硬编码的 Git Worktrees(并行开多个工作目录的 Git 机制)编排逻辑,换成一个 skill 加 markdown 文件就搞定了。Manos 去年六个月内重构了五次 harness(驱动 agent 运行的底层框架),LangChain 一年内重新架构 OpenDeep Research 三次,Vercel 移除了 80% 的工具,换来更少步骤、更快响应、更好准确率。
他总结的判断很锋利:模型能力越强,能删的编排代码越多;如果你的 harness 随模型进步反而越来越复杂,你大概率是在过度工程化。
扩展方式也变了:加文件,不改代码
以前给 agent 加个安全扫描功能,要写 Python 函数、定义新 schema、注册进工具列表。现在只写一个 SkillsMD 文件(说明用哪个 CLI 工具),或者往环境里放一个 CLI 工具就行——不改一行代码,由 agent 自己决定怎么用。文件还能让 agent 学习和自我积累:让它在会话里记住某条规则或偏好,它就写进磁盘、下个会话复用;长会话中途要开新任务,把交接信息写进文件,让 agent 之后接手。
最后的行动清单
不要和模型对抗:不要事无巨细地替模型规定每一步执行路径,给通用工具,让模型自己探索出解法。管好属于你的部分:领域指令、工作流、尤其是 evals(评估),定义干净的工具,验证结果。
以及「为删除而构建」——模型越好,能删的代码越多,设计时就该预期这一点。现场观众扫二维码即可进 AI Studio 试用 anti-gravity harness,API 免费额度在做了。
本集带走
- 三条演进线:手写 Python 循环 → 框架接管循环和 schema → 远程 agent + 云沙箱接管一切;你的代码从几百行减到只剩配置文件。
- 通用工具优先于专用工具:与其为每个场景写工具,不如给 agent Bash、文件系统和 GitHub CLI,加上一句「装好 CLI」的引导脚本——连查天气这种没定义过的任务它也能自己解决。
- 凭据安全靠代理注入:agent 在沙箱里永远看不到你的令牌,代理在它外发请求时才注入;还能按域名限制网络访问。
- 扩展 = 加文件:新能力写成一个 SkillsMD 或放一个 CLI 进环境,不改代码;偏好和交接也可以让 agent 自己写进文件。
- 判断 harness 是否健康的标准:模型变强时你的编排代码在变少还是变多?变多就是在过度工程化。
在欧洲的 AI Engineer 大会上,Cursor 做了一个很棒的演讲,讲他们如何用 200 行 agent 文件替换了大约 12000 行 TypeScript 代码来实现类似的东西。
So at AI engineer in Europe, Cursor did a great talk on how they replaced roughly 12,000 lines of TypeScript code with 200 lines agent files to create something similar.
—— Philipp Schmid · [15:25]
一个明显的趋势是,随着模型能力提升,我们可以移除编排代码;但如果你的 harness 在模型进步时反而变得更复杂,你很可能是在过度工程化你的 harness。
An obvious trend that with better model capabilities, we can remove orchestration code, but if your harness is getting more complex as the model improves, you are most likely overengineering your harness.
—— Philipp Schmid · [16:05]
智能体就只是文件。
Agents are just files.
—— Philipp Schmid · [16:30]
我们不应该和模型对抗。
We should not fight the model.
—— Philipp Schmid · [17:07]
我们应该停止微管理执行路径,给智能体提供通用的工具,让模型去探索。
Like, we should stop micromanaging the execution paths, provide general tools to the agent, and let the model explore.
—— Philipp Schmid · [17:08]
掌管属于你的部分:专注于你的领域指令、工作流,尤其专注于 evals,定义干净的工具,验证结果,真正做到为删除而构建。
Own what is yours, meaning focus on your domain instructions, focus on the workflows, focus especially on the evals, define clean tools, and verify the outcomes, and really build to delete.
—— Philipp Schmid · [17:16]
我们在过去已经见过很多很多次:模型越好,我们能移除的代码就越多,我们需要改变的东西也越多。
Like, we have seen in the past many, many times, the better the model gets, the more code we can remove, and the more things we need to change.
—— Philipp Schmid · [17:27]
LangChain 一年内重新架构了他们的 OpenDeep Research 三次,还有 Vercel 移除了 80% 的工具,以实现更少的步骤、更快的响应和更好的准确性。
LangChain has re-architected their OpenDeep research three times a year, and then also Vercel has removed 80% of their tools to achieve fewer steps, faster responses, and better accuracy.
—— Philipp Schmid · [15:54]
顺着「智能体」挖下去
- 模型不再是护城河,谁在围绕模型建「自己的智能」同公司:LangChain、Cursor · 同概念:evals、harness、智能体 (agent)、沙箱 (sandbox)
- 黄仁勋对话 LangChain:用开放堆栈打造企业超级智能体同公司:LangChain、Google · 同概念:harness、智能体 (agent)、沙箱 (sandbox)
- 拥有你自己的智能:Harness、Eval 与数据飞轮同公司:LangChain · 同概念:evals、harness、智能体 (agent)、沙箱 (sandbox)
换个口味
- Anthropic 的 Thariq 谈 Claude Code:提示词、CloudMods 与给前沿踩刹车同概念:evals、harness、智能体 (agent)、沙箱 (sandbox)
- 技能工程的九种黑暗艺术:把 Skill 从提示词做成 Harness 扩展同公司:Cursor、Gemini · 同概念:evals、harness
- 没有暗GPU:一位基金经理拆解AI泡沫论与棋局同公司:Cursor、Gemini、Google
