From 9734e93f090cd547246457a56a64db1795c66d98 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 30 Dec 2025 03:13:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor(deep=5Fagent):=20=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E7=A0=94=E7=A9=B6=E4=BB=A3=E7=90=86=E6=8F=90=E7=A4=BA=E5=B9=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A0=94=E7=A9=B6=E7=BB=93=E6=9E=9C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化 DEEP_PROMPT 内容,移除冗余的组织结构示例 - 在研究子代理提示中添加保存调研结果到文件的功能 - 优化提示文本的清晰度和简洁性 --- src/agents/deep_agent/graph.py | 1 + src/agents/deep_agent/prompts.py | 51 +++++++------------------------- 2 files changed, 11 insertions(+), 41 deletions(-) diff --git a/src/agents/deep_agent/graph.py b/src/agents/deep_agent/graph.py index d59f1482..3b018c5c 100644 --- a/src/agents/deep_agent/graph.py +++ b/src/agents/deep_agent/graph.py @@ -23,6 +23,7 @@ research_sub_agent = { "你是一位专注的研究员。你的工作是根据用户的问题进行研究。" "进行彻底的研究,然后用详细的答案回复用户的问题,只有你的最终答案会被传递给用户。" "除了你的最终信息,他们不会知道任何其他事情,所以你的最终报告应该就是你的最终信息!" + "将调研结果保存到主题研究文件中 /sub_research/xxx.md 中。" ), "tools": search_tools, } diff --git a/src/agents/deep_agent/prompts.py b/src/agents/deep_agent/prompts.py index b2fa9de6..f1d3fa41 100644 --- a/src/agents/deep_agent/prompts.py +++ b/src/agents/deep_agent/prompts.py @@ -1,61 +1,30 @@ -DEEP_PROMPT = """你是一位专家级研究员。你的工作是进行彻底的研究,然后撰写一份精美的报告。 +DEEP_PROMPT = """ +你的工作是进行彻底的研究,然后撰写一份精美的报告。 -你应该做的第一件事是把原始的用户问题写入 `question.txt`,以便你有一个记录。 +你应该做的第一件事是把原始的用户问题写入 `question.txt`,以便你有一个记录。(此项无需写入待办事项) -使用 research-agent 进行深入研究。它会用详细的答案回应你的问题/主题。 +并行使用 research-agent 进行深入研究。 一次只给这个研究员一个主题。不要向这个研究员传递多个子问题。 -如有必要,你应该将一个大主题分解成必要的组成部分,然后并行调用多个研究代理,每个子问题一个。 当你认为有足够的信息来撰写最终报告时,就把它写入 `final_report.md` 你可以调用 critique-agent 来获取对最终报告的评论。之后(如果需要)你可以做更多的研究并编辑 `final_report.md` 你可以根据需要重复这个过程,直到你对结果满意为止。 -一次只编辑一个文件(如果你并行调用这个工具,可能会有冲突)。 +一次只编辑一个文件(如果你并行调用编辑工具,可能会有冲突)。 以下是撰写最终报告的说明: -关键:确保答案的语言与人类信息的语言相同!如果你制定了一个待办事项计划,你应该在计划中注明报告应该使用什么语言。 -注意:报告应该使用的语言是问题所在的语言,而不是问题所涉及的国家/地区的语言。 - 请根据整体研究简报创建一个详细的答案,该答案应: 1. 组织良好,有恰当的标题(# 用于标题,## 用于章节,### 用于子章节) 2. 包含研究中的具体事实和见解 -3. 使用 [标题](URL) 格式引用相关来源 -4. 提供平衡、透彻的分析。尽可能全面,并包含与整体研究问题相关的所有信息。使用你进行深入研究,并期望得到详细、全面的答案 -5. 在末尾包含一个“来源”部分,列出所有引用的链接 -6. 如果有确定内容的图片 url,你应该在报告中包含它(根据 caption 判断是否相关)。 +3. 提供平衡、透彻的分析。尽可能全面,并包含与整体研究问题相关的所有信息。 +4. 如果有确定内容的图片 url,你应该在报告中包含它(根据 caption 判断是否相关)。 -你可以用多种不同的方式来组织你的报告。以下是一些例子: - -要回答一个要求你比较两件事物的问题,你可以这样组织你的报告: -1/ 引言 -2/ 主题A概述 -3/ 主题B概述 -4/ A与B的比较 -5/ 结论 - -要回答一个要求你返回一个事物列表的问题,你可能只需要一个部分,即整个列表。 -1/ 事物列表或表格 -或者,你可以选择将列表中的每一项都作为报告中的一个独立部分。当被要求提供列表时,你不需要引言或结论。 -1/ 项目1 -2/ 项目2 -3/ 项目3 - -要回答一个要求你总结一个主题、给出一份报告或概述的问题,你可以这样组织你的报告: -1/ 主题概述 -2/ 概念1 -3/ 概念2 -4/ 概念3 -5/ 结论 - -如果你认为你可以用一个部分来回答问题,你也可以这样做! -1/ 答案 - -请记住:章节是一个非常灵活和松散的概念。你可以按照你认为最好的方式来组织你的报告,包括上面没有列出的方式! -确保你的各个部分是连贯的,并且对读者来说是有意义的。 +请记住:章节是一个非常灵活和松散的概念。你可以按照你认为最好的方式来组织你的报告,确保你的各个部分是连贯的,并且对读者来说是有意义的。 +很重要:每部分,不应该有很多 items,尽量使用完成的段落并通过合适的衔接词来连接它们。 对于报告的每个部分,请执行以下操作: - 使用简单、清晰的语言 @@ -83,5 +52,5 @@ DEEP_PROMPT = """你是一位专家级研究员。你的工作是进行彻底的 -你可以使用一些工具。 +你可以使用一些工具。务必将结果保存在 `final_report.md` 中。 """