确定责任、风险、反模式和可跟踪性需求

已完成

随着代理变得更有能力,想象责任转移到系统可能很诱人。 不是。 执行工作的可能是代理系统,但对结果负责并对执行的管理及控制承担责任的仍是人类。

在本单元中,你将学习

  • 谁负责代理操作和结果

  • 代理系统中出现哪些常见风险和反模式

  • GitHub如何通过控制措施来缓解这些风险

  • 可信系统为何需要可追溯性和可观测性

责任不会随执行而移动

当代理创建拉取请求、修改代码或响应反馈时,它将参与工作流,但它不假定结果的所有权。 责任方仍然是以下人员和团队:

  • 定义任务

  • 设置权限

  • 选择和配置控件

  • 批准生成的更改

拉取请求评审模型明确说明:系统可以提出建议,但人类决定接受哪些内容。

常见风险和反模式

早期代理系统通常以可预测的方式失败:

  • 无计划执行 代理开始更改代码,而无需明确的可检查方法。

  • 过度权限的代理:代理(或其工作流令牌/工具凭据)拥有超过必要的访问权限。

  • 隐藏推理工作流仅公开输出(代码差异),而不包括中间产物(计划、假设、决策点、执行上下文)。

  • 对自动化的盲目信任需要警惕,通过 CI 是重要的,但检查只验证它们被设计检测的内容。 通过的构建并不自动意味着更改已完成、合适或低风险。

实施映射:风险→ GitHub缓解

风险/反模式 GitHub 使用GitHub控制措施
无计划执行 PR 有差异, 但没有计划或理由 需要通过 PR 模板制定计划部分;在合并之前需要审阅
权限过多的代理 工作流可以写入存储库,广泛访问机密 最小权限GITHUB_TOKEN、具有所需审阅者的环境、限制谁可以触发工作流程
隐藏推理 无假设/范围/决策线索 在 PR 评论中需要计划和链接工作流运行过程并记录决策
自动化中的盲目信任 “CI 通过,发布”的工作观念 将检查与 CODEOWNERS、所需评审和基于风险的审批相结合

可追溯性和可观测性

要很好地监督代理,你需要的不仅仅是最终的差异,而是一个完整的记录。 在GitHub中,该线索可以包括:

  • 拉取请求和提交历史记录

  • 查看评论和批准

  • 工作流运行和上传的项目(测试报告、日志)

  • 代码扫描上传和警报

  • 机密扫描警报和推送保护事件

  • 组织审核日志事件(可用性和访问权限取决于组织/企业配置)

目标不仅仅是合规性。 这是运营理解:当出现故障时,你需要知道发生了哪些更改、谁批准了这些更动、有何证据,以及接下来发生了什么。

代理贡献的最低审核线索

  • 明确的目标(问题链接或 PR 描述)

  • 可审查的计划(PR计划部分或文件)

  • 受限的变更集(分支和提交)

  • 自动化证据(工作流运行和工件)

  • 人类判断(审查和批准)

  • 明确的结果(合并、还原或升级)

假设代理的漏洞修复通过了 CI,然而后来却引发了回归错误。 关键问题不仅是代理是否犯了错误,而且是系统是否使错误理解和可预防:

  • 是否有可见的计划和范围?

  • 是否已请求合适的审核者(并且他们批准了吗)?

  • 这些检查是否与变化的风险相符?

  • 审核线索是否足以重建所发生的事情?

代理系统会更改谁执行工作,但不是谁拥有结果。 人类团队仍然负有责任,这就是为什么他们必须避免常见的反模式进行设计,并通过GitHub原生工件和日志实现强大的可追溯性。

了解责任的工作原理后,最后一步是决定代理工作应如何判断。 在下一单元中,你将参与者模型应用到代理生成的输出。