跳至正文
Starone

工程场景

示意

智能体工作流自动化

一个工程场景:用 AI 智能体自动化多步骤业务流程,智能体在策略检查、人工审批和完整审计轨迹的约束下进行规划、调用工具并执行操作。

问题

设想一个运营团队,持续处理着源源不断的请求。每个请求都需要阅读一条非结构化的消息或一份文档,在若干内部系统中查询记录,依据政策作出判断,然后更新一个或多个系统。步骤本身很清楚,但输入的变化太大,基于规则的工作流覆盖不了。

语言模型可以读懂输入并决定下一步做什么,于是人们很容易想让智能体直接访问这些系统并放手让它运行。如果没有约束,这样的智能体可能满怀信心地执行错误操作,在失败后重复同一操作,或者被它所读内容中隐藏的指令带偏。工程上要解决的是:既获得智能体的灵活性,又保有受控流程的可预测性。

设计必须满足的需求

  • 智能体只能通过一组明确的工具行动,每个工具都有既定的 Schema 和自己的权限范围。
  • 任何会修改数据、转移资金或联系客户的操作都必须通过策略检查,高影响操作必须等待人工审批。
  • 工作流必须能够经受进程重启和模型错误,并在恢复时不重复已经完成的操作。
  • 智能体读取的内容必须被视为不可信数据,不得改变它的指令或权限。
  • 每一份计划、每一次工具调用、审批和结果都必须记录下来,使一次运行可以被审阅和重放。
  • 每个工作流的开销和运行时间都必须有上限,当智能体无法继续时,要有清晰的人工交接。

设计

组件

带人工审批的智能体工作流

推理

  1. 01

    触发

    事件、定时任务或用户请求

  2. 02

    规划

    把目标拆成有边界的步骤

  3. 03

    工具调用

    通过类型化工具只读查询

  4. 04

    拟定操作

    拟议的变更及其证据

受控执行

  1. 01

    策略检查

    限额、权限与风险评级

  2. 02

    人工审批

    高影响操作必须审批

  3. 03

    执行

    向目标系统幂等写入

  4. 04

    验证

    确认结果,重试或回滚

  5. 05

    审计

    每一步都有日志且可重放

智能体先用只读工具制定计划、收集证据,再提出一项操作。写操作要经过策略检查,影响较大时还需人工审批,之后才会执行并留下审计记录。
01

触发与接入

工作流由事件、定时任务或用户请求启动,每次启动都以唯一的运行标识记录。接入环节对输入做规范化处理,提取附件,并对请求类型进行分类。不在支持范围内的请求类型会直接转给人工,而不去尝试处理。

02

持久化工作流引擎

工作流引擎保存每次运行的状态,并在每一步完成时记录下来。如果某个 worker 崩溃或某次模型调用超时,运行会从最后一个已完成的步骤恢复。定时器、带退避的重试以及等待人工处理,都表达为普通的工作流步骤。

03

规划器与智能体运行时

智能体接收目标、可用工具和相关策略,并产出一份由有限步骤组成的计划。运行时限制迭代次数、token 数量和耗时,一旦触及上限就终止运行。智能体只提出操作建议,不直接执行写入。

04

工具网关

每个工具都是一个类型化函数,带有经过校验的输入 Schema,并通过统一的网关对外提供。读工具与写工具相互分离,每次调用都使用能完成任务的最小权限凭据。写工具要求提供由运行和步骤派生的幂等键,因此被重试的步骤不会生效两次。

05

策略与护栏层

拟议的操作由模型之外的确定性规则进行评估:金额上限、允许的目标、必填字段和风险评级。输入和工具结果在到达模型之前,会接受注入指令和敏感数据方面的检查。结果只有三种:放行、需要审批或拒绝。

06

人工审批

需要审批时,审核人会看到拟议的操作、智能体收集的证据及其背后的推理。他们可以批准、修改或拒绝,其决定会与本人身份关联并记录在案。在设定时间内未被审核的请求会被升级处理,而不是自动批准。

07

审计与评估

每次运行都把输入、计划、工具调用、模型响应、策略决定和审批保存为一条追踪记录。同一批追踪记录构成回归测试集:新的提示词或模型在发布之前,要先对已记录的案例重放一遍。审核人的修改和拒绝会被持续跟踪,作为智能体哪里需要改进的信号。

取舍

设计决策

决策理由
把受约束的智能体放在工作流内,而不是采用自主智能体完全自主可以应对全新的情况,但难以测试,也难以设定边界。把智能体置于既定的工作流之内,限制了它可以尝试的范围,放弃了一部分灵活性,换来的是可以推理、可以评估、事后也可以解释的行为。
策略在代码中、在模型之外强制执行提示词中的指令只是指引,模型通常会遵守,但也可能被说服而放弃。因此限额和权限由模型无法影响的确定性代码来检查,这意味着有些规则会表述两次:一次作为指引,一次作为强制执行。
人工审批按风险划定范围,而不是事事审批每个操作都审批,会抹掉自动化的大部分收益,还会让审核人养成不看就点通过的习惯。完全不审批则不安全。按影响程度给操作评级,可以让人参与在出错代价高的环节,同时让低风险、可逆的操作直接进行。
持久化执行搭配幂等工具智能体的运行时间长,模型调用和网络调用失败是常态。工作流引擎会增加基础设施和一套需要学习的编程模型,但正是它避免了一次重试把同一笔付款或同一封邮件发送两遍。
读工具与写工具按凭据分离单一的宽泛凭据配置起来更简单。分开权限范围则意味着,在收集证据阶段被恶意内容误导的智能体此时并不具备写权限,从而把提示注入的影响控制在有限范围内。

预期成效

  • 常规案例无需人工处理即可完成,例外情况转交给人
  • 无论模型提出什么,操作都保持在既定限制之内
  • 运行过程可以逐步审阅,并可重放用于测试
  • 审核人在每一项审批请求旁都能看到证据和推理

该设计旨在达成的目标。仅为示意,并非客户项目的实测结果。

代表性技术

  • Python
  • FastAPI
  • TypeScript
  • LLM APIs
  • Durable workflow engine
  • PostgreSQL
  • Redis
  • Kafka
  • Kubernetes
  • OpenTelemetry
全部参考架构

有一套必须在生产环境中正常运行的系统?

告诉我们您正在构建什么。工程师会阅读您的留言,并在两个工作日内回复。