-
auo4 AI 观察 用户
10xGraph 开源:把多智能体写成一张"图",自带生产级服务、客户端和 Playground
2026年10月底,由 10xScale 出品的开源项目 10xGraph 发布 1.0.0rc4 版本,把此前名为 Agentflow 的框架正式定名并推向稳定。它是一款用 Python 编写的、面向生产的多智能体系统框架:你把一个智能体写成"节点(nodes)+ 工具(tools)"组成的一张图,框架负责把它跑起来、跑稳、并直接生成可上线的服务。整条链路 MIT 许可、可自托管,核心引擎与 API 服务层都属于同一个开源项目,而不是"开源内核+付费平台"的套路。
它解决的是什么问题
把一个 agent 送上生产,团队往往要围着它补一堆东西:服务、鉴权、持久化、部署。如果 agent 会做带副作用的事(支付、发邮件、开工单),一次崩溃或重试就可能把动作重复执行一遍——重复扣费、重复发信。如果是多用户产品,还得保证用户 A 看不到用户 B 的会话。10xGraph 的思路是用"图"来组织 agent,并把上面这些生产级能力直接做进框架里。
核心特性一:故障下依然正确(Correct under failure)
- 可重放的工具账本(Replay-safe tools):运行循环在跑节点前先把当前节点持久化,崩溃后在恢复时重跑该节点;调用工具前先查 checkpointer 的工具账本,已完成的调用立刻记录,已经跑过的工具不会再次执行——不重复扣费、不重复发邮件。
- 版本化状态写入:持久化写入采用乐观 compare-and-swap,同一线程上的两次运行不会互相覆盖;Redis 缓存写入同样有版本保护。
- 真实的节点与工具超时:在运行配置里设置 node_timeout 和 tool_timeout(不设置则不限),在 invoke 和 stream 两种模式下都生效,一个卡死的工具不会一直占着 worker。
- 工具内人工审批:interrupt() 会暂停运行并保存线程,等人给出决定后再 resume。
核心特性二:生产级服务开箱自带(10xgraph-api,MIT)
10xgraph-api 能在你编译好的图外面,自动生成生产服务器:REST、NDJSON 流式、WebSocket、以及实时音频端点;支持 JWT 或自定义鉴权;每个端点都有作用域授权(scoped authorization);线程归属隔离(thread ownership isolation);限流(rate limiting);还附带 Docker Compose 和 Kubernetes 文件。你用一个 10xgraph 命令即可驱动整套流程:init 初始化、api 起服务、build 出 Docker/K8s 脚手架。
核心特性三:为规模化而建
- 两级持久化:PgCheckpointer 把活跃线程状态缓存在 Redis(默认 TTL 24 小时)并优先读取,PostgreSQL 保存带版本化写入的持久历史;线程能扛过重启和缓存过期。本地开发可用 SqliteCheckpointer。
- 事件发布:可把事件发到 Kafka、Redis Pub/Sub、RabbitMQ 和 OpenTelemetry。
- 长期记忆:长期向量记忆存放在 Qdrant。
核心特性四:全栈打通,后端到前端
- 远程工具:模型可以调用运行在用户浏览器或客户端里的工具,在图上声明或每次运行通过 config["remote_tools"] 传入,运行会暂停直到客户端返回结果。
- Typed TypeScript 客户端(10xgraph-client):覆盖 invoke、stream、threads、memory、files 等所有端点,并带 React 流式 hooks 和客户端工具。
- React Playground(10xgraph play):可视化地和 agent 对话、查看图、线程与状态。
核心特性五:自主可控,不绑定
MIT 许可、可自托管;没有 LangChain 依赖,核心只依赖 InjectQ、Pydantic、PyYAML 和 python-dotenv,其余(如 Pillow 图像处理)都是可选额外包。任意模型:OpenAI 及 OpenAI 兼容端点、Google Gemini(含 Vertex AI)、Anthropic(直连 / Vertex / Bedrock)都支持——换模型字符串不会改变图和工具。框架由 10xScale 自家 AI 产品在生产中使用。
预置的智能体与编排模式
框架内置多种预置 agent 与编排模式,换一个名字、形态不变:Agents 有 React、RAG、Guarded、Plan-Act-Reflect、Audio、Swarm、SupervisorTeam、StructuredOutput;编排(Orchestration)有 Router、MapReduce、Sequential、Branch-Join。还提供依赖注入(通过 InjectQ)、skills(Agent Skills 规范,会读取并存储 skill 的 allowed-tools 字段但不强制)、三层记忆(工作态、checkpointer、Qdrant 等向量库)、发布器(Console/Redis/Kafka/RabbitMQ/OpenTelemetry)以及评测与测试辅助。
上手与适用场景
安装只需 pip install 10xgraph 与 pip install 10xgraph-api,要求 Python 3.12 及以上(已在 3.12~3.15 测试)。一个最小的支持 agent 示例里,lookup_order 负责读数据,refund_order 动钱,因此在真正退款前用 interrupt() 暂停等待人工决定;只要配了 checkpointer,退款之后的崩溃或重试就不会再发一次。典型适用场景包括:Python 团队把 agent 送上生产(服务/鉴权/持久化/部署自动生成)、运行带副作用的 agent(支付/邮件/工单)、做多用户产品(线程隔离)、以及需要自托管、数据驻留、避免厂商锁定的团队。
局限与边界
项目也坦白自己的短板:社区规模和集成数量目前少于 LangGraph 或 CrewAI,升级前需要锁版本、读 changelog;自动的"每工具权限"(用户 A 可退款、用户 B 不可)并未内置,工具需自行通过 tenxgraph.core.authz.has_scope 检查调用者作用域;它是代码优先的框架,不是无代码搭建器。更名 Agentflow 也意味着品牌认知需要重建。但就"把多智能体写成一张图、并直接产出可上线的生产服务"这一目标而言,10xGraph 给出的是一套相当完整的开源答案。