如何使用-GPT-5-构建代理

如何使用 GPT-5 构建代理

原文:towardsdatascience.com/how-to-build-agents-with-gpt-5/

在本文中,我将讨论如何使用 OpenAI 的 GPT-5 构建代理系统。我最近讨论了如何有效地使用 GPT-5,今天我将继续我的 GPT-5 覆盖范围,讨论如何有效地利用 GPT 作为代理。在您的应用程序中拥有具有可用工具的代理很快将成为大多数 AI 应用程序的基本用户需求,这就是为什么您应该尽早开始实施它。

我将介绍如何通过允许它访问您的数据并为其提供有用的工具来回答用户查询,使 GPT-5 成为一个强大的问答模型。本文旨在对您使用 GPT-5 作为代理的可能性进行高级概述。我不是 OpenAI 的赞助商。

GPT-5 代理

这张信息图表突出了本文的主要内容。我将讨论如何使用 GPT-5 作为人工智能代理,涵盖为什么你需要一个 AI 代理、向量存储、自定义工具和 OpenAI 的 Agents SDK。图片由 ChatGPT 提供。

为什么使用 GPT-5 作为代理?

当您考虑实施一个系统,如将 GPT-5 作为代理时,始终思考“为什么”是非常重要的。您需要知道您为什么要实施它以及您试图解决什么问题。您可能正在处理的一些问题是:

  • 访问内部知识库

  • 编码代理

  • 自动化工作流程

所有这些都是在实施代理系统时有效的理由,而 GPT-5 和工具可以帮助实现所有这些。

我选择利用 GPT-5 作为我的代理的主要原因是我通常与文档语料库一起工作,OpenAI 有一个集成的生态系统,这对于解决我试图解决的问题非常有用:在给定信息语料库的情况下回答用户查询。

在本文的不同部分中,我将介绍 OpenAI 中可用的不同工具。请注意,有许多替代方案,它们要么更便宜,要么更适合您的用例。谷歌的 Gemini 是一个平台,其功能与 OpenAI 基本相同,并且绝对是一个您应该考虑的替代方案。此外,还有大量的开源工具。

RAG 访问数据

RAG 是一种强大的访问数据的方法。通常,RAG 是通过分块和嵌入自己的数据,然后将其馈送到如 Pinecone 之类的向量数据库来执行的。然而,现在有很好的替代方案,本质上提供了托管的 RAG 服务。OpenAI 和 Gemini 都提供了一个 API 来上传文件,它们会自动分块和嵌入你的文件,通过简单的 API 调用使其可访问。这为你的数据提供了超级简单的访问方式。你可以在这个 API 页面中找到详细信息。我将展示的一些示例代码也将来自这个页面。

在你上传了文档并将它们放入向量存储后,例如,你可以执行向量搜索来找到相关的文档,使用:

user_query = "When is our latest data management agreement from?"

results = client.vector_stores.search(
    vector_store_id=<your vector store id>,
    query=user_query,
)

这将返回一系列文档和这些文档中的特定片段,类似于 Pinecone 所做的那样。然后你可以继续使用这些片段来回答用户查询。

然而,你可以通过提供一个工具让 GPT-5 访问它,使向量存储变得更加强大。

from openai import OpenAI
client = OpenAI(api_key="")

response = client.responses.create(
    model="gpt-5",
    input="When is our latest data management agreement from?",
    tools=[{
        "type": "file_search",
        "vector_store_ids": ["<your vector store id>"]
    }]
)

这要强大得多,因为你现在通过一个工具使向量存储对 GPT-5 可用。当你现在输入用户查询时,GPT-5 会决定是否需要使用该工具来回答用户查询。如果它决定需要使用该工具,GPT-5 会执行以下操作:

  • 解释它可用的工具或向量存储,以及应该使用哪个。

  • 进行查询重写:编写 5 个不同的用户提示版本,但优化以使用 RAG 找到相关信息。

  • 并行触发 5 个提示,并获取最相关的文档

  • 确定是否有足够的信息来回答用户查询。

    • 如果是,它将响应用户查询

    • 如果不是,它可以在向量存储(s)中进一步搜索


这是一种超级简单且强大的访问数据的方式,OpenAI 基本上通过以下方式处理所有复杂性:

  • 文档分块和嵌入

  • 决定何时执行向量搜索

  • 查询重写

  • 根据与查询的相似性确定相关文档

  • 判断是否有足够的信息来回答用户查询

  • 回答用户查询

Gemini 最近也通过他们的文件 API推出了一套托管 RAG 系统,本质上提供了相同的服务。

GPT-5 工具使用

在上一节中,我讨论了你可以提供给 GPT-5 的向量存储工具。然而,你也可以向 GPT-5 提供任何其他工具。一个经典的例子是提供 GPT-5 访问get_weather工具,以便它可以访问当前的天气。当前示例来自OpenAI 文档

from openai import OpenAI

client = OpenAI()

tools = [
    {
        "type": "function",
        "name": "get_weather",
        "description": "Get current temperature for a given location.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "City and country e.g. Bogotá, Colombia",
                }
            },
            "required": ["location"],
            "additionalProperties": False,
        },
        "strict": True,
    },
]

response = client.responses.create(
    model="gpt-5",
    input=[
        {"role": "user", "content": "What is the weather like in Paris today?"},
    ],
    tools=tools,
)

现在你需要确定应该向你的代理提供哪些工具,以便它能更好地回答你将提供的查询。例如:

  • 如果你正在使用外部知识库,你应该提供搜索这些知识库的工具,并在模型需要使用工具时通知它

  • Python 执行工具:你可以给模型一个运行 Python 代码的工具,并查看输出

  • 计算器工具:与其让大型语言模型自己进行数学运算(这既低效又容易出错),你可以提供计算器工具来运行计算。

等等。这里的重要部分是,你给智能体提供尽可能回答用户查询的最佳机会。然而,也容易犯提供太多工具的错误。重要的是你遵循为智能体提供工具的一般指南,确保:

  • 工具总是有很好的描述

  • 工具是明确的:模型(以及任何阅读工具的人类)应该始终清楚何时使用工具,何时不使用

  • 工具之间的最小重叠

我在我的上一篇文章如何为 AI 智能体构建工具中更深入地讨论了 AI 智能体工具的主题。


当为 GPT-5 定义工具时,你也可以提供指南,说明是否需要某个工具。一个必需的工具可能是向量存储搜索,你强制模型为每个用户请求搜索向量查询,确保答案始终基于文档语料库。然而,get_weather函数通常应该是一个可选函数,考虑到该函数应该在用户询问天气时才被调用。

你还可以使用连接器来创建工具。连接器本质上是为其他应用程序提供访问权限的工具,例如:

  • Gmail

  • Slack

  • Figma

  • GitHub

这使得 GPT 能够,例如,列出你的电子邮件,搜索 Slack 中的特定线程,查看 Figma 上的设计,或查看 GitHub 上的代码。

智能体包

值得一提的是,OpenAI 制作了一个智能体 SDK,你可以通过 Python 或 TypeScript 访问它。智能体 SDK 对于更复杂的智能体构建场景很有用,在这些场景中,你需要:

  • 使智能体执行复杂、连锁的动作

  • 在任务之间保持上下文

例如,你可以创建特定的智能体,专注于某些任务(获取信息、总结信息等),并构建一个指挥智能体,它回答用户请求,启动子智能体来获取和总结信息,确定是否有足够的信息,然后回答用户。

现在有很多类似的智能体 SDK,这使得创建自己的智能体变得相当简单。一些其他的好选择包括:

  • LangGraph

  • CrewAI

  • 智能体开发套件

这些包都服务于使 AI 智能体更容易创建,从而使其更容易访问的目的。

结论

在这篇文章中,我讨论了如何利用 GPT-5 作为 AI 代理。我首先讨论了何时需要制作代理,以及为什么 GPT-5 是几个好的替代方案之一。然后我深入探讨了 OpenAI 的向量存储,以及如何非常简单地创建向量存储,并将其作为工具提供给您的代理。此外,我还讨论了为您的代理提供其他自定义工具和您可以使用以制作高级代理应用的代理 SDK。为您的 LLMs 提供工具是提升您的代理并使其能够更好地回答用户查询的简单方法。正如我在文章开头所述,用户很快就会开始期待大多数 AI 应用都应有可执行工具操作的代理,因此这是一个你应该了解更多并尽快实施的主题。

👉 我的免费资源

🚀 使用 LLMs 提升你的工程能力(免费 3 天电子邮件课程)

📚 获取我的免费视觉语言模型电子书

💻 我的视觉语言模型网络研讨会

👉 在社交平台上找到我:

📩 订阅我的通讯

🧑‍💻 联系我

🔗 LinkedIn

🐦 X / Twitter

✍️ Medium

posted @ 2026-03-28 09:32  绝不原创的飞龙  阅读(2)  评论(0)    收藏  举报