程序员必备技能,AI Agent开发入门教程

AI Agent 是能自主调用工具、分步推理并完成多轮任务的程序,不是简单的对话框。
本文面向零基础程序员,用 Python 和 OpenAI API 带你从环境配置到跑通第一个可调用工具的 Agent,全程给出命令和代码,跟着做就能看到结果。

先搞清楚 Agent 和普通脚本的区别

普通脚本按固定流程执行,Agent 会根据大模型返回的决策动态选择下一步动作。
核心循环是:把用户问题发给模型,模型返回“调用某个工具”的指令,程序执行工具并把结果回传,模型再决定继续调用还是给出最终答案。

判断一个程序算不算 Agent,看它是否具备三个要素:大模型负责决策有可调用的工具函数能根据执行结果循环推进
只调用一次 API 返回文本,那只是普通问答。

准备环境与依赖

本教程使用 Python 3.10 以上版本,先确认版本:

python3 --version

创建独立虚拟环境,避免污染系统包:

python3 -m venv agent-env
source agent-env/bin/activate

Windows 下激活命令为 agent-env\Scripts\activate
安装依赖:

pip install openai python-dotenv

在项目根目录创建 .env 文件存放密钥,不要把密钥写进代码:

OPENAI_API_KEY=你的密钥

密钥在 OpenAI 控制台的 API Keys 页面创建,建议设置用量上限,避免调试时产生意外费用。

写第一个能调用工具的 Agent

新建 agent.py,先加载环境变量和客户端:

import os, json
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

定义一个工具函数,比如查询当前时间:

def get_current_time():
    from datetime import datetime
    return datetime.now().strftime("%Y-%m-%d %H:%M:%S")

把工具描述注册给模型,描述要写清楚用途和参数:

tools = [{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "获取当前系统时间",
        "parameters": {"type": "object", "properties": {}}
    }
}]

主循环负责把模型返回的工具调用真正执行:

messages = [{"role": "user", "content": "现在几点了?"}]

while True:
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=messages,
        tools=tools
    )
    msg = resp.choices[0].message
    messages.append(msg)
    if not msg.tool_calls:
        print(msg.content)
        break
    for call in msg.tool_calls:
        result = get_current_time()
        messages.append({
            "role": "tool",
            "tool_call_id": call.id,
            "content": result
        })

运行 python agent.py,终端会输出当前时间。
这段代码已经具备 Agent 的完整循环:模型决定调用工具,程序执行后把结果回传,模型再生成自然语言回答。

常见报错和处理方式

AuthenticationError 一般是密钥未加载或写错,检查 .env 是否和脚本同目录,或改用 export OPENAI_API_KEY=xxx 临时验证。

RateLimitError 表示请求过于频繁或额度不足,等待片刻重试,并在控制台确认账单状态。

模型返回工具名但程序报 KeyError,说明注册的 name 和实际函数名不一致,两者必须完全匹配。

如果模型一直不调用工具,优先检查 description 是否把用途写清楚,描述太模糊时模型会倾向直接回答。

避坑说明

不要把 API 密钥提交到 Git 仓库,.env 要加入 .gitignore

工具函数里不要执行删除文件、发送请求等危险操作,Agent 会按模型决策调用,建议先做参数校验。

循环要设置最大轮次,比如 for _ in range(10),防止模型反复调用工具导致死循环和费用增加。

模型名称、接口参数可能随官方更新调整,实际以 OpenAI 官方文档和控制台显示为准。

怎么验证 Agent 真的在工作

在工具函数里加一行 print("tool called"),运行时看到输出说明工具被真实执行,而不是模型编造了时间。

把问题改成“明天这个时间提醒我”,观察模型是否继续调用工具或直接回答无法完成,这能帮你判断它的决策边界。

后续可扩展的方向是给 Agent 增加记忆:把历史 messages 持久化到文件或数据库,下次启动时加载,就能实现跨会话的上下文延续。
掌握这套基础结构后,接入搜索、数据库查询等工具只是替换函数体的事情。

分享到:
上一篇
AI智能体自动化运维,自动监控服务器告警
下一篇
AI批量生成网站前端页面,搭配CMS使用
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意