Agent 这两年看多了,反而容易对“新框架”失去感觉。不是功能不够强,而是东西一多,理解成本也跟着上去了。你明明只是想搞懂一个 Agent 到底怎么跑起来,结果先被一堆抽象层、依赖树和概念名词包围。
所以看到 724-office 的时候,我第一反应还真不是“它功能好多”,而是:这项目怎么这么干净。
整个系统的核心卖点几乎可以一句话说完:不用 LangChain,不用 LlamaIndex,也不用 CrewAI,只靠 Python 标准库加 3 个小包,就把一个能 24/7 持续运行的 Agent 系统搭出来了。 README 里给出的数字也很直接:约 3500 行代码、8 个核心文件、26 个内置工具。
这种项目最吸引人的地方,不只是“轻”。而是你终于能看清 Agent 到底由什么组成。
它把结构拆得很朴素:llm.py 负责 Tool Use Loop,tools.py 放工具集,memory.py 做记忆,scheduler.py 管定时任务,mcp_client.py 接外部 MCP 服务,入口则是 xiaowang.py。整个架构不花哨,但非常像能长期维护的工程。
更关键的是,它不是那种“极简 demo”。这个系统真塞进去了不少生产里会遇到的东西。
比如工具层,内置了 26 个能力,覆盖文件读写、网页搜索、视频裁剪和加 BGM、消息发送、定时调度、记忆检索、自检诊断,甚至还能在运行时动态创建新工具。MCP 也留了接口,可以通过 JSON-RPC 挂外部服务。
记忆这块也值得看。724-office 不是只存聊天记录,而是做了三层:短期会话历史、被压缩后的长期记忆、以及基于 LanceDB 的向量检索。说白了,它想解决的是一个很现实的问题:Agent 跑久了,别把人和事忘干净。
我觉得这个项目最有意思的一点,是它很少喊大词。你看 README,写的不是“重新定义 Agent”,而是自动重试、每日自检、故障通知、任务持久化、容器隔离、企业微信回调这些东西。挺土,但也挺真。因为真正能跑起来的系统,最后拼的往往就是这些细节。
当然,它也不是万能解法。纯 Python、少依赖、单文件工具这种设计,优点是透明、好懂、好改;另一面就是很多能力得自己补,生态舒适度也没法和大框架比。可如果你的目标不是“快速拼一个看起来很全的 Agent”,而是从底层真正看懂 Agent 的调度、记忆、工具调用和自我修复到底怎么落地,那 724-office 反而是个非常好的样本。
有些项目适合拿来用,有些项目适合拿来学。
724-office 更像后者。它让你看到,Agent 未必非得包在厚厚一层框架里。很多时候,真正重要的不是抽象得多漂亮,而是代码够不够直,系统能不能真跑。