文档

Sentinel

自主监控器会持续监测相关条件,一旦发现异常便会启动修复任务。

SentinelSentinel会监测相关条件,一旦满足触发条件便立即采取行动。而日程安排通常基于时间触发,而Sentinel则是基于 特定条件变为真时触发。

您可以在工厂的“日程安排”板块中找到它。

它的监测对象

您可以自定义监测条件——比如检查失败、代码库中出现特定模式、 关联系统发出的信号,或是标准合规项偏离要求。

监控器触发后便会启动修复任务:这是一项普通任务,配有详细规范,会经历与 其他任务相同的规划、构建、验证和审核流程。

为何这种设计是安全可靠的

Sentinel不会直接修改您的代码。它会发起修复代码的任务,最终生成的pull request需经您审批。

这一点的重要性远超想象。若自主系统直接编辑生产环境代码,在您最需要审核的节点——即无人请求且无人监管时——就会缺失审核环节。通过常规流程处理,既能提升效率,又能保留控制权。

模板

常用的监控器会以模板形式提供,无需您从零开始编写——比如定期健康检查、偏差检测以及标准修复循环。

您可以从模板入手,先让其处于建议模式运行一段时间,调整后再允许其自主发起任务。

如何对其进行管控

Sentinel发起的任务会与其他任务争夺同样的代理资源。频繁触发的监控器可能会悄悄占用您的算力。

以下三条规则可确保其发挥实用价值:

  1. 给它的优先级要低于人工请求的任务是。 P2P3.
  2. 设定具体的触发条件。“某项测试失败”会在繁忙的代码库中频繁触发;而“该特定检查在主分支上失败超过一小时”则仅在确实出现问题时才会触发。
  3. 审核产出结果如果某个监控器发起了二十个任务,而您仅合并了其中两个,那么它只是在产生无用噪音并浪费资源,并未创造实际价值。

关注合并率而非触发频率

衡量监控器效能的真实标准是它所发起的任务中最终被合并的比例。触发频率低但每次都准确无误的监控器才是有效的;而频繁触发却常被忽略的监控器只会徒增负担。