【Agent工程】(2)—— 模糊目标到任务卡片

发布时间:2026/10/26 19:53:41

【Agent工程】(2)—— 模糊目标到任务卡片 【Agent工程】2—— 模糊目标到任务卡片文章目录【Agent工程】2—— 模糊目标到任务卡片1. 一句模糊目标会把系统带偏2. 任务卡片要写清的六块字段2.1 目标与非目标必须成对出现2.2 验收项优先可机器判定3. 从模糊句到卡片的拆分流程4. 贯穿示例工单升级请求4.1 什么时候拆成多张卡片5. 可运行示意拆分草稿与校验门禁5.1 启发式拆分5.2 校验门禁5.3 约束字段怎么写才有用6. 四个常见误区6.1 卡片与提示词的分工7. 适用边界8. 术语速查9. 小结与下一篇摘要Agent 最常见的翻车不是模型不会调用工具而是业务目标仍停在一句模糊话上。本篇把模糊请求拆成任务卡片的六块字段说明校验门禁怎么拦半成品卡片并给出可运行的拆分与校验脚本。贯穿示例继续用工单助手。适合读完 【Agent工程】1—— 演示成功不等于系统可用、准备把「帮我处理一下」变成可验收输入的工程师。读完可以独立完成从自然语言写出一版可校验的任务卡片。1. 一句模糊目标会把系统带偏业务侧常见说法是帮我处理一下紧急工单把那个单弄一下通知值班就行看着办尽量快点人听得懂意图Agent 却必须在工具空间里自行补全假设。常见后果是改了优先级又顺手改了不该动的字段通知发了多条或发到错误频道对话里声称「做完了」外部状态对不上复盘时说不清调用了哪些工具、依据是什么本专栏把这类问题统称为任务定义层的工作在模型规划步骤之前先把业务意图压成字段。少了这一层后面的权限、编排、限流都会建立在不稳的输入上。第 1 篇已经说明演示成功不等于系统可用。本篇只攻其中一环——在调用工具之前先把目标写成可校验的任务卡片。前文见 【Agent工程】1—— 演示成功不等于系统可用。2. 任务卡片要写清的六块字段任务卡片不是会议纪要而是 Agent 运行前的结构化输入。建议至少包含下面六块字段作用写不好会怎样目标一句话业务结果Agent 优化错误目标非目标明确不做的事范围悄悄膨胀允许工具可调用清单越权调用难发现验收可机器判定的完成条件只能靠「感觉对了」预算步数、时间、调用次数上限循环调用拖垮成本约束角色、环境、禁止项跑到错误环境或错误角色工程上可以把六块看成两层意图层目标、非目标、约束执行层允许工具、验收、预算缺意图层执行再漂亮也难对齐业务缺执行层意图再清楚也无法机械验收。2.1 目标与非目标必须成对出现只写目标、不写非目标是最常见的半成品卡片。工单升级场景里目标可以是「将 T-1024 升级为紧急并通知值班」非目标至少应写明不删除工单不修改计费相关字段不读取与本次升级无关的客户隐私备注非目标写得越具体后续权限策略越好落地。工具面细节放在后续篇目本篇先保证卡片里有位置写下这些边界。2.2 验收项优先可机器判定验收写成「处理得比较合理」没有工程价值。更稳妥的写法是外部状态满足某条件如priority urgent文本字段包含约定关键词通知接口返回成功或明确记录降级结果实际调用工具集合是允许清单的子集能写成断言或命令的就不要只写成形容词。3. 从模糊句到卡片的拆分流程推荐固定四步且把校验放在 Agent 启动之前收集原始请求保留业务原话便于回溯。结构化填表按六块字段填写不确定的项标成待确认而不是假装确定。机器校验缺目标、缺验收、无允许工具直接拒绝进入执行。作为执行输入通过校验的卡片再交给 Agent 运行时。拆分可以由人手工完成也可以用启发式脚本生成草稿后再人工改。关键点不在「谁来拆」而在未通过校验的卡片不得进入工具调用阶段。拆分过程中有两类信息不要丢掉原始请求全文进入raw_request用于审计与争议回溯。不确定项清单例如工单号未识别、通知渠道未定写入needs_review或单独的待确认列表。不确定项被清空之前校验门禁应继续拦截自动执行。宁可多一次人工确认也不要在缺关键字段时调用写工具。对已经接入表单或工单系统的团队拆分不一定要从聊天原文开始。更稳的做法是上游系统直接产出结构化字段聊天只作为补充说明。本篇仍从模糊句讲起是因为多数试点项目的第一批请求都来自自然语言。4. 贯穿示例工单升级请求继续使用工单助手场景。模糊请求帮我把那个单弄成紧急顺便通知一下。澄清后的业务事实可由值班同学或前置表单补齐工单号T-1024升级原因产线停机需要通知值班频道对应任务卡片摘要字段内容目标将工单 T-1024 升级为紧急并通知值班非目标不删除工单不修改计费字段不读取无关隐私备注允许工具get_ticket、update_ticket_priority、add_ticket_comment、notify_oncall验收优先级为 urgent备注含「升级原因」与具体原因已通知或记录降级未使用未授权工具预算最多 8 步、60 秒、12 次工具调用约束仅生产只读查询 工单写接口禁止调用删除类工具同一业务意图左侧不可验收右侧可以进入运行时。4.1 什么时候拆成多张卡片一张卡片只服务一个主目标。下面情况建议拆分情况建议既要升级工单又要改计费规则拆成两张卡避免副作用缠在一起通知渠道尚未确定先出「升级」卡通知作为后续卡或人工步骤需要先查清工单是否存在先出只读查询卡再出写入卡多个工单批量处理每单或每批一张卡失败时便于重试拆多卡不是为了增加流程仪式而是为了让失败可定位、权限可收窄、验收可独立通过。5. 可运行示意拆分草稿与校验门禁下面两段脚本不绑定具体 Agent 框架。第一段把模糊句拆成草稿卡片第二段检查必填字段。草稿不等于终稿上线前仍建议人工核对非目标与验收。5.1 启发式拆分from__future__importannotationsimportjsonimportrefromtypingimportAnydefsplit_ticket_goal(raw:str)-dict[str,Any]:把工单相关模糊句拆成任务卡片草稿启发式需人工复核。ticket_idsre.findall(rT-\d,raw,flagsre.I)ticket_idticket_ids[0].upper()ifticket_idselseT-UNKNOWNurgentany(kinrawforkin(紧急,加急,urgent))notifyany(kinrawforkin(通知,值班,oncall))goalf处理工单{ticket_id}ifurgent:goalf将工单{ticket_id}升级为紧急ifnotify:goal并通知值班return{raw_request:raw,goal:goal,non_goals:[删除工单,修改计费字段,读取无关客户隐私备注],allowed_tools:[get_ticket,update_ticket_priority,add_ticket_comment,notify_oncall,],acceptance:{priority_equals:urgentifurgentelseNone,comment_must_contain:[升级原因]ifurgentelse[],notify_required:notify,},budgets:{max_steps:8,max_seconds:60,max_tool_calls:12},constraints:[禁止调用 delete_ticket,写操作仅限工单相关接口],needs_review:ticket_idT-UNKNOWNornoturgent,note:启发式拆分草稿执行前请人工补全工单号、原因与验收细节。,}if__name____main__:cardsplit_ticket_goal(帮我把 T-1024 弄成紧急顺便通知一下值班)print(json.dumps(card,ensure_asciiFalse,indent2))5.2 校验门禁from__future__importannotationsfromtypingimportAny REQUIRED(goal,non_goals,allowed_tools,acceptance,budgets)defvalidate_task_card(card:dict[str,Any])-dict[str,Any]:校验任务卡片是否具备最小可执行字段。errors:list[str][]forkeyinREQUIRED:ifkeynotincardorcard[key]in(None,,[],{}):errors.append(f缺少字段:{key})ifgoalincardandisinstance(card[goal],str)andlen(card[goal].strip())8:errors.append(目标过短难以作为业务结果描述)toolscard.get(allowed_tools)or[]ifisinstance(tools,list)andlen(tools)0:errors.append(允许工具列表为空)acccard.get(acceptance)or{}ifisinstance(acc,dict)andnotacc:errors.append(验收条件为空)ifcard.get(needs_review)isTrue:errors.append(标记为需要人工复核尚未确认)return{ok:noterrors,errors:errors}if__name____main__:frompprintimportpprint good{goal:将工单 T-1024 升级为紧急并通知值班,non_goals:[删除工单],allowed_tools:[get_ticket,update_ticket_priority,notify_oncall],acceptance:{priority_equals:urgent,notify_required:True},budgets:{max_steps:8},needs_review:False,}bad{goal:处理一下,needs_review:True}pprint(validate_task_card(good))pprint(validate_task_card(bad))校验逻辑的要点缺字段就拒绝而不是让 Agent「边跑边猜」needs_reviewTrue时同样拒绝自动执行通过校验只代表卡片形状合格不代表业务策略已经最优5.3 约束字段怎么写才有用约束不要写成空话。更有用的约束通常是可检查的环境仅 staging / 仅工单写接口禁止工具名delete_ticket调用次数与预算字段一致避免两处矛盾人工闸门涉及对外通知前必须二次确认具体实现放到后续工具面与人机协同篇目约束与允许工具清单重复时以更严的一方为准并在卡片里写清楚避免运行时各解释各的。6. 四个常见误区误区典型表现更稳妥的做法只写目标不写非目标范围在执行中膨胀目标与非目标成对填写验收写成「看起来对」无法复现、无法回归改成状态断言或命令工具清单事后再补越权调用难以发现执行前锁定允许工具一张卡片塞进多个目标失败后无法定位一卡一主目标复杂需求拆多卡项目若经常出现「Agent 做了很多但业务说没做完」优先检查是不是把多目标塞进了同一张卡片。6.1 卡片与提示词的分工任务卡片不替代提示词二者职责不同对象更适合放什么任务卡片目标、边界、工具清单、验收、预算等可校验字段系统提示词语气、输出格式、通用安全原则、角色说明用户原话作为raw_request保留便于审计与人工复核把验收条件只写在提示词里、不写进卡片运行时很难做统一门禁把长篇风格说明塞进卡片又会让校验脚本难以维护。比较稳的做法是卡片管「做对没有」提示词管「怎么说、怎么组织中间推理」。对工单助手而言优先级是否变为 urgent属于卡片验收回复值班同学时用什么措辞属于提示词或下游通知模板。7. 适用边界本篇方法适合工具调用型 Agent需要把自然语言请求变成结构化输入已有工单、运维、客服类系统接口缺的是任务定义层本篇不覆盖提示词文采与模型选型对比完整权限引擎与工具注册表实现后续工具面篇目展开多 Agent 委托与失败编排后续编排篇目展开拆分脚本是启发式草稿生成器不是需求管理系统。工单号缺失、原因不明、通知渠道未定时应停在人工复核而不是强行自动执行。和编程助手场景相比工具型 Agent 的卡片还多了「允许工具」与「副作用边界」。只把目标写清楚但工具清单留空仍然会在执行阶段失控。8. 术语速查术语含义模糊目标只有意图、缺少可验证边界的自然语言请求任务卡片目标、非目标、允许工具、验收、预算、约束的结构化描述非目标明确不做的事项用来限制范围膨胀完成定义怎样算做完本篇落在验收字段校验门禁执行前检查卡片必填项与复核标记预算步数、时间、工具调用次数等上限启发式拆分用规则从原话生成草稿卡片需人工确认9. 小结与下一篇回到文首的问题Agent 是否经常「做完了但业务不认」若输入仍是一句模糊话问题往往不在模型而在任务尚未结构化。本篇固定了三件事任务卡片至少包含目标、非目标、允许工具、验收、预算、约束校验门禁应放在工具调用之前工单升级示例表明同一意图可以写成可机器核对的输入下一篇继续「任务与验收」把验收字段进一步落成命令与断言并说明哪些项必须人工确认。系列导航上一篇【Agent工程】1—— 演示成功不等于系统可用下一篇【Agent工程】3—— 验收命令与完成定义
延伸阅读

更多相关文章

2026/10/26 5:12:31

YOLO工业金属表面缺陷目标检测数据集-4317张

YOLO工业金属表面缺陷目标检测数据集 高数据量龟裂检测:YOLO26 深度训练方案 📊 数据集基本信息 目标类别: [‘crazing’, ‘inclusion’, ‘patches’, ‘pitted_surface’, ‘rolled-in_scale’, ‘scratches’]中文类别:[‘龟…

2026/10/25 15:15:37

农业视觉系统实战:轻量级图像识别与果园部署方案

1. 项目概述:这不是一个“竞赛题解”,而是一套可落地的农业视觉系统实战笔记 2023年亚太数学建模竞赛A题——“水果采摘机器人的图像识别技术”,表面看是道赛题,实则是一面镜子,照出当前农业智能化落地中最真实、最棘手…

2026/10/25 7:25:46

零基础用Claude Design:对话式AI设计入门指南

Claude Design 对零基础新手来说,最大的价值不是让你一夜之间变成专业设计师,而是把“做设计”从一项需要软件技能、审美积累和排版经验的工作,变成一场可以对话、可以修改、可以反复试错的需求沟通。哪怕你从来没打开过专业设计软件&#xf…

2026/10/26 19:50:47

Java图书馆系统:MVC+Swing+MySQL课设实战指南

简介:本资源是一份面向Java初学者与课程设计实践者的完整图书馆书库管理系统开发资料,聚焦于MVC架构下的Web应用开发全流程,解决图书录入、借阅管理、用户权限控制及数据统计等核心业务问题。压缩包共80个文件,含16个核心Java源码…

2026/10/26 19:50:47

大模型三大落地能力:可控生成、跨模态协同与实时响应

1. 标题背后的现实语境:为什么“GPT-6 Luna”并不存在,但这个标题值得深挖你点开这个标题时,大概率是被“GPT-6”和“Luna”两个词同时击中了——前者暗示着超越当前主流大模型的代际跃迁,后者带着航天级的科技感与命名仪式感。但…

2026/10/26 19:50:47

解决Windows安卓模拟器aehd.sys驱动安装错误127

1. 问题现象与背景解析 当你在Windows系统上运行安卓虚拟机(如BlueStacks、NoxPlayer等)时,可能会遇到一个典型的驱动安装错误:"aehd无法安装:[SC] StartService 失败 127:找不到指定的程序"。这个报错通常发…

2026/10/26 19:50:47

Docker部署guacd与Guacamole无客户端远程桌面实践

远程办公和混合办公铺开之后,经常有人问我同一个问题:内网那几台机器的桌面,怎么让外面的人用浏览器直接打开,还不用在每台电脑上装客户端。我的答案通常只有一个——用 Docker 把 guacd 跑起来,前面挂一层 Guacamole 的 Web 端。guacd 是整个无客户端远程桌面方案里的"协…

2026/10/26 19:50:47

麒麟服务器操作系统 dhcpd 配置与多网段运维实战

1. 先把话说清楚:这台DHCP服务器到底要顶什么用自建DHCP这事,很多人第一反应是“交换机上开一个不就完了”。真到机房落地的时候,你很快会发现三层交换机那点DHCP功能不够用:地址池没法按终端类型分组、静态绑定改一次要进设备命令…

2026/10/26 19:45:44

SpaTime:面向动态场景理解的时空联合建模框架

1. 项目概述:这不是又一个“多模态大模型”,而是一次对“时间空间”理解能力的硬核重构SpaTime 这个名字乍看像某家水疗中心的英文名,但拆开来看——Spa代表Spatial(空间),Time代表Temporal(时间…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑