乐于分享
好东西不私藏

你的 AI 助手,还在每次从零开始?

你的 AI 助手,还在每次从零开始?

53 万行的框架太重,200K 的 token 太贵,换个任务又变小白——直到我发现了这个 3000 行的方案。


你是不是也遇到过这些情况?

想象一下:

你让 AI 帮你审查代码,它读了 200 个文件才找到改动的那个。你让它筛股票,它连你上次用的指标参数都忘了。你让它帮你点杯奶茶,下次再说同样的话,它又从头开始折腾一遍。

你发现问题了吗?

现在的 AI Agent,看起来很聪明,其实笨得很。每次对话,它都是”从零开始”——不记得你项目的结构,不记得你上次怎么干的,不记得任何”经验”。

这就是为什么:

  • 53 万行代码的框架,部署一次掉层皮
  • 随随便便一个任务,就吃掉几十万里 token
  • 换个任务,Agent 又变成小白

说实话,我第一次被这个问题折磨,是在让 AI 帮我分析一个 10 万行的代码库时。它读了整整 3 分钟,然后告诉我”代码结构比较复杂”。我当场就无语了——它读了一堆无关代码,却连最核心的改动都没找对。

如果你也被这些问题困扰过——今天这个工具,就是为你准备的。


今天的主角:GenericAgent

它是什么?

一个极简、可自我进化的自主 Agent 框架。核心代码只有 ~3K 行(一个下午就能读完),通过 9 个原子工具 + 约 100 行的 Agent Loop,就能让任意 LLM 控制你的电脑。

但它最特别的地方,不是”小”,而是**”会自己变强”**。

你说一句”帮我监控股票”,它会:

  1. 自己安装需要的依赖
  2. 写出监控脚本
  3. 配置好定时任务
  4. 把整个流程存下来

下次再说同样的话,它一句话就执行,不用再折腾。

用得越久,它沉淀的技能越多——最终形成一棵完全属于你的技能树

“别人家的 AI 是每次重新来,你的 AI 是越来越强。”

而且它超级省 Token:整个上下文不到 30K,是其他 Agent 的十分之一甚至百分之一


我在用的真实感受

我自己用了一个月,最大的感受是:它不像一个工具,更像一个会成长的助手

刚开始,我只让它帮我查天气、读新闻。这些小事它做起来和其他 Agent 没什么区别。

但后来,我开始让它帮我做更复杂的事:

  • “帮我分析这个 Python 项目的代码结构”
  • “每天收盘前监控涨幅超过 5% 的股票,符合条件发微信通知我”
  • “帮我批量处理这个 Excel 表格”

每次它完成任务后,我明显感觉到:下一次再让它做类似的事,它变快了、变准了、变聪明了

给你们算笔账:以前让 AI 帮我分析代码,每次都要花几十块 token 费用。现在用了 GenericAgent,同样的任务 token 消耗降到了以前的十分之一,而且它还记得我上次是怎么分析的。


它是怎么做到的?

三个”简单但有效”的机制:

1. 分层记忆系统

就像人一样,GenericAgent 有 L0 到 L4 五层”记忆”:

层级
作用
类比
L0 元规则
基础行为规范
人的性格
L1 记忆索引
快速找到该用什么技能
人的”目录”
L2 全局事实
长期积累的稳定知识
人的”知识库”
L3 任务 Skills
可复用的工作流程
人的”技能包”
L4 会话归档
完成任务的记录,方便回顾
人的”经验总结”

每次完成任务,它就写一笔。久而久之,这个 Agent 就”经验老到”了。

举 个例子:第一次让它帮你筛股票,它可能需要 5 分钟。但它会把整个过程记录下来:

  • 用了什么指标
  • 从哪个数据源获取数据
  • 筛选逻辑是什么

下次再说”帮我筛股票”,它 10 秒就给你结果——因为它直接在记忆里调取了上次的方法。

2. 最小工具集

只有 9 个原子工具,但组合起来能做几乎所有事:

code_run → 执行代码、安装包file_read → 读文件file_write → 写文件file_patch → 修改文件web_scan → 读网页web_execute_js → 控制浏览器(点按钮、填表单)ask_user → 关键决策时问你

  • 记忆管理工具
加上 ADB,还能控制手机。这意味着它可以:- 帮你操作微信- 帮你操作支付宝- 帮你操作任何手机 App> 说实话,我第一次看到它能控制真实浏览器时,确实"哇"了一声。很多 Agent 只能读网页,它却能"操作"网页——像真人一样点按钮、填表单。### 3. 自我进化机制

新任务 → 自主探索 → 固化为 Skill → 写入记忆 → 下次直接调用

这就是 GenericAgent 和其他 Agent 最大的区别:- **别人是" stateless"**——每次都是全新开始- **它是"有状态"**——每次都在变强你可以理解为:别的 Agent 是"每次重新考试",GenericAgent 是"错题本越来越厚"。> "3000行代码丢在那里,它自己会变强。"---## 核心亮点,逐个说### 🚀 自我进化:越用越强**痛点**:大多数 Agent 是"健忘"的,每次都要重新教。**效果**:GenericAgent 会把每次成功的执行路径变成可复用的 Skill。下次遇到类似任务,一句话搞定。**数据**:用一个月后,你的 Agent 会沉淀几十个专属 Skills——这些全是"肌肉记忆"。**举例**:- 第一次说"分析这个代码",它可能需要 3 分钟理解你的项目结构- 第二次说同样的话,它 10 秒就搞定——因为它已经"记住"了你的项目> "我现在让它帮我筛股票,只要说一句话,10 秒出结果——因为第一次它已经学会了。"---### ⚡ 极简架构:3000行代码**痛点**:OpenClaw 53万行,部署一套下来,光是配环境就劝退人。**效果**:- 核心代码 ~3K 行- Agent Loop 仅 ~100 行- 一个 pip install 就跑起来| 框架 | 代码量 | 部署难度 ||------|--------|----------|| GenericAgent | ~3K 行 | ⭐ 简单 || OpenClaw | ~530K 行 | ⭐⭐⭐⭐⭐ 复杂 || Claude Code | 大体量 | ⭐⭐⭐ 中等 |> 说实话,3K 行代码意味着什么?你用一个下午就能读完整个核心。遇到问题可以直接 debug,不用在几十万行代码里找不着北。---### 💡 极致省 Token:30K 上下文**痛点**:随便一个任务就吃掉几十万里 token,月底账单吓死人。**效果**:通过分层记忆,只有"当下需要的信息"才进入上下文。30K token 足够完成复杂任务,成本低一个数量级。**数据对比**:| Agent | 典型任务 token 消耗 ||-------|---------------------|| GenericAgent | ~30K || 其他 Agent | 200K - 1M |这意味着:- 同样的任务,成本只有**十分之一**- 响应速度更快(上下文越小,LLM 处理越快)- 幻觉更少(信息越精准,AI 越不容易"跑偏"---### 🔧 真实浏览器控制**痛点**:很多 Agent 只能动动文件,无法真正"操作"电脑。**效果**:GenericAgent 注入真实浏览器,**保留登录态**。你登录过的网站,下次它还能用。这意味着:- 点外卖、填报表、查数据——全部自动化- 不需要每次都重新登录- 可以操作需要登录才能用的功能> 最常用的场景:自动填报每日健康打卡、自动抢票、自动填写表单...---## 它能做什么?举几个社区用户的真实例子:### 场景 1:股票监控**第一次**:- 安装 mootdx(股票数据库)- 编写筛选逻辑- 配置微信提醒- 保存为 Skill**之后**:> "每天下午 3 点帮我监控涨幅超过 5% 的股票" → **一句话启动**### 场景 2:外卖下单**第一次**:- 打开外卖 App- 找到常点的店铺- 选择商品- 完成支付- 保存为 Skill**之后**:> "帮我点一杯珍珠奶茶" → **一句话下单**### 场景 3:文件处理**第一次**:- 读取 Excel 文件- 按规则处理数据- 输出结果- 保存为 Skill**之后**:> "把这个 CSV 按日期分组统计" → **一句话执行**### 场景 4:自动化测试**第一次**:- 安装测试框架- 编写测试用例- 配置 CI/CD- 保存为 Skill**之后**:> "跑一下这个项目的单元测试" → **一句话执行**> "用了几周后,我的 Agent 已经沉淀了 50 多个 Skill。现在我说一句话,它就能帮我完成以前要手动搞半天的任务。" — 来自社区用户的反馈---## 详细对比:和其他 Agent 框架的区别### 代码量对比| 框架 | 代码量 | 核心循环 ||------|--------|----------|| GenericAgent | ~3K 行 | ~100 行 || OpenClaw | ~530K 行 | 数千行 || Claude Code | 大体量 | 数百行 |### 部署复杂度| 框架 | 部署方式 | 需要配置 ||------|----------|----------|| GenericAgent | pip install | 只需 API Key || OpenClaw | 多服务编排 | Docker, K8s 等 || Claude Code | CLI + 订阅 | 安装客户端 |### 浏览器控制| 框架 | 浏览器模式 | 登录态 ||------|------------|--------|| GenericAgent | 真实浏览器 | ✅ 保留 || OpenClaw | 沙箱/无头 | ❌ 每次重登 || Claude Code | MCP 插件 | 视插件而定 |### 记忆能力| 框架 | 跨会话记忆 | 自我进化 ||------|------------|----------|| GenericAgent | ✅ 5层记忆 | ✅ 自动沉淀 || OpenClaw | ❌ | ❌ 需手动插件 || Claude Code | ❌ | ❌ 会话无状态 |### Token 效率| 框架 | 典型上下文 | 成本 ||------|------------|------|| GenericAgent | <30K | 低 || OpenClaw | 200K+ | 高 || Claude Code | 200K+ | 中等 |---## 谁最适合用?### 适合人群- ✅ 想让 AI 真正帮你"做事"的人- ✅ 追求"一次配置,长期自动"的人- ✅ 对 Agent 有"自我进化"期待的人- ✅ 喜欢折腾但不想每次都重新配置的人- ✅ 关心 token 成本的人### 不适合人群- ❌ 只是偶尔用一次 AI 的人(没必要沉淀)- ❌ 需要官方技术支持的企业(生态还在生长)- ❌ 完全不想动手的配置党---## 手把手教程:从 0 到 1### 第一步:安装```bash# 1. 克隆仓库git clone https://github.com/lsdefine/GenericAgent.gitcd GenericAgent# 2. 安装依赖(只需要两个包)pip install streamlit pywebview# 3. 配置 API Keycp mykey_template.py mykey.py# 用记事本或 VS Code 打开 mykey.py,填入你的 LLM API Key

提示:目前支持 Claude、Gemini、Kimi、MiniMax 等主流模型。用哪个模型,就在 mykey.py 里填对应的 Key。

第二步:启动

python launch.pyw

启动成功后,会自动打开一个 Web 界面(就是你的 Agent 操作界面)。

第三步:第一次对话

试试说:

“帮我查一下今天北京天气”

你会看到它:

  1. 打开浏览器
  2. 访问天气网站
  3. 读取并返回结果

注意:第一次可能会慢一点,因为它需要”认识”你的环境。

第四步:让它学新技能

试试说:

“以后每天下午 3 点帮我监控股票,涨幅超过 5% 的发微信通知我”

它会:

  1. 安装股票数据相关的包
  2. 编写监控脚本
  3. 配置定时任务
  4. 把这个流程保存为 Skill

下次再说同样的话,它直接执行,不需要再配置。

进阶:多前端支持

除了默认的 Web 界面,还可以选择:

# 微信 Botpip install pycryptodome qrcode requestspython frontends/wechatapp.py# QQ Botpip install qq-botpypython frontends/qqapp.py# 飞书pip install lark-oapipython frontends/fsapp.py# 桌面端python frontends/qtapp.py

未来会怎样?

作为一个开源项目,GenericAgent 还在快速生长中。

正在开发的功能

  • 更丰富的记忆层策略
  • 更多前端支持
  • 更强的代码理解能力

社区在成长

  • 已有多个微信群(5/6/7 群)
  • 技能库在持续扩充
  • 越来越多开发者参与贡献

“3000 行代码扔在那里,它自己会变强。”但更准确地说:是你用它越多,它越强


总结

GenericAgent 不是”更强大的 ChatGPT”,而是一个会生长的数字员工

它的核心价值:

  1. 自我进化
     — 越用越强,技能沉淀
  2. 极简架构
     — 3K 行代码,一个下午读懂
  3. 极致省 Token
     — 30K 上下文,成本低一个数量级
  4. 真实控制
     — 浏览器、手机都能操作

3000 行代码扔在那里,它自己会变强。

“别人家的 AI 是每次重新来,你的 AI 是越来越强。”


立即开始

git clone https://github.com/lsdefine/GenericAgent.gitcd GenericAgentpip install streamlit pywebviewcp mykey_template.py mykey.py# 编辑 mykey.py 填入你的 API Keypython launch.pyw