为何存在此分类法
“云代理”是一个术语,用来描述从 cron 作业到 IDE 协作助手的一切。 这种模糊性导致团队:- 选择错误的抽象
- 过早自动化
- 或完全避免云代理,因为它们感觉有风险
定义云代理的实际含义,它们与其他代理的区别,以及它们何时对软件团队有意义。
云代理的清晰定义
云代理是一种由 AI 驱动的进程,运行在远程基础设施上,由任务、计划或外部事件触发,并通过对不断变化的输入进行推理,在共享工程系统中产生可审查的结果。
- 在开发者的本地环境之外运行
- 在共享团队上下文(仓库、警报、分析、基础设施)上操作
- 产生可审查的结果(PR、报告、操作)
- 可以异步和重复运行
云代理常与什么混淆
云代理经常与其他工具混淆。不是 IDE 代理
IDE 代理专注于个人生产力和本地上下文。云代理在共享系统和团队拥有的工作上操作。
不仅仅是 Cron 作业
Cron 是一个触发器。云代理对不断变化的输入进行推理并产生可审查的结果。
不是一次性脚本
脚本执行固定的逻辑。云代理即使是单次运行也会应用推理和共享上下文。
不是魔法自动化
云代理仍然需要审查、所有权和防护措施。
两个重要维度
云代理最好从两个维度来理解- 是什么触发了它们
- 它们如何被治理
维度 1:云代理触发类型
1. 一次性云代理
当人类明确地将工作分配给代理时,手动触发。一次性云代理是头等代理,它们因触发方式而异,而不是功能。示例
- 分析最常见的 Sentry 错误
- 审计仓库的安全问题
- 总结系统行为
最适合
- 未知范围
- 探索性工作
- 在自动化前建立信心
2. 定时云代理
基于时间的触发器,按固定频率(每日、每周、每小时)运行。示例
- 每周漏洞扫描
- 夜间分析摘要
- 定期依赖更新
最适合
- 可预测的重复性工作
- 积压预防
- 漂移检测
3. 事件驱动云代理
基于信号的触发器,响应来自外部系统的实时事件。示例
- 新出现的高严重性警报
- 部署失败
- 关键安全发现
最适合
- 操作工作流
- 事件响应
- 时间敏感的修复
维度 2:云代理治理级别
这是大多数团队遇到麻烦的地方。- 手动
- 辅助
- 自动化
- 人类决定代理何时运行
- 人类审查一切
云代理与本地/IDE 代理
| 本地/IDE 代理 | 云代理 |
|---|---|
| 个人上下文 | 团队上下文 |
| 短期存在 | 长期运行 |
| 开发者启动 | 系统启动 |
| 关注生产力 | 关注可靠性和所有权 |
云代理为何存在
大多数工程痛点都是重复性的。- 警报重复出现
- 安全问题再次浮现
- 操作工作中断功能开发
- 发现重复
- 一致响应
- 减少未来的中断
何时使用云代理
当出现以下情况时使用云代理- 相同类型的问题不断出现
- 成本在于处理,而不是解决
- 工作跨越多个系统
- 审查和可追溯性很重要
- 问题是新颖的
- 所有权不明确
- 影响范围尚未理解
架构现实
随着团队采用云代理,他们发现如果没有控制和可见性,代理本身无法扩展。生产云代理最终需要
- 一个共享的地方来审查运行
- 决策记录
- 可调节的提示和规则
- 渐进式自动化
下一步
记住一句话
云代理是团队如何对代码发布后发生的工作负责。