SuperAPI AI 工具集

context-diet

智能体与模型

查看项目

更新于 10-16 01:34

技能介绍

用途:当智能体每次都把相同文件重新读入上下文时,费用随重复次数而非任务难度增长。context-diet 给出的结构性做法是建立可查询索引,让智能体只取需要的少量事实,而不是整份文件。

主要能力与用法:

  1. 先测基线。选一个代表性任务(针对代码库或语料的真实问题),从会话用量统计中记录 token 数与工具调用次数。
  2. 接入智能体可查询的索引,替代直接读原始文件。代码库可经 MCP 使用 codebase-memory-mcp,也可用仓库地图、知识包或面向文档的 RAG 索引,关键是“查询进、小答案出”。
  3. 校验 MCP 配置可解析并指向真实二进制文件,然后运行首次索引(大型仓库需数分钟,之后查询为亚毫秒级)。
  4. 对同一任务重跑,再次记录 token 与工具调用。
  5. 仅当下降真实且答案质量保持时才保留索引,并并排报告两个数字;若质量下降超过费用节省,说明节食过度,混合方案也是可接受结果。

文中给出的校验命令(保持原样): cat > mcp-config.json <<'JSON' { "mcpServers": { "codebase-memory": { "command": "/usr/local/bin/codebase-memory-mcp", "args": [] } } } JSON node -e ' const c = JSON.parse(require("fs").readFileSync("mcp-config.json", "utf8")); function bad(m) { console.error("BAD: " + m); process.exit(1); } const servers = c.mcpServers || c.mcp_servers || {}; const keys = Object.keys(servers); if (keys.length === 0) bad("mcpServers must have at least one entry"); const srv = servers[keys[0]]; if (!srv.command || typeof srv.command !== "string") bad("server entry must have a command (path to the binary)"); if (!Array.isArray(srv.args)) bad("args must be an array"); console.log("context-diet OK: MCP server " + JSON.stringify(keys[0]) + " wired at " + srv.command + " (now measure tokens before/after on the same task)"); '

适用场景:代码库或语料较大、智能体反复读取同一批文件导致 token 浪费的问答类任务。

限制:索引只是结构性后端,不改模型与提示词,不承诺质量提升;几千行以下的小仓库上下文本就不贵,索引开销不划算。文中引用的约 10 倍 token 减少、2.1 倍工具调用减少、83% 答案质量(arXiv:2603.27277,31 个真实仓库、知识图谱 MCP 服务器)属于他人基准的上限,不是承诺,只有自己按第 5 步测出的数字才值得复述。原文未提供定价、平台支持范围等其它信息。