治理先行:给 Agent 一个能持续执行的环境
过去一段时间,我一直被一个看似具体的问题拖住:每次修改功能、准备部署,都要反复输入管理员密码。多账号隔离和权限边界本来是为了安全,但如果部署路径没有被设计好,它就会让每一个小改动都变成一次漫长的手工操作。
这件事让我意识到,Agent 执行效率低,很多时候不只是模型不够聪明,而是它所处的环境没有为持续执行做好准备。真正值得问的不是“能不能让 Agent 自己做”,而是“有没有给它一个能持续做下去的环境”。
一个完整的部署小案例
原来的阻塞点很具体:多账号隔离后,启动任务不在我的用户名下,部署时经常需要输入 sudo 或管理员密码。每开发一个小功能,都要重复查问题、绕过卡点、输入密码,再等待服务上线。整个过程不是某一条命令特别难,而是部署动作被拆成了连续的人工确认。
后来,我把部署本身收敛成一个由管理员权限启动的服务。这个服务接受部署调用,职责只限于部署;它不负责开发、不负责审计,也不承担其他任务,其他工作仍交给相应的 Agent 或执行角色。这样做不是把权限无条件交出去,而是把高权限动作限制在一个边界清楚、职责单一的入口里。
真实记录中的成功判定不是一个虚构的耗时数字,而是两个实际结果:服务启动后,部署过程不再需要我持续输入密码和盯守,最后两个服务成功上线。原始记录没有提供一套已经验证的自动失败接手机制,所以不能把它写成“失败会自动恢复”。如果部署失败,应停止当前流程,交回人工或负责的执行者核查。
这个案例说明,所谓自主执行,前提不是放弃权限边界,而是把高权限动作配置成可观察、职责单一的环境。
反复盯守不是可靠的自动化
当 Agent 在部署过程中不断停下来询问密码、等待确认,人的时间就被切成了很多小段:输入一次、检查一次、重新解释一次,然后再等它继续。表面上看,人与 Agent 一直在协作;实际上,大量精力消耗在流程摩擦上。
一种直觉做法是继续盯着它,在每个阶段增加更多人工限制,以为这样可以降低出错概率。但如果每一步都必须回到人这里,任务就很难在无人值守时完成,也无法真正形成可复用的执行流程。
更好的问题是:怎样配置一个环境,让 Agent 在目标明确的情况下持续工作,直到完成?
治理要先于放权
治理越早做越好。治理规则把什么可以做、什么不能做、什么时候需要审计和如何恢复写清楚之后,才有可能放心地让 Agent 持续执行。
治理不是为了让 Agent 每一步都被拦住,而是为了让它在明确边界内少走弯路。权限边界、审计和门禁配置好之后,才可以相对放心地放开执行。所谓“放开 Agent 去做”,前提不是取消限制,而是先把限制设计成稳定的环境。
比较合理的顺序是:先治理,再配置环境,最后把明确的目标交给 Agent。治理解决“能不能安全做”,环境解决“能不能顺利做”,目标则解决“要做成什么”。
从交互式推动到 Goal
我曾经尝试把开发、审计等工作拆成多个本地会话,靠人与不同 Agent 反复沟通来推动进度。这种方式在小任务上可以工作,但任务一复杂,就会变得很慢:需要不断转述背景、确认下一步,再等待另一个会话继续。
另一种方式是给出一个明确的 Goal,让 Agent 自己拆解执行和审计工作。人的职责从“推动每一步”转向“定义目标、配置环境和检查关键结果”。Goal 不是一句模糊的“把它做好”,而应该包含完成标准、可用工具、权限边界和失败时的处理方式。
Agent 能力不只取决于模型
一个任务最终能否完成,取决于至少四个因素:模型本身的能力、初始上下文、动态环境,以及问题本身的难度。
初始上下文包括 prompt、skill 和任务说明;动态环境包括 Agent 能调用的工具、能检索的记忆、能看到的反馈,以及部署服务提供的执行条件。问题本身也有不同维度的难度:有的问题搜索空间很大,需要模型探索正确路径;有的问题只是步骤太多,需要被拆成多个阶段。
这意味着,提升 Agent 的效果不只是换更强的模型。还可以优化初始 prompt,改善动态环境,把复杂问题拆解成更小的节点,并为常见流程提供必要的先验。
Workflow 是降低难度的工具
复杂任务不适合一次性交给一个 Agent 从头做到尾。Workflow 的作用,是把大问题拆成多个阶段,让每个节点只处理更明确的一部分上下文和决策。
拆解不仅减少上下文长度,也会降低问题本身的难度。部分环节可以压缩成脚本,部分环节交给模型判断;节点之间通过门禁传递结果,减少幻觉和信息丢失。Workflow 不是额外的形式主义,而是把原本很大的搜索空间切开,让模型在更小、更清晰的问题上发挥能力。
用四个问题检查下一步
要把目标型执行落到实际流程里,可以在每个节点开始前问四个问题:
- 卡在哪一步? 明确当前节点、依赖和阻塞点,不把所有问题都归结为 Agent 能力不足。
- 这一步允许 Agent 做什么? 写清可用工具、权限范围和不能越过的边界。
- 交出什么可核对结果才算完成? 指定 artifact、日志、测试、部署状态或其他可复核证据;没有证据就不算完成。
- 出现什么情况停下交回人工? 权限越界、依赖缺失、结果不可验证、重复失败或需要人作价值判断时,都应停止并交回人工。
这四个问题把“让 Agent 自己做”从一句愿望变成了可以检查的执行协议。
结语:少盯过程,多设计环境
人仍然需要决定做什么、为什么做、哪些风险不能接受,以及什么证据才算完成。只是这些判断不必重复发生在每一个执行步骤里。
治理、部署服务和 Workflow 分解最终指向同一个目标:把人的时间从重复盯守中释放出来,用于创作、判断和真正重要的决策。Agent 能否持续工作,取决于我们是否给了它一个足够清楚、足够安全、也足够能跑到完成的环境。