| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- """
- 知识提取相关 Prompt
- 两个场景,各自独立配置:
- - REFLECT_PROMPT: 压缩时阶段性反思(消息量超阈值,对当前批历史提炼)
- - COMPLETION_REFLECT_PROMPT: 任务完成后全局复盘(对整个任务的全局视角)
- 两个 prompt 都要求 LLM 直接调用 `knowledge_save` 工具保存经验,
- 而不是输出结构化文本再由 runner 解析。
- """
- # ===== 压缩时阶段性反思 =====
- REFLECT_PROMPT = """请回顾以上执行过程,将值得沉淀的经验直接用 `knowledge_save` 工具保存到知识库。
- **关注以下方面**:
- 1. 人工干预:用户中途的指令说明了哪里出了问题
- 2. 弯路:哪些尝试是不必要的,有没有更直接的方法
- 3. 好的决策:哪些判断和选择是正确的,值得记住
- 4. 工具使用:哪些工具用法是高效的,哪些可以改进
- **每条经验调用一次 `knowledge_save`,参数说明**:
- - `task`: 这条经验适用的场景,格式:「在[什么情境]下,[要完成什么]」
- - `content`: 具体经验内容,格式:「当[条件]时,应该[动作](原因:[一句话])。案例:[具体案例]」
- - `types`: 选 `["strategy"]`;如果涉及工具用法也可加 `"tool"`
- - `tags`: 用 `intent`(任务意图)和 `state`(环境状态/相关工具名)标注,便于检索
- - `score`: 1-5,根据这条经验的价值评估
- **注意**:
- - 只保存最有价值的 3-8 条,宁少勿滥
- - 不需要输出任何文字,直接调用工具即可
- - 如果没有值得保存的经验,不调用任何工具
- """
- # ===== 任务完成后全局复盘 =====
- COMPLETION_REFLECT_PROMPT = """请对整个任务进行复盘,将值得沉淀的经验直接用 `knowledge_save` 工具保存到知识库。
- 与压缩时的阶段性反思不同,这是任务结束后的全局视角,关注:
- 1. 任务整体路径:实际走的路径与最初计划的偏差
- 2. 关键决策点:哪些决策显著影响了最终结果
- 3. 可复用的模式:哪些做法在类似任务中可以直接复用
- 4. 踩过的坑:哪些问题本可提前规避
- **每条经验调用一次 `knowledge_save`,参数说明**:
- - `task`: 这条经验适用的场景,格式:「在[什么情境]下,[要完成什么]」
- - `content`: 具体经验内容,格式:「当[条件]时,应该[动作](原因:[一句话])。案例:[具体案例]」
- - `types`: 选 `["strategy"]`;如果涉及工具用法也可加 `"tool"`
- - `tags`: 用 `intent`(任务意图)和 `state`(环境状态/相关工具名)标注,便于检索
- - `score`: 1-5,根据这条经验的价值评估
- **注意**:
- - 只保存最有价值的 2-5 条,宁少勿滥
- - 不需要输出任何文字,直接调用工具即可
- - 如果没有值得保存的经验,不调用任何工具
- """
- def build_reflect_prompt() -> str:
- return REFLECT_PROMPT
|