LLM Agent 工程化入门
Agent 的核心不是“让模型自己想办法”,而是把模型放进一个可控的执行系统里,让它在清晰的状态、工具和边界内完成任务。
Agent 的基本结构
一个可维护的 Agent 通常包含四个部分:
| 模块 | 作用 |
|---|---|
| 任务输入 | 明确用户目标、约束、上下文和成功标准 |
| 推理循环 | 决定下一步动作、调用工具或请求补充信息 |
| 工具层 | 封装搜索、数据库、文件、代码执行、业务 API |
| 状态与记忆 | 记录中间结果、错误、用户偏好和可复用事实 |
工程化重点
工具要窄而稳定
工具接口越宽,模型越容易误用。优先设计小而明确的工具,例如 searchDocs(query)、createTicket(payload)、runSql(readonlyQuery),并用 schema 限制参数。
给失败留出口
Agent 会遇到工具超时、权限不足、结果冲突和信息缺失。系统需要明确哪些错误可以重试,哪些错误要降级,哪些错误必须返回给用户确认。
记录完整轨迹
生产环境里的 Agent 必须能复盘。至少记录用户输入、模型决策、工具调用、工具结果、最终输出和异常栈。没有轨迹,就无法做评测、排障和迭代。
一个实用上线清单
- 工具调用参数有 schema 校验。
- 每个工具都有超时、重试和错误码。
- 高风险动作需要人工确认或权限校验。
- Agent 轨迹可以按会话检索。
- 有基础评测集覆盖常见任务和失败样例。
小结
Agent 的价值来自模型能力和工程约束的结合。不要把 Agent 看成一个单独 prompt,而要把它看成一个包含模型、工具、状态、评测和权限的完整系统。
