构建AI Agent:它们是什么以及如何用Python创建一个

AI Agent是2025年最重要的软件概念之一——不只是回答问题,而是采取一系列行动、使用工具并在多个步骤中追求目标的语言模型。以下是关于它们实际上是什么以及如何构建一个的清晰解释。

什么让它成为Agent

回答问题的聊天机器人不是Agent。Agent是一个语言模型,它:(1)接收目标或任务,(2)决定采取什么行动,(3)执行行动(使用工具——网页搜索、代码执行、数据库查询、API调用),(4)观察结果,(5)根据结果决定下一步行动,(6)重复直到目标实现或确定无法完成任务。关键是工具使用和多步决策循环。

Python中的最小化Agent

使用带工具使用的Anthropic SDK:

import anthropic

client = anthropic.Anthropic()
tools = [{
    "name": "search_web",
    "description": "Search the web for current information",
    "input_schema": {
        "type": "object",
        "properties": {"query": {"type": "string"}},
        "required": ["query"]
    }
}]

def run_agent(task):
    messages = [{"role": "user", "content": task}]
    while True:
        response = client.messages.create(
            model="claude-sonnet-4-6",
            max_tokens=4096,
            tools=tools,
            messages=messages
        )
        if response.stop_reason == "end_turn":
            return response.content[0].text
        # Handle tool use
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                messages.append({"role": "assistant", "content": response.content})
                messages.append({"role": "user", "content": [{"type": "tool_result", "tool_use_id": block.id, "content": result}]})
                break

框架 vs. 原始API

LangChain、LangGraph、CrewAI和AutoGen是为你处理循环、记忆和多Agent编排的Agent框架。它们对复杂的多Agent系统很有用,但增加了大量抽象和复杂性。对于大多数用例,使用原始Anthropic/OpenAI API构建给你更多控制和更容易的调试。在以下情况使用框架:需要跨对话的持久记忆、多Agent工作流,或复杂状态管理。

最难的问题:可靠性

Agent的失败次数比单轮LLM调用更多。它们采取错误行动、陷入循环、误解工具结果,以及虚假声称成功完成。生产级Agent需要:明确的步骤限制、强大的错误处理、不可逆行动的人工审核检查点,以及每次决策和工具调用的详细日志。从简单开始——一个设计良好的两步Agent比一个不可预测失败的复杂十步Agent更有用。

上一篇 Building AI Agents: What They Are and How to Build One in Python
下一篇 Rhine Valley by Train or Boat: Germany's Most Scenic Journey