开始学习

创建你的第一个 AI Agent

🚀 快速体验

0 代码体验 AI Agent,一句话生成应用:立即体验 →

本节将带你从零开始,用 Python 创建一个简单但完整的 AI Agent。

准备工作

1. Python 环境

Python 3.8+ 版本

2. OpenAI API Key

从 OpenAI 官网获取,或使用其他 LLM API

3. 安装依赖

bash
pip install openai

最简单的 Agent

让我们创建一个能够计算数学表达式的简单 Agent:

python
import openai
import json

# 定义工具
def calculate(expression: str) -> str:
    """计算数学表达式"""
    try:
        result = eval(expression)
        return f"计算结果: {result}"
    except Exception as e:
        return f"计算错误: {str(e)}"

# 工具描述(让 LLM 知道如何使用)
tools = [{
    "type": "function",
    "function": {
        "name": "calculate",
        "description": "计算数学表达式,如 '2+3*4'",
        "parameters": {
            "type": "object",
            "properties": {
                "expression": {
                    "type": "string",
                    "description": "要计算的数学表达式"
                }
            },
            "required": ["expression"]
        }
    }
}]

# Agent 主循环
def run_agent(user_input: str):
    messages = [
        {"role": "system", "content": "你是一个数学助手,可以帮用户计算数学问题。"},
        {"role": "user", "content": user_input}
    ]

    # 调用 LLM
    response = openai.chat.completions.create(
        model="gpt-4",
        messages=messages,
        tools=tools
    )

    # 检查是否需要调用工具
    if response.choices[0].message.tool_calls:
        tool_call = response.choices[0].message.tool_calls[0]
        args = json.loads(tool_call.function.arguments)

        # 执行工具
        result = calculate(args["expression"])

        # 将结果返回给 LLM
        messages.append(response.choices[0].message)
        messages.append({
            "role": "tool",
            "tool_call_id": tool_call.id,
            "content": result
        })

        # 获取最终回复
        final_response = openai.chat.completions.create(
            model="gpt-4",
            messages=messages
        )
        return final_response.choices[0].message.content

    return response.choices[0].message.content

# 测试
print(run_agent("帮我计算 (15 + 27) * 3 - 10"))

代码解析

1. 定义工具

calculate 函数是我们的工具,Agent 可以调用它来计算数学表达式。

2. 工具描述

tools 数组告诉 LLM 有哪些工具可用,以及如何调用它们。

3. Agent 循环

LLM 决定是否调用工具,如果调用,我们执行工具并将结果返回给 LLM,让它生成最终回复。

下一步

  • 添加更多工具(搜索、文件操作、API 调用)
  • 实现记忆系统,让 Agent 记住对话历史
  • 添加错误处理和重试机制
  • 使用 LangChain 等框架简化开发