一、Agent 工程增加了什么
普通后端主要控制代码逻辑。Agent 系统加入 LLM 后,还会出现模型判断、RAG 检索、Tool Calling、Memory 和多轮状态。
因此,即使程序没有报错,Agent 仍可能产生行为错误,例如:
选择错误 Tool Tool 参数填写错误 RAG 召回错误 重复调用工具 遗漏上下文 最终任务没有完成Agent 工程因此增加了一项重要工作:
持续评估 Agent 的行为质量。
整体过程可以概括为:
需求 → Agent 设计 → Prompt / RAG / Tool / Memory → 开发 → 软件测试 → Agent Eval → CI/CD → 上线 → Trace / Metrics → Bad Case → 持续迭代二、Agent 设计首先确定任务边界
开发 Agent 时,首先需要明确用户、任务目标、可调用工具、自动执行权限和任务成功标准。
例如,“开发一个知识问答 Agent”仍然比较模糊。
进一步定义后可以变成:
系统根据指定知识库回答专业问题,并提供引用来源;涉及数据修改时需要人工确认。
这种描述已经开始形成明确的工程约束。
随后才能继续设计 RAG、Tool、Memory 和 Workflow。
三、为什么 Agent 需要 Eval
传统测试主要判断代码是否按照预期运行。
Agent 还需要判断整个行为过程。
例如数据库 Tool 本身正常,但 Agent 可能选择了错误 Tool。
因此 Agent Eval 通常需要关注几个层面:
Tool 是否正常 Agent 判断是否正确 整个任务是否完成 响应时间是否合理 成本是否可接受生产环境中,每次修改 Prompt、Tool、模型或 RAG 策略后,都可以重新运行固定 Benchmark,检查任务成功率是否下降。
这就是 Agent Regression Eval,即 Agent 回归评测。
四、Trace 为什么重要
普通服务日志可能只记录:
POST /chat 200这只能说明请求成功完成。
如果最终答案错误,还需要进一步判断问题来自哪里。
Trace 会记录 Agent 的完整执行过程,例如:
用户问题 → RAG 检索结果 → Agent 判断 → Tool → Tool 参数 → Tool 返回值 → 最终回答因此 Trace 可以理解为 Agent 的执行过程记录。
通过 Trace,可以判断 Bad Case 来自 Retrieval、Prompt、Tool、Memory,还是模型最终生成阶段。
五、生产 Agent 还需要监控什么
传统后端通常监控:
CPU Memory QPS Latency Error RateAgent 系统还会增加 AI 特有指标:
Token Usage 模型延迟 Tool 调用次数 Tool Error Rate 任务成功率 单任务成本 Agent LoopTool Calling 还会带来权限与安全问题。
查询数据通常风险较低,删除用户、发送邮件、退款等操作则需要鉴权、权限控制、操作日志,部分场景还需要人工确认。
因此,Toy Agent 与生产 Agent 的主要区别可以概括为:
Demo 重点证明 Agent 能运行;生产系统还需要证明它能够评测、定位、监控、控制和回滚。
理解这一层以后,Spring AI、LangGraph、RAG、Tool Calling、Memory、Eval 和 Trace 等概念就会逐渐进入同一个完整的 Agent 工程框架。