How to Turn a Python Script Into an AI Agent
TL;DR · AI 摘要
使用OpenAI Agents SDK可将Python脚本转换为AI代理,通过工具调用实现自动化多步骤工作流。
核心要点
- 通过OpenAI Agents SDK暴露Python函数为工具,无需重写原有代码
- 安装uv init和openai-agents包可快速搭建AI代理环境
- LLM模型可自主决定调用工具的时机、参数及结果处理方式
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Python脚本转AI代理
- 核心步骤
- 函数工具化
- SDK安装
- 模型决策
- 关键技术
- OpenAI Agents SDK
- 工具调用机制
金句 / Highlights
值得收藏与分享的关键句。
You do not need to rewrite your Python applications to start using AI agents.
The model can then decide when to call the tool, which URL to check, how many times to use it...
uv init uv add openai-agents requests
如何将 Python 脚本转换为 AI Agent - KDnuggets
publ: 2026年9月21日
- 博客热门文章
- 主题 AI 职业建议 计算机视觉 数据工程 数据科学 语言模型 机器学习 MLOps NLP 编程 Python SQL
- 数据集
- 活动
- 资源 快速参考指南 推荐 技术简报
- 广告
订阅电子报
#header end
/ad_wrapper
如何将 Python 脚本转换为 AI Agent
学习如何使用 OpenAI Agents SDK 和工具调用、函数工具构建 Python AI Agent,以自动化多步骤工作流程。
作者:
Abid Ali Awan,KDnuggets 副主编,2026年9月21日发布于
人工智能
<div class="addthis_native_toolbox"></div>
你无需重写 Python 应用程序即可开始使用 AI Agent。
如果脚本中已包含有用的函数,可以将这些函数暴露为工具,让 LLM 决定何时调用、提供哪些参数以及如何使用输出结果。
在本教程中,我们将使用 OpenAI Agents SDK 将一个简单的网站监控脚本转换为 AI Agent。
从普通 Python 脚本开始
在构建 AI Agent 之前,先从一个普通的 Python 程序开始。
假设我们想要检查网站是否响应并测量请求耗时:
from time import perf_counter
import requests
def check_website(url: str) -> str:
start = perf_counter()
try:
response = requests.get(url, timeout=10)
latency = perf_counter() - start
return (
f"{url}\n"
f"Status: {response.status_code}\n"
f"Response time: {latency:.2f}s"
)
except requests.RequestException as error:
return f"{url}\nError: {error}"
print(check_website("https://www.python.org"))输出:
https://www.python.org
Status: 200
Response time: 0.99s该脚本完全按照我们编写的逻辑执行:发送 HTTP 请求、收集状态码、测量响应时间并返回结果。
这很有用,但工作流程是完全固定的:
如果我们要检查五个网站、比较响应时间或判断哪个网站出现异常,需要自己编写这些逻辑。
这就是 AI Agent 改变工作流程的地方。
我们不需要在 Python 中编码每个决策,而是可以将 check_website() 暴露为工具,并给 AI 模型一个目标。模型可以决定何时调用工具、检查哪个 URL、使用多少次以及如何处理结果。
第一步:安装 Agents SDK
首先,创建 Python 项目并安装构建和运行 Agent 所需的包。
创建新项目:
mkdir website-agent
cd website-agent
uv init
uv add openai-agents requests或使用 pip:
pip install openai-agents requests设置 OpenAI API 密钥:
export OPENAI_API_KEY="your-api-key"Agents SDK 为 Agent、工具、交接、会话和追踪提供轻量级运行时。
from time import perf_counter
import requests
from agents import function_tool
@function_tool
def check_website(url: str) -> str:
"""Check a website's HTTP status and response time."""
start = perf_counter()
try:
response = requests.get(url, timeout=10)
latency = perf_counter() - start
return (
f"URL: {url}\n"
f"Status: {response.status_code}\n"
f"Response time: {latency:.2f}s"
)
except requests.RequestException as error:
return f"URL: {url}\nError: {error}"OpenAI Agents SDK 会自动将函数签名转换为模型所需的 JSON Schema。它还会使用函数名称和文档字符串来描述工具。
我们无需手动创建工具模式。
第 3 步:创建代理
现在,创建一个 Agent,定义它应该执行的操作,并授予它访问我们 check_website() 工具的权限。
from agents import Agent, Runner
agent = Agent(
name="Website Monitor",
model="gpt-5.6-luna",
instructions="""
使用可用工具监控网站。
比较结果并清晰解释问题。
""",
tools=[check_website],
)运行代理:
result = Runner.run_sync(
agent,
"检查 python.org、github.com 和 openai.com。 "
"哪个响应最慢?"
)
print(result.final_output)python.org 最慢,响应时间为 **1.59 秒**。
- github.com: 0.83s
- openai.com: 0.49s
所有网站均返回 HTTP 200。之前,我们需要自己编写循环和比较逻辑:
for url in urls:
check_website(url)现在模型会解释请求,为三个网站调用 check_website(),接收结果,进行比较并生成答案。
代理循环的工作原理
幕后,Runner 管理模型与工具之间的交互。
概念上,循环看起来像这样:
如果模型需要更多信息,它可以再次调用工具。循环持续进行,直到收集到足够的信息生成最终响应。
这就是使工作流具有代理特性的地方。与完全用 Python 编写的固定序列不同,模型会根据请求和接收到的结果决定采取哪些操作。
其他可转换为代理的 Python 脚本
几乎任何现有的 Python 自动化都可以使用相同的模式。你保留执行实际工作的 Python 函数,让代理决定调用哪些函数以及如何组合结果。
例如:
- CSV 分析器:函数过滤行、计算指标并发现趋势。代理回答有关数据的自然语言问题。
- 服务器监控:函数检查 CPU、内存、磁盘和进程。代理调查服务器为何看起来不健康。
- 日志分析器:函数搜索日志、统计错误并提取事件。代理调查事件并总结发生了什么。
- API 自动化:函数获取数据、更新记录或创建报告。代理决定需要哪些操作以及执行顺序。
使用 OpenAI Agents SDK,你可以通过 @function_tool 将现有 Python 函数暴露出来,并将其添加到代理的工具列表中。
Python 代码仍然执行工作;代理添加自然语言理解、工具选择和编排功能。
最后想法
Agentic AI 正逐渐成为一种实用的工作流程自动化方式,越来越多的公司开始使用代理来处理多步骤任务,而不是依赖固定的脚本。
同时,像 GPT-5.6 Luna 这样更便宜的模型使得在大规模运行工具使用甚至多代理系统变得更为经济实惠。
在本指南中,我们从一个普通的 Python 函数开始,将其转换为工具,连接到代理,并让 Runner 管理决策循环。
这就是 agentic 应用的核心思想:给模型一个目标和合适的工具,然后让它决定如何完成任务。
Abid Ali Awan(@1abidaliawan)是一名获得认证的数据科学家专业人员,热爱构建机器学习模型。目前,他专注于内容创作,并撰写有关机器学习和数据科学技术的博客文章。Abid 持有技术管理硕士学位和电信工程学士学位。他的愿景是使用图神经网络为有心理困扰的学生构建 AI 产品。
更多相关内容
- 将 OpenAI Codex 转变为强大的 AI 编码代理的 5 个技巧
- 使用 Python 和 AI 将任何 CSV 转换为高管报告
- 使用 DuckDB 和…将你的笔记本电脑转变为个人分析引擎
- 语言模型校准深度解析:Platt Scaling,…
- 将原始数据转化为实际影响
- 如果你正试图进入 AI 领域,这就是你需要做的事情
<hr class="grey-line"><br> <div><h3>我们推荐的 5 门免费课程</h3><br> </div>
WordPress 的 Mailchimp 插件 v4.14.1 - https://wordpress.org/plugins/mailchimp-for-wp/
/ WordPress 的 Mailchimp 插件
你可以从这里开始编辑。
如果评论已关闭。
<= 上一篇
下一篇 =>
#content end
<script type="text/javascript">kda_sid_write(kda_sid_n);</script>
最新文章
- 关于 TypeSafe AI 的 Jev,每个人都在误解的地方 如何将 Python 脚本转换为 AI 代理 3 个 Polars 技巧用于高性能数据操作 使用键值缓存重复使用提示前缀以优化 SLM 5 个实际提升 LLM 输出的提示优化策略 ChatGPT 工作有什么特别之处?这是我发现的
热门文章
- 5 门免费的 Microsoft GitHub 课程学习数据科学和人工智能
- 5 个实际提升 LLM 输出的提示优化策略
- 为什么 DeepSeek-V4.1-Flash 是如此令人兴奋的开源模型发布
- 7 个高级开发人员遵循的 Python 最佳实践(初学者常忽略的)
- Scikit-LLM 中的估计器:KDnuggets 快速参考
- 2026 年可使用的 5 个免费 LLM API 提供商
- 如何为 AI 代理构建有效的评估
- 5 个有用的 Python 脚本用于自动化 CSV 处理
- 5 个免费的 Zoomcamps 从数据管道到 AI 代理
- 如何将 Python 脚本转换为 AI 代理
#content_wrapper end
© 2026
Guiding Tech Media
|
关于
联系
广告
隐私
服务条款
2026 年 9 月 21 日发布
blank
不,谢谢!
/.main_wrapper
<script defer type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=gpsaddthis"></script>
noptimize
/noptimize