# Tiza：MCP多智能体工作流的共享上下文存储方案

> 基于CA-MCP架构的TypeScript库，通过共享上下文存储让多智能体系统协同工作，实现50%更少的LLM调用和74-90%的输入token节省。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-07T18:45:58.000Z
- 最近活动: 2026-06-07T18:55:37.543Z
- 热度: 114.8
- 关键词: MCP, 多智能体, 共享上下文, TypeScript, LLM优化, token节省, 智能体协调, 代码审查
- 页面链接: https://www.zingnex.cn/forum/thread/tiza-mcp
- Canonical: https://www.zingnex.cn/forum/thread/tiza-mcp
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：RubenGlez
- 来源平台：github
- 原始标题：tiza
- 原始链接：https://github.com/RubenGlez/tiza
- 来源发布时间/更新时间：2026-06-07T18:45:58Z

## 原作者与来源\n\n- **原作者/维护者**: RubenGlez\n- **来源平台**: GitHub\n- **原始标题**: tiza\n- **原始链接**: https://github.com/RubenGlez/tiza\n- **发布时间**: 2026-06-07\n\n---\n\n## 项目背景与问题定义\n\n随着Model Context Protocol (MCP)的兴起，多智能体系统成为AI应用开发的热门方向。然而，MCP智能体本质上是"无状态"的——每个智能体独立运行，互不知晓彼此的工作成果。\n\n想象一个典型的代码审查场景：安全审查员、质量审查员、测试审查员三个智能体分别检查同一份代码。在没有协调机制的情况下：\n\n- 每个智能体都要重新发现相同的问题\n- 中央LLM需要反复传递上下文\n- 产生大量冗余的LLM调用和token消耗\n- 智能体之间无法共享发现和见解\n\n这正是Tiza所要解决的问题。\n\n---\n\n## 核心架构：共享上下文存储（SCS）\n\nTiza基于Jayanti & Han在2026年提出的CA-MCP架构，实现了一个**共享上下文存储（Shared Context Store, SCS）**。所有智能体可以读写这个存储，从而实现：\n\n- 智能体A发现问题 → 写入存储\n- 智能体B读取存储 → 跳过已知问题\n- 智能体C读取存储 → 专注于新问题\n- 中央LLM只需读取最终的`store.toPrompt()`进行汇总\n\n### 工作流程对比\n\n```\n无Tiza方案                    有Tiza方案\n─────────────────            ──────────────────────────────\n智能体1: 发现问题            智能体1: 将发现写入存储\n智能体2: 发现相同问题          智能体2: 读取存储 → 跳过已知问题\n智能体3: 发现相同问题          智能体3: 读取存储 → 跳过已知问题\nLLM合成原始数据                LLM读取store.toPrompt() → 结构化合成\n```\n\n---\n\n## 性能基准与实测数据\n\nTiza的性能优势通过基准测试得到了验证。测试场景：编排器LLM + 3个程序化MCP工具，使用`claude-haiku-4-5`，温度设为0，测试代码审查场景。\n\n### 核心指标对比\n\n| 指标 | 朴素MCP | 紧凑MCP | Tiza |\n|------|---------|---------|------|\n| LLM调用次数 | 4 | 4 | **2** |\n| 输入token | 11,985 | 5,420 | **3,069** |\n| 总token | 13,880 | 7,537 | **3,688** |\n\n**结果解读**：\n- **朴素MCP**: 每个工具调用都经过LLM，累积大量对话历史\n- **紧凑MCP**: 每次调用后裁剪工具输出，避免上下文膨胀\n- **Tiza**: 完全消除每个智能体的LLM调用，一次规划调用初始化存储，工具自主运行，一次合成调用读取结果\n\n### 不同PR类型的表现\n\n| PR场景 | vs 朴素MCP | vs 紧凑MCP |\n|--------|-----------|-----------|\n| 认证模块 | 74.4%更少输入token | 43.4%更少 |\n| 数据层 | 71.6%更少输入token | 46.9%更少 |\n| API路由 | 74.8%更少输入token | 49.6%更少 |\n| 完整认证系统 | 80.5%更少输入token | 39.9%更少 |\n\n### 智能体数量扩展性\n\n| 智能体数量 | vs 朴素MCP | vs 紧凑MCP |\n|-----------|-----------|-----------|\n| 3个 | 74.4%更少输入token | 43.4%更少 |\n| 5个 | 82.7%更少输入token | 63.2%更少 |\n| 8个 | **89.6%更少输入token** | **78.4%更少** |\n\n随着智能体数量增加，Tiza的优势愈发明显。\n\n---\n\n## 快速上手与代码示例\n\n### 安装\n\n```bash\nnpm install @tiza/core\n```\n\n如需在其他项目中使用MCP服务器：\n\n```bash\nnpm install @tiza/mcp\n```\n\n### 基础用法\n\n```typescript\nimport { createStore } from \"@tiza/core\"\n\nconst store = createStore({\n  task: \"审查PR #142 - 添加用户认证\",\n  agents: [\"security\", \"quality\", \"tests\"]\n})\n\n// 智能体写入发现\nstore.write({\n  agent: \"security\",\n  type: \"finding\",\n  payload: {\n    severity: \"high\",\n    file: \"auth.ts\",\n    line: 42,\n    issue: \"JWT密钥硬编码\",\n    suggestion: \"移至环境变量\"\n  }\n})\n\n// 智能体留下见解供其他智能体参考\nstore.write({\n  agent: \"security\",\n  type: \"insight\",\n  payload: { note: \"auth.ts是关键文件 — 请仔细审查\" }\n})\n\n// 标记完成\nstore.done(\"security\")\n\n// 检查状态\nconsole.log(store.status())\n// → { phase: \"review\", completed: [\"security\"], pending: [\"quality\", \"tests\"] }\n\n// 序列化为Markdown，准备注入LLM提示\nconsole.log(store.toPrompt())\n```\n\n### toPrompt()输出示例\n\n```markdown\n# Task\n审查PR #142 - 添加用户认证\n\n## Status\n- **Phase:** review\n- **Progress:** 1 of 3 agents completed\n- **Completed:** security\n- **Pending:** quality, tests\n\n## Findings\n\n### 🟠 High\n- **auth.ts:42** — JWT密钥硬编码\n  - *Suggestion:* 移至环境变量\n  - *Agent:* security · 2026-05-12 10:23:41\n\n## Insights\n- **[security]** auth.ts是关键文件 — 请仔细审查\n```\n\n---\n\n## 核心API详解\n\n### createStore(options)\n\n| 选项 | 类型 | 说明 |\n|------|------|------|\n| `task` | `string` | 任务描述 |\n| `agents` | `string[]` | 智能体标识符列表 |\n\n### store.write(entry)\n\n向存储追加条目。存储是**仅追加**的——条目不可修改或删除。\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `agent` | `string` | 智能体标识符（必须已注册） |\n| `type` | `"finding" \\| "insight" \\| "decision"` | 条目类型 |\n| `payload` | 对象 | 条目内容 |\n\n### store.read(filter?)\n\n返回条目，可按`type`、`agent`或`severity`过滤。\n\n### store.done(agent)\n\n标记智能体完成，自动更新阶段。\n\n### store.status()\n\n返回`{ phase, completed, pending }`。\n\n### store.toPrompt()\n\n将完整存储状态序列化为Markdown，可直接注入LLM提示。\n\n---\n\n## TizaRuntime：多运行管理\n\n对于需要同时维护多个独立运行的服务器或MCP进程，`TizaRuntime`提供了运行时管理能力：\n\n```typescript\nimport { TizaRuntime } from \"@tiza/core\"\n\nconst runtime = new TizaRuntime({ stateDir: \"/tmp/tiza\" })\n\nconst store = runtime.openRun(\"pr-142\", {\n  task: \"审查PR #142\",\n  agents: [\"security\", \"quality\", \"tests\"]\n})\n\nstore.write({\n  agent: \"security\",\n  type: \"finding\",\n  payload: { severity: \"high\", file: \"auth.ts\", line: 42, issue: \"JWT密钥硬编码\", suggestion: \"移至环境变量\" }\n})\n```\n\n通过设置`stateDir`（或`TIZA_STATE_DIR`环境变量），运行可以持久化到磁盘，在进程重启后仍然保留。\n\n---\n\n## Tiza MCP服务器\n\nTiza提供独立的MCP服务器和程序化工厂，将核心存储与MCP操作解耦。\n\n环境变量配置：\n- `TIZA_STATE_DIR`: 可选的持久化运行目录\n- `TIZA_DEFAULT_RUN_ID`: 未指定运行时的默认标识符\n\n---\n\n## 设计哲学与最佳实践\n\n1. **仅追加存储**: 确保审计追踪和可重现性\n2. **类型安全**: TypeScript提供编译时类型检查\n3. **最小化LLM调用**: 智能体之间直接协调，减少中央LLM负担\n4. **可序列化**: `toPrompt()`生成LLM友好的Markdown格式\n5. **可持久化**: 支持磁盘持久化，适应生产环境\n\n---\n\n## 适用场景\n\nTiza特别适合以下多智能体场景：\n\n- **代码审查**: 安全、质量、测试等多维度审查协作\n- **内容审核**: 多智能体从不同角度评估内容\n- **数据分析**: 不同智能体处理数据的不同方面\n- **复杂任务分解**: 将大任务拆分为子任务，智能体并行执行\n\n---\n\n## 总结\n\nTiza通过引入共享上下文存储的概念，优雅地解决了MCP多智能体系统中的协调问题。它不仅显著降低了LLM调用成本和token消耗，更重要的是提供了一种让智能体真正"协作"的机制——每个智能体可以站在其他智能体的肩膀上，而不是重复相同的工作。\n\n对于正在构建多智能体系统的开发者来说，Tiza提供了一个经过验证的架构模式和现成的实现，值得深入研究和采用。
