6月前我做摄影师智能体那阵,一开始把经验全塞进 Prompt。结果上下文爆了,模型还用错。我白忙活一阵。我后来才学会拆工具。
06.1 别把知识塞进 Prompt
摄影师智能体的作者讲得很对:摄影知识别写进系统提示。系统提示适合定义角色和规则,不适合承载大量经验资料。
塞多了,上下文越来越长,模型还不一定用对。
06.2 拆成三类工具
摄影师智能体拆了三类工具:
- 摄影经验工具:返回构图、参数、后期建议。
- 实时天气工具:查天气、云量、日出日落。
- 说明书检索工具:从相机说明书找菜单路径和原文。
工具调用时,前端能用流式事件展示状态:"正在查实时天气"。用户等待时不空白。
06.3 一个隐蔽的好设计
Makers 模板有个约定:文件名带下划线的,不暴露为公开路由。
# _knowledge.py 是内部知识模块,用户访问不到
# 放核心经验、场景规则、参数建议
agents/_knowledge.py
这个设计很实用。你的核心经验放在 _knowledge.py,不会被用户直接访问,也不影响对外接口结构。
| 维度 | 写进 Prompt | 拆成工具 + 文件 | 标叔的结论 |
|---|---|---|---|
| 上下文 | 越来越长 | 按需读取 | 工具胜 |
| 维护 | 改提示很乱 | 改一个文件 | 文件胜 |
| 安全 | 经验外泄风险 | 下划线隔离 | 文件胜 |
核心建议
经验先沉淀成文件,再让工具读。MVP 阶段不用先搭向量库。加个
_knowledge.py就够轻量。
06.4 回顾
工具是 Agent 的"手脚"。拆得好,Agent 才不空谈。下一章,讲怎么看清它到底干了什么。