尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Agent工程到底怎么做:从0到1搭建一个能落地、能调用工具、能持续优化的AI智能体系统

Agent工程到底怎么做:从0到1搭建一个能落地、能调用工具、能持续优化的AI智能体系统 一、先说清楚什么是Agent工程Agent工程不是简单地写一个Prompt也不是接一个大模型接口就完事。通俗讲Agent就是一个“会思考、会拆任务、会调用工具、会根据结果继续行动”的AI执行系统。普通大模型更像“聊天助手”用户问什么它答什么。而Agent更像“数字员工”用户给一个目标它会判断要做什么、需要查什么、调用哪个工具、执行几步、最后把结果交付出来。比如用户说“帮我分析一下最近30天用户投诉数据找出主要问题并生成一份改进建议。”普通大模型可能只能给一个通用建议。Agent工程要做的是1、理解用户目标。2、判断需要查询投诉数据。3、调用数据库或接口。4、清洗和归类数据。5、识别高频问题。6、生成分析报告。7、必要时通知负责人或创建任务。所以Agent工程的核心不是“让AI会说”而是“让AI会做事”。OpenAI 的 Agents 文档也把 Agent 系统拆成了 Agent定义、模型、工具、编排、交接、护栏、人审、状态、可观测等模块这说明真正的Agent已经是一个完整工程体系而不是单点Prompt技巧。二、Agent工程和传统后端系统有什么区别很多人做Agent工程时最大误区是把它当成普通后端接口来写。传统后端系统是输入固定逻辑固定输出相对固定。比如用户点击支付 → 校验订单 → 扣库存 → 调支付接口 → 返回结果。这套流程是确定的。但Agent系统不一样。Agent面对的是自然语言目标过程可能不固定。同样一句“帮我整理一下客户问题”它可能需要查知识库、查CRM、调用工单系统、总结历史对话、生成改进方案。所以Agent工程有几个明显特点1、输入不稳定用户表达很随意。有人说“帮我看看这个客户咋回事。”有人说“分析一下客户A最近为什么不续费。”有人说“这个客户是不是要流失了”它们可能表达不同但背后任务相似。2、过程不稳定Agent可能先查客户信息也可能先查工单也可能先查聊天记录。这就要求工程系统必须能记录每一步。3、结果需要评估传统接口返回200不代表Agent做得好。Agent返回了一段话也不代表真的有用。你要看有没有调用正确工具有没有查对数据有没有胡说有没有越权有没有生成可执行建议LangChain在Agent可观测文章里也强调构建可靠Agent必须理解它的推理、工具调用和执行轨迹不能只看最终返回结果。三、Agent工程的整体架构应该怎么设计一个比较完整的Agent工程可以拆成九层。1、入口层接收用户任务入口可以是网页聊天框企业微信/飞书/钉钉APP对话框后台运营系统客服工作台API接口入口层要做三件事第一接收用户输入。第二识别用户身份和权限。第三生成一次任务ID方便后续追踪。这里非常重要每一次Agent执行都必须有requestId、traceId、userId、sessionId。否则线上出问题时你根本不知道Agent为什么这么做。2、意图识别层判断用户到底想干什么用户一句话进来后不能直接丢给大模型乱跑。要先判断意图。比如用户是想查资料是想生成内容是想调用业务系统是想修改数据是想做分析还是只是闲聊意图识别可以用两种方式一种是规则关键词。比如包含“查询订单”“退款”“库存”就进入对应流程。另一种是轻量模型分类。比如把用户问题分成知识问答类数据查询类内容生成类流程办理类工具执行类复杂规划类实际项目中建议采用规则兜底 小模型分类 大模型二次判断这样既快又稳。3、规划层把大任务拆成小步骤这是Agent最核心的部分。用户给的是目标Agent要把目标拆成执行计划。比如用户说“帮我生成一份新品营销方案。”Agent可以拆成1、确认新品信息。2、查询目标用户画像。3、查历史相似活动。4、总结成功活动特点。5、生成活动主题。6、生成渠道策略。7、生成预算建议。8、输出完整方案。这个过程叫规划。但要注意规划不能无限开放。否则Agent会绕圈、乱查、乱调用工具。所以工程上要设置最大执行步数最大调用次数最大Token预算最大运行时间失败重试次数人工确认节点Anthropic在构建有效Agent的文章中提到成功的Agent实现通常不是依赖复杂框架而是使用简单、可组合的模式。这个观点很关键Agent工程不是越复杂越好而是越可控越好。4、工具层让Agent真正能做事没有工具的Agent只是聊天机器人。有了工具Agent才能查数据、调用接口、发通知、生成文件、操作系统。常见工具包括数据库查询工具搜索工具知识库检索工具CRM查询工具订单系统工具工单系统工具邮件发送工具报表生成工具代码执行工具文件解析工具日历工具审批流工具工具设计要注意一个原则工具要像“按钮”不要像“黑盒”。也就是说每个工具要有清晰的功能边界。例如不建议设计一个万能工具doAnythingTool(userInput)而应该拆成queryOrder(orderId)queryCustomer(customerId)createRefundTicket(orderId, reason)searchKnowledgeBase(keyword)generateReport(data, template)工具越清晰Agent越不容易乱用。Anthropic在工具设计文章中也提到给Agent写工具时需要重新思考传统软件开发方式因为Agent面对的是非确定性调用场景。5、记忆层让Agent记住上下文和历史经验Agent记忆一般分三类。第一类是短期记忆。也就是当前对话上下文。比如用户前面说“我说的是华东区的数据。”后面问“那这个月怎么样”Agent要知道“这个月”指华东区这个月。第二类是长期记忆。比如用户偏好、业务规则、历史操作习惯。例如用户喜欢报告用表格。某类审批必须走负责人确认。某个客户属于重点客户。第三类是任务记忆。也就是Agent执行过程中产生的中间状态。例如已经查过哪些数据。调用了哪些工具。哪些步骤失败了。当前任务进行到哪里。工程上可以这样设计短期记忆放在Session里。长期记忆放在数据库或向量库里。任务状态放在任务表、Redis或工作流引擎里。但记忆不能无脑存。要有写入规则。比如用户明确表达的偏好可以存。业务执行结果可以存。敏感信息要脱敏。临时信息不要长期保存。错误结论不能直接进入长期记忆。6、知识层让Agent有可靠信息来源很多Agent失败不是模型不聪明而是知识来源不可靠。知识层通常包括企业文档业务规则产品手册FAQ历史案例数据报表接口文档政策制度用户画像运营活动数据知识层常见做法是RAG也就是检索增强生成。简单说用户提问后不是让大模型凭空回答而是先去知识库里查相关资料再让大模型基于资料回答。工程流程一般是文档采集文档清洗文档切片向量化入库检索召回重排序上下文拼接大模型生成引用来源返回这里要特别注意知识库不是“把文档扔进去”就完事。真正难点在文档是否过期切片是否合理召回是否准确权限是否隔离答案是否引用依据相似文档是否去重表格、PDF、图片是否能处理Agent不是替代知识库而是把知识库变成可执行能力。7、编排层单Agent还是多Agent很多文章喜欢一上来讲多Agent。但实际工程里不建议一开始就搞复杂多Agent。正确路线应该是先做单Agent。单Agent稳定后再拆专业Agent。专业Agent多了再做多Agent编排。单Agent适合任务简单流程短工具少风险低多Agent适合任务复杂角色分工明显工具很多需要专家协作例如一个营销Agent系统可以拆成意图识别Agent活动分析Agent用户画像Agent文案生成Agent合规检查Agent投放建议Agent复盘总结AgentOpenAI Agents SDK中也提供了handoffs能力用来让一个Agent把任务交给另一个专业Agent也支持“agent as tool”让主Agent调用专家Agent协助完成任务。但多Agent有风险。Agent越多链路越长越难调试。所以要坚持一个原则能用流程解决的不要急着用多Agent能用工具解决的不要急着让模型自由发挥。8、护栏层防止Agent乱来Agent工程必须有护栏。因为Agent不仅会说还可能会执行动作。如果没有护栏它可能查了不该查的数据调用了错误接口生成违规内容删除重要数据越权审批泄露敏感信息把错误结果当事实护栏可以分成几类。第一输入护栏。检查用户请求是否合法。比如是否包含敏感词是否越权是否试图绕过规则是否要求执行危险操作第二工具护栏。控制Agent能调用哪些工具。比如普通用户只能查数据不能修改数据。删除操作必须人工确认。转账、退款、发券必须二次确认。第三输出护栏。检查最终回答是否合规。比如是否包含隐私信息是否包含不确定结论是否编造数据是否违反业务规则第四人工审核。高风险任务必须人审。例如批量发送营销短信大额退款删除客户数据修改合同对外发送正式邮件OpenAI Agents SDK文档中也明确把guardrails和human review作为复杂Agent工作流的重要部分。9、可观测层把Agent每一步都记录下来Agent上线后最怕一句话“它刚才为什么这么回答”如果没有可观测你只能猜。所以Agent工程一定要有trace。要记录用户输入系统Prompt版本模型名称模型参数检索关键词召回文档工具调用名称工具入参工具返回中间状态执行耗时失败原因最终输出用户反馈OpenAI Agents SDK内置Tracing可以记录LLM生成、工具调用、handoff、guardrails和自定义事件用于开发和生产环境调试。Braintrust对Agent可观测的定义也很直接要捕获Agent执行中的每一步包括工具选择、工具参数、模型响应、记忆读写、状态变化和决策分支。一句话没有Trace的Agent不能上线。四、Agent工程应该怎么一步步落地1、第一步不要先做万能Agent先选一个高频场景很多团队一开始就想做“企业万能助手。”这通常会失败。因为万能助手边界太大评测困难权限复杂用户期待也高。更好的做法是先选一个明确场景。比如客服工单分析Agent营销活动生成Agent合同审核Agent数据查询Agent会议纪要Agent代码排查Agent销售跟进Agent知识库问答Agent选择场景时看四个指标是否高频是否耗时是否有明确输入输出是否能衡量效果比如“客服工单分析”就很适合。输入工单数据。输出问题分类、原因分析、处理建议。效果节省人工分析时间提高问题定位效率。2、第二步定义Agent的职责边界Agent不能什么都做。要写清楚它能做什么不能做什么需要哪些工具输出什么格式什么时候需要人工确认失败时怎么处理例如客户分析Agent的职责能查询客户基础信息。能查询历史订单。能查询工单记录。能总结风险点。能生成跟进建议。不能直接修改客户等级。不能直接承诺退款。不能查看无权限客户。不能编造没有来源的数据。这个边界越清楚Agent越稳定。3、第三步设计工具而不是只写PromptAgent效果好不好很大程度取决于工具设计。工具设计建议遵循五个原则。第一工具功能要单一。一个工具只做一件事。第二参数要结构化。不要让Agent传一大段自然语言。第三返回结果要干净。不要返回一堆无关字段。第四错误信息要清楚。比如“订单不存在”“用户无权限”“接口超时”“参数缺失”第五高风险工具要加确认。比如删除、发送、修改、支付、审批。4、第四步设计任务流程Agent不是随便跑。要有流程。一个常见流程是用户输入意图识别权限校验任务规划工具调用结果检查继续执行生成答案输出校验记录日志用户反馈复杂任务可以设计成工作流。比如先检索资料再分析数据再生成报告再合规检查最后输出流程要明确哪些步骤由模型做哪些步骤由程序做。一个重要原则确定性的事情交给代码不确定的事情交给模型。比如权限校验用代码。金额计算用代码。数据库查询用代码。语言理解用模型。方案生成用模型。复杂总结用模型。这样系统会更稳。5、第五步加入RAG让回答有依据如果Agent要回答业务问题就必须有知识来源。否则它很容易胡说。RAG落地要关注五个点第一文档清洗。去掉页眉页脚、广告、重复内容、乱码。第二合理切片。不能太长也不能太碎。第三混合检索。关键词检索适合精确词向量检索适合理解语义。第四重排序。把最相关的内容放到前面。第五答案引用。告诉用户答案来自哪里。比如“根据《售后规则》第3.2条……”这能显著提升可信度。6、第六步加入记忆但不要乱记记忆是Agent体验升级的关键。但记忆也很危险。如果乱记Agent会越来越偏。建议设置记忆写入机制用户明确说“以后都这样”才写入长期偏好。系统执行结果写入任务记忆。业务规则由管理员维护不由Agent随便修改。敏感信息必须脱敏或不保存。错误结果不能直接沉淀为知识。记忆要能查看、能删除、能更新。否则后面出了错很难纠正。7、第七步做评测集不要靠感觉判断效果Agent上线前必须评测。评测集可以分成几类简单任务复杂任务边界任务异常任务越权任务工具失败任务多轮对话任务高风险任务每条评测样本至少包含用户输入期望意图期望工具调用期望输出要点不能出现的内容评分标准评测指标可以包括意图识别准确率工具调用准确率任务完成率答案正确率引用准确率平均耗时平均成本失败率人工介入率用户满意度LangChain也提到Agent评估不能只看最终答案还要评估不同粒度的执行过程生产trace可以成为持续优化的基础。8、第八步上线后持续优化Agent不是上线即结束。它更像一个需要持续训练和调优的系统。上线后要看哪些问题经常失败哪些工具经常调用错哪些Prompt版本效果变差哪些知识没有召回哪些任务耗时过长哪些回答用户不满意哪些场景需要人工接管优化方式包括补充知识库调整Prompt优化工具描述增加参数校验增加重试机制增加人工确认拆分复杂Agent优化检索策略降低模型成本五、Agent工程中的核心模块怎么做1、Prompt怎么写Agent Prompt不能只写“你是一个聪明助手”。要写清楚角色目标任务边界工具使用规则输出格式禁止事项失败处理安全要求例如你是一个客户分析Agent。你的任务是根据客户资料、订单记录和工单记录分析客户风险。你只能基于工具返回的数据回答。如果数据不足要明确说明。不能编造客户信息。涉及退款、赔偿、合同修改时必须提示人工确认。输出包括客户概况、风险点、原因分析、建议动作。Prompt越像“岗位说明书”Agent越稳定。2、工具描述怎么写工具描述要让模型看得懂。比如不要写getData获取数据。而要写queryCustomerOrders根据customerId查询客户最近订单记录适用于分析客户购买行为、消费频次、订单金额变化等场景。必须传入customerId可选传入startDate和endDate。好的工具描述包括工具用途适用场景必填参数可选参数返回内容使用限制失败处理工具描述越清楚Agent越不容易选错工具。3、状态管理怎么做Agent执行过程一定要有状态。状态包括当前任务目标已完成步骤待执行步骤已调用工具中间结果错误信息用户确认状态最终输出简单任务可以放在内存或Redis。复杂任务建议放数据库或工作流引擎。尤其是长任务比如生成报告批量分析多系统审批跨部门流程必须支持暂停恢复重试取消回滚人工介入4、异常处理怎么做Agent工程里异常是常态。常见异常包括模型超时工具超时接口失败参数错误检索为空权限不足任务循环输出不合规用户输入不清楚处理方式模型超时自动重试或切换模型。工具失败返回明确错误让Agent重新规划。检索为空提示缺少资料不要胡编。权限不足直接拒绝不进入后续流程。任务循环达到最大步数后停止。输出不合规重新生成或转人工。5、成本控制怎么做Agent比普通聊天更贵。因为它可能多次调用模型、多次检索、多次调用工具。成本控制可以从几个方面做第一模型分层。简单分类用小模型。复杂生成用大模型。长文本总结用中模型。高风险场景用强模型。第二缓存。相同问题缓存答案。相同知识检索缓存结果。相同Prompt前缀使用前缀缓存。相同工具查询结果短时间缓存。第三限制步数。不要让Agent无限循环。第四压缩上下文。不要把所有历史都塞给模型。第五工具优先。能用接口查就不要让模型猜。六、Agent工程中最容易踩的坑1、把Agent做成万能助手万能助手看起来高级实际上最难评估、最难上线。建议先从垂直场景开始。2、只调Prompt不做工程Prompt只能解决一部分问题。真正稳定要靠工具设计权限控制状态管理评测体系日志追踪异常兜底3、不给Agent边界没有边界的Agent很容易乱查、乱答、乱调用。4、工具太粗一个万能工具会让Agent误用。工具要小而清晰。5、没有Trace没有Trace就无法复盘。出了问题只能猜。6、没有评测集靠人工感觉调Agent很快会失控。7、没有人工确认涉及高风险操作必须人审。8、让模型做确定性计算金额、库存、权限、订单状态这些要用代码不要让模型算。七、一个可落地的Agent工程案例营销活动Agent假设要做一个营销活动Agent。用户输入“帮我给618活动生成一个老用户召回方案。”系统流程可以这样设计1、意图识别识别为营销方案生成用户召回活动策划2、权限校验判断用户是否有查看活动数据、用户画像和历史活动数据的权限。3、任务规划拆成查询历史召回活动查询老用户画像分析流失原因生成活动主题生成优惠策略生成触达渠道生成文案生成风险提示输出完整方案4、工具调用调用历史活动检索工具用户画像查询工具活动效果分析工具文案生成工具合规检查工具5、生成方案输出活动目标目标人群活动主题权益设计渠道策略触达节奏文案示例预期指标风险控制复盘指标6、合规检查检查是否包含夸大宣传违规承诺敏感词不合理优惠用户隐私信息7、最终输出给用户一份可执行方案。8、记录Trace记录输入是什么调用了哪些工具查到了哪些活动用了哪个Prompt版本生成结果是什么合规检查结果是什么这样才叫完整Agent工程。八、Agent工程的技术选型建议1、模型层可以采用多模型策略大模型负责复杂规划和生成。中模型负责总结和改写。小模型负责分类、路由、简单判断。不要所有任务都用最贵的大模型。2、检索层可以用ElasticsearchMilvuspgvectorWeaviateQdrant向量数据库 关键词检索如果业务已有ES也可以做混合检索。ES适合关键词、过滤、排序、权限字段。向量库适合语义召回。两者结合效果更好。3、编排层可以用LangGraphOpenAI Agents SDKLlamaIndex Workflows自研工作流TemporalAirflow类任务系统如果场景简单自研也可以。如果多Agent复杂建议使用图式编排或工作流引擎。4、可观测层至少要支持日志Trace指标告警评测结果用户反馈可以接入OpenTelemetryLangSmithBraintrust自研日志平台GrafanaPrometheusAgent可观测现在已经成为生产Agent的关键能力LangChain的“State of Agent Engineering”中也提到多步骤推理链路和工具调用追踪已经成为Agent系统的基础能力。九、Agent工程上线标准一个Agent能不能上线可以看这张清单1、是否有明确业务场景2、是否有清晰职责边界3、是否有权限控制4、是否有工具调用规范5、是否有最大执行步数6、是否有失败重试7、是否有人工确认8、是否有日志和Trace9、是否有评测集10、是否有灰度机制11、是否有回滚方案12、是否有成本监控13、是否有安全护栏14、是否有用户反馈入口满足这些才算从Demo走向工程化。十、Agent工程未来趋势1、从聊天助手变成业务执行系统未来Agent不会只回答问题而是直接参与业务流程。比如自动生成报告自动处理工单自动分析客户自动创建任务自动辅助审批自动监控异常2、从单Agent走向多Agent协作不同Agent负责不同专业领域。但多Agent不会无限堆叠而是更强调可控编排。3、从Prompt调优走向评测驱动未来Agent优化一定是先有评测集再改Prompt再看指标再灰度上线4、从黑盒执行走向全链路可观测每一步都能追踪、复盘、评分。5、从自由执行走向安全自治Agent会越来越强但权限、护栏、人审也会越来越重要。近期关于Agentic AI安全风险的讨论也在增加一些安全机构提醒企业警惕无保护的自主Agent部署风险尤其是权限过大、行为不可预测和责任难追踪等问题。十一、总结Agent工程的本质是什么Agent工程的本质不是“让大模型更会聊天”。而是把大模型放进一个可控、可追踪、可评测、可迭代的工程系统里让它安全地完成真实任务。真正可落地的Agent系统一定包含意图识别任务规划工具调用知识检索记忆管理状态管理权限控制安全护栏日志追踪效果评测成本控制持续优化一句话总结Agent工程 大模型能力 工具系统 业务流程 安全护栏 可观测评测。只会写Prompt做不出稳定Agent。只会接模型接口也做不出生产级Agent。真正的Agent工程要像做后端系统一样严谨又要像做AI产品一样关注体验。未来几年Agent会从“演示很酷”走向“真正干活”。谁能把Agent做得稳定、可控、可上线谁就能真正吃到AI应用落地的红利。
返回列表