大模型-使用Openai API实现一个简单的Agent

OpenAI vs. Anthropic:Responses API如何颠覆AI Agent标准之争? 最近,AI领域再起波澜,OpenAI 在 Manas 的刺激下,快速推出了 **AI Agent 开发工具包**,其中最引人注目的便是 **Responses API**。这一举措不仅是对 Manas 的回应,更是针对 **Anthropic 推出的 MCP 协议** 发起的一场标准之争。随着 AI Agent 生态的加速演进,Responses API 可能会成为新的事实标准,深刻影响未来 AI 代理的发展方向。 在这篇文章中,我们将解析 Responses API 的核心功能、其与 MCP 之间的竞争 阅读详情

前言

上节,我们实现了简单的RAG功能,你会发现它好像只能是一个知识助手,仅限于文字功能的回复和言辞组织,并不能实际执行一些功能帮助我们减少实际的行动工作。

比如让大模型生成的小说能自动写入WORD中,或者发布到优快云上并发布似乎只能靠我们自己的双手复制粘贴到具体文档中保存,它好像完成不了。

那么有没有可能具体的执行我们个性化要求的执行部分它也能够完成了?当然这就需要agent来完成。它就已经不再是一个普通聊天机器人了。

Agent指能够自主计划行动顺序或代表他人执行任务的实体,其形态包括人类或智能软件;
在计算机领域中,Agent特指能够感知环境并自主做出决策的程序,典型代表如具备自主性与学习能力的聊天机器人,执行服务器的命令或者API完成具体文件操作或者服务执行,从而让我们的具体想法能够落地实现;

多个agent的管理则就需要WorkBuddy作为AI服务平台,提供覆盖办公全场景的专家级AI服务; 用户可通过下载体验多专家协作功能,例如同步处理设计与开发任务,从而实现工作效率提升。这就是后面的事情了,这章我们就简单说说agent.

一个Agent有哪几部分组成

Agent 拆开来看,你会发现它并没有想象中那么神秘。

一个最基础的 AI Agent,本质上就是:

大模型
+
Prompt
+
Tools
+
Memory
+
Agent Loop

可以看出,依然是在大模型基础提供额外的私有化服务。至于如何执行多个私有化服务API调用顺序则是由大模型按顺序返回给私有的agent的,agetn按照返回的私有化api执行后再通过提示词返回给大模型结果,大模型继续后续的语言组织工作。

各个组件调用关系

+-------------------+
|      Agent        |  (主控制器,协调各模块,Agent框架和规范定义的)
+-------------------+
         |
         | 调用
         v
+-------------------+      +-------------------+
|     Planner       | <--> |     Memory        |
| (决策与规划模  )   |      | (短期/长期记忆)   |
+-------------------+      +-------------------+
         |
         | Planner由LLM做出决定执行工具调用顺序
         v
+-------------------+
|      Tool         |  (工具集合由私有化服务提供,如计算器、搜索)
+-------------------+
         |
         | 执行并结果返回(可以使用私有化服务提供的资源:磁盘,网络,shell命令,以及其他服务调用功能)
         v
+-------------------+
|    Environment    |  (外部环境,如文件系统、网络)
+-------------------+

可以看出能够做的就是按照Agent规范提供私有化服务和调用LLM大模型。

下面使用 Python,从 0 开始写一个真正可以运行的 Agent。

本文所有 AI 请求都使用 OpenAI 兼容协议:

OpenAI SDK 调用模型

OpenAI 的 GPT 系列模型影响了大模型技术发展的开发范式和标准。大部分模型,例如 Qwen、ChatGLM、DeepSeek 等模型,它们的使用方法和函数调用逻辑基本遵循 OpenAI 定义的规范,都可以使用OpenAI SDK来进行调用。

OpenAI的接口调用方式也经历的一些转变,其中最为经典的一套API,称之为ChatCompletionsAPI(官方文档链接:https://platform.openai.com/docs/api-reference/chat)。
而在2025年年中,OpenAI又发布了一套新的API: ResponsesAPI(官方文档链接:https://platform.openai.com/docs/api-reference/responses)。

ResponsesAPI是当前OpenAI中最先进的一套API,对ChatCompletionsAPI做了多处升级,例如,支持服务端内置工具调用,支持服务端维护状态(短期记忆)

这里使用阿里云的千问账号调用千问模型,因为它也是按照OpenAI的接口规范提供的api调用服务

# pip install openai
from openai import OpenAI
import os
from dotenv import load_dotenv

API_KEY = "你的阿里云百炼API Key"
BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
client = OpenAI(
    base_url=BASE_URL ,  # 平台提供的 URL
    api_key=API_KEY ,    # 平台提供的 API-Key
)

#### ChatCompletionsAPI
completion = client.chat.completions.create(
    model="gpt-4o-mini",  # 模型名称
    messages=[{
   
   "role": "user", "content": "将'你好'翻译成意大利语"}],  # 用户输入
)
print(completion.choices[0].message.content)


#### ResponsesAPI

response = client.responses.create(
    model="gpt-5.1",
    input="中国国内今天发生了哪些大事儿?",
    tools=[{
   
   "type": "web_search"}] # 可以自动调用内置工具
)

print(response.output_text) 

同一个公司的API尚且有不同的版本,而不同公司的API更是各有各的风格。

实现一个简单的Agent组件

我们知道大模型只能使用它自己的功能如果我们需要一个它不存在的功能,比如查看本公司内网的服务订单审批情况。那么它本身就无法实现。

这就需要我们提供给工具给大模型,让它决定是否需要调用我们的工具来完成这个操作。流程如下

用户
  ↓
大模型
  ↓
判断是否需要工具
  ↓
调用工具
  ↓
获得工具结果
  ↓
继续交给大模型
  ↓
生成最终答案

我们实现一个小型的Agent。这里我们提供四个私有工具服务。

我们的拥有四个工具:

calculator
计算数学表达式

get_current_time
获取当前时间

save_note
保存笔记

get_weather
联网查询天气

可以直接告诉 Agent:

计算100*99 的结果

查询当前时间

计算100*99 的结果写入笔记文件中

我当前在武汉,查询当前时间和最新的天气情况,并把结果保存到笔记中

重点:我们不会在 Python 代码里写死调用顺序。而是让 AI 自己决定先做哪一步后做哪一步,这才是 Agent。

实际效果如下图:
它会自行计划谁先执行,然后按计划顺序执行完成
在这里插入图片描述
时间和天气结果保存到文件如下图
在这里插入图片描述

OpenAI api调用

from openai import OpenAI
 
# -------------------------- 配置API参数 --------------------------
# 替换为你自己的API Key
API_KEY = "你的API Key"
# 阿里云百炼的OpenAI兼容接口地址
BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
 
# 1. 初始化OpenAI客户端
client = OpenAI(
    api_key=API_KEY,
    base_url=BASE_URL,
)
 
# 2. 调用通义千问模型
completion = client.chat.completions.create(
    model="qwen-plus",  # 指定模型为通义千问Plus
    messages=[
        {
   
   "role": "system", "content": "You are a helpful assistant."},
        {
   
   "role": "user", "content": "你是谁?"}
    ]
)
 
# 3. 输出完整的JSON响应
print("完整响应:")
print(completion.model_dump_json())
print("-" * 50)
 
# 4. 仅输出模
OpenAI发布新Agent套件:OpenAI,被迫Open Agent”国内通常叫智能体。简单来说,Agent就是一种可以“自己思考、自己行动”的AI工具。它不像普通的聊天机器人那样只能回答问题,而是能主动完成任务。比如,你让它帮你订餐厅,它不仅能搜索餐厅信息,还能登录网站、选择时间、完成预订,甚至帮你确认邮件。就真的是个 “智能的助手”。不过,Agent的概念虽然火,但真正实现它的技术还面临不少挑战。比如,Agent需要准确理解任务、避免胡说八道(“AI幻觉”),还需要安全可靠地操作电脑或网络。这些问题正是OpenAI这次新工具试图解决的重点。 阅读详情

相关推荐

openai agent sdk实战-基于ollama+qwen2.5实现openai agent sdk调用

openai agent sdk 调用本地模型,基于ollama+qwen2.5

AI agent 1496

【Agent从入门到实践】20 LLM的基础使用:API调用(OpenAI、国产大模型),程序员快速上手

其实不管是OpenAI还是国产大模型,API调用的核心逻辑都是“统一的请求格式 + 对应的SDK调用 + 响应解析请求格式统一:都是通过messages参数传递“系统指令+用户输入”,通过max_tokens等参数控制输出;SDK用法类似:都需要初始化客户端(传入密钥),调用或类似方法;响应解析简单:都能从(或类似字段)中提取生成的文本。对咱们Agent开发来说,LLM API调用是“大脑”的基础——只有先学会调用LLM,才能让Agent具备“理解、推理、决策”的能力。

人工智能AI技术 1131

【大模型应用开发 动手做AI Agent】OpenAI API和Agent开发

【大模型应用开发 动手做AI Agent】OpenAI API和Agent开发 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 344

【大模型应用开发 动手做AI Agent】OpenAI API的图片生成示例

【大模型应用开发 动手做AI Agent】OpenAI API的图片生成示例 关键词:OpenAI API, AI Agent, 大模型, 自然语言处理(NLP), 深度学习, 生成对抗网络(GAN), 图像生成, 图片处理, 编程实例

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 1648

【大模型应用开发 动手做AI Agent】OpenAI API的聊天程序示例

【大模型应用开发 动手做AI Agent】OpenAI API的聊天程序示例 文章关键词 大模型应用 AI Agent OpenAI API 聊天程序 自然语言处理

AI天才研究院 904

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

基恩士数字光纤放大器

在2路输出类型上此为通道开关,并未配备0路类型;设置已搞不清楚不知道怎么办时···完成初始化后,模块重新显示当前值。①无工件时短按[SET]①有工件时短按[SET]各部位的名称和基本操作。可以手动微调设置值。

大小曲奇的博客 1万+

Qt快速读取Excel文件

网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...

c+c++的博客 2万+

使用ChIPSeeker进行ChIP-seq, ATAC-seq,cut&tag等富集峰的基因组注释

常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录组上,即将它们置于生物学上有意义的基因背景下,才能获得有意义的结果。一般我们认为会产生两种类型的数据(当然两者并无严格意义上的区分)

微生信 3318

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1456

VMware 17+Win10 22H2全栈配置指南|UEFI优化+GPU直通实战

​VMware下载:下载官网版本的Wmare 17 Pro (点击直达链接 )企业用户可选永久许可证,个人学习也可以直接安装使用,Win10镜像:微软官网下载22H2版ISO文件(附官方纯净版渠道 )

waicsdn_haha的博客 4018

Google Earth Engine:LandTrendr (Landsat Collection 2)全更新使用(代码调用+UI交互)

本文介绍了使用Landsat Collection 2进行连续变化监测的分析方法,包含代码实现和可视化界面两部分。代码部分通过Google Earth Engine平台运行LandTrendr算法,设置参数包括时间范围、光谱指数、变化检测阈值等,最终生成变化幅度和检测年份的可视化图层,并将结果导出至Google Drive。可视化界面部分展示了基于LandTrendr的土地覆盖变化结果,结合Landsat影像进行分析。整个方法实现了从数据处理到结果展示的完整流程,适用于森林覆盖等环境变化监测。

此星光明博客 209

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

抖音 X-Gorgon 加密算法逆向与 Python 爬虫实战(2026 最新版)

抖音(TikTok 国内版)作为日活超 8 亿的超级 App,其反爬体系在国内互联网中属于顶级难度。核心签名参数X-Gorgon和X-Khronos是几乎所有业务接口(视频详情、评论、搜索、用户主页)的“通行证”。没有正确的 Gorgon 签名,服务器直接返回403或。市面上的教程大多停留在2023 年之前的 V4 版本,而抖音在 2025 年底全面升级到了V6 协议,算法结构、加密常数、混淆方式全部重构。

2201_76125261的博客 344

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 大模型-搭建 一个小型RAG系统LangChain + ChromaDB
下一篇: 大模型-当前主流的框架应用开发生态全景:LangChain、Dify、Coze与MaxKB4j趋势展望
牧竹子
博客等级 码龄17年 572粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值