20行Python打造AI智能体:OpenAI Agents实战

用 OpenAI Agents 库约 20 行 Python 代码构建能抓取网页并总结的 AI 智能体。
文章介绍如何借助 OpenAI Agents 库,用大约 20 行 Python 代码构建一个可工作的 AI 智能体,并以“总结 Hacker News 头条新闻”为例展示其抓取网页并生成摘要的能力。文章首先区分传统聊天机器人与智能体:前者被动回应,后者被赋予目标和工具,能自主决策并执行任务。随后给出三步流程——安装库并配置 API 密钥、用装饰器把普通 Python 函数注册为模型可调用的工具、创建智能体实例并通过 runner.runsync 运行任务。文章强调工具调用是核心机制,工具可替换为日历、收件箱或电子表格以构建个人助理,并预告第二部分将加入记忆功能以保持上下文连贯。
AI 聊天机器人已经司空见惯,但真正的智能体(Agent)能自主调用工具、完成实际任务。一个 YouTube 短视频展示了如何用大约 20 行 Python 代码构建一个可工作的 AI 智能体,它能够抓取网页并总结内容。这背后的核心是 OpenAI Agents 库,让开发者用极少的代码就能实现工具调用与任务执行。
从聊天到行动:智能体的本质
传统聊天模式中,AI 只是被动回应;而智能体被赋予目标和工具,能主动决策并执行。视频中的例子非常直观:你告诉智能体“总结 Hacker News 头条新闻”,它会自行决定调用网页抓取工具,读取页面内容,然后生成摘要。整个过程无需人工干预,体现了智能体的自主性。
这种范式转变意味着 AI 从“对话者”变成了“执行者”。开发者可以将其接入日历、收件箱或电子表格,打造真正的个人助理。
智能体(Agent)与工具调用(Tool Calling)
在 LLM 语境下,“智能体”通常指一个以大型语言模型为决策核心、能够循环执行“观察—思考—行动”的系统。与传统单轮问答不同,智能体维护一个目标,并根据环境反馈决定下一步动作。其关键技术是工具调用(也称函数调用,Function Calling):开发者用 JSON Schema 描述可用函数(名称、参数、说明),模型在推理时若判断需要外部能力,会输出结构化的调用请求,由运行时执行该函数并把结果回传给模型,模型再继续推理直至任务完成。这一机制把模型的语言能力与外部世界(网络、数据库、API)连接起来,使“总结网页”这类任务从单纯生成变为真实执行。工具描述的质量、参数约束的清晰度,直接影响模型能否正确选择和调用工具。
三步构建你的第一个智能体
第一步:安装与配置
首先需要安装 OpenAI Agents 库并设置 API 密钥。这是所有后续操作的基础。视频中通过简单的 pip 命令完成安装,并提醒配置环境变量。

第二步:为智能体提供工具
智能体的能力扩展依赖于工具(Tool)。视频中定义了一个函数来抓取网页,并使用装饰器将其标记为可调用工具。这样模型就能在需要时自动调用该函数。

工具的定义非常灵活,你可以换成任何自定义函数,比如查询数据库、发送邮件或操作日历。
第三步:创建智能体并运行任务
最后,创建智能体实例,指定指令(instructions)和可用工具,然后通过 runner.runsync 传入任务。智能体会自动规划步骤、调用工具并返回结果。

视频中的任务示例是“总结 Hacker News 头条新闻”,智能体成功抓取页面并生成摘要。

Runner 与同步执行
OpenAI Agents 库中的 Runner 负责驱动智能体的执行循环:它把用户任务和智能体配置(指令、工具、模型)一起交给模型,解析模型返回的工具调用请求,执行对应函数,再将结果喂回模型,如此反复直到模型给出最终答案。runner.runsync 是该库提供的同步运行入口,适合脚本和入门示例;实际生产环境通常使用异步版本(如 run 配合 await),以避免阻塞并支持并发。指令(instructions)相当于智能体的系统提示,界定角色、行为边界和输出风格;工具列表则决定它“能做什么”。理解 Runner 的循环本质,有助于排查智能体反复调用工具、提前终止或陷入死循环等常见问题。
工具调用的魔力与扩展场景
工具调用是智能体的核心机制。通过装饰器,普通的 Python 函数被暴露给模型,模型根据任务需求决定是否调用以及如何调用。这种设计让智能体能够与外部世界交互,而不仅限于语言生成。
视频提到,你可以将工具替换为日历、收件箱或电子表格,从而构建个性化的助理。例如,一个读取收件箱并自动分类邮件的智能体,或者一个根据日程安排会议的智能体。工具的质量直接决定了智能体的实用性。
装饰器与工具注册
Python 装饰器是一种在不修改函数主体的情况下为其附加额外行为的语法(形如 @something 置于函数定义之上)。在 Agents 库中,装饰器(如 @function_tool)的作用是读取函数的名称、类型注解和文档字符串,自动生成模型可理解的工具描述与参数 Schema,并把该函数注册进智能体的工具集合。因此,写好类型注解和 docstring 并非可有可无——它们就是模型判断“何时调用、如何传参”的依据。这也解释了为什么工具定义“非常灵活”:任何普通 Python 函数,只要加上装饰器并给出清晰签名,就能被模型调用,无需手写复杂的接口协议。
下一步:记忆与持续进化
视频结尾预告了第二部分:为智能体添加记忆(memory)。记忆能让智能体在多次交互中保持上下文,实现更连贯的任务处理。这对于构建长期运行的助理至关重要。
虽然视频没有展开细节,但可以推测记忆机制会涉及存储历史对话或工具调用结果,让智能体在后续任务中参考。这是从简单脚本向真正智能助理迈进的关键一步。
总结
这个短视频展示了 AI 智能体的低门槛实现方式:借助 OpenAI Agents 库,20 行代码就能让 AI 从聊天走向行动。核心在于工具调用机制,它赋予了智能体执行实际任务的能力。随着记忆等功能的加入,个人 AI 助理的想象空间将进一步打开。对于开发者而言,现在正是动手实验的好时机。
相关推荐

Cognition SWE-2 实战:一个提示词搞定产品发布全流程
解析 YouTube 创作者用 Cognition SWE-2 发布产品的完整提示词:落地页、七封邮件序列与未购买用户跟进工具三段式结构,以及"测试并汇报"这一约束如何改变 AI 的交付质量。
AWS AgentCore Gateway:用MCP打通AI Agent与企…
AWS AgentCore Gateway:用MCP打通AI Agent与企业后端
AWS AgentCore Gateway如何作为主MCP服务器聚合REST API、Lambda与已有MCP服务?解析其AST实时映射、零冷启动、语义搜索治工具过载、会话隔离与密钥注入安全设计,以及企业AI Agent解耦后端的架构思路。

一个链接给Figma AI装上新技能:MCP连接器实战
通过粘贴一个MCP服务器链接,Figma中的AI Agent就能获得新工具能力。本文拆解配置流程、超过20个一键接入应用、读写权限与执行策略设置,以及公开HTTPS链接这一关键限制。