Shannon
生产级多智能体编排框架,基于 Temporal 实现时间旅行调试与 Token 预算控制,Go+Ru
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
生产级多智能体编排框架,基于 Temporal 实现时间旅行调试与 Token 预算控制,Go+Ru
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024 年,AI Agent 从概念走向落地,无数团队满怀期待地将大模型接入自动化流程,却很快遭遇了一系列令人头疼的现实问题:Agent 悄无声息地消耗掉天价 token 预算后才发现它陷入了无限循环;LLM 输出无法控制,在生产环境执行了危险操作;任务中途失败后无法回溯,只能从头再来;多模型切换时代码改得面目全非。这些问题在 demo 演示里从不出现,却在真实部署时一一暴露。
Shannon 正是为解决这些「生产地狱」而生的框架。它来自 Kocoro-lab,定位是「生产oriented」——不是实验室玩具,而是能真正扛住企业级负载的多智能体编排系统。项目的 GitHub 已收获近 2000 stars,其核心理念是:让 AI Agent 不仅能跑,还要跑得可靠、可控、可观测。

图1:Shannon 多智能体编排架构,支持执行策略、WASI 沙箱和内置可观测性
如果把 AI Agent 看作应用程序,Shannon 就像是给这些应用程序准备的操作系统内核。操作系统负责进程调度、内存隔离、安全权限——Shannon 负责智能体编排、Token 预算执行、沙箱安全隔离。一个没有操作系统的计算机可以跑简单的计算程序,但无法稳定运行复杂应用;同样,没有 Shannon 这样的编排框架,AI Agent 可以在简单场景工作,但面对复杂任务就容易失控。
Shannon 的编排引擎基于 Temporal(分布式有状态工作流引擎)。Temporal 的核心价值在于:每个任务执行步骤都被持久化存储,即使服务重启也能从断点恢复。更重要的是,它提供了「时间旅行」能力——可以回放任意历史执行的完整步骤,细粒度复现 Agent 的思考和工具调用过程。
传统调试 Agent 的痛点是:LLM 的输出具有随机性,同一个 prompt 多次执行可能产生不同结果,事后很难复现「当时为什么选了这个工具」。Temporal 的事件溯源架构天然解决了这个问题——每次工具调用、每次 LLM 响应、每次状态变更都被完整记录,开发者可以像回放视频一样审视 Agent 的每一步决策。
Shannon 内置了硬性 Token 预算控制机制,可以在任务级别和智能体级别分别设置 Token 上限。当消耗达到阈值时,系统会自动触发预设的降级策略:切换到更便宜的模型、回退到简单模式、或直接终止任务并报告。这解决了 AI Agent 最大的财务风险——在复杂任务中,LLM 可能因为循环调用或复杂推理消耗远超预期的 Token。
配置示例中可以看到:token_budget_per_task: 10000000(每个任务 10M Token上限)和 token_budget_per_agent: 500000(每个 Agent 500K 上限),配合熔断器(Circuit Breaker)实现费用风险的自动管控。
Shannon 的 Agent Core(Rust 实现)内置了 WASI(WebAssembly System Interface)沙箱。当 Agent 需要执行代码时,不是直接操作系统 shell,而是运行在 WASM 沙箱中——内存隔离、权限受限、超时中断。沙箱配置中可以看到 WASI_MEMORY_LIMIT_MB: 512 和 WASI_TIMEOUT_SECONDS: 60 等参数,确保恶意或失控的代码无法影响宿主机。
这在多租户场景下尤为重要:当多个用户同时运行各自的 Agent 时,WASI 沙箱提供了进程级别的隔离能力,防止某个 Agent 的异常操作影响整个系统。
Shannon 实现了三种执行策略:
此外,Shannon 支持 Swarm 协作模式——多个 Agent 形成协作网络,类似于 OpenAI 的 Swarm 概念,允许Agent之间分工、共享上下文、协同完成复杂任务。

图2:Shannon Desktop 应用实时监控 Agent 执行和事件流
Shannon 的技术选型非常有意思——没有用单一语言包打天下,而是根据各层需求选择了最合适的语言:
| 层级 | 语言 | 职责 |
|---|---|---|
| Orchestrator(编排层) | Go | Temporal 工作流、预算管理、复杂度分析、路由决策 |
| Agent Core(执行核心) | Rust | WASI 沙箱、安全策略执行、gRPC 服务、性能关键路径 |
| LLM Service(模型服务) | Python | LLM 提供商集成、MCP 工具、Agent Loop、Prompt 管理 |
这种分层设计的好处:Go 的并发模型适合高吞吐量工作流编排;Rust 的内存安全保证沙箱执行安全且高效;Python 的生态让 LLM 提供商集成(MCP 协议)更加灵活。层间通过 gRPC 通信,协议定义在 protos/ 目录。
部署架构依赖 Temporal + PostgreSQL + Redis:
快速体验路径(推荐):通过官方一键安装脚本,curl 即可完成全流程部署。
curl -fsSL https://raw.githubusercontent.com/Kocoro-lab/Shannon/main/scripts/install.sh | bash
系统会自动下载配置、引导填写 API Key、拉取 Docker 镜像并启动服务。10-15 分钟可完成从零到可用的完整环境。
开发者路径:从源码构建需要安装 Go 1.24+、Rust stable 和 Python 3.11+,通过 make setup 初始化开发环境。Dockerfile 位于各子模块目录下(go/orchestrator/Dockerfile、python/llm-service/Dockerfile、rust/agent-core/Dockerfile),支持独立构建单个服务。
Web UI 方面,Shannon 提供了 Desktop 应用(desktop/ 目录),支持实时事件流监控。对于习惯命令行的用户,REST API 完全兼容 OpenAI 格式,可以直接替换现有 OpenAI SDK 调用。
多语言工程复杂度:Go + Rust + Python 三种语言栈意味着开发团队需要具备全栈能力。维护三个构建系统和依赖生态,CI/CD 复杂度显著高于单语言项目。
Temporial 学习曲线:Temporal 工作流编程范式(Activity、Workflow、Signals)与传统 REST 服务完全不同,开发者需要理解有状态工作流的概念才能正确使用。
资源占用较高:最小化部署也需要 Temporal + PostgreSQL + Redis 三个基础设施服务,内存占用约 4GB+,相比轻量级 Agent 框架(如 LangChain)明显重。
文档中文支持有限:主要文档为英文,对中文开发者有一定门槛。
Shannon 代表了 AI Agent 框架从「玩具级」向「生产级」演进的趋势。2024 年下半年开始,业界逐渐认识到:demo 效果好的 Agent 在生产环境暴露了大量问题——Token 不可控、执行不可复现、安全无法保障。Shannon 用 Temporal 解决执行持久化、用预算控制解决费用风险、用 WASI 解决安全问题、用可观测性解决调试难题,这套组合拳恰好击中了当前 Agent 生产部署的核心痛点。
项目增长曲线稳健,活跃维护中(CHANGELOG 显示持续更新),架构设计体现出对分布式系统和企业级需求的深刻理解。对于需要在生产环境部署 AI Agent 的团队,Shannon 提供了目前市面上较为完整的解决方案。
项目基本信息
| 项目 | 信息 |
|---|---|
| 仓库 | Kocoro-lab/Shannon |
| Stars | 1,996 |
| 语言 | Go (主), Rust, Python |
| License | MIT |
| 官网 | https://shannon.run |
| 主题标签 | agent, ai, multi-agent-systems |