从"一问一答"到自主执行:Agent 工程师到底在做什么?

7 阅读9分钟

Agent 工程师:AI 时代最值得押注的新职业方向

Agent 工程师是专门设计、构建和优化 AI Agent 系统的工程角色。不同于传统的机器学习工程师或后端开发者,Agent 工程师的核心能力是将大语言模型(LLM)编排成能自主完成复杂任务的智能体。这是一个正在从 Prompt Engineer 进化而来、但技术深度远超提示词工程的全新岗位。


本文面向对 AI 应用开发有基础了解的开发者,假设你知道什么是 LLM、Prompt、API 调用。

为什么需要 Agent 工程师?

2024 年之前,我们用 LLM 的方式是"一问一答"——输入 Prompt,拿到结果。但这种模式有明显的天花板:

  • 无法处理需要多步推理的复杂任务
  • 无法与外部系统交互(数据库、API、文件系统)
  • 无法根据中间结果动态调整执行策略
  • 无法持久记忆和学习

Agent 的出现打破了这些限制。一个 Agent 能够:

用户指令: "帮我分析这个 GitHub 仓库的代码质量,找出潜在的性能问题,并提交修复 PR"

Agent 实际执行:
1. 克隆仓库,分析目录结构
2. 逐文件扫描代码,识别 N+1 查询、内存泄漏等模式
3. 对每个问题评估严重程度和修复方案
4. 编写修复代码并运行测试验证
5. 创建 PR 并附上分析报告

这不是一个简单的 Prompt 能搞定的。它需要工具调用、状态管理、错误恢复、多步编排——这就是 Agent 工程师要解决的问题。

Agent 工程师到底做什么?

Agent 工程师的核心工作可以拆解为四个层面:

1. Agent 架构设计

选择和设计 Agent 的运行架构。目前主流的模式有:

架构模式适用场景代表框架
ReAct(推理+行动循环)通用任务,需要逐步推理LangChain, LlamaIndex
Plan-and-Execute复杂任务,先规划再执行LangGraph
Multi-Agent 协作大型任务,需要分工CrewAI, AutoGen, MetaGPT
Tool-Use Agent明确的工具调用场景Claude Tool Use, OpenAI Function Calling
Reflexion / Self-Refine需要自我纠错的场景自定义实现

Agent 工程师需要根据实际业务需求选择合适的架构,而不是盲目套用框架。

2. 工具集成与编排

Agent 的能力上限取决于它能调用什么工具。Agent 工程师需要:

# 一个典型的 Agent 工具定义(以 Claude Tool Use 为例)
tools = [
    {
        "name": "search_codebase",
        "description": "在代码仓库中搜索匹配指定模式的文件和代码片段",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {
                    "type": "string",
                    "description": "搜索关键词或正则表达式"
                },
                "file_pattern": {
                    "type": "string",
                    "description": "文件名匹配模式,如 '*.py' 或 'src/**/*.ts'"
                }
            },
            "required": ["query"]
        }
    },
    {
        "name": "run_tests",
        "description": "运行指定的测试套件并返回结果",
        "input_schema": {
            "type": "object",
            "properties": {
                "test_path": {
                    "type": "string",
                    "description": "测试文件或目录路径"
                }
            },
            "required": ["test_path"]
        }
    }
]

关键不只是定义工具,而是:

  • 工具描述的精确性直接决定 LLM 能否正确调用
  • 工具粒度的设计——太粗则不灵活,太细则决策链过长
  • 工具间的组合逻辑——哪些工具可以并行,哪些必须串行

3. 记忆与状态管理

Agent 需要记住它做过什么、当前在做什么、还要做什么。这涉及:

# Agent 记忆系统的典型分层
class AgentMemory:
    def __init__(self):
        # 工作记忆:当前任务的上下文(对话历史、中间结果)
        self.working_memory = []

        # 短期记忆:最近几次交互的摘要
        self.short_term = ShortTermBuffer(max_tokens=4000)

        # 长期记忆:持久化的知识和经验
        self.long_term = VectorStore(
            embedding_model="text-embedding-3-small",
            storage="postgresql"  # 持久化存储
        )

    def recall(self, query: str, top_k: int = 5) -> list[str]:
        """从长期记忆中检索相关信息"""
        return self.long_term.similarity_search(query, k=top_k)

    def reflect(self, task_result: dict) -> str:
        """对任务结果进行反思,提取可复用的经验"""
        # 这一步是 Agent 从"工具"进化到"智能体"的关键
        ...

在生产环境中,记忆管理直接影响 Agent 的成本(token 消耗)和质量(是否遗忘关键信息)。这是一个需要反复调优的工程问题。

4. 可靠性与可观测性

这是区分"Demo 级 Agent"和"生产级 Agent"的核心:

一个生产级 Agent 需要处理的现实问题:

- LLM 输出格式不符合预期 → 需要解析重试机制
- 工具调用失败(网络超时、权限错误) → 需要错误恢复策略
- Agent 进入死循环(反复重试同一个失败步骤) → 需要循环检测与退出条件
- 单次任务 token 消耗过高 → 需要成本控制与预算限制
- Agent 做出了错误决策 → 需要人机协作(Human-in-the-Loop)机制
- 无法复现问题 → 需要完整的执行链路追踪(Trace)

Agent 工程师需要为每一个环节构建防御性工程。

Agent 工程师的技能树

基于上面的工作内容,一个合格的 Agent 工程师需要以下技能:

核心技能(必备)
├── LLM 应用开发
│   ├── Prompt Engineering(结构化提示、Few-shot、CoT)
│   ├── Function Calling / Tool Use
│   ├── 多模型选型与评估(GPT-4o、Claude、Gemini、开源模型)
│   └── 成本优化(模型路由、缓存、分级调用)
│
├── Agent 框架与编排
│   ├── LangChain / LangGraph
│   ├── CrewAI / AutoGen(Multi-Agent)
│   ├── MCP(Model Context Protocol)
│   └── 自定义 Agent Loop 实现
│
├── 后端工程能力
│   ├── Python(主力语言)/ TypeScript
│   ├── 异步编程与并发控制
│   ├── API 设计与集成
│   └── 数据库(向量数据库 + 关系型数据库)
│
└── 工程化能力
    ├── Agent 评估(Eval)体系搭建
    ├── 可观测性(LangSmith、Langfuse、Arize)
    ├── CI/CD 与部署
    └── 安全与权限控制

加分技能
├── RAG 系统设计与优化
├── 前端开发(构建 Agent 交互界面)
├── 分布式系统基础
└── 特定领域知识(代码分析、数据处理、客服等)

和相关岗位的区别

维度Prompt EngineerML Engineer后端开发Agent Engineer
核心关注提示词效果模型训练与推理系统架构与性能Agent 行为与可靠性
是否训练模型通常不,但需理解模型能力边界
是否写代码少量大量大量大量
系统复杂度中-高
与外部系统交互非常多
调试难度高(数值)中(确定性)高(非确定性+多步骤)

Agent 工程师最独特的挑战在于:你在调试一个非确定性系统的多步骤行为。同样的输入,Agent 可能走完全不同的执行路径。这要求一种全新的工程思维。

当前的行业现状

已经在招聘的岗位

打开各大招聘平台搜索 "Agent Engineer",你会发现:

  • 硅谷头部公司(Anthropic、OpenAI、Google DeepMind)已设立专门的 Agent 团队
  • 国内大厂(字节、阿里、腾讯、百度)在 AI 应用团队中招聘类似角色,通常叫"AI 应用工程师"或"大模型应用开发"
  • 创业公司(Cognition/Devin、Cursor、Replit)的核心团队本质上就是 Agent 工程师

薪资参考

目前没有独立的 "Agent Engineer" 薪资统计,但参考相关岗位:

  • 国内:30K-80K/月(一线城市,2-5 年经验)
  • 硅谷:180K180K-350K/年(含股票)

随着 Agent 应用的爆发,这个岗位的需求和薪资都在快速上升。

怎样成为 Agent 工程师?

阶段一:建立基础(2-4 周)

  1. 掌握至少一个 LLM API 的完整用法(推荐 Claude 或 OpenAI)
  2. 理解 Function Calling / Tool Use 的机制
  3. 用纯代码(不用框架)实现一个简单的 ReAct Agent
# 最小 Agent Loop 示例
import anthropic

client = anthropic.Anthropic()

def agent_loop(user_task: str, tools: list, max_steps: int = 10):
    messages = [{"role": "user", "content": user_task}]

    for step in range(max_steps):
        response = client.messages.create(
            model="claude-sonnet-4-6-20250514",
            max_tokens=4096,
            tools=tools,
            messages=messages,
        )

        # 检查是否需要调用工具
        if response.stop_reason == "tool_use":
            tool_calls = [b for b in response.content if b.type == "tool_use"]
            messages.append({"role": "assistant", "content": response.content})

            # 执行工具调用并返回结果
            tool_results = []
            for call in tool_calls:
                result = execute_tool(call.name, call.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": call.id,
                    "content": result,
                })
            messages.append({"role": "user", "content": tool_results})
        else:
            # Agent 完成任务
            return response.content

    return "达到最大步骤限制"

阶段二:框架与模式(2-4 周)

  1. 学习 LangGraph 或类似编排框架
  2. 实现 Multi-Agent 协作系统
  3. 集成 RAG,让 Agent 能基于私有知识工作
  4. 学习 MCP(Model Context Protocol)标准

阶段三:生产化(4-8 周)

  1. 搭建 Agent 评估(Eval)体系——这是最被低估的技能
  2. 实现完整的可观测性方案
  3. 处理 edge case:超时、重试、成本控制、安全边界
  4. 完成一个端到端的生产级 Agent 项目

阶段四:深入与专精

  • 选择一个垂直领域深入(Coding Agent、数据分析 Agent、客服 Agent 等)
  • 研究最新的 Agent 架构论文和实践
  • 参与开源 Agent 项目贡献

需要警惕的误区

误区现实
"会用 ChatGPT 就是 Agent 工程师"Agent 工程是严肃的系统工程,不是聊天
"框架决定一切"框架只是工具,理解底层原理才能做出正确的架构决策
"Agent 能自主解决一切"当前 Agent 的可靠性仍然有限,Human-in-the-Loop 是必要的
"只需要会 Python"你还需要理解分布式系统、API 设计、安全等后端工程能力
"Prompt 写得好就行"Prompt 只是 Agent 系统的一个组件,工程化才是核心壁垒

总结

Agent 工程师是 LLM 从"工具"走向"智能体"过程中自然涌现的工程角色。它要求你同时具备:

  1. 对 LLM 能力边界的深刻理解——知道什么能做、什么做不好
  2. 扎实的后端工程能力——Agent 本质上是一个复杂的后端系统
  3. 独特的调试思维——面对非确定性系统的多步骤行为

如果你是一个后端开发者,想进入 AI 领域但不想从头学模型训练——Agent 工程可能是你最好的切入点。你已有的工程能力在这里都能用上,同时又站在了 AI 应用最前沿的位置。


进一步阅读


如果这篇文章对你有帮助,欢迎点赞收藏,也欢迎在评论区交流你对 Agent 工程的看法。