ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Maka Agent 技能目录预算机制完整解析:2% 上下文窗口如何实现懒加载

Maka Agent 技能目录预算机制完整解析:2% 上下文窗口如何实现懒加载 Maka Agent 技能目录预算机制完整解析2% 上下文窗口如何实现懒加载【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/makaMaka 是一个本地优先local-first的 AI Agent 工作区它把模型消息、工具调用、权限决策等全部记录为追加式日志。当你安装了大量技能Skills后Maka 并不会把它们全部塞进系统提示词而是用一套2% 上下文窗口预算 懒加载机制来管理技能目录让 Agent 在任意规模模型下都能稳定运行。本文带你从零理解这套预算机制的工作原理。为什么技能目录需要预算很多人把技能理解为给 Agent 装插件。但技能不只是配置——每个技能的完整说明书instructions可能长达数千 Token如果全部写入系统提示词会直接吃掉模型宝贵的上下文窗口上下文窗口被浪费技能说明在大多数对话里根本用不到却每轮都计费。规模失控技能装得越多提示词越长推理成本越高。大模型陷阱200K 窗口的模型反而可能让提示词无限膨胀。Maka 的答案是提示词里只放目录不放正文。就像图书馆只在书架上贴书名标签读者看中哪本才去取书。2% 预算公式从上下文窗口到字符预算预算的计算在 packages/runtime/src/skills-context.ts 中定义核心规则如下基础比例预算 所选模型上下文窗口 ×2%SKILLS_PROMPT_CONTEXT_RATIO 0.02。上下限钳制结果被限制在4,000 ~ 8,000 Token之间。下限保证小窗口模型也有可用目录上限防止大窗口模型把目录变成无界成本。字符换算按 4 个字符 ≈ 1 Token 换算成字符预算。兜底值如果模型窗口未知回退到向后兼容的固定 18,000 字符MAX_SKILLS_PROMPT_CHARS。模型上下文窗口2% 计算值钳制后预算Token8K1604,000取下限128K2,5604,000取下限320K6,4006,400200K4,0004,0001M20,0008,000取上限 注意上下文窗口是显式的提示词输入而不是技能扫描器在内部偷偷查模型。这样切换模型时选中的目录是确定性的、可预测的。懒加载核心Skill 与 SkillSearch 两个工具被预算裁掉的技能并没有消失Maka 用两个只读工具兜底Skill工具取书当任务匹配某个技能时模型按 ref、id 或名称精确加载完整说明书。即使该技能没进提示词目录也照样能加载。SkillSearch工具找书目录放不下时提示词里会带一句固定大小的提示只告知还有 N 个技能被省略而不是列出一串 id模型可用简短任务描述搜索最多返回 8 条匹配结果。这套目录 → 搜索 → 精确加载的三层结构让技能数量从 5 个到 500 个系统提示词的长度都基本恒定。确定性选目录从全量清单到提示词的 5 步技能目录的挑选完全确定顺序固定见 docs/skill-catalog-policy.md发现按项目级 → 工作区兼容路径 → 用户级的优先级扫描技能目录重名技能先到先得过滤禁用去掉用户禁用的技能宿主能力门控技能声明的required-tools或required-capabilities在宿主不可用时直接隐藏allowed-tools仅作参考不授予权限排序用户置顶pinned的技能排最前其次保持来源优先级与显示名排序装入预算按序累加字符数直到触顶超出者进入省略名单。每一步都会产生一份决策报告SkillSelectionReport为每个技能记录明确结论advertised已展示、budget被预算裁掉、disabled、invalid、host_incompatible、shadowed被更高优先级同名技能遮蔽。如何查看预算决策Context Inspector桌面端会缓存最近一次提示词构建的报告在Skills Context Inspector中展示预算用了多少字符、哪些技能被展示、哪些因预算被省略、被谁遮蔽……一切透明可查。提示词尚未构建时它还会展示一份确定性的预览。这对排查为什么我的技能没被 Agent 看到非常有用。实用建议让技能进入目录的技巧置顶关键技能pinned 技能永远排在最前最不容易被预算挤掉写短描述目录条目按 id、名称、描述、声明工具逐项计字符描述越精炼同预算能装下越多技能就近放置项目级技能优先级高于用户级把高频技能放进项目目录⚙️按需声明依赖required-tools声明的宿主能力缺失时技能会被整体隐藏别忘了 SkillSearch被省略的技能仍然可被发现和精确加载省略只影响主动展示不影响可用性。总结Maka 的技能目录预算机制用一条简单公式窗口 × 2%钳制在 4K–8K Token解决了技能越多、提示词越贵的经典难题再配合Skill精确加载与SkillSearch搜索这两个懒加载工具实现了提示词成本恒定、技能规模无上限的优雅平衡。完整策略细节可参考 docs/skill-catalog-policy.md核心实现在 packages/runtime/src/skills-context.ts。【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/maka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表