如何拆分庞大提示词以减少智能体Token浪费
TuBrief 편집팀
2026년 3월 14일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
将各种指南和工具全部塞进一个系统提示词的单体架构很快就会露出破绽。只要对话稍微变长,智能体就会忘记写在提示词中间的指令。由于每次请求都要重复传输数万个Token,推理成本急剧上升,而且用户必须等待很长时间才能看到第一个Token生成。
在实际开发中,我们通过基于 agentskills.io 开放规范的分阶段上下文加载架构来解决这个问题。这种方法只在需要时调用适当的技能,从而节省Token。
单体系统提示词应当根据领域边界、工具执行权限和执行频率进行拆分。在单个会话中同时激活的技能应保持在3个以下,以防止在进行嵌入相似度搜索时技能之间发生冲突。
在拆分出的技能文件顶部,应编写只使用连字符、英文字母小写和数字的标识符,以及明确说明操作目的的YAML前言(Frontmatter)。
name: backend-api-generator
description: Generates Spring Boot REST API controller and service boilerplate code. Use when the user asks to create API endpoints, build REST controllers, or define DTO mappings for backend services.
when_to_use:
`
创建分阶段加载架构的过程非常简单。
将常驻占用 15,000 到 30,000 个Token的单体架构改为 SKILL.md 延迟加载架构后,初始Token开销可减少 90% 以上。根据Anthropic内部测试数据,p95延迟时间可缩短 12% 至 40%,每个对话的平均Token消耗量可减少 29.6%。
当多个技能被链式加载时,前一个技能的指令经常会留在会话中并扭曲后续任务。对于高风险检查或产生大量日志的任务,必须在YAML前言中加入子上下文分支(context: fork)设置,以便在进程级别进行隔离。
`
明确定义输入输出数据契约(Data Contract)的工作也不可或缺。
`markdown
All responses must strictly adhere to the following JSON structure without markdown wrapping:
{
"status": "SUCCESS" | "FAILED",
"generated_files": [
{
"path": "string",
"content": "string"
}
],
"error_message": "string | null"
}
`
隔离为子进程可以防止工具调用日志倾倒到主会话中。由于主对话会话保持清洁,子智能体之间传输数据时出错的概率也会降低。
如果需求含糊不清或工具调用错误重复出现,智能体会陷入无限重试循环。这会导致在短短几分钟内数十美元的API费用化为乌有。如果在技能文件正文中加入分阶段静态验证检查清单(Verification Checklist),智能体就能在完成任务前自行执行验证。
`markdown
Before declaring the task finished, you MUST sequentially execute the following verification checklist:
`
编写物理中断循环的断路器(Circuit Breaker)的方法也很简单。
`markdown
[SKILL EXECUTION HALTED]
Skill Name: backend-api-generator
Failure Reason: [Brief error description]
Attempts Made: [Number of retries]
Suggested Action: [Action required by backend developer]
`
对于删除文件或丢弃数据库这类危险操作,最好设置 disable-model-invocation: true 选项。这样可以防止智能体自行调用,并将其限制为只有在开发人员直接输入斜杠命令(/skill-name)时才执行。
当团队成员一起编写技能时,必须遵循 agentskills.io 标准目录架构,以免因Markdown文件冲突而苦恼。应在父文件夹中清晰地划分并放置正文、CLI脚本、参考文档和静态模板资产。
| 目录及文件路径 | 角色 | 编写指南 |
|---|---|---|
| skills/api-generator/SKILL.md | 必需的入口点文档 | 包含YAML前言和核心流程指南(500行以内) |
| skills/api-generator/scripts/ | 可执行代码文件夹 | 智能体在需要时调用的Python/Bash CLI脚本位置 |
| skills/api-generator/references/ | 辅助参考文档文件夹 | 收集大型API规范、数据库架构、风格指南文档 |
| skills/api-generator/assets/ | 静态资源模板文件夹 | 存储生成的代码样板、配置文件样本 |
在验证技能质量时,可以利用 promptfoo 评估框架。
npx promptfoo@latest eval 命令来测量指令遵守率。`yaml
description: "Backend Agent Skills Validation Suite"
prompts:
`
在部署时,将使用短生命周期分支的主干开发策略与Git标签(v1.2.0)结合起来。如果智能体在生产环境中出现异常行为,可以通过 git checkout tags/v1.1.0 -b hotfix/rollback 命令立即回滚到先前的标签时间点。