有人刚刚开源了自进化智能体。一个程序员用纯Python和三个小工具包,三个月造出能自己写代码、修bug、24小时上班的AI代理系统,还不用任何大牌框架。
7/24 Office — 自我进化的 AI 代理系统。26 个工具,3500 行纯 Python 代码,MCP/Skill 插件,三层内存,自我修复,7x24 小时生产。
以下是实际使用方法:
• 内置自修复功能:代理程序能够捕获自身错误并通知您。设置好后即可高枕无忧。
• 它可以在运行时编写自己的新工具。您的智能体程序可以真正实现自我升级。
• 三层记忆系统:短期记忆、长期记忆和语义搜索。它确实能记住东西。
这就是大多数“AI智能体”初创公司每月收费99美元的服务内容。
这个系统到底有多小
咱们先说说这个系统有多小。你们知道那些大公司搞AI代理都怎么搞吗?他们动不动就拉一堆框架,什么LangChain啊,LlamaIndex啊,CrewAI啊,听着就高大上对不对?但是我告诉你,这些玩意儿就像是你要吃个泡面,结果你买了个厨房,买了全套厨具,还请了个厨师。我就简单了,直接用纯Python,3500行代码就搞定了。3500行什么概念?你们学校的那个选课系统,光前端代码就上万行,我这个是整个AI代理的全部代码。
而且我只用了三个外部小工具包。第一个是croniter,这玩意儿是用来处理定时任务的,就像是给你的手机设闹钟。第二个是lancedb,这是一个轻量级的向量数据库,用来存记忆的。第三个是websocket-client,用来做实时通信的。就这么三个小东西,加起来还没你们一个手机App大。
它到底能干啥
这个系统有26个内置工具。26个啊,朋友们!它什么都能干,能读文件、写文件、编辑文件、列文件目录。能处理视频,剪视频、给视频加背景音乐、甚至生成新视频。能上网搜索,能发消息,能定闹钟,能查自己身体健不健康。最关键的是,它还能自己给自己写新的工具!这就很离谱了对不对?
这个系统就8个文件。8个!我写一个期末大作业都不止8个文件。它就靠这8个文件,24小时不间断地在服务器上跑,跟个永动机似的。你们想想,你家那个路由器都不敢说自己7x24小时不重启,这个AI代理做到了。
它是怎么搭起来的
咱们来看看这个系统的架构。
架构就像办公室的楼层图,每层都有明确功能:
Messaging Platform
-> router.py 负责多租户路由,每个用户独立容器
-> xiaowang.py 是入口,处理HTTP回调、媒体下载、ASR流程
-> llm.py 核心工具循环,管理会话、跨会话上下文、多模态、记忆注入
-> tools.py、memory.py、scheduler.py 负责工具、三层记忆和定时任务
-> mcp_client.py 负责MCP协议,自动重连、热加载
每一层都有明确职责,像办公室每个部门都有自己的工作流程,效率飞起。
最外面是一个消息平台,就是你微信企业版发消息给它。消息来了以后,先经过一个路由器。这个路由器干啥呢?它负责多租户管理。啥是多租户?就是说我这一个系统可以服务好多个用户,每个用户都是独立的,互相看不见。路由器会给每个用户自动分配一个Docker容器,就像你住酒店,前台给你分配房间一样。每个房间都有自己的钥匙,自己的卫生间,不会跟别人共用。
然后请求就进到了入口文件,叫xiaowang.py。这个名字怎么来的?因为我给它起名叫小王,觉得比较亲切。这个入口文件负责启动HTTP服务器,处理回调,下载媒体文件,做语音识别。你们发语音给它,它得先转成文字才能理解对不对?这个就是它干的事儿。
再往下就是核心大脑了,叫llm.py。这个是整个系统的心脏,负责调用大语言模型API,管理会话,注入系统提示词,处理多模态输入。最关键的是,它实现了一个工具使用循环。啥意思呢?就是AI碰到不会的问题,会自己决定用哪个工具来解决,用完了如果还没解决,就继续用下一个,最多能连续用20次工具。
三层记忆系统,比鱼的记忆强多了
这个系统的记忆特别有意思,分三层。你们都知道AI有个毛病,就是聊着聊着就忘了之前说过啥。我为了解决这个问题,搞了个三层记忆结构。
第一层是短期记忆,存最近40条聊天记录。这个很简单,就像是你在跟人聊天,人家刚说完的话你肯定记得住。但是超过40条怎么办?不能无限存下去对不对?那就触发第二层机制。
第二层是长期记忆压缩。当短期记忆满了以后,系统会调用LLM来提取关键信息。比如说你们聊了半小时,聊了你喜欢吃什么,你养了什么宠物,你的生日是什么时候。LLM会把这事儿总结成结构化的事实:“用户喜欢披萨”,“用户养了一只叫旺财的狗”,“用户生日是3月15号”。然后把这些事实存到LanceDB向量数据库里。而且它还会去重,如果两条事实太相似了,相似度超过92%,就只保留一条。这就像你妈跟你说了一百遍“记得穿秋裤”,你最后记住的也就是“穿秋裤”这个事实。
第三层是检索召回。当你发了新消息,系统会把你的消息转成向量,去数据库里搜索最相关的历史记忆,然后塞到系统提示词里。这样AI就能“想起来”你之前说过啥了。而且它还有个零延迟缓存,专门给硬件设备或者语音通道用,保证响应速度。
定时任务调度,比你的闹钟还靠谱
这个系统还有个特别实用的功能,就是定时任务调度。它可以设置一次性任务,比如“明天早上八点提醒我开会”,也可以设置周期性任务,比如“每周五下午五点总结本周工作”。这个用的是cron表达式,可能有些人不知道cron是啥,你就理解成一个超级灵活的闹钟就行了,可以设置“每月的第一个周一上午十点”这种复杂条件。
而且它重启后任务依然有效。你想想你手机上设的闹钟,手机重启了闹钟还在不在?还在对吧?这个也一样。它把所有的任务都存到了一个jobs.json文件里,重启的时候读一下就全回来了。它还支持时区感知,你在北京设的任务,你带着服务器飞到纽约,它还能在正确的时间执行。这就很贴心了对不对?
自我修复功能,自己给自己看病
这个系统最牛的地方来了,它能自我修复。你们见过会自己修自己的机器吗?这玩意儿就能。它每天会做自检,检查自己身体健不健康。比如说它会检查会话有没有异常,日志里有没有错误,各个工具能不能正常工作。如果发现问题,它会自动发通知给管理员,说“哥们,我这儿出了点问题,你来看看”。
而且它还有诊断工具,你可以直接问它“你咋了”,它就会自己给自己做个体检,然后告诉你哪里不舒服。这就像是你的电脑会说话,你问它“你怎么卡了”,它说“我内存不够了,你关几个网页吧”。这不比那些只会报个错误代码的系统强多了?
运行时创建工具,这才是真正的自进化
重头戏来了,这个系统最炸裂的功能是它能在运行时自己创建新工具。它有一个create_tool工具,这个工具可以编写、保存和加载新的Python工具。啥意思呢?就是说这个AI发现自己缺某个功能的时候,它能自己写代码来实现这个功能。
举个例子,你让它处理一个它没见过格式的文件,它不会说“抱歉我做不到”,它会自己写一个解析这个格式的工具,然后保存下来,以后就都会了。这就像你养了个孩子,你教他做番茄炒蛋,他自己学会了,然后下次他自己琢磨出了番茄炒蛋盖浇饭,你说这厉不厉害?
而且它还能列出自己创建的自定义工具,也能删除不用的工具。这就形成了一个完整的工具生命周期管理。它自己写的代码,它自己维护,它自己删除。我们人类在这个过程中干啥呢?我们就在旁边看着,偶尔鼓鼓掌。
插件系统,想加啥功能就加啥功能
除了自己能写工具,这个系统还支持MCP插件系统。MCP是个啥?你就理解成一个通用接口标准,就像USB接口一样,不管什么设备,只要符合这个标准,插上就能用。这个系统通过JSON-RPC协议连接外部MCP服务器,支持stdio和HTTP两种方式。
最关键的是,它支持热重载。你加了个新插件,不用重启系统,直接reload一下就行。这就像你手机换了个SIM卡,不用关机重启,直接就认出来了。而且它还会自动重连,如果插件服务器挂了,它会不断尝试重连,直到连上为止。这就很靠谱了对不对?
多模态处理,啥都能吃进去
这个系统能处理各种类型的数据。图片、视频、文件、音频、链接,啥都能处理。你发张图片给它,它能看懂图片里是啥。你发段语音给它,它能转成文字。你发个视频链接给它,它能下载下来处理。你发个PDF文件给它,它能读出里面的内容。
语音识别用的是自动语音识别技术,你说话它就能转成文字。视觉识别用的是基于Base64的编码方式,把图片编码成文本格式,然后传给视觉模型去理解。这些全都封装成了工具,AI可以自己决定什么时候用什么工具。
视频处理,剪片子不求人
这个系统还有视频处理能力。它能剪视频,就是从一段视频里截取某一段时间。能给视频加背景音乐,把音频轨道替换掉或者混音。甚至能生成新的视频,通过调用外部API实现。这些全都是通过ffmpeg和API实现的,封装成了工具供AI调用。
你说这玩意儿能干吗?你可以让它每天自动剪辑你直播的精彩片段,配上背景音乐,然后发到网上。全程自动化,你不用动手。你睡觉的时候它在干活,你醒来的时候视频已经发好了。
消息集成,企业微信的好搭档
这个系统还集成了企业微信,就是WeChat Work。它支持消息防抖,啥叫防抖?就是你连续发了好多消息,它会合并处理,不会每条都触发一次,免得把系统搞崩溃。支持消息拆分,如果消息太长了,它会自动分成多条发送。支持媒体上传下载,图片、文件、语音都能处理。
你可以在企业微信里直接跟它聊天,就像跟真人同事聊天一样。你让它查个资料,它就去搜。你让它提醒你开会,它就给你设个定时任务。你让它总结一下今天的工作,它就翻聊天记录给你整理。这不比请个助理便宜多了?
搜索功能,网上的东西它都能找到
这个系统有强大的搜索能力。它集成了多个搜索引擎,有Tavily、普通网页搜索、GitHub搜索、HuggingFace搜索。而且它会自动路由,就是说根据你的问题自动选择最合适的搜索引擎。你问代码相关的问题,它就去GitHub搜。你问机器学习模型,它就去HuggingFace搜。你问一般的知识问题,它就用普通网页搜索。
这就很智能了对不对?你用百度搜东西,还得自己判断哪个结果靠谱。这个AI帮你搜,还会帮你筛选,帮你总结。你问它“最近有什么好用的Python库”,它搜完了还会给你整理成列表,告诉你每个库是干啥的,有啥优缺点。
26个工具:AI的技能树
核类:exec, message
文件:read_file, write_file, edit_file, list_files
日程安排:schedule, list_schedules, remove_schedule
媒体发送:send_image, send_file, send_video, send_link
视频:trim_video, add_bgm, generate_video
搜索:web_search(Tavily、Web、GitHub、HuggingFace)
记忆:search_memory(recall向量语义搜索)
诊断:self_check, diagnose
插件:create_tool, list_custom_tools, remove_tool
MCP:reload_mcp
每个工具都是一个办公室小技能,组合起来就是全能办公神器。
特征总结
- 工具使用循环——兼容 OpenAI 的函数调用,支持自动重试,每次对话最多 20 次迭代。
- 三层记忆——会话历史记录+LLM压缩的长期记忆+LanceDB向量检索
- MCP/插件系统——通过JSON-RPC(stdio或HTTP)连接外部MCP服务器,支持无需重启的热重载
- 运行时工具创建——代理可以在运行时编写、保存和加载新的Python工具(create_tool)
- 自我修复——每日自检、会话健康状况诊断、错误日志分析、故障自动通知
- 定时任务调度——支持一次性任务和周期性任务,重启后任务仍然有效,并能感知时区。
- 多租户路由器——基于 Docker 的自动配置,每个用户一个容器,健康检查
- 多模态——图像/视频/文件/语音/链接处理、自动语音识别(语音转文本)、基于 Base64 的视觉识别
- 网络搜索——多引擎(Tavily、网络搜索、GitHub、HuggingFace)带自动路由功能
- 视频处理——剪辑、添加背景音乐、AI视频生成——全部通过ffmpeg和API实现,并以工具的形式公开。
- 消息集成——支持企业版微信(WeChat Work)的防抖、消息拆分、媒体上传/下载功能