发布时间:2026/8/25 14:01:41
【Agent工程】(1)—— 演示成功不等于系统可用 【Agent工程】1—— 演示成功不等于系统可用文章目录【Agent工程】1—— 演示成功不等于系统可用1. 演示成功不等于系统可用2. 本专栏在解决什么问题2.1 问题定义2.2 非目标3. 专栏内容划分与方向4. 最小上线闭环5. 工具面先分清三层边界6. 贯穿示例工单助手 Agent6.1 同一请求下的两种写法7. 可运行示意用字典描述一版最小任务卡片8. 四个常见误区9. 适用边界10. 术语速查11. 小结与下一篇摘要很多项目已经能把大模型接到几个工具上演示时偶尔成功真正难的是做成可长期运行的系统——任务可拆、权限可控、结果可验收、成本可封顶。本篇说明 Agent / 工具系统工程在解决什么问题、专栏后续大致写哪些方向并用工单助手作为贯穿示例给出一版最小任务卡片与验收代码。适合准备把 Agent 从演示推进到业务链路的工程师。读完可以判断当前停在演示层还是已经具备可上线系统的骨架。1. 演示成功不等于系统可用把模型接到工具以后常见的「成功」长这样提示词里写清目标挂上查库、改状态、发消息等工具人工连点几次看起来做对了这在演示里足够在业务里不够。演示通常不回答这次成功的条件是什么换一批工单是否仍成立写操作是否被限制在最小必要范围失败时如何重试、降级或交给人一次运行花了多少钱、会不会在循环里把预算烧光事后能否还原调用了哪些工具、改了什么状态本专栏把这类问题统称为Agent / 工具系统工程关注的不是又一个更炫的对话效果而是把工具调用做成有边界、有验收、有审计的系统能力。2. 本专栏在解决什么问题2.1 问题定义给定一个业务目标例如把符合条件的工单升级为紧急并通知值班一组可调用工具查询、写入、通知、检索代码等一个会规划步骤并调用工具的 Agent 运行时要求系统在约束内完成目标并且可验证有明确的完成定义与验收方式可约束工具权限与副作用范围事先声明可观测关键调用与状态变更留痕可控成本有超时、次数与费用上限2.2 非目标本专栏不展开模型预训练、微调配方的完整教程某一家厂商控制台的逐屏点击说明把 Agent 神化成「全自动替代全部岗位」的叙事模型能力当然重要但在工具系统里它往往只是规划与语言层真正决定能不能上线的常常是任务定义、权限边界与验收门禁。3. 专栏内容划分与方向后续内容按工程顺序展开先把任务与权限说清楚再谈多 Agent 与成本否则编排只会把混乱放大。方向主要讨论什么总览分清演示与可上线系统固定最小闭环任务与验收模糊目标如何拆成任务卡片与完成定义工具面工具注册、读写分离、作用域、危险操作编排单 Agent 闭环以及多 Agent 委托边界运行时上下文预算、限流、超时、幂等观测、成本与上线审计、评测、配额、灰度、回滚与人机协同常见切入方式项目现状更合适的阅读重点只会演示对话还没有任务卡片先读任务与验收再读工具面已有工具调用但权限混乱先读工具面再回头补任务卡片单 Agent 已稳定准备拆多 Agent验收做扎实后再读编排马上要接业务流量对照观测、成本与上线相关章节做检查不必按专栏顺序通读但若跳过任务与验收直接做多 Agent后面排障成本通常更高。4. 最小上线闭环把一版 Agent 系统视为「可以进入业务」至少要闭合下面五环环节最少产出物缺了会怎样目标一句话业务结果 非目标Agent 优化错误目标权限工具清单与读写边界误改生产或越权读取执行可追踪的调用轨迹出问题无法复盘验收命令、断言或对照表只剩「感觉对了」无法复现成本步数 / 时间 / 费用上限循环调用拖垮预算这五环是本专栏的验收骨架。后文每一块内容都会回到其中至少一环而不是另起一套口号。实践里可以用一句话自检如果无法用命令或断言证明「这次做完了」就还停留在演示层。任务卡片不是文牍而是把这句自检提前写成字段。五环不必一次做完美但上线前至少要能指出目标写在哪里、谁有写权限、失败如何发现、怎样判定完成、预算上限是多少。缺任何一项演示里的偶然成功都很难复现。5. 工具面先分清三层边界工具不只是「函数能调用」。工程上至少要分开三层发现层有哪些工具、参数是什么、返回什么Agent 规划依赖这一层的准确性。权限层当前角色是否允许调用只读工具与写操作是否分开挂载。副作用层调用会改哪些外部状态失败时是否可补偿、是否要求幂等键。很多演示把三层揉在一个 tools 数组里短期省事长期会在排障时付出代价分不清是提示词问题、权限问题还是工具本身的副作用设计问题。6. 贯穿示例工单助手 Agent后续篇章默认使用同一业务故事降低上下文切换成本。场景客服或值班同学提出——把工单 T-1024 升为紧急写明原因并通知值班频道。允许的工具示意工具类型说明get_ticket只读查询工单当前状态update_ticket_priority写入修改优先级add_ticket_comment写入追加备注notify_oncall写入外部副作用通知值班完成定义示例工单优先级为urgent备注中包含约定关键词如升级原因值班通知已发送或明确记录「通知失败并已降级」全程未调用未授权工具例如直接删单、改账单演示版只关心模型有没有说出正确步骤系统版还要关心步骤是否在权限内、验收是否可机器执行。6.1 同一请求下的两种写法维度演示写法系统写法输入一段自然语言自然语言 任务卡片或由拆分器生成卡片工具临时塞进提示词注册表声明运行时按角色挂载成功标准人看对话觉得对acceptance_report可返回passed失败处理再问一句模型重试策略、降级通知、人工接管事后聊天记录审计字段工具、参数摘要、结果码、耗时本专栏后文会反复使用这张对照表每当引入新机制多 Agent、限流、配额都先看它落在上表哪一列。7. 可运行示意用字典描述一版最小任务卡片下面代码不绑定某一家 Agent 框架只表达本专栏反复使用的数据结构。字段可以映射到具体编排器。from__future__importannotationsfromtypingimportAnydefbuild_ticket_upgrade_card(ticket_id:str,reason:str)-dict[str,Any]:构造工单升级任务卡片示意。return{goal:f将工单{ticket_id}升级为紧急并通知值班,non_goals:[删除工单,修改计费字段,读取无关客户隐私备注],allowed_tools:[get_ticket,update_ticket_priority,add_ticket_comment,notify_oncall,],write_tools:[update_ticket_priority,add_ticket_comment,notify_oncall,],acceptance:{priority_equals:urgent,comment_must_contain:[升级原因,reason],notify_required:True,},budgets:{max_steps:8,max_seconds:60,max_tool_calls:12,},}defacceptance_report(card:dict[str,Any],final_state:dict[str,Any])-dict[str,Any]:根据最终状态做最小验收示意不连真实系统。acccard[acceptance]checks{priority_ok:final_state.get(priority)acc[priority_equals],comment_ok:all(keyin(final_state.get(comment)or)forkeyinacc[comment_must_contain]),notify_ok:(notacc[notify_required])orbool(final_state.get(notified)),tools_ok:set(final_state.get(used_tools,[])).issubset(set(card[allowed_tools])),}checks[passed]all(checks.values())returnchecksif__name____main__:cardbuild_ticket_upgrade_card(T-1024,产线停机)# 假设某次运行后的终态成功路径final_state{priority:urgent,comment:升级原因产线停机,notified:True,used_tools:[get_ticket,update_ticket_priority,add_ticket_comment,notify_oncall,],}print(acceptance_report(card,final_state))再给一段越权路径对照说明验收为什么必须检查工具集合if__name____main__:cardbuild_ticket_upgrade_card(T-1024,产线停机)bad_state{priority:urgent,comment:升级原因产线停机,notified:True,used_tools:[get_ticket,update_ticket_priority,delete_ticket,# 未授权],}reportacceptance_report(card,bad_state)assertreport[passed]isFalseassertreport[tools_ok]isFalseprint(越权路径已被验收拦住:,report)这两段代码的重点不是把工单系统写完而是固定专栏口径先有任务卡片再谈 Agent 自由发挥验收必须可机器判断未授权工具即使结果碰巧对了也不能算通过8. 四个常见误区误区典型表现更稳妥的做法把对话当系统只保存聊天记录没有任务卡片先写目标拆解与完成定义工具权限过大读写、高危操作挂在同一角色用注册表与权限策略拆开只看成功率抽测几次「好像行」建立评测集与成本配额无人值守幻想无审计、无人工接管点准备灰度、回滚与人机协同项目若同时踩中前两条建议先不要上多 Agent把单 Agent 的权限与验收做稳收益通常更大。9. 适用边界本专栏适合已经能调用模型 API 或本地推理准备把工具链路产品化的工程师需要给 Agent 项目补权限、验收与审计的技术负责人本专栏不适合作为大模型数学原理第一课某一具体 IDE 插件的操作手册替代品「无需工程、只靠提示词即可上生产」的证明材料若主要短板是模型写不出可用代码或检索质量差应先补齐编码能力或检索评测工具系统工程解决的是调用与约束不能替代那两块基础。10. 术语速查术语含义Agent能按目标规划步骤并调用工具的运行时角色工具Tool可被调用的外部能力如查询、写入、通知任务卡片目标、非目标、允许工具、验收与预算的结构化描述完成定义怎样算做完最好可机器判定权限边界谁能调用哪些工具、读写是否分离副作用调用对外部状态的真实改变审计保留关键调用与决策轨迹便于复盘降级主路径失败时的保守替代路径11. 小结与下一篇回到文首的判断如果只有提示词和临时工具列表还没有任务卡片、权限边界与验收命令那么当前更接近演示而不是可上线系统。本篇固定了三件事专栏主线是任务 → 工具面 → 编排 → 运行时 → 观测与上线最小上线闭环是目标、权限、执行、验收、成本贯穿示例是工单助手 Agent下一篇进入「任务与验收」把模糊业务一句话拆成可执行的任务卡片字段并给出第一版拆分脚本。系列导航本篇为专栏第 1 篇下一篇【Agent工程】2—— 模糊目标到任务卡片撰写中

相关新闻

2026/8/25 13:56:41

Node系列 · 数据库:视图

Node系列 数据库:视图视图(View)是"虚拟表"——查询时按定义动态生成结果,不存储实际数据。视图能简化复杂 JOIN、控制数据访问权限、抽象业务规则——但性能与可维护性有 trade-off,需要明确何时该用、何时…

2026/8/25 13:56:41

Grok Bot 技术架构拆解:四个支柱撑起一个会干活的AI队友

上一篇我聊了 Grok Bot 的定位——「拥有自己云电脑的 AI 队友」。很多人看完追问:它到底是怎么做到的?为什么别的 AI 还停在「问答」,它已经能「执行」了? 这篇不谈营销话术,只拆技术架构。把 Grok Bot 拆开看&#…

2026/8/25 16:17:10

98配列机械键盘选购指南:从核心配置到实战推荐

最近在帮朋友挑选机械键盘时,发现98配列(或称100键)的键盘热度持续走高。这个配列在保留数字小键盘的同时,通过紧凑布局大幅缩减了尺寸,兼顾了办公效率和桌面空间,成为许多用户从全尺寸键盘升级的首选。然而…

2026/8/25 16:17:10

从Claude技能清单到AI协作元能力:掌握Prompt设计核心逻辑

最近在 GitHub 上看到一个项目,一个汇集了各种 Claude 使用技巧的清单,星标数蹭蹭往上涨,很快就突破了 7 万。很多人点进去,第一反应是收藏、下载,然后……就没有然后了。这让我想起一个老问题:我们面对一个…

2026/8/25 16:17:10

【毕设分享】超市货物管理系统18265

摘要超市收发货仍靠纸质单和Excel表,员工抄码、电话报数、人工盘点,错记漏记频繁,库存账与实物常差成百件。月底统计需抽调三四人加班对单,价格变动靠口头通知,采购员凭经验下单,滞销与断货交替出现。财务汇…

2026/8/25 16:17:10

零公网IP搭建《我的世界》基岩版服务器:FRP内网穿透实战指南

这次我们来看一个非常实用的技术方案:如何在没有公网IP的情况下,搭建一个《我的世界》基岩版服务器,并实现远程联机。对于很多想在本地电脑上开服和朋友一起玩的玩家来说,最大的障碍就是运营商不提供公网IP,导致朋友无…

2026/8/25 16:12:09

SpringBoot集成测试的最佳实践分享

你盯着那条红色失败用例,昨晚它明明还是绿的。没有改任何业务代码,只是CI环境的数据库连接池比本地小。这是SpringBoot集成测试最常见的噩梦——测试本身成了比被测代码更脆弱的存在。当一套测试需要依赖环境、顺序、甚至运气才能通过时,它就…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…