3K行代码干翻50万行,复旦GenericAgent开源

模型上新

复旦大学联合深企夸夸菁领开源自进化智能体GenericAgent,仅约3300行代码实现自组织、自学习、自进化能力,Token消耗降低6倍,已能自主操控浏览器、发朋友圈甚至与人交互。

复旦大学知识工场实验室联合深圳企业夸夸菁领,正式开源了一个名为 GenericAgent 的自进化通用智能体项目。这个项目在开发者社区迅速引发关注,原因很直接——整个项目代码量仅约 3300 行,核心模块甚至只有数百行,却实现了传统智能体架构动辄 50 万行代码才能覆盖的能力。

这不是又一个套壳 wrapper。它在架构层面做了一件值得认真看的事。

先说它到底能干什么

GenericAgent 的定位是「自进化通用智能体」,三个关键词:自组织、自学习、自进化。具体来说,它能够:

  • 自主读屏,理解当前屏幕上的 UI 元素和内容
  • 操控键鼠,像人一样点击、输入、滚动
  • 编写和执行代码
  • 自主浏览网页、操作浏览器
  • 甚至能发朋友圈、与人进行社交互动

没错,复旦团队演示了让 GenericAgent 自主发朋友圈并与好友互动的场景。这听起来像个噱头,但背后反映的是智能体对复杂 GUI 操作链路的完整掌控能力——从识别界面元素、理解交互逻辑,到规划操作步骤、处理异常反馈,整条链路都是自主完成的。

GenericAgent 自主操控浏览器执行复杂任务的流程示意图

3300 行代码,怎么做到的?

这是最值得聊的部分。

传统的智能体框架,比如早期的 AutoGPT、BabyAGI,或者后来的各种 Agent 框架,普遍面临一个问题:为了覆盖足够多的场景,代码量急剧膨胀,模块之间耦合严重,维护成本极高。很多框架动辄几万甚至几十万行代码,开发者想读懂都费劲,更别说二次开发了。

GenericAgent 反其道而行之,走了一条极简路线。它的核心设计思路可以概括为:

把复杂度从代码转移到语义层。

具体来说,GenericAgent 采用了 Markdown 和语义文件系统来实现大模型的持续学习。它不是把所有逻辑硬编码在代码里,而是通过结构化的 Markdown 文档来定义操作规范(SOP)、记忆存储和技能描述。代码只负责最核心的调度和执行逻辑,「知识」和「经验」则以语义化的文档形式存在。

这带来一个巨大的优势:代码量就是上下文优势。

3300 行代码意味着什么?意味着你可以把整个项目的源码直接喂给大模型,让它完整理解整个系统的架构和逻辑。对于任何一个开发者来说,花一个下午就能通读全部代码。这在动辄几十万行的传统框架里是不可想象的。

项目的记忆和技能体系也很有意思。从仓库结构来看,它维护了专门的 memory/ 目录,里面存放着各种 SOP 指南,比如:

  • tmwebdriver_sop.md——Web 驱动操作的标准流程
  • ljqCtrl_sop.md——控制逻辑的操作规范

这些 SOP 文档本质上就是智能体的「肌肉记忆」。当智能体遇到新场景时,它可以参考已有的 SOP 来规划行动;当它学会了新技能,又可以把经验沉淀为新的 SOP 文档。这就是「自进化」的含义——不是靠重新训练模型,而是靠不断积累和优化操作经验。

Token 消耗降低 6 倍,这个数字意味着什么

对于实际跑智能体任务的开发者来说,Token 消耗是一个非常现实的问题。

当前主流的 Agent 框架在执行复杂任务时,往往需要大量的 Token 来维持上下文、进行多轮推理和工具调用。一个稍微复杂点的浏览器操作任务,轻轻松松就能烧掉几万甚至几十万 Token。按照 GPT-4o 或 Claude 的定价,跑一个任务的成本可能就要好几美元。

GenericAgent 声称将 Token 消耗降低了 6 倍。如果这个数字可靠,那意味着同样的任务,成本直接从几美元降到不到一美元。对于想要在生产环境中部署智能体的团队来说,这是一个质的变化——从「玩具」变成了「可用」。

Token 消耗的降低主要得益于极简架构带来的上下文效率提升。代码量少,系统 prompt 就短;SOP 文档结构化程度高,检索效率就高;不需要在每次调用时都把整个框架的上下文塞进去。这是一个很朴素但很有效的优化思路。

如果你在用 API 跑类似的智能体任务,通过 OpenAI Hub 可以一个 Key 调用 GPT、Claude、Gemini、DeepSeek 等主流模型,国内直连且兼容 OpenAI 格式,方便你根据任务特点灵活切换底层模型,进一步优化成本。比如简单的 UI 识别任务用性价比更高的模型,复杂推理任务再切到 Claude 或 GPT-4o。

一个典型的调用示例:

from openai import OpenAI

client = OpenAI(
    api_key="你的 OpenAI Hub Key",
    base_url="https://api.openai-hub.com/v1"
)

# 用 Claude 做复杂任务规划
planning_response = client.chat.completions.create(
    model="claude-sonnet-4-20250514",
    messages=[
        {"role": "system", "content": "你是一个任务规划智能体,根据用户目标拆解操作步骤。"},
        {"role": "user", "content": "帮我打开浏览器,搜索最新的 AI 论文并整理摘要"}
    ]
)

# 用 DeepSeek 做性价比更高的子任务执行
execution_response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "根据以下操作步骤,生成具体的浏览器操作指令。"},
        {"role": "user", "content": planning_response.choices[0].message.content}
    ]
)

这种「规划用强模型、执行用轻模型」的混合策略,配合 GenericAgent 的低 Token 消耗架构,能把智能体的运行成本压到相当低的水平。

浏览器操控:Chrome 插件 + CDP Bridge

GenericAgent 的一个亮点是它的 Web 操控能力。项目提供了一个 Chrome 插件(位于 assets/tmwd_cdp_bridge 目录),通过 Chrome DevTools Protocol(CDP)实现对浏览器的精细控制。

CDP 是 Chrome 提供的底层调试协议,Puppeteer 和 Playwright 等工具都是基于它构建的。GenericAgent 直接走 CDP Bridge,意味着它可以:

  • 获取页面 DOM 结构和渲染信息
  • 模拟真实的用户输入事件
  • 截取屏幕快照用于视觉理解
  • 拦截和修改网络请求

有意思的是,社区里已经有开发者在讨论把 GenericAgent 的 Web 操控代码「蒸馏」给 Claude Code 使用。也就是说,把 GenericAgent 积累的浏览器操作经验和 SOP,转化为 Claude Code 可以直接使用的知识。这种跨智能体的经验迁移,某种程度上验证了 GenericAgent 语义化记忆体系的可移植性。

跟同类项目比,它的位置在哪?

当前 Agent 赛道相当拥挤。我们简单做个对比:

项目 代码量 核心特点 Token 效率 上手难度
GenericAgent ~3.3K 行 自进化、语义记忆 高(6倍优化)
AutoGPT 数万行 通用自主 Agent 中等 中等
OpenInterpreter 数千行 代码执行为主 中等
Browser Use 数千行 浏览器操控 中等
Claude Code 闭源 编码 Agent

GenericAgent 的独特之处在于它同时做到了「极简」和「通用」。大多数极简项目只能覆盖单一场景(比如只做浏览器操控或只做代码执行),而 GenericAgent 通过语义化的 SOP 体系,理论上可以扩展到任意场景。

但也要说一句实话:目前项目还处于比较早期的阶段。社区里有开发者表示「mark 住了,等后续」,说明大家对它的潜力认可,但对成熟度还持观望态度。自进化能力到底能进化到什么程度、在复杂真实场景下的稳定性如何,这些都需要更多实际验证。

对开发者来说,值得关注的几个点

第一,极简架构的哲学值得学习。 不管你用不用 GenericAgent,它「把复杂度从代码转移到语义层」的思路都值得借鉴。在大模型时代,很多传统的软件工程范式正在被重新审视。代码不一定越多越好,有时候少即是多。

第二,SOP 驱动的自进化机制有想象空间。 如果智能体真的能通过不断积累 SOP 来持续提升能力,那它的成长曲线会非常陡峭。每个用户的使用过程都在为智能体贡献经验,这是一个正向飞轮。

第三,Token 成本的优化是实际落地的关键。 6 倍的 Token 消耗降低,如果能在更多场景下得到验证,会让很多之前因为成本问题搁置的 Agent 应用变得可行。

第四,跨智能体的经验迁移是一个有趣的方向。 社区已经在尝试把 GenericAgent 的经验蒸馏给其他 Agent 使用,这暗示了一种未来可能的生态模式——智能体之间不只是竞争关系,还可以互相学习。

写在最后

复旦团队用 3300 行代码证明了一件事:在大模型时代,智能体框架的核心竞争力不在于代码量的堆砌,而在于架构设计的优雅和对 LLM 能力的充分利用。

当然,开源项目的价值最终要靠社区来验证。GenericAgent 能不能从一个「令人眼前一亮的项目」变成一个「真正好用的工具」,取决于后续的迭代速度和社区生态的建设。

但至少在现在,它给了我们一个很好的参考样本:Agent 框架不一定要越做越重,有时候回归简单,反而能走得更远。


参考来源