别再把 Python Agent 写成 Demo 了!开源了一个能管理插件、记忆、事件、监控、取消的框架

📅 2026/7/9 10:21:47
别再把 Python Agent 写成 Demo 了!开源了一个能管理插件、记忆、事件、监控、取消的框架
本文是「Regnexe Python 实战系列」开篇共 10 篇系列文章会把 regnexe-py 仓库里 9 个可直接运行的示例examples/readme/01~09逐一拆解。建议收藏跟着代码一篇一篇跑下来。先问自己一个问题你现在写 Python Agent是不是大概长这样agentcreate_deep_agent(modelmodel,tools[get_weather,get_air_quality,search_docs,query_order],subagents[travel_advisor,contract_checker],)原型阶段这样很好用工具能调模型能回Demo 很快就能演示。但只要它开始变成业务应用问题就会一起冒出来工具越来越多谁负责注册、分组、查询同一个用户的不同会话怎么区分上一次任务的结果下一次能不能复用前端要展示“正在调用哪个工具”事件从哪里来用户点了“停止”后端 Agent 还在跑怎么办DeepSeek、通义、OpenAI、Ollama 怎么统一切换问题不在于底层编排库不够好而是 Demo 只证明“能跑”业务应用还要继续解决插件、记忆、事件、身份、取消这些工程问题。这就是我写 regnexe-py 的原因。regnexe-py 是什么一句话regnexe-py 是一个面向应用落地的 Python Agent 框架。它的重点不是再造一个 Demo而是补齐 Agent 应用真正会用到的工程层业务插件 / Tool / Skill / Sub-Agent │ ▼ Marketplace 能力市场 │ ▼ RegnexeAgentBuilder │ ▼ deepagents / LangGraph 运行时 │ ▼ AgentResult 事件 记忆 取消控制你仍然可以用 LangChain 的tool仍然可以用 deepagents 的能力模型区别是 regnexe-py 会把这些能力放进一个更适合应用开发的结构里。先看一个最简例子安装pipinstallregnexe-py配置模型 KeyexportDEEPSEEK_KEYsk-...exportALIYUN_KEYsk-...exportOPENAI_API_KEYsk-...然后直接注册一个 LangChain tool发起一次最简单的调用importasynciofromlangchain_core.toolsimporttoolfromregnexeimportConsoleEventListener,RegnexeAgentBuilder,Vendortooldefget_weather(city:str)-str:Get todays weather for a city.returnBeijing: sunny, 22 C, excellent air quality.asyncdefmain()-None:agent(RegnexeAgentBuilder().with_default_model(Vendor.DEEPSEEK,deepseek-v4-flash).with_tool(get_weather).with_event_listener(ConsoleEventListener()).build())resultawaitagent.ainvoke(Check todays weather in Beijing. Is it good for outdoor running?)print(result.status)print(result.final_text)asyncio.run(main())接上ConsoleEventListener之后控制台能直接看到 Agent 在做什么[AGENT ▶] RegnexeAgent goal: Check todays weather in Beijing. Is it good for outdoor running? [TOOL ▶] mcp_tool:get_weather input{city: Beijing} [TOOL ■] mcp_tool:get_weather outputBeijing: sunny, 22 C, excellent air quality. [AGENT ■] statuscompleted这就是开篇想强调的核心regnexe-py 不是让你多写一层包装而是把工具、模型、事件和结果收进同一个应用入口里。多工具协作、工具选择和结果合并下一篇再展开。这套框架到底有什么能力接下来 9 篇文章会按这个顺序拆仓库里的examples/readme/#主题一句话01with_tool多工具入门不建插件类直接把 LangChain tool 接进 Agent02Skill vs Sub-AgentSkill 借工具、继承模型Sub-Agent 拥有私有工具和独立模型03PluginDescriptor 打包Tool、Skill、Sub-Agent 统一变成能力描述符04plugin装饰器普通 Python 类一次注册工具、Skill、Sub-Agent05目录加载plugin.yamlSKILL.md让能力脱离发版流程06Marketplace能力市场可以替换成 DB / 配置中心07会话记忆机制用session_id接住 LangGraph 上下文跨 session 只做轻量任务摘要08可观测性LLM 调用、工具调用、Token 用量都能通过事件暴露09取消与继续acancel()真的取消后端任务不只是停前端流每一篇都不是空对空讲概念代码都来自仓库里的真实示例。为什么不是“又一个 Agent Demo”Demo 看的是“模型能不能调工具”。应用看的是“这套东西能不能长期维护”。regnexe-py 解决的不是一次工具调用而是这些更工程化的问题能力怎么注册、打包、查询、替换用户、会话、应用身份怎么贯穿一次运行任务结果怎么沉淀到后续会话执行过程怎么暴露给日志、前端和监控运行中的任务怎么被用户主动取消多模型厂商怎么统一路由小实验可以直接用 deepagents。只要 Agent 开始接业务插件、用户系统、审计日志、前端流式界面regnexe-py 就有意义。 项目地址https://github.com/flower-trees/regnexe-py 顺手点个 ⭐ 不迷路 下一篇01. 10 行代码跑通 LLM 多工具调用不用插件、不建类with_tool 直接上手