当前位置: 首页 > news >正文

3K 行代码造一个越用越聪明的 AI Agent:GenericAgent 登顶 GitHub Trending

3K 行代码造一个越用越聪明的 AI Agent:GenericAgent 登顶 GitHub Trending

最近 GitHub Trending 上冲出一个项目,叫 GenericAgent,4.4K Star,核心代码只有 ~3K 行。我看完 README 的第一反应是:这玩意儿的哲学太有意思了——不预设技能,靠进化获得能力

更离谱的是,整个仓库从 git init 到每一条 commit message,全是 GenericAgent 自己完成的。作者全程没打开过终端。

本文提纲

  1. GenericAgent 是什么
  2. 自我进化:跟其他 Agent 框架的根本区别
  3. 9 个原子工具 + ~100 行 Agent Loop
  4. 分层记忆系统
  5. 5 分钟上手
  6. 跟 Claude Code / OpenClaw 的对比
  7. 我的看法

GenericAgent 是什么

GenericAgent 是一个极简的自主 Agent 框架。它的目标很直接:给任意 LLM 系统级控制能力——浏览器、终端、文件系统、键鼠输入、屏幕视觉、甚至手机(通过 ADB)。

但核心代码只有 ~3K 行。Agent Loop 也就 ~100 行。

它支持 Claude、Gemini、Kimi、MiniMax 等主流模型,跨平台运行。部署也简单:pip install + 填个 API Key 就能跑。

自我进化:跟其他 Agent 框架的根本区别

这是 GenericAgent 最核心的设计。

[New Task] --> [Autonomous Exploration] (install deps, write scripts, debug & verify) -->
[Crystallize Execution Path into Skill] --> [Write to Memory Layer] --> [Direct Recall on Next Similar Task]

翻译成人话:

你说的 Agent 第一次做的 之后每次
"帮我点杯奶茶" 安装依赖 → 操控外卖 App → 选品 → 结账 → 保存 Skill 一句话搞定
"监控股票提醒我" 安装 mootdx → 构建选股流程 → 配置定时任务 → 保存 Skill 直接启动
"Gmail 发个文件" 配置 OAuth → 写发送脚本 → 保存 Skill 直接可用

用几周之后,你的 Agent 会拥有一套完全属于你的技能树。这是从 3K 行种子代码里长出来的,别人的 Agent 没有这些东西。

这个机制让它跟 Claude Code 这种"每次会话都是白纸"的 Agent 有了本质区别。

9 个原子工具 + ~100 行 Agent Loop

GenericAgent 只提供 9 个原子工具,覆盖了跟外部世界交互的基础能力:

工具 功能
code_run 执行任意代码
file_read 读取文件
file_write 写入文件
file_patch 修改文件
web_scan 感知网页内容
web_execute_js 控制浏览器行为
ask_user 人机协作确认
update_working_checkpoint 持久化上下文
start_long_term_update 积累长期经验

看着少?但通过 code_run,Agent 可以在运行时动态安装 Python 包、写新脚本、调用外部 API、控制硬件——然后把临时能力固化为永久工具。

整个核心循环就是:感知环境 → 任务推理 → 调用工具 → 经验写入记忆 → 循环。~100 行代码搞定。

分层记忆系统

GenericAgent 的 Token 消耗极低——上下文窗口不到 30K,是其他 Agent(200K–1M)的零头。秘诀在于分层记忆:

  • L0 — Meta Rules:Agent 的基础行为规则和系统约束
  • L1 — Insight Index:极简索引层,快速路由与召回
  • L2 — Global Facts:长期运行积累的稳定知识
  • L3 — Task Skills / SOPs:可复用的任务流程
  • L4 — Session Archive:已完成任务的归档记录,用于长程召回

分层设计的好处是:关键信息始终在上下文中,噪声更少,幻觉更低,成功率反而更高。

5 分钟上手

# 1. 克隆仓库
git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent# 2. 安装最小依赖
pip install streamlit pywebview# 3. 配置 API Key
cp mykey_template.py mykey.py
# 编辑 mykey.py,填入你的 LLM API Key# 4. 启动
python launch.pyw

除了默认的 Web UI,还支持多种前端:

python frontends/qtapp.py          # Qt 桌面应用
streamlit run frontends/stapp2.py  # 另一种 Streamlit UI
python frontends/wechatapp.py      # 微信 Bot(个人微信)
python frontends/tgapp.py          # Telegram Bot
python frontends/qqapp.py          # QQ Bot
python frontends/fsapp.py          # 飞书 Bot
python frontends/wecomapp.py       # 企业微信 Bot
python frontends/dingtalkapp.py    # 钉钉 Bot

前端选择相当丰富,基本覆盖了国内主流 IM 平台。

跟 Claude Code / OpenClaw 的对比

特性 GenericAgent OpenClaw Claude Code
代码量 ~3K 行 ~530,000 行 体量大
部署 pip install + API Key 多服务编排 CLI + 订阅
浏览器控制 注入真实浏览器(保留登录态) 沙箱 / 无头浏览器 通过 MCP 插件
OS 控制 键鼠、视觉、ADB 多 Agent 委派 文件 + 终端
自我进化 自主生长 Skill 插件生态 会话间无状态
Token 消耗 <30K 上下文

关键差异在"自我进化"。Claude Code 每次会话都是白纸,而 GenericAgent 会把每次任务经验固化下来,下次直接复用。

我的看法

GenericAgent 的哲学让我想到了一个类比:其他 Agent 框架像是一个工具齐全的瑞士军刀,而 GenericAgent 像是一颗种子——刚开始什么都没有,但用着用着就长成了一棵属于你的技能树。

3K 行代码能做的事情有限,但这种"最小核心 + 自我进化"的思路很有启发性。特别是对个人用户来说,一个越用越懂你的 Agent,比一个什么都会但每次都从头开始的 Agent 更实用。

感兴趣的可以去 GitHub 看看:github.com/lsdefine/GenericAgent


作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn,每日分享最前沿的AI新闻和技术。

本文首发于 AI人工智能时代,转载请注明出处。

http://www.jsqmd.com/news/668186/

相关文章:

  • 用FFmpeg无损剪辑H.264视频翻车实录:从‘-c copy’报错到成功导出MP4的完整避坑指南
  • Python在图片上画圆形:从入门到实战
  • 3步恢复Windows 11 LTSC微软商店:完整应用生态一键安装指南
  • 【Linux从入门到精通】第6篇:管道符、重定向与通配符——命令行效率的核心秘诀
  • Windows服务器运维:如何用mstsc命令和.rdp配置文件打造你的专属远程桌面管理库
  • 【传播模型】CoVeni计算并可视化了病毒附Matlab代码
  • 别光会binwalk了!CTF MISC实战中这5个冷门但好用的文件分析工具,帮你快速定位flag
  • 三步搞定Windows ADB驱动安装:告别繁琐配置,专注Android开发
  • 阿里云盘的FatalError
  • Win11Debloat:三步彻底清理Windows系统,让电脑重获新生
  • 【数字信号调制】自适应调制解调通信系统误码率仿真【含Matlab源码 15364期】
  • LangGraph 并行执行优化:如何提升多智能体任务处理效率?
  • 告别Tomcat:Spring Boot应用改造为纯War包,适配宝兰德等商用中间件全指南
  • Python在图片上画多边形:从简单轮廓到复杂区域标注
  • **发散创新:用Python实现因果推理在推荐系统中的落地应用**在当今数据
  • 【AI面试八股文 Vol.1.1 | 专题4:Conditional Edge】Conditional Edge:动态路由分支逻辑实现
  • SolidWorks参数化设计避坑指南:为什么你的VBA宏跑一次就报错?
  • 家庭网络总断网?可能是你家的路由器接错了!用环路检测功能快速排查
  • Unity Magica Cloth:从入门到精通,打造次世代角色动态服饰
  • 别再只用MD5了!聊聊PBKDF2如何用‘盐’和‘慢炖’保护你的用户密码
  • OpenClaw怎么搭建?2026年4月云端大模型Coding Plan配置指南
  • 如何快速掌握CREST:药物设计中分子构象采样的完整指南
  • NVIDIA Profile Inspector 终极指南:解锁隐藏设置,轻松优化游戏性能
  • 2026年降AI后重新检测还是偏高怎么处理:多轮降AI完整攻略
  • Orwell Dev-C++ 和 Embarcadero Dev-C++ 哪个更好
  • (build/soong/scripts/manifest_check.py --enforce-uses-libraries --enforce-uses-libraries-status
  • 从E·M·福斯特的《英国人性格的笔记》看技术文档写作:如何避免“未发育的心”与“自满的陷阱”
  • 【AI面试临阵磨枪】什么是 Tokenization?子词分词(Subword)的优缺点?
  • 保姆级教程:在CentOS 7上为Zabbix 6.0配置LAMP环境(Apache+MySQL 8.0+PHP 7.4)
  • 别只发GET请求了!ESP32的HTTPClient库POST数据到服务器,保姆级配置流程(含模拟测试)