你的优势分析
作为一名资深移动开发者,你已经具备了许多AI Agent开发所需的核心能力:
- 工程化思维 — App架构设计经验直接迁移到Agent系统架构
- API集成能力 — 你已经习惯对接各种REST/GraphQL API,调用LLM API毫无障碍
- 用户体验直觉 — Agent产品本质上也是用户产品,你对交互设计的理解是纯ML工程师不具备的
- 状态管理经验 — 移动端复杂的状态管理(Redux/Bloc等)与Agent的状态机设计相通
- 异步编程能力 — 协程/async-await/事件驱动编程直接适用于Agent的并发执行
你需要补充的核心知识是:LLM原理、Prompt Engineering、Agent设计模式、RAG架构、以及Agent专用框架。
LLM基础与Prompt Engineering
2-3 周你不需要从零学机器学习,但需要理解LLM的工作机制来做出正确的工程决策。
必须理解的概念:
- Transformer架构的直觉理解(注意力机制、Token化、上下文窗口)
- 模型推理过程:temperature、top-p、frequency penalty对输出的影响
- Token经济学:如何估算成本、优化Token使用
- 模型能力边界:幻觉(Hallucination)、知识截止、推理局限
Prompt Engineering不是"写提示词"那么简单,它是Agent开发的基石。
核心技术:
- 基础技巧:角色设定、Few-shot、Chain-of-Thought (CoT)、Self-consistency
- 高级技巧:ReAct模式、Tree-of-Thought、Structured Output(JSON Mode)
- 系统提示词设计:约束、格式控制、安全边界
- Prompt模板化与版本管理
实战练习 — Python:
# Python示例 - 使用OpenAI SDK
from openai import OpenAI
client = OpenAI()
# 练习1:实现一个结构化输出的分类器
response = client.chat.completions.create(
model="gpt-4o",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "你是一个意图分类器,将用户输入分类为json格式"},
{"role": "user", "content": "帮我订明天上午9点的会议室"}
]
)
实战练习 — TypeScript:
// TypeScript示例 - 使用Vercel AI SDK
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const { text } = await generateText({
model: openai('gpt-4o'),
system: '你是一个意图分类器',
prompt: '帮我订明天上午9点的会议室',
});
作为Agent开发者,你需要熟练使用多家模型提供商的API:
| 提供商 | 主力模型 | 特点 | SDK |
|---|---|---|---|
| OpenAI | GPT-4o, o3 | 综合能力强,工具调用成熟 | openai |
| Anthropic | Claude 4 Sonnet/Opus | 长上下文、代码能力强 | anthropic |
| Gemini 2.5 Pro | 多模态、长上下文窗口 | google-genai | |
| 开源模型 | Llama 4, Qwen 3 | 可本地部署、定制化 | ollama, vllm |
关键能力:
- 掌握Function Calling / Tool Use的标准用法(这是Agent的核心)
- 理解Streaming响应处理
- 实现模型路由(根据任务复杂度选择模型)
Agent核心架构
3-4 周Agent与传统Chatbot的区别:
- Chatbot:用户输入 → 模型输出 → 结束
- Agent:用户输入 → 规划 → [调用工具/推理/反思] × N → 最终输出
核心设计模式(必须掌握):
- ReAct模式 — Reasoning + Acting 交替进行
- Plan-and-Execute — 先生成计划,再逐步执行
- Reflection/Self-Critique — 自我检查和修正
- Multi-Agent协作 — 多个Agent角色分工协作
- Human-in-the-Loop — 在关键决策点引入人类审批
这是Agent能力的基础——让LLM能够调用外部功能。
核心知识:
- 工具Schema定义(JSON Schema规范)
- 工具调用的生命周期:解析意图 → 选择工具 → 构造参数 → 执行 → 结果注入
- 并行工具调用 vs 顺序调用
- 工具调用的错误处理和重试策略
实战项目 — 从零构建Tool-Using Agent:
# 不使用任何框架,纯SDK实现一个能使用工具的Agent
import json
from openai import OpenAI
client = OpenAI()
tools = [
{
"type": "function",
"function": {
"name": "search_web",
"description": "搜索互联网获取最新信息",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "搜索关键词"}
},
"required": ["query"]
}
}
}
]
def agent_loop(user_message: str):
messages = [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": user_message}
]
while True:
response = client.chat.completions.create(
model="gpt-4o", messages=messages, tools=tools
)
choice = response.choices[0]
if choice.finish_reason == "stop":
return choice.message.content
if choice.finish_reason == "tool_calls":
messages.append(choice.message)
for tc in choice.message.tool_calls:
result = execute_tool(tc.function.name,
json.loads(tc.function.arguments))
messages.append({
"role": "tool",
"tool_call_id": tc.id,
"content": str(result)
})
Agent需要多种类型的记忆来维持上下文和学习:
- 短期记忆 — 当前对话上下文(消息列表管理、上下文窗口滑动)
- 长期记忆 — 向量数据库存储(用户偏好、历史交互摘要)
- 工作记忆 — Scratchpad模式(在推理过程中暂存中间结果)
关键技术:
- 对话历史管理策略:滑动窗口、摘要压缩、重要性排序
- 向量数据库选型:Chroma(本地开发)、Pinecone/Weaviate/Qdrant(生产)
- Embedding模型选择:OpenAI text-embedding-3-small/large, Cohere Embed v4
类比你熟悉的移动端状态管理,Agent也需要状态机来管理复杂流程:
- 有限状态机 (FSM) — 适合线性流程的Agent
- 有向图 (DAG) — 适合有分支和并行的复杂Agent
- 事件驱动架构 — 适合需要响应外部事件的Agent
核心框架实战
4-5 周LangChain是目前生态最完善的AI应用框架,LangGraph是其Agent编排引擎。
学习重点:
- LangChain核心抽象:ChatModel, Tool, Chain, OutputParser
- LangGraph的图构建:Node, Edge, State, Conditional Edge
- 内置的Agent类型:ReAct Agent, Plan-and-Execute Agent
- LangSmith用于调试和观测
# LangGraph示例 - 构建一个有状态的Agent
from langgraph.graph import StateGraph, START, END
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages
class AgentState(TypedDict):
messages: Annotated[list, add_messages]
def chatbot(state: AgentState):
llm = ChatOpenAI(model="gpt-4o").bind_tools(tools)
return {"messages": [llm.invoke(state["messages"])]}
def should_continue(state: AgentState):
last_message = state["messages"][-1]
if last_message.tool_calls:
return "tools"
return END
graph = StateGraph(AgentState)
graph.add_node("chatbot", chatbot)
graph.add_node("tools", ToolNode(tools))
graph.add_edge(START, "chatbot")
graph.add_conditional_edges("chatbot", should_continue)
graph.add_edge("tools", "chatbot")
agent = graph.compile()
| 框架 | 适用场景 | 学习优先级 |
|---|---|---|
| CrewAI | 多Agent协作,角色扮演式编排 | 高 |
| OpenAI Agents SDK | OpenAI生态内的轻量Agent | 高 |
| AutoGen (Microsoft) | 多Agent对话、代码生成场景 | 中 |
| LlamaIndex | 数据驱动的Agent(RAG为核心) | 高 |
| Pydantic AI | 类型安全的Agent开发 | 中 |
| Haystack | 生产级RAG和Agent Pipeline | 中 |
# CrewAI快速体验
from crewai import Agent, Task, Crew
researcher = Agent(
role="高级研究员",
goal="深入研究给定主题并提供全面分析",
backstory="你是一个经验丰富的研究分析师",
tools=[search_tool, web_scraper_tool]
)
writer = Agent(
role="技术写作专家",
goal="将研究结果转化为清晰易懂的文章",
backstory="你擅长将复杂技术概念解释给普通读者"
)
crew = Crew(agents=[researcher, writer], tasks=[research_task, writing_task])
result = crew.kickoff()
| 框架 | 特点 | 适用场景 |
|---|---|---|
| Vercel AI SDK | 与Next.js深度集成,streaming原生支持 | Web Agent产品 |
| LangChain.js | LangChain的TS版本 | 全栈Agent应用 |
| Mastra | TypeScript原生Agent框架,支持工作流 | TS优先的Agent开发 |
| OpenAI Agents SDK (Node) | 官方SDK的Node版本 | 轻量Agent |
// Vercel AI SDK - 构建Tool-Using Agent
import { generateText, tool } from 'ai';
import { openai } from '@ai-sdk/openai';
import { z } from 'zod';
const result = await generateText({
model: openai('gpt-4o'),
tools: {
weather: tool({
description: '获取指定城市的天气信息',
parameters: z.object({
city: z.string().describe('城市名称'),
}),
execute: async ({ city }) => {
return { temperature: 25, condition: 'sunny' };
},
}),
},
maxSteps: 5,
prompt: '北京今天天气怎么样?',
});
MCP是Anthropic提出的标准协议,正在成为Agent工具集成的事实标准。
你需要学会:
- 理解MCP的Server/Client架构
- 开发自己的MCP Server(暴露工具给Agent使用)
- 在Agent框架中集成MCP Client
# MCP Server示例 (Python)
from mcp.server import Server
from mcp.types import Tool, TextContent
server = Server("my-tools")
@server.tool()
async def query_database(query: str) -> str:
"""执行数据库查询并返回结果"""
results = await db.execute(query)
return json.dumps(results)
if __name__ == "__main__":
server.run()
RAG(检索增强生成)
3-4 周RAG让Agent能够利用外部知识库回答问题,是企业级Agent应用的核心能力。
核心组件:
- 文档处理Pipeline — 加载 → 分块(Chunking) → Embedding → 存入向量库
- 检索策略 — 向量相似度搜索、关键词搜索、混合检索(Hybrid Search)
- 重排序(Reranking) — 用Cross-Encoder对初始检索结果精排
- 生成阶段 — 将检索到的上下文注入Prompt,LLM生成最终答案
| 架构 | 适用场景 | 复杂度 |
|---|---|---|
| Naive RAG | 简单文档问答 | 低 |
| Advanced RAG | 需要查询改写、多步检索 | 中 |
| Modular RAG | 灵活组合各模块 | 中高 |
| Graph RAG | 需要理解实体关系 | 高 |
| Agentic RAG | Agent自主决定何时/如何检索 | 高 |
2025-2026年RAG最佳实践:
- 语义分块(Semantic Chunking)替代固定长度分块
- 混合检索(向量+BM25)显著提升召回率
- Contextual Retrieval:在chunk中注入上下文描述
- ColBERT等晚期交互模型提升检索精度
- 查询扩展(Query Expansion)和分解(Query Decomposition)
# 使用LlamaIndex构建一个Agentic RAG系统
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core.tools import QueryEngineTool
from llama_index.core.agent import ReActAgent
from llama_index.llms.openai import OpenAI
# 1. 加载和索引文档
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
# 2. 创建查询引擎作为工具
query_engine = index.as_query_engine(similarity_top_k=5)
query_tool = QueryEngineTool.from_defaults(
query_engine=query_engine,
name="knowledge_base",
description="搜索内部知识库获取相关信息"
)
# 3. 构建Agent(Agent自主决定何时使用RAG)
llm = OpenAI(model="gpt-4o")
agent = ReActAgent.from_tools(
tools=[query_tool, web_search_tool], llm=llm, verbose=True
)
response = agent.chat("对比我们产品与竞争对手的核心差异")
生产级Agent开发
3-4 周Agent系统的调试比传统应用复杂得多——每次运行路径可能不同。
核心工具:
- LangSmith (LangChain生态) — Trace追踪、评估、数据集管理
- Langfuse (开源替代) — Agent执行链路追踪、成本监控
- Arize Phoenix — LLM可观测性、Embedding可视化
- Braintrust — 评估和Prompt管理
必须监控的指标:
- Token使用量和成本
- 工具调用成功率
- Agent完成任务的步数
- 端到端延迟
- 幻觉检测率
Agent评估的挑战: 输出非确定性,难以用传统单元测试覆盖。
评估策略:
- LLM-as-Judge — 用更强的模型评估Agent输出质量
- Golden Dataset — 人工标注的标准数据集做回归测试
- A/B Testing — 在生产中对比不同Agent版本的表现
- Trajectory评估 — 不仅评估最终结果,也评估推理过程
# 使用LangSmith进行Agent评估
from langsmith import Client
from langsmith.evaluation import evaluate
client = Client()
# 定义评估数据集
dataset = client.create_dataset("agent-eval-v1")
client.create_examples(
inputs=[{"question": "最新的iPhone型号是什么?"}],
outputs=[{"answer": "iPhone 16系列"}],
dataset_id=dataset.id
)
# 运行评估
results = evaluate(
agent_function,
data="agent-eval-v1",
evaluators=[correctness_evaluator, helpfulness_evaluator],
)
Agent安全是生产化的关键考量:
- Prompt Injection防护 — 用户输入可能试图劫持Agent行为
- 工具调用权限控制 — Agent不应该执行超出权限的操作
- 输出过滤 — 防止Agent泄露敏感信息
- 执行沙箱 — 代码执行类Agent必须在沙箱中运行
- Human-in-the-Loop — 高风险操作需人工确认
推荐实践:
- 输入输出都要经过安全过滤层
- 使用Guardrails框架(如NVIDIA NeMo Guardrails)
- 实现Agent行为的审计日志
- 设置Token使用量/API调用的速率限制
典型的生产级Agent部署架构:
关键技术决策:
- 同步 vs 异步执行(长时间Agent任务需要异步+回调)
- 模型降级策略(主模型不可用时自动切换)
- 缓存策略(语义缓存减少重复调用)
- 水平扩展(Agent worker集群化)
Multi-Agent系统与高级话题
3-4 周| 模式 | 描述 | 适用场景 |
|---|---|---|
| Supervisor | 一个主Agent调度多个子Agent | 复杂任务分解 |
| Peer-to-Peer | Agent之间平等协作 | 辩论、头脑风暴 |
| Pipeline | Agent链式处理 | 内容生产流水线 |
| Hierarchical | 多层级管理结构 | 大规模系统 |
- Agent Gateway — A2A (Agent-to-Agent) 协议,Google提出的Agent互联标准
- Agent Registry — Agent服务发现和注册
- Workflow Engine — 长流程Agent任务的持久化执行
| 项目 | 复杂度 | 涉及技能 | 参考框架 |
|---|---|---|---|
| 个人知识库Agent | 中 | RAG + 工具调用 | LlamaIndex |
| 代码Review Agent | 中 | GitHub API + LLM | LangGraph |
| 客服Agent系统 | 中高 | Multi-turn + RAG + 人工转接 | LangGraph |
| 数据分析Agent | 高 | Code Generation + 数据可视化 | CrewAI |
| 多Agent研究助手 | 高 | Multi-Agent + Web搜索 + 写作 | CrewAI / AutoGen |
| 全自动DevOps Agent | 高 | MCP + CI/CD集成 + 监控 | 自建 |
持续学习与职业发展
长期必须关注的信息源
AI Agent roadmap.sh — 社区维护的Agent开发路线图 LangChain Blog — 框架更新和最佳实践 Anthropic Research Blog — Agent设计思想前沿 Latent Space Podcast — AI工程师深度访谈Twitter/X 关注: @AndrewYNg, @kaboroevich, @hwchase17, @jxnlco
作为转行者,可展示的项目比证书更有说服力:
- GitHub上的开源Agent项目 — 选一个垂直领域做到极致
- 技术博客/视频 — 记录你的Agent开发实践和踩坑经验
- MCP Server贡献 — 为社区贡献工具集成
- 在线Demo — 部署可交互的Agent Demo(Vercel/Railway)
作为有资深App开发背景的Agent工程师,你特别适合以下方向:
- AI产品工程师 — 将Agent能力产品化,结合你的用户体验直觉
- Agent平台架构师 — 设计Agent开发平台和基础设施
- 全栈AI应用开发 — 从前端到Agent后端的完整交付
- AI创业 — 利用Agent技术解决垂直领域问题
工具链速查
REFERENCE| 工具 | 用途 |
|---|---|
| VS Code + Continue/Cursor | AI辅助的IDE |
| uv / poetry | Python包管理 |
| pnpm | Node.js包管理 |
| Docker | 环境隔离和部署 |
| Jupyter Notebook | 快速实验 |
| SDK | 语言 | 用途 |
|---|---|---|
openai | Python/TS | OpenAI API |
anthropic | Python/TS | Anthropic API |
langchain / langgraph | Python | Agent框架 |
llama-index | Python | RAG框架 |
crewai | Python | Multi-Agent |
ai (Vercel AI SDK) | TypeScript | Web AI应用 |
@modelcontextprotocol/sdk | TypeScript | MCP开发 |
| 数据库 | 特点 | 适用场景 |
|---|---|---|
| Chroma | 本地嵌入式,零配置 | 开发/原型 |
| Qdrant | 高性能,丰富的过滤能力 | 生产环境 |
| Pinecone | 全托管Serverless | 快速上线 |
| Weaviate | 多模态支持好 | 多模态RAG |
| pgvector | PostgreSQL扩展 | 已有PG基础设施 |