趋近智
代理的短期记忆在上下文窗口内运行,对即时任务有用,但在处理大量信息或长时间的交互时会很快耗尽。为了有效运作,代理通常需要从更大、更持久的知识库中获取并使用信息。在这种情况下,为长期信息检索提供提示就变得非常重要。作为提示工程师,你的职责是编写指令,让代理能够明智地决定何时搜索、搜索什么以及如何使用它找到的信息。
把代理想象成一个需要明确指示的熟练研究员。没有这些指示,它可能不知道有信息库可用,也不知道如何浏览。提示提供这些指示,将代理的大语言模型核心与外部数据源连接起来。
有效地为长期信息检索提供提示涉及几种相互关联的策略。你不只是告诉代理知识库的存在;你是在引导它与知识库的互动。
代理需要明白 何时 寻找外部信息。你的提示应该定义这些触发条件。这可以是:
如果你无法根据当前对话或你的通用知识高置信度地回答用户问题,你**必须**在回复前使用`search_knowledge_base`工具查找相关信息。
如果用户询问具体数据、公司政策或详细项目更新,使用`document_retrieval_tool`工具查找答案。
如果你不确定某个事实细节或需要核实信息,请说明你的不确定性,然后使用`enterprise_search_tool`工具查找支持证据。
一旦代理决定检索信息,它需要形成一个好的查询。糟糕的查询会导致糟糕的结果。你的提示应该指导代理生成符合以下特点的查询:
用户提问:“根据季度报告,泰坦项目第二季度的营销策略是什么,它们如何影响了销售数据?”
你的思考过程:
1. 用户需要关于“泰坦项目第二季度营销策略”和“销售数据影响”的信息。
2. 我应该查询知识库,查找“泰坦项目第二季度营销报告”和“泰坦项目第二季度销售业绩”。
为`search_documents_tool`形成查询:
search_documents_tool("Project Titan Q2 marketing and sales report")
为了查询产品数据库,为`query_product_db`工具生成一个类似SQL的查询字符串。示例:`query_product_db("SELECT name, price FROM products WHERE category = 'electronics' AND stock > 0")`
如果使用`search_tool`进行的初次搜索未能产生相关结果,请尝试根据上下文使用更具体的关键词或更广泛的术语重新措辞你的查询。解释你新查询的理由。
从知识存储中获取数据只是成功的一半。代理随后必须处理这些信息,并将其连贯地整合到其回复中。提示应指导这种综合:
第三季度财务报告显示 SaaS 收入增长了 15%,主要由企业客户获取推动。主要挑战包括运营成本增加...
用户问题:“我们第三季度的 SaaS 收入增长是多少?”
指令:从检索到的文本中,提取 SaaS 收入增长的具体百分比和提及的任何主要驱动因素。
在使用`fetch_policy_document`检索信息后,利用文档内容直接回答用户关于远程工作政策的问题。不要仅仅粘贴文档。
你已检索到以下信息:
文档 A:“阿尔法项目按计划进行。”
文档 B:“由于不可预见的情况,阿尔法项目的里程碑推迟了 1 周。”
综合这些信息。如果存在差异,请予以说明。
检索系统并不完美。代理需要为以下情况做好准备:
如果`knowledge_search_tool`在两次优化查询尝试后仍未返回相关结果,请告知用户在可用文档中未能找到信息,并询问他们是否希望你搜索公共网络或他们是否可以提供更多上下文。
以下图表说明了提示如何引导代理完成长期信息检索过程。系统提示包含总体指令,包括何时检索、如何形成查询以及如何综合结果。
代理在系统提示的引导下,处理用户请求,确定是否需要外部信息,形成查询,访问知识存储,然后整合检索到的数据以生成一个全面的最终回复。
让我们设想一个客户支持代理,其设计目的是根据公司内部策略文档回答问题,这些文档存储在一个可通过get_policy_info工具访问的可搜索数据库中。
系统提示中的核心指令:
你是一个乐于助人的客户支持AI。你的主要目标是根据官方公司政策准确回答客户问题。
当客户询问可能与特定策略(例如,退货、保修、隐私、服务条款)相关的问题时:
1. 识别策略问题的核心主题。
2. 为`get_policy_info`工具形成一个简洁的搜索查询。查询应包含2-5个最能描述策略主题的关键词。
示例用户问题:“我购买的在线产品有多少时间可以退货?”
`get_policy_info`的示例查询:“在线购买退货策略期限”
3. 使用你的查询执行`get_policy_info`工具。
4. 一旦你收到策略信息,请仔细审查。
5. 直接使用检索到的信息回答客户的问题。如果需要,引用相关句子或段落,但主要是用你自己的话总结答案。
6. 如果检索到的信息不清楚或未能完全回答问题,请说明你找到了什么以及什么仍未解答。不要编造策略细节。
7. 如果`get_policy_info`工具未返回相关策略,请告知客户在策略文档中未能找到该主题的具体信息,并建议他们联系人工支持以获得澄清。
交互片段:
get_policy_info的查询:“退货策略 已开封产品 退款”get_policy_info("return policy opened product refund")"策略 4.2.b:产品在原始未开封包装的情况下,可在 30 天内退回。已开封的产品,如果所有原始组件都在且产品完好无损,经理酌情决定可符合兑换或商店信用额度条件。已开封产品通常不符合全额现金退款条件,除非有缺陷。"这个例子展示了详细的提示如何引导代理不仅是使用工具,而是从查询形成到检索到的信息呈现,都以智能的方式进行。
你的查询形成提示的具体措辞将自然地根据长期存储的类型而有所不同:
为了找到相关文档,请形成一个能捕获用户所问问题核心的完整问题。
为`analytics_db`生成一个SQL查询以检索请求的数据。‘sales’表包含列:‘product_id’、‘sale_date’、‘amount’、‘region’。
尽管工具的具体细节很重要,但基本原则是一致的:提示将代理对任务的理解转化为与知识存储的有效互动。
从长期记忆中检索信息是一个动态过程。你很可能会迭代优化你的提示,观察代理如何形成查询,如何解释结果,以及它如何很好地整合新知识。这种迭代优化对于构建高性能且可靠的AI代理非常重要。当你进入下一部分“构建访问知识存储的提示”时,你将学习更多关于在提示中定义工具及其描述的内容,以便代理首先能够理解 如何 调用它们。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造