← 返回资讯列表

AI Agent开发入门指南:从零构建你的第一个智能体

2026年AI Agent已经成为大模型应用的主流形态。本文从概念、框架选型、开发步骤到实战案例,带你系统入门AI Agent开发,并在文末给出一个可运行的Demo。

📋 本文要点

一、什么是AI Agent?

AI Agent(智能体)是大模型从"对话工具"走向"自主执行者"的关键形态。普通的大模型调用是一问一答——你给一个输入,模型返回一个输出,整个交互是单轮的、被动的。

而AI Agent具备三个核心能力:

  • 自主规划:把复杂目标拆解为多个子任务,自主决定执行顺序
  • 工具调用:能调用搜索、计算、数据库、API等外部工具,突破模型的"知识截止"和"无副作用"限制
  • 循环反思:能根据工具返回的结果调整下一步行动,遇到错误能自我修正

通俗类比:普通大模型调用像"问一个无所不知但只能动嘴的专家",AI Agent像"雇一个会自己查资料、跑腿、写文档、还能复盘的助理"。

2026年AI Agent已经从实验室走向生产环境。OpenAI的Operator、Anthropic的Claude Computer Use、字节跳动的Coze、智谱的AutoGLM都是典型的Agent产品。对开发者来说,掌握Agent开发已经成为大模型应用层最重要的技能之一。

二、Agent vs Workflow:两个关键概念

在开始动手前,必须分清两个容易混淆的概念:

  • Workflow(工作流):预定义了步骤和分支的LLM调用流水线,每一步做什么、什么时候切换都是写死的。比如"先搜索→再总结→再翻译"。
  • Agent(智能体):只给目标,由LLM自主决定下一步动作。LLM既是"执行者"也是"决策者"。

判断标准很简单:路径是否由LLM动态决定。是,则属于Agent;否,则属于Workflow。

实践中两者常常结合使用:Workflow处理稳定流程,Agent处理需要灵活决策的环节。Anthropic在2025年发布的《Building Effective Agents》一文对此有深入论述,强烈推荐阅读。

三、主流开发框架对比

2026年AI Agent开发框架已经从"百花齐放"收敛为"四强并立"。每个框架都有自己的强项场景:

1. LangChain / LangGraph

语言:Python / JS · GitHub星标:100k+ · 学习曲线:中等

定位:大模型应用开发的"瑞士军刀"。LangChain提供完整的LLM应用组件(模型封装、Prompt模板、Memory、Tools、Retrieval等),LangGraph在其基础上提供基于状态图的Agent编排能力,支持循环、分支、人在回路(human-in-the-loop)等复杂流程。

优势:生态最大、组件最全、文档丰富、社区活跃。LangGraph的图结构让复杂Agent的状态管理变得清晰。

劣势:API变更频繁、抽象层较重、对简单场景略显笨重。

适合:需要构建复杂、有状态、多步推理Agent的团队;企业级应用。

2. CrewAI

语言:Python · GitHub星标:30k+ · 学习曲线:低

定位:主打"多Agent协作"。你定义多个角色(Researcher、Writer、Editor等),每个角色有专属工具和目标,CrewAI让它们按顺序或并行协作完成任务。API设计极其直观,5行代码就能跑起来一个多Agent流程。

优势:多Agent协作天然支持、API简洁、上手快、社区活跃。

劣势:对底层控制力较弱、对复杂状态管理支持有限。

适合:多角色协作场景(内容生产、研究分析、产品研发);快速原型。

3. OpenAI Agents SDK(原Swarm)

语言:Python · GitHub星标:20k+ · 学习曲线:低

定位:OpenAI官方推出的轻量级多Agent框架。核心理念是"Agent + Handoff"——每个Agent有专属指令和工具,Agent之间通过"交接"传递控制权。极其轻量,没有复杂的抽象层。

优势:官方背书、与OpenAI模型深度集成、轻量易上手、Tracing内置。

劣势:对非OpenAI模型支持一般、功能相对精简。

适合:OpenAI生态用户、轻量级多Agent应用、教学demo。

4. AutoGPT / AutoGen

语言:Python · GitHub星标:170k+ · 学习曲线:中高

定位:AutoGen是微软推出的多Agent对话框架,强调Agent之间的"群聊式"协作。AutoGPT则是开源社区最早的自主Agent项目之一,2026年已经演进为可构建生产级自主Agent的平台。

优势:AutoGen对多Agent对话编排能力强、支持人在回路;AutoGPT自主性最强、插件生态丰富。

劣势:AutoGen API相对复杂;AutoGPT稳定性需自行把控。

适合:研究型项目、需要Agent间深度讨论的场景、追求极致自主性。

维度LangGraphCrewAIAgents SDKAutoGen
学习曲线中高
多Agent协作支持核心强项支持核心强项
状态管理图结构,强简单简单对话历史
人在回路原生支持支持支持原生支持
模型自由度任意任意OpenAI优先任意
生态规模最大中等中等较大
典型场景复杂企业应用多角色协作OpenAI生态研究/复杂对话

⚠️ 选型建议:初学者从CrewAI或OpenAI Agents SDK起步最快;构建企业级复杂Agent选LangGraph;需要深度多Agent讨论选AutoGen。不要一上来就追求"最强框架",先把一个Agent跑通比选对框架更重要。

四、Agent开发5步法

无论用哪个框架,构建一个Agent都遵循以下5个核心步骤:

第1步:明确Agent的目标与边界

先问自己三个问题:①Agent要解决什么具体问题?②它的输入是什么、输出是什么?③哪些事它能做、哪些事它不能做?

错误示范:"做一个帮我处理工作的Agent"——太宽泛,无法落地。正确示范:"做一个市场调研Agent,输入是一个公司名,输出是一份包含公司业务、竞品、近期动态的Markdown报告"。

第2步:设计工具集(Tools)

Agent的能力边界由工具决定。常见工具包括:网络搜索(Tavily、SerpAPI)、网页抓取(Firecrawl、Jina Reader)、数据库查询、文件读写、代码执行、API调用、计算器等。

设计工具的关键原则:①每个工具职责单一、命名清晰;②工具描述(description)要写得让LLM能准确判断何时使用;③输入输出用Pydantic或JSON Schema严格定义。

第3步:编写System Prompt

System Prompt是Agent的"角色说明书"。好的System Prompt包含:①角色定位;②任务目标;③可用工具及其使用时机;④输出格式约束;⑤边界与禁止行为;⑥示例(few-shot)。

第4步:实现Agent循环

Agent的核心是"思考-行动-观察"循环(ReAct范式):LLM思考下一步该做什么→调用工具→观察返回结果→继续思考……直到LLM判断任务完成。

实现时要注意:①设置最大迭代次数防止死循环;②对工具调用做超时处理;③错误信息回传给LLM让其自我修正;④关键步骤加入"人在回路"确认。

第5步:评估与迭代

Agent开发最大的挑战是评估——同样的输入可能产生不同的执行路径。建议:①准备10-20个测试用例覆盖典型场景;②记录每次执行的完整trace用于调试;③关注"成功率""平均步数""平均token消耗""平均耗时"四个核心指标;④用LLM-as-Judge自动评分。

五、实战案例:用LangChain构建市场调研Agent

下面我们用LangChain + LangGraph构建一个简化版的市场调研Agent。它接受一个公司名作为输入,自主搜索公司信息、抓取相关网页、生成结构化报告。

完整代码

from typing import Annotated, TypedDict
from langchain_openai import ChatOpenAI
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.messages import HumanMessage, SystemMessage
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition

# 1. 定义工具
search = TavilySearchResults(max_results=5)
tools = [search]

# 2. 定义模型并绑定工具
model = ChatOpenAI(model="gpt-4o", temperature=0)
model_with_tools = model.bind_tools(tools)

# 3. 定义状态
class State(TypedDict):
    messages: Annotated[list, add_messages]

# 4. 定义Agent节点
SYSTEM_PROMPT = """你是一位资深市场调研分析师。
任务:根据用户给出的公司名,产出一份结构化的市场调研报告。

报告必须包含以下章节:
1. 公司概况(业务、规模、成立时间)
2. 核心产品与服务
3. 主要竞争对手
4. 近期重要动态
5. 简要分析

你可以使用搜索工具获取最新信息。每个章节至少基于2条搜索结果。
输出格式:Markdown。"""

def agent_node(state: State):
    messages = [SystemMessage(content=SYSTEM_PROMPT)] + state["messages"]
    response = model_with_tools.invoke(messages)
    return {"messages": [response]}

# 5. 构建Graph
graph = StateGraph(State)
graph.add_node("agent", agent_node)
graph.add_node("tools", ToolNode(tools))
graph.add_edge(START, "agent")
graph.add_conditional_edges("agent", tools_condition)
graph.add_edge("tools", "agent")
graph.add_edge("agent", END)

# 6. 编译并运行
app = graph.compile()
result = app.invoke({"messages": [HumanMessage(content="调研一下 Anthropic 这家公司")]})
print(result["messages"][-1].content)

代码解读

  1. 定义工具:用Tavily搜索API作为Agent的"眼睛",让它能查最新信息。
  2. 绑定工具:通过bind_tools让模型知道有哪些工具可调用、何时调用。
  3. 定义状态:LangGraph用TypedDict管理状态,messages字段自动累加。
  4. 定义Agent节点:核心是System Prompt,明确角色、任务、输出格式。
  5. 构建Graph:START→agent→(条件分支:要调用工具则去tools节点,否则END)→tools→回到agent。这就是ReAct循环。
  6. 编译运行:compile()把图编译为可执行对象,invoke触发执行。

💡 扩展建议:①加上Firecrawl工具让Agent能抓取网页正文;②加上文件写入工具让Agent能把报告保存为.md文件;③加上Human-in-the-loop让Agent在关键步骤暂停确认。

六、常见坑点与最佳实践

坑点1:Agent陷入死循环

表现:Agent反复调用同一个工具、产生同样的错误、永远不收敛。解决:①设置max_iterations(建议10-20);②在System Prompt里明确"如果尝试3次仍失败,请直接给出当前已知信息并说明限制";③用LangGraph的checkpointer保存中间状态便于调试。

坑点2:工具描述不清导致误用

表现:Agent在不该调用工具时调用、或调用了错误的工具。解决:工具的name和description要写得像写给新同事看的SOP——明确"这个工具做什么""什么时候该用""什么时候不该用"。比如"search_news"应描述为"搜索最近7天的新闻,用于获取公司近期动态。当需要历史信息(早于7天)时不要使用此工具"。

坑点3:Token爆炸

表现:长任务跑着跑着上下文超出模型限制。解决:①用summarization定期压缩历史消息;②只把最近N轮对话保留为完整message,更早的压缩为摘要;③工具返回结果要精简,避免返回大段原始HTML。

坑点4:评估困难

表现:改了一个Prompt,不知道是变好还是变坏了。解决:①建立固定的测试集;②用LLM-as-Judge按维度打分(准确性、完整性、格式、可读性);③记录每次变更的trace,对比同一输入的执行差异。

坑点5:忽视安全与成本

表现:Agent自主执行了危险操作(删文件、发邮件)或烧光API预算。解决:①危险工具必须加human-in-the-loop确认;②设置每日token预算上限;③对工具调用做权限分级。

核心心法:Agent开发的难点不在"写代码",而在"调教"。把它当成培养一个新员工——清晰的指令、明确的边界、可量化的评估、持续的反馈,比追求"最强模型"更重要。

七、进阶方向:从单Agent到多Agent系统

当你能熟练构建单Agent后,下一个台阶是多Agent系统(Multi-Agent System)。核心思想是让多个专精Agent协作完成复杂任务,类似人类团队的分工。

常见的多Agent模式:

  • 主管-工人模式(Orchestrator-Worker):一个主管Agent拆解任务、分发给多个工人Agent,最后汇总。适合内容生产、研究报告等场景。
  • 辩论模式:多个Agent从不同立场讨论同一问题,最后由裁判Agent综合。适合决策支持、风险评估。
  • 流水线模式:Agent按顺序处理——Researcher调研→Writer写作→Editor审校→Publisher发布。适合内容生产线。

CrewAI和OpenAI Agents SDK对多Agent协作有原生支持,是入门多Agent系统的推荐起点。

八、总结与学习路径

AI Agent是2026年大模型应用层最值得投入的方向。掌握Agent开发,你能构建出真正"能干活"的AI应用,而不仅仅是"会聊天"的对话框。

推荐的学习路径:

  1. 第1周:读Anthropic的《Building Effective Agents》和OpenAI的《Practices for Building Agents》两篇官方文档,建立概念框架。
  2. 第2周:用OpenAI Agents SDK或CrewAI跑通一个最简单的多Agent demo,建立直觉。
  3. 第3-4周:用LangGraph构建一个有状态、带工具的单Agent,跑通完整ReAct循环。
  4. 第2个月:选一个真实场景(比如市场调研、代码审查、客户支持)构建生产级Agent,加入评估、监控、人在回路。
  5. 第3个月:尝试多Agent系统,理解不同协作模式的优劣。

最后一句:Agent开发是一门"工程+艺术"的混合手艺。理论再好不如动手做一个——从今天的Hello World Agent开始,比你纠结三个月选型更有价值。