Sift Gateway Vibe 项目

AI 工具输出可靠性网关

Sift Gateway - AI 工具输出可靠性网关

项目简介

Sift Gateway 是一个专为 AI Agent 工具输出设计的可靠性中间层,解决了大模型在处理工具返回结果时的三大痛点:上下文爆炸(长输出吃光 token)、分页不完整(Agent 在数据不全时就作答)、数据泄露风险(敏感信息被重新喂入模型)。它通过拦截 MCP 或 CLI 命令的 JSON 输出,将完整结果持久化为本地 SQLite 产物(Artifact),只向模型返回紧凑的 schema 引用或小结果,减少 95% 以上的 token 消耗,同时将准确率从 33% 提升到 99%。

核心功能

  • 全量输出持久化:将工具的完整 JSON 输出存储为 SQLite 产物(Artifact),而不是直接塞入模型上下文,避免大输出耗尽 context window
  • Schema 稳定引用:对大型或分页输出返回 schema_ref(查询指引),而非原始数据,Agent 可按需精确查询
  • 显式分页契约:要求 Agent 明确调用 next_page 直到 pagination.retrieval_status == COMPLETE,避免在分页未完成时提前作答
  • 敏感信息脱敏:默认启用出站 secret 脱敏,检测到敏感值后自动移除,不让其重新进入模型上下文
  • 精确结构化查询:Agent 可用 Python 代码对 SQLite 中存储的产物进行精确查询,替代基于 prompt 的模糊提取
  • CLI 和 MCP 双模式:CLI 模式(sift-gateway run)处理命令行输出,MCP 模式提供 mirrored tool calls 和 artifact 查询接口
  • 基准测试验证:在 103 个跨 12 个真实 JSON 数据集的事实性问题测试中,Sift 将准确率从 33% 提升到 99%,token 消耗降低 95.4%

技术实现

Sift Gateway 的核心工作流程分为四个阶段:

阶段一:拦截与持久化。MCP 工具调用或 CLI 命令的 JSON 输出被 Sift 拦截,完整内容作为 Artifact 存入本地 SQLite 数据库,同时生成确定性 schema 映射。Artifact 使用内容寻址(content-addressed),相同内容的多次运行产生相同 ID,便于版本对比。

阶段二:结果路由。小输出(默认阈值内)直接 inline 返回;大输出或分页输出返回 schema_ref,包含查询接口说明,供 Agent 后续精确查询。

阶段三:精确查询。Agent 通过 sift-gateway code 命令用 Python 对 SQLite 产物执行精确分析。例如:

sift-gateway code --json  '$' --code "def run(data, schema, params): return {'rows': len(data)}"

阶段四:分页完整性确认。分页输出需要 Agent 持续调用 artifact(action="next_page") 或 sift-gateway run --continue-from,直到 retrieval_status == COMPLETE。结果不对齐到数据不完整时不能声称完成。

脱敏策略:启用后,所有出站结果经过 secret 检测(基于校验和的精确匹配和模糊匹配),敏感值替换为占位符,不进入模型上下文。

快速上手

第一步:安装

pipx install sift-gateway
sift-gateway init --from claude  # 自动配置 Claude Code

支持 --from claude-code、cursor、windsurf、vscode、zed、auto 等快捷配置。

第二步:捕获命令输出

sift-gateway run --json -- kubectl get pods -A -o json

完整输出存入 Artifact,只返回紧凑结果给 Agent。

第三步:精确查询

sift-gateway code --json  '$' --code "def run(data, schema, params): return {'rows': len(data)}"

第四步:处理分页

sift-gateway run --json --continue-from  -- 

持续调用直到 retrieval_status == COMPLETE。

第五步:跨分页链分析

sift-gateway code --json --scope all_related  '$' --file ./analysis.py

对完整分页链执行 Python 分析脚本,而非只分析某一页数据。

适用人群

  • 使用 MCP 协议构建 Agent 系统的开发者
  • 处理大量结构化数据(API 响应、数据库查询结果)的 AI 应用开发者
  • 对 token 消耗敏感,需要优化 context window 使用的团队
  • 需要处理分页数据且要求完整性的生产环境 Agent
  • 对数据安全和隐私有要求,不希望敏感信息进入模型上下文的用户

补充说明

Sift 的设计哲学是:对于一次性本地提取,jq 足够用;Sift 适用于需要可重复、分页完整、政策受控的工作流。Benchmark 显示,Sift 在需要跨多页数据的复杂查询中优势最为明显,Agent 不会因为 context 限制而漏掉关键数据,从而避免了"部分数据导致错误结论"的典型问题。

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论