趋近智
智能体常需要即时上下文窗口或初始训练数据中不包含的信息。为了高效运行,尤其是在需要最新或专业知识的任务中,它们必须访问外部知识库。这些知识库充当一种持久的长期记忆形式,从结构化数据库、文档存储库到专业API。这里,重点在于如何构建提示,使智能体能够成功查询这些外部知识来源,获取相关信息,并将其整合到其操作流程中。
当智能体需要连接外部知识库时,您的提示的主要作用是连接智能体的内部推理与数据检索机制。这包括明确指示何时需要查询、寻求什么信息以及如何与特定知识库交互。
提示需要考虑的重要事项包括:
让我们看看构建提示以促进这些交互的具体方法。
对于具备工具使用能力的智能体,访问知识库通常被抽象为调用特定工具或函数。您的提示必须清楚定义智能体应如何发出使用此类工具的意图以及其参数的格式。
设想一个智能体可以访问名为 search_product_database 的工具,该工具接受 product_query(字符串)和 filters(可选字典)作为输入。
提示可能包含以下指令:
"如果您需要查找产品信息,请使用 search_product_database 工具。您必须提供 product_query。您可以选择提供 filters,例如 {'category': 'electronics', 'in_stock': true}。
要使用该工具,请按以下格式输出一个JSON对象:
{
"tool_name": "search_product_database",
"tool_input": {
"product_query": "产品名称或描述",
"filters": {
"filter_key_1": "value1",
"filter_key_2": "value2"
}
}
}
"
这种方法要求您定义:
product_query 为字符串,filters 为字典)。许多现代知识库,特别是向量数据库,都针对使用自然语言查询的语义搜索进行了优化。智能体可以形成一个问题或描述性短语,而不是僵硬的SQL。您的提示应指导智能体构建有效的自然语言查询。
例如,如果智能体需要查询公司内部文档(存储在向量数据库中,并通过 query_internal_docs 工具访问):
提示片段:
"要查找公司内部文档中的相关信息,请使用 query_internal_docs 工具。请构建一个清晰具体的疑问或描述性短语,捕捉您要查找的核心内容。
示例:如果用户问‘我们的育儿假政策是什么?’,则 query_internal_docs 的一个好查询将是‘育儿假政策详情’。
工具使用:
{
"tool_name": "query_internal_docs",
"tool_input": {
"natural_language_query": "您的详细问题或搜索短语"
}
}
"
提示自然语言查询生成的小提示:
对于关系型数据库,智能体可能需要生成SQL查询。这对大型语言模型而言,是一项要求更高的任务,因为它需要理解数据库架构。您的提示必须提供足够的架构信息,并指导将自然语言意图转换为SQL。
提供架构信息: 您可以在提示中直接包含相关表架构的简化版本。
示例:
"您可以访问一个包含以下表格的数据库:
products 表:
| Column Name | Data Type | Description |
|---|---|---|
product_id |
INTEGER | 产品的唯一ID |
name |
TEXT | 产品名称 |
category |
TEXT | 产品类别 |
price |
REAL | 产品价格 |
stock_level |
INTEGER | 当前库存量 |
orders 表:
| Column Name | Data Type | Description |
|---|---|---|
order_id |
INTEGER | 订单的唯一ID |
product_id |
INTEGER | 所订产品的ID |
quantity |
INTEGER | 订购数量 |
customer_id |
INTEGER | 客户的ID |
要查询此数据库,请生成一个SQL查询并将其提供给 execute_sql_query 工具。
示例:如果被问及‘查找所有价格低于500美元的笔记本电脑’,您可能会生成:
SELECT name, price FROM products WHERE category = 'laptop' AND price < 500;
工具使用:
{
"tool_name": "execute_sql_query",
"tool_input": {
"sql_query": "YOUR_GENERATED_SQL_QUERY"
}
}
"
SQL生成提示的要素:
智能体访问外部知识库时的交互流程,在从识别需求到处理结果的各个阶段都由提示引导。
获取数据只是流程的一部分。智能体随后需要理解这些数据。您的提示应指导这个后续阶段:
search_product_database 工具没有返回结果,请尝试扩大您的 product_query 范围或删除一些过滤器。如果仍然不成功,请告知用户根据提供的标准找不到该产品。”在处理SQL数据库或复杂API等结构化知识库时,提供完整的架构或API文档可能会占用智能体有限的上下文窗口的很大一部分。以下是管理这种情况的策略:
# 提示的总结性架构示例
可用表:
- customers (customer_id INT, name TEXT, email TEXT, city TEXT)
- orders (order_id INT, customer_id INT, order_date DATE, total_amount REAL)
- products (product_id INT, name TEXT, category TEXT, price REAL)
虽然此处重点是构建访问提示,但重要的是要记住,与知识库的实际连接应由安全的工具接口处理。提示不应包含敏感信息,如API密钥、数据库凭据或完整的连接字符串。相反,提示指导智能体使用工具,该工具负责实施安全认证和授权机制。但是,您的提示可以指示智能体在构建查询或呈现结果时注意数据敏感性,例如:“除非任务明确需要并且您已通过适当的用户验证步骤确认授权,否则请勿请求或显示个人身份信息(PII),如完整地址或付款详情。”
“通过仔细构建提示,您可以帮助AI智能体获取外部知识库信息。这使它们从孤立的处理器转变为能够获取和使用各种信息以达成目标的知情助手,极大地扩展了它们在需要访问动态或专业数据的复杂任务中的实用性。”
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造