命令行工具
lsdefine/GenericAgent avatar
lsdefine/GenericAgent

GenericAgent:三千行种子代码长出的自进化技能树

自进化代理:从 3.3K 行种子开始生长技能树,以减少 6 倍的代币消耗实现完整的系统控制。

14,188 个 Star1,650 个 ForkPythonMIT

秒懂

它是什么?
GenericAgent 用 9 个原子工具和约百行 Agent Loop 构建最小自主体框架,任务完成后自动沉淀为 Skill,官方宣称可将上下文窗口压到 30K 以内。本文拆解其机制、上手路径与适用边界。
适合谁用?
适合需要让 LLM 直接操作本地系统(浏览器、终端、文件、ADB 设备)且在意 token 成本的个人开发者或小团队,尤其是愿意让 Agent 自己装依赖、自己长技能的用户。不适合需要严格可预测行为、对安全边界要求极高的生产环境,也不适合不想维护 Python 3.11/3.12 环境的团队。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 2 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是「每次从零开始」的浪费

主流 Agent 框架把大量工具和提示词预先塞进上下文,每次任务都重新推理一遍。GenericAgent 换了个思路:不预载技能,任务完成后把执行路径结晶成 Skill 存下来。下次遇到相似任务,直接复用,而不是重新摸索。这个设计针对的是 token 消耗和重复劳动。官方声称上下文窗口可压到 30K 以内,而其他 Agent 动辄 200K 到 1M。对 API 计费敏感的个人开发者来说,这个差异直接反映在账单上。它面向的是想让 LLM 真正操作本地电脑的人:浏览器、终端、文件系统、键盘鼠标、屏幕视觉、ADB 设备,全在 9 个原子工具的覆盖范围内。

三千行代码如何撑起系统级控制

核心只有约 3000 行,Agent Loop 约 100 行。依赖刻意分层:核心只需要 requests 加四个轻量包(beautifulsoup4、bottle、simple-websocket-server、aiohttp),后者用于 TMWebdriver 的本地服务器。没有 Playwright,没有 LangChain,没有浏览器二进制下载。TMWebdriver 注入真实浏览器,保留登录会话,所以能过 hCaptcha 这类验证。9 个原子工具直接控制系统,具体是哪 9 个,README 没有逐一列出,但根据描述可以推断覆盖浏览器、终端、文件、输入、视觉、ADB。架构上它把复杂度从预置工具转移到运行时演化:工具少,但每个都能被 Skill 组合成复杂流程。

自进化机制:从任务到技能树的路径

每次解决新任务,GenericAgent 自动把执行路径结晶成可复用的 Skill。用久了,技能越积越多,形成一棵从 3K 行种子代码长出的个人技能树。README 给出了一个极端的自举证明:仓库里从安装 Git、执行 git init 到每次 commit,全部由 GenericAgent 自主完成,作者没开过一次终端。这个说法无法从代码层面验证,但它说明了设计意图:Agent 不仅执行任务,还改造自己的运行环境。注意,这也意味着系统会自主安装依赖、修改配置,如果你对 Agent 的行为有严格预期,这个特性可能让你不安。

上手:两条路径,一条给人类,一条给 Agent

人类安装推荐克隆仓库后用 uv 建虚拟环境:先执行 git clone 和 cd,然后 uv venv && uv pip install -e ".[ui]",再复制 mykey_template_en.py 为 mykey.py 并填入 API key。启动终端 UI 用 python frontends/tui_v3.py,Streamlit 网页 UI 用 python launch.pyw。如果你只想无头跑,可以跳过 [ui] extra。另一条路径是给 LLM Agent 用的:curl 拉取官方安装文档,让 Agent 自己读自己装。还有一行安装脚本,Windows 用 PowerShell,Linux/macOS 用 bash,脚本在 assets/ 目录下,建议先读再执行。README 特别警告:Python 必须用 3.11 或 3.12,3.14 不兼容 pywebview 等依赖。

兼容性与前端:多模型、多界面、但 Windows 有坑

模型支持 Claude、Gemini、Kimi、MiniMax 等主流产品,跨平台。前端有终端 UI(推荐)和 Streamlit 网页 UI。终端 UI 基于 prompt_toolkit 和 rich,支持多会话并发和实时流式输出。但 Windows 上渲染可能不稳定,README 给出了具体排查:先升级 prompt_toolkit 和 rich,然后建议用 Git Bash 而不是 PowerShell 或 cmd,因为后两者的 Unicode 和快捷键支持粗糙。这个细节说明,项目虽然跨平台,但 Windows 上的体验依赖终端环境,不是开箱即用。

演示场景与实际限制

README 展示了几个演示:配置 Discord 机器人时遇到 hCaptcha,真实浏览器会话直接通过;自动浏览网页并定期总结;用自然语言点奶茶外卖;按条件筛选 GEM 股票;通过 ADB 驱动支付宝查三个月内超过两千元的支出;批量发送微信消息。这些场景都依赖真实会话和系统级控制,也正是风险所在。限制很明显:它需要你信任 Agent 能自主操作真实环境,包括真实浏览器、真实支付应用、真实社交软件。一旦 Skill 沉淀了错误的操作路径,可能重复执行有害动作。另外,README 没有提供任何基准测试数据,30K 上下文和 6 倍 token 节省是官方宣称,没有第三方验证。

替代方案:预置工具 vs 运行时演化

与 GenericAgent 形成对比的是 LangChain 这类预置工具链框架。LangChain 的思路是提前定义大量工具、记忆模块和链式调用,Agent 在运行时从预置组件里拼装。GenericAgent 反过来,初始工具极少,靠任务沉淀 Skill 来扩展能力。前者可预测性高,但上下文开销大;后者 token 效率高,但行为不可预演。另一个对比是 Playwright 驱动的浏览器自动化框架,它们专注浏览器,不覆盖终端和 ADB,而 GenericAgent 把浏览器只是当作 9 个工具之一。如果你只需要浏览器自动化,专用工具更轻;如果你要全系统控制且愿意承担自进化风险,GenericAgent 的路径更短。

维护成本与许可证

项目采用 MIT 许可证,商用和修改都自由,但 README 声明 DintalClaw 是唯一授权商业合作伙伴,其他关联方不受认可。这个声明没有法律效力,只是项目方的立场声明。维护方面,最近一次提交是 2026 年 8 月,有桌面便携版发布,说明项目在活跃迭代。但依赖 Python 3.11/3.12 的硬性要求意味着你需要锁定 Python 版本,不能随意升级。升级成本主要在 Skill 的兼容性:如果框架更新改变了工具接口,旧 Skill 可能失效,需要重新沉淀。README 没有提供迁移指南,这是采纳前需要自己验证的点。

编辑结论

适合需要让 LLM 直接操作本地系统(浏览器、终端、文件、ADB 设备)且在意 token 成本的个人开发者或小团队,尤其是愿意让 Agent 自己装依赖、自己长技能的用户。不适合需要严格可预测行为、对安全边界要求极高的生产环境,也不适合不想维护 Python 3.11/3.12 环境的团队。采纳前先验证三件事:你的模型是否支持其工具调用格式;在隔离虚拟机里跑一遍安装脚本并观察其自主安装行为;检查 Skill 沉淀后是否引入你不想要的系统改动。GenericAgent 的卖点是自进化,但自进化意味着不可完全预演,这是它的核心能力,也是它的核心风险。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记