60 秒回答模板

如果已有一个 Agent Skill,但不能保证它一定可靠,我不会把主流程完全交给模型自由发挥,而是用 Workflow 固定关键路径,用 System Prompt 约束每个节点的职责。首先对 Skill 做能力探测和契约定义,明确输入、输出、前置条件、成功标准和失败码;然后把业务主流程拆成确定性节点,例如收集信息、校验、调用 Skill、解析结果、用户确认、提交或回滚。LLM 或 Agent 只在节点内完成理解、生成或调用,不允许跳过节点。System Prompt 要写清楚流程顺序、可用工具、禁止行为、失败时返回格式和何时请求人工确认。前端侧要展示执行状态、允许取消和重试,对高风险动作做二次确认。最终通过日志、回放和 badcase 优化 Skill 与 Workflow 的契约。

考点 Skill 可靠性不足时
难度 真实面经题
回答目标 用 Workflow 约束 Skill 执行

深入解析

01

先给 Skill 做能力边界

已有 Skill 不代表它可以无条件接管流程。要先确认它适合处理什么输入、依赖哪些上下文、输出格式是否稳定、失败时如何表达、是否有副作用。能力边界不清时,Workflow 也无法判断是否继续下一步。

02

Workflow 固定主流程

主流程应由确定性 Workflow 控制,例如信息收集、参数校验、Skill 调用、结果校验、用户确认、提交和结束。Agent 可以在某个节点内处理自然语言或补全信息,但不能随意改变顺序、跳过校验或直接执行最终动作。

03

System Prompt 写清执行规则

System Prompt 可以把流程、角色、工具、输出 schema、禁止行为和失败处理写清楚。比如要求模型只能选择当前节点允许的动作,缺参数时必须询问,无法确定时返回特定错误,不得伪造 Skill 执行结果。

04

节点输出要可校验

每个节点都应有结构化输出和校验规则。Skill 返回结果后要检查字段完整性、类型、业务约束和置信度;不满足时进入重试、补充信息、降级或人工确认,而不是把不可靠结果直接交给下一节点。

05

前端承担状态和确认体验

前端 AI 工作流要让用户看到当前步骤、已收集信息、待确认动作和失败原因。对提交、删除、支付、发布等高风险动作,需要用户确认;对长任务要支持取消、重试和恢复,避免用户以为系统卡死。

06

用日志和回放持续修正

每次 Skill 调用的输入、输出、节点状态、重试原因和用户操作都要记录。通过回放 badcase,可以判断是 Prompt 约束不清、Skill 本身不稳、校验规则不足,还是 UI 没有引导用户提供必要信息。

易错点

  • 认为有了 Skill 就可以让 Agent 自由决定完整流程。
  • 只讲 Prompt,不讲代码层 Workflow、状态机和校验。
  • 没有定义 Skill 的输入输出契约和失败返回。
  • 把 Skill 的输出直接用于下一步,缺少业务校验和用户确认。
  • 前端不展示进度和失败原因,用户无法理解或干预流程。
  • 高风险动作没有二次确认和撤销或补偿设计。

面试官追问

System Prompt 写了流程后,为什么仍然需要代码层 Workflow?

先用结构化测试输入验证 Skill 的输出格式、成功率、失败码和副作用,再在线上记录调用成功率、超时、用户撤销和人工接管。不能只凭一次演示判断可靠。

Skill 返回非结构化结果时,你会如何处理?

需要用户目标、当前节点、可用 Skill、参数、状态、失败重试次数和已确认信息。高风险流程还要持久化用户确认、权限校验和工具返回结果。

前端如何向用户呈现 Agent 工作流的执行状态?

Prompt 只能约束模型输出和节点行为,不能替代系统级状态机、权限校验和结果校验。真正的主流程应该由代码或工作流引擎控制,Prompt 是节点内护栏。

哪些节点适合交给 LLM,哪些节点必须确定性执行?

应中止当前节点并进入补参数、重试、替代 Skill、人工处理或安全退出。不要让模型自己编造结果继续后续流程,尤其不要绕过用户确认。

如何防止模型伪造 Skill 已执行的结果?

展示当前步骤、待补信息、Skill 调用状态、失败原因、可重试/取消动作和最终确认页。高风险动作要让用户看见关键参数并确认。

如果 Skill 调用失败多次,产品上应该怎么兜底?

可以在节点级别升级 Prompt、Skill、校验规则或兜底路径,并用回放集验证。Workflow 主干变化要更谨慎,因为会影响整体任务状态和用户预期。