AI Agent全栈搭建实战:从零开始创建你的第一个智能体(零基础教程)

AI编程 2026-06-22 8 阅读
AI Agent 智能体开发 Python教程 AI编程 Agent实战

AI Agent(智能体)是2026年最热门的技术方向之一。LangChain、CrewAI、AutoGen等框架层出不穷,但对于新手来说,最快速的入门方式是用Python从零搭建一个简单的AI Agent。本文将带你完整走一遍这个过程。

什么是AI Agent?

与普通AI聊天机器人不同,Agent不仅能对话,还能执行实际操作——查询天气、发送邮件、管理日程、操作文件。Agent的核心理念是:AI决定做什么,然后调用工具去完成

第一步:环境准备

需要Python 3.10+和OpenAI API Key(可从ChatGPT平台获取,新用户有免费额度)。安装必要库:

pip install openai requests python-dotenv

第二步:定义Agent的工具箱

Agent的能力边界由它的工具集定义。我们先实现三个简单工具:

import json
import requests
from datetime import datetime

def get_weather(city: str) -> str:
    """查询指定城市的天气(模拟API)"""
    # 实际使用时替换为真实天气API
    weather_data = {
        "北京": "晴,28°C,湿度45%",
        "上海": "多云转阴,32°C,湿度65%",
        "深圳": "雷阵雨,29°C,湿度80%"
    }
    return weather_data.get(city, f"未找到{city}的天气数据")

def send_email(to: str, subject: str, body: str) -> str:
    """模拟发送邮件"""
    return f"邮件已发送至 {to},主题:{subject}"

def get_current_time() -> str:
    """获取当前时间"""
    return datetime.now().strftime("%Y-%m-%d %H:%M:%S")

第三步:实现Agent核心循环

Agent的核心逻辑很简单:理解用户意图 → 决定使用哪个工具 → 执行工具 → 返回结果

from openai import OpenAI

client = OpenAI(api_key="your-api-key")

# 工具定义(告诉AI它有哪些能力)
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "查询指定城市的天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名"}
                },
                "required": ["city"]
            }
        }
    },
    # ... send_email 和 get_current_time 的定义类似
]

def run_agent(user_input: str):
    messages = [{"role": "user", "content": user_input}]
    
    # 第一步:AI决定是否需要调用工具
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        tools=tools,
        tool_choice="auto"
    )
    
    msg = response.choices[0].message
    
    # 第二步:如果需要调用工具,执行并返回结果
    if msg.tool_calls:
        for tool_call in msg.tool_calls:
            func_name = tool_call.function.name
            args = json.loads(tool_call.function.arguments)
            
            # 执行对应的工具函数
            if func_name == "get_weather":
                result = get_weather(**args)
            elif func_name == "send_email":
                result = send_email(**args)
            elif func_name == "get_current_time":
                result = get_current_time()
            
            # 将结果返回给AI进行总结
            messages.append(msg)
            messages.append({
                "role": "tool",
                "tool_call_id": tool_call.id,
                "content": result
            })
        
        # AI根据工具结果生成最终回复
        final = client.chat.completions.create(
            model="gpt-4o",
            messages=messages
        )
        return final.choices[0].message.content
    
    return msg.content

# 测试
print(run_agent("北京今天天气怎么样?帮我发邮件给boss@company.com,主题是天气报告"))

第四步:扩展Agent能力

掌握核心循环后,可以轻松扩展更多工具:

  • 网页搜索:集成SerpAPI或DuckDuckGo
  • 文件操作:读取/写入/搜索本地文件
  • 数据库查询:连接MySQL/PostgreSQL
  • 日程管理:对接Google Calendar/飞书日历

如果觉得从零搭建太繁琐,推荐使用Dify或Coze等低代码Agent平台,拖拽式构建,5分钟即可上线。

总结

AI Agent的本质并不神秘——大模型做决策,工具函数做执行。本文的完整代码不到100行,但它们已经构成了一个可扩展的Agent基础框架。动手试试吧,从零打造属于你的AI智能体!