乐于分享
好东西不私藏

想做个 AI Agent,到底该从哪下手?

想做个 AI Agent,到底该从哪下手?

AI 工程拆解

【核心导读】Agent 不神秘:它就是「模型 + 工具 + 循环」。所有框架都是在这个循环外面包东西。想清这一点,三条开发路线、一套技术栈、七种用户入口、那一堆框架,都能各归各位。

拨开那一堆框架名词,开发一个 Agent,本质上只有三件事。

1. 先想明白一件事:Agent 到底是什么

每次有人问"想做个 Agent 该从哪下手",我都建议先别急着选框架。因为市面上所有 agent 框架,骨架都是同一个:

Agent = 模型 + 工具 + 循环。

一句话展开:你给模型一组工具的定义,模型自己决定调用哪个;你的宿主代码负责执行工具、把结果喂回去;模型拿到结果,接着决定下一步——这样循环下去,直到任务完成。

用户输入 → 模型推理 → 要调工具吗?
              │ 是                  │ 否
              ▼                     ▼
        执行工具 → 结果喂回模型     输出最终回答,结束
              └────────循环────────┘

就这么个循环。LangGraph、CrewAI、Coze、Claude Agent SDK,全都是在这个循环外面包东西:包权限、包沙箱、包记忆、包可视化界面、包多 agent 编排。内核没变过。

把这一点想透,下面所有的选择题——选哪条路线、用什么技术、怎么让用户用上——就都有了判断的锚。

2. 三条开发路线:区别只在"谁来跑这个循环"

既然 Agent 的内核是个循环,那第一个真正的决策就是:这个循环,谁来跑?

按托管程度从轻到重,有三条路线:

路线
谁跑循环
适合场景
Claude API + tool use
你自己
自定义工具、自己托管计算、要完全控制(审批门、日志、人工介入)
Claude Agent SDK
SDK(Claude Code 同款引擎)
复用现成 agent 骨架:文件读写、bash、权限、subagent、MCP 全内置
Managed Agents(托管)
Anthropic 云端
不想碰基础设施:服务端跑循环 + 云端沙箱执行,自带定时、记忆、文件挂载

2.1 自己跑:API + tool use(最灵活)

核心就是几十行循环。如果不想手写,官方 SDK 的 tool runner 会直接帮你把循环兜起来:

import anthropic
from anthropic import beta_tool

client = anthropic.Anthropic()

@beta_tool
def get_weather(location: str) -> str:
    """查询某地天气。

    Args:
        location: 城市名,如"北京"
    """
    return f"{location}:晴,25°C"

runner = client.beta.messages.tool_runner(
    model="claude-opus-4-8",
    max_tokens=16000,
    tools=[get_weather],
    messages=[{"role": "user", "content": "上海天气怎么样?"}],
)
for message in runner:        # 自动循环:调工具 → 喂结果 → 直到完成
    print(message)

需要更细的控制——人工审批、条件执行、自定义日志——就把循环手写出来:调 messages.create() → 检查 stop_reason <mark style="background: transparent; color: #d4520e; font-weight: 700; padding: 0 2px;"> "tool_use" → 执行工具 → 把 tool_result 追加回 messages → 再调一次,直到 end_turn。手写循环没有任何魔法,它就是上面那张流程图的代码版。

2.2 复用骨架:Claude Agent SDK

如果你要做的是"操作文件和命令行"那一类 agent(编码助手、运维 agent),从零搭工具集、权限、上下文管理很不划算。Claude Agent SDK 把 Claude Code 的整套 harness——工具集、权限系统、上下文压缩、hooks、MCP 接入、subagent——做成了库。你写少量代码,就得到一个能干活的通用 agent。

2.3 全托管:Managed Agents(beta)

连服务器都不想管,就上托管 Agent。它的模型长这样:

Agent(配置,建一次)→ Session(每次运行)→ 事件流(收发消息 / 工具调用)
  • 你创建一个持久化的 Agent 配置(模型、system prompt、工具),建一次反复引用,带版本管理;
  • 每次运行开一个 Session,Anthropic 给每个 session 分配独立容器,bash 和文件操作都在云端沙箱里跑;
  • 通过 SSE 事件流收发消息,自定义工具的执行回调到你自己的程序;
  • 自带定时调度(cron)、Webhook 通知、跨会话记忆、文件 / GitHub 仓库挂载、Skills。

2.4 MCP:它不是第四条路线

很多人把 MCP 也丢进"做 Agent"的选项里,这是个误会。MCP(Model Context Protocol)不是 agent,而是给 agent 供给工具和数据的标准协议

你写一个 MCP server,把数据库、内部 API、业务能力暴露出来;任何支持 MCP 的宿主——Claude Code、Claude.ai、各种第三方客户端——都能直接接上。

所以这里有个很实用的判断:如果你的目标是"让别人的 agent 用上我的能力",那么开发一个 MCP server,比开发一个完整 agent 划算得多

3. 需要的技术栈:从"能跑"到"生产级"

把循环跑起来,需要的东西其实不多;但要做成线上能用的产品,要补的功课就不少。分两档看。

3.1 必须的(不然跑不起来)

技术
说明
一门语言
Python 或 TypeScript 生态最成熟
Anthropic SDK
pip install anthropic
,掌握 Messages API 基本用法
工具定义
用 JSON Schema 描述工具的输入参数;描述里要写清"什么时候该调它"
Prompt 工程
system prompt 决定 agent 的人格、边界和工作方式

这里有个新手最容易踩的坑:工具的描述写得好不好,直接决定模型调不调得对。别只写"这个工具查天气",要写清楚"什么情况下用它、参数是什么、返回什么"——模型就是靠这段描述来做决策的。

3.2 做到生产级还得补的

技术
为什么需要
流式输出(SSE)
agent 单轮可能跑几分钟,不流式,用户面对的就是个黑盒
Prompt caching
前缀缓存,重复上下文能省约 90% 成本
上下文管理 / 压缩
长对话自动压缩历史,否则迟早爆上下文窗口
Memory
跨会话记忆(文件式记忆目录,或托管 memory store)
结构化输出
强制 JSON schema,下游代码才好消费
错误与权限
工具失败要兜底;危险操作(发邮件、删数据)要加人工确认门
评估(evals)
一套测试用例反复回归——agent 一改 prompt 就容易此消彼长

最后这条最容易被忽略:没有 evals,你改 prompt 就是在盲改。今天调好了 A 场景,明天可能就把 B 场景改坏了,而你根本不知道。

4. 用户从哪进来:Agent 的 7 种入口

agent 写好了,怎么"长"到用户面前?这一步常被忽略,但它决定了产品形态。常见有 7 种:

  1. 聊天 Web UI
    ——最常见。自建前端 + 后端流式转发,或嵌进现有产品当侧边栏 Copilot。
  2. CLI
    ——终端交互,开发者向(Claude Code 就是这个形态)。
  3. IM 机器人
    ——Slack / 飞书 / 钉钉 / 微信 / Telegram bot,用户在已有聊天工具里 @它;消息排队机制天然适配 agent"单轮跑很久"的特性。
  4. IDE 插件
    ——VS Code / JetBrains 扩展,贴着代码工作。
  5. 无界面后台
    ——根本没有"聊天"入口。定时触发:每晚跑日报、每周扫合规(托管 Agent 的 cron 直接支持);事件触发:GitHub push、新工单、表单提交 → webhook 拉起一次运行,结果发邮件或写回系统。
  6. MCP server 形式
    ——你不做任何 UI,用户在 Claude.ai 或 Claude Code 里连上你的 server,入口是别人的宿主。
  7. 嵌入式 API
    ——agent 作为你产品的一个后端能力("一键生成报告"按钮背后就是个 agent),用户甚至不知道有 agent 存在。

选哪种,取决于你的用户已经在哪。别让用户为了用你的 agent 专门换一个工具——他们在飞书里办公,你就做飞书 bot;他们在 VS Code 里写代码,你就做 IDE 插件。

5. 慢着——你真的需要一个 Agent 吗?

这一节本该放前面,但放这里你更有体感了。不是所有任务都值得做成 agent。 动手之前,拿这四个标准过一遍,任何一条不满足,就退回更简单的方案(单次模型调用,或固定流程的 workflow):

  • ☐ 复杂度:任务是不是多步、且难以事先完全规定?("把设计文档变成 PR"才需要 agent;"提取 PDF 标题"一次调用就够了)
  • ☐ 价值:结果值不值得更高的成本和延迟?agent 跑一轮又慢又贵。
  • ☐ 可行性:模型擅不擅长这类任务?
  • ☐ 错误成本:出错了能不能被发现、被恢复?(有没有测试、人工审核、回滚)

记住:能用 workflow 解决的,就别上 agent。固定流程用固定流程,把"自主决策"留给真正需要它的地方。

6. 框架格局速览(2026 年中)

前面说的 Claude Agent SDK / Managed Agents 只是 Anthropic 一家。把视野放大,市面上分四层。

6.1 模型厂商官方

厂商
组件
特点
Anthropic
Agent SDK、Managed Agents、MCP
Agent SDK 复用 Claude Code 引擎;MCP 已成事实标准
OpenAI
Agents SDK、AgentKit、Responses API
核心抽象是 handoff(agent 间转交控制权);绑 GPT 最顺
Google
ADK、Vertex Agent Engine、A2A
ADK 开源、模型无关,但对 Gemini 优化最好
Microsoft
Agent Framework、Copilot Studio
企业 .NET / Azure 生态;Copilot Studio 走低代码
AWS
Strands Agents SDK、Bedrock AgentCore
模型无关 SDK + AWS 托管运行时

6.2 第三方开源框架(写代码)

框架
定位
LangGraph
图状态机编排,生产级最成熟(checkpoint、time-travel 调试、可观测);企业落地名单最长
CrewAI
角色制多 agent,上手最快,约 20 行起步
AutoGen / AG2
多 agent 对话式协作,研究向,正并入 Microsoft Agent Framework
LlamaIndex
RAG 起家,知识库 / 文档场景强
PydanticAI
类型安全、轻量,Python 工程师友好
Vercel AI SDK / Mastra
TypeScript 阵营,前端 / 全栈集成顺滑

6.3 低代码 / 可视化平台(少写或不写代码)

平台
特点
Coze / 扣子
(字节)
拖拽工作流,2000+ 插件,发布渠道最全,偏 C 端
Dify
(开源)
可私有化部署,workflow 能力最强,技术团队首选
n8n
工作流自动化 + AI 节点,集成 400+ SaaS

6.4 协议层(不是框架,是互通标准)

  • MCP
    (Anthropic 发起):agent ↔ 工具 / 数据的标准接口,已是事实标准,OpenAI、Google、Coze、Dify 均已接入。
  • A2A
    (Google 发起,已捐给 Linux 基金会):agent ↔ agent 之间的互通协议。

这一堆怎么快速区分?盯住四个维度就够了:

① 代码框架   vs  低代码平台      →  工程团队          vs  业务 / 运营
② 绑自家模型 vs  模型无关        →  OpenAI/Claude SDK vs  LangGraph/Dify
③ 自己托管   vs  厂商托管运行时  →  自建循环          vs  Managed Agents
④ 单 agent   vs  多 agent 编排   →  简单任务          vs  图编排 / 角色分工

一句话给个现状:海外生产环境 LangGraph 第一梯队,国内 Coze 和 Dify 当道,而 MCP 基本是个必选项——选任何框架,都先确认它支持 MCP。

7. 给新手的起步路径(照着走就行)

说了这么多,落到行动上,我的建议是别一上来就纠结选型。按这个顺序走:

第一步,用 Python + Anthropic SDK 的 tool runner,写一个带 2-3 个工具的最小 agent。 半天能跑通。目的不是做产品,是亲手感受那个循环==——跑通的那一刻,你会一下子明白前面讲的所有概念。

第二步,入口先用 CLI 或一个极简网页验证价值。 别花一周做漂亮 UI,先确认这个 agent 真有人用、真能解决问题。

第三步,跑顺了,再按需要升级:

  • 想省运维 → 迁到 Managed Agents
  • 能力要被别人复用 → 拆成 MCP server
  • 要做通用工作台型 agent → 上 Claude Agent SDK

顺序很重要:先理解循环,再验证价值,最后才谈选型和规模化。倒过来做——先纠结框架、先堆架构——是新手最常见、也最浪费时间的弯路。

回到开头那个问题:想做个 Agent 该从哪下手?答案不是"先选个框架",而是——今天下午就写一个几十行的循环,让它真的调用一次工具。剩下的判断,你跑通之后自然会有。

参考资料

[1] Anthropic, 《Building Effective Agents》, anthropic.com/engineering, 2024 [2] Anthropic, Claude Agent SDK 与 Agent 文档, docs.anthropic.com [3] Model Context Protocol 官方文档, modelcontextprotocol.io [4] 本文路线与框架格局部分整理自《Agent 开发指南》(内部资料), 2026-06-11

一句话锐评

别被框架名词吓住。先用三个工具、几十行循环跑通一个最小 Agent——你对这整张地图的理解,会比读十篇测评都深。

关注「人工智能AI技术圈」

获取更多 AI 与机器人前沿动态

大模型 · 智能体 · 机器人 · 前沿拆解

长按识别二维码 · 一键关注