Cosmonapse:面向多智能体系统的事件驱动 A2A 协议
Cosmonapse 是一个用神经系统隐喻建模的多智能体协作协议,提供 Python/TypeScript SDK,通过…
Cosmonapse 是一个面向多智能体(Agent)系统的事件驱动协议,主打 Agent-to-Agent(A2A)通信模型,并附带 Python SDK、TypeScript SDK 与命令行工具 cosmo。它把多智能体系统建模为「神经系统」而非「调度器」:每个 Agent 是纯函数,通过共享总线(Synapse)收发信号,扩展系统只需增加节点,无需修改中央协调者。项目已在 PyPI 发布,可通过 pip install cosmonapse 安装。
核心设计:神经系统隐喻
Cosmonapse 用一组生物学隐喻来组织多智能体协作的关键概念:
- Neuron(神经元):即 Agent 本体,本质是签名固定为 (input, context) -> output 的纯函数,没有基类或继承要求,便于隔离测试。
- Axon(轴突):把 Neuron 的返回值封装为符合协议规范的 Signal。
- Dendrite(树突):负责把 Axon 挂到总线、分发任务并对结果做出响应,自身可同时充当 worker 或 orchestrator。
- Synapse(突触):信号总线,传输层可插拔,覆盖内存、本地 TCP、NATS、Kafka 等。
- Signal(信号):Agent 之间传递的强类型消息信封,类型包括 TASK、RESULT、CLARIFICATION、PERMISSION 等。
- Engram(记忆):持久化存储,让已授权的权限、已回答的问题可以被复用,避免重复请求。
这种设计的关键在于:协作通过信号传递完成,而非向某个「上帝对象」层层上报。新增第四个 Agent,只需再起一个 Dendrite 并接入 Synapse,不需要改动既有代码。
可插拔的传输层
Cosmonapse 强调自己是一个协议而非运行时,同一份 Agent 代码可跑在不同传输上:
- 内存(memory://):单元测试与单进程应用。
- 本地 TCP 代理(cosmo://127.0.0.1:7070):本地多进程开发。
- NATS:生产环境低延迟扇出,安装时使用 pip install "cosmonapse[nats]"。
- Kafka:高吞吐持久化流式场景,安装时使用 pip install "cosmonapse[kafka]"。
切换传输层只需修改连接字符串,Agent 业务逻辑保持不变。
工作流程与人在回路
典型执行路径是:Dendrite(orchestrator)发出 TASK 信号 → Synapse 路由到持有对应 Neuron 的 Dendrite → Axon 执行 Neuron 并以 RESULT 信号回传 → 订阅该结果的 Dendrite 做出反应并 emit_final。
Neuron 也可以选择「暂停并提问」而非直接返回,此时会发出 CLARIFICATION 或 PERMISSION 信号,由其他 Dendrite、同行或中央 Cortex 回答。Cosmonapse 把「人在回路」视为一等公民,仅通过一种 Signal 类型实现,无需在业务代码里另行接驳。结合 Engram 后,已给出的答案或已授予的权限会被记住,Agent 不会再反复询问同一审批。
当前可用能力
- 用普通 Python 或 TypeScript 函数定义 Agent,单条 Axon 即可挂载。
- 任意节点都能分发与响应任务,不依赖中央 orchestrator 类。
- 同一份代码可运行在内存、TCP、NATS、Kafka 四种传输上。
- 支持暂停 Agent 请求澄清或权限,并由其他节点应答。
- 通过 Engram 持久化授权与答案,避免重复请求。
- 通过 cosmo 命令行驱动整个流程。
- 官方仓库提供覆盖 Neuron、Provider、Engram、并行构建与 orchestrator API 的端到端可运行示例。
速开始
最简路径:
- Python SDK:pip install cosmonapse,同时获得 import cosmonapse 与 cosmo 命令。
- TypeScript SDK:npm install @cosmonapse/sdk,适用于 Node 与浏览器端 Agent。
- CLI:pip install cosmonapse 或 npm i -g @cosmonapse/sdk 即可在终端优先的工作流中使用。
可选扩展包括 [nats]、[kafka] 与 [postgres],用于生产环境的传输后端与持久化存储。
