更新SOP描述和prompt

This commit is contained in:
xiejiayu
2025-08-11 12:22:30 +08:00
parent 57918684f6
commit 207e5b7e35
2 changed files with 54 additions and 45 deletions
@@ -1,75 +1,84 @@
# 生成sop的prompt模板, variables -> query: 用户问题;sop:参考sop; tools_str: 已有工具字符串;file_list_str: 用户上传的文件名列表
# knowledge_list_str: 用户有权限的知识库列表
SopPrompt = """基于以下信息创建一个标准操作流程(SOP):
请基于用户需求的生成SOP:
1. SOP指的是通过哪些标准步骤能指导大模型解决用户的问题。
需要包含以下内容:
2. 问题概述 - 简要描述问题和目标,需要体现本SOP的适用范围
3. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
4. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
4.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,所以阅读原文和分析必须包含在一个步骤中。
4.2 因此拆分任务的需求,需要先用一个步骤列出所有需要分步处理内容(例如生成目录,或生成文件名),然后下一个步骤针对此步骤进行处理,所有的具体处理应该都放在一个步骤里面,如果需要写入文件,需要在此步骤说明是每判断一个追加写入文件。
5. 如果用户意图需要输出很长的内容,推荐使用写文档的工具,写文档的工具需要先拆解需要写的目录结构,然后给定一个文件名,然后一步一步的完成,每一步都写入同一个文件。
6. 你需要先输出思考过程,说清楚你生成SOP的逻辑,然后再输出SOP。思考和SOP之间必须使用<SOP_START>来进行分割。
7. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
工具的表示方法:@{{工具名}}@
文件的表示方法:@{{文件名}}的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
知识库的表示方法:@{{知识库名}}的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
SopPrompt = """<背景>你需要根据用户需求创建一个指导手册(SOP),指导手册指的是通过标准步骤指导大模型解决用户的需求。
</背景>
<指导手册包含内容>
1. 问题概述 - 简要描述问题和目标,需要体现本指导手册的适用范围
2. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
3. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,通过写入中间文件然后读取的方式来传递大量信息。
4. 你需要先输出思考过程,说清楚你生成指导手册的逻辑,然后再输出指导手册。思考和指导手册之间必须使用<SOP_START>来进行分割。
5. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
<格式要求>
工具的表示方法:@工具名@
用户上传文件的表示方法:@文件名的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
知识库的表示方法:@知识库名的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
输出文件的表示方法:文件名
</格式要求>
</指导手册包含内容>
{file_list_str}
{knowledge_list_str}
已有工具:
<已有工具列表>
{tools_str}
</已有工具列表>
模仿以下SOP的格式:
<参考指导手册>
{sop}
</参考指导手册>
用户需求:
<用户需求>
{query}
</用户需求>
输出应当是Markdown格式,便于阅读和理解。请确保SOP是实用的,可以帮助用户解决类似问题。
你需要先思考,然后再输出SOP。使用<SOP_START>来分割思考和SOP。
输出应当是Markdown格式,便于阅读和理解。请确保指导手册是实用的,可以帮助用户解决类似问题。
你需要先思考,然后再输出指导手册。使用<SOP_START>来分割思考和指导手册。
思考过程:"""
# 调整sop时的反馈prompt模板, variables -> query: 用户问题;sop:参考sop;feedback:用户反馈; history_summary: 历史执行过程
# variables -> tools_str: 已有工具字符串; file_list_str: 用户上传的文件名列表; knowledge_list_str: 用户有权限的知识库列表
FeedBackSopPrompt = """基于以下信息创建一个标准操作流程(SOP):
FeedBackSopPrompt = """基于以下信息创建一个指导手册(SOP):
{file_list_str}
{knowledge_list_str}
已有工具:
<已有工具列表>
{tools_str}
</已有工具列表>
用户需求: {query}
解决问题的执行过程:
{history_summary}
<用户需求>
{query}
</用户需求>
<待优化指导手册>
{sop}
</待优化指导手册>
用户对以上执行过程,SOP和结果的反馈:
用户对指导手册的反馈:
{feedback}
请基于以上内容和反馈创建一个清晰、结构化,且更好满足用户需求的SOP文档:
需要包含以下内容:
1. 问题概述 - 简要描述问题和目标,需要体现本SOP的适用范围
请基于以上内容和反馈创建一个清晰、结构化,且更好满足用户需求的指导手册:
<指导手册包含内容>
1. 问题概述 - 简要描述问题和目标,需要体现本指导手册的适用范围
2. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
3. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,所以阅读原文和分析必须包含在一个步骤中。
3.2 因此拆分任务的需求,需要先用一个步骤列出所有需要分步处理内容(例如生成目录,或生成文件名),然后下一个步骤针对此步骤进行处理,所有的具体处理应该都放在一个步骤里面,如果需要写入文件,需要在此步骤说明是每判断一个追加写入文件。
4. 如果用户意图需要输出很长的内容,推荐使用写文档的工具,写文档的工具需要先拆解需要写的目录结构,然后给定一个文件名,然后一步一步的完成,每一步都写入同一个文件。
5. 你需要先输出思考过程,说清楚你生成SOP的逻辑,然后再输出SOP。思考和SOP之间必须使用<SOP_START>来进行分割。
7. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
工具的表示方法:@{{工具名}}@
文件的表示方法:@{{文件名}}的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
知识库的表示方法:@{{知识库名}}的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,通过写入中间文件然后读取的方式来传递大量信息。
4. 你需要先输出思考过程,说清楚你生成指导手册的逻辑,然后再输出指导手册。思考和指导手册之间必须使用<SOP_START>来进行分割。
5. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
<格式要求>
工具的表示方法:@工具名@
用户上传文件的表示方法:@文件名的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
知识库的表示方法:@知识库名的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
输出文件的表示方法:文件名
</格式要求>
</指导手册包含内容>
输出应当是Markdown格式,便于阅读和理解。请确保SOP是实用的,可以帮助用户解决类似问题。
输出内容应该简练"""
输出应当是Markdown格式,便于阅读和理解。请确保指导手册是实用的,可以帮助用户解决类似问题。
你需要先思考,然后再输出指导手册。使用<SOP_START>来分割思考和指导手册。
思考过程:"""
# 生成一级子任务的prompt模板, variables -> current_time: 当前时间;file_dir: 用户上传的文件路径;sop: 用户SOP;query: 用户问题
GenerateTaskPrompt = """<背景资料>
@@ -146,7 +155,7 @@ SingleAgentPrompt = """你是一个强大的{profile},可以使用提供的工
用户最终问题:
"{query}"
用户提供的完整SOP:
用户提供的完整指导手册(SOP):
{sop}
这是任务整体规划:
@@ -160,7 +169,7 @@ SingleAgentPrompt = """你是一个强大的{profile},可以使用提供的工
{target}
当你完成了阶段目标,应该结束执行。
当前应该遵守的SOP:
当前应该遵守的指导手册(SOP):
{single_sop}
注意事项:
@@ -195,7 +204,7 @@ LoopAgentSplitPrompt = """你是一名专业的流程拆解专家,请根据用
用户最终问题:
{query}
用户提供的完整SOP:
用户提供的完整指导手册(SOP):
{sop}
这是任务整体规划:
@@ -62,7 +62,7 @@ ReactSingleAgentPrompt = """你是一个强大的{profile},可以使用以下
用户最终问题:
"{query}"
用户提供的完整SOP:
用户提供的完整指导手册(SOP):
{sop}
这是任务整体规划:
@@ -76,7 +76,7 @@ ReactSingleAgentPrompt = """你是一个强大的{profile},可以使用以下
{target}
当你完成了当前目标,应该结束执行。
当前应该遵守的SOP:
当前应该遵守的指导手册(SOP):
{single_sop}
已经执行的步骤: