문서

Sentinel

조건을 감시하다가 문제를 발견하면 자동으로 수정 작업을 생성하는 자율형 모니터입니다.

SentinelSentinel는 조건을 감시하다가 해당 조건이 충족되면 작업을 수행합니다.일정일정은 시간에 따라 트리거되는 반면, Sentinel는 특정 조건이 성립할 때 트리거됩니다.

팩토리의 일정 영역에서 찾아볼 수 있습니다.

감시 대상

사용자가 정의한 조건들—실패한 검사 결과, 코드베이스 내에서 나타나는 특정 패턴, 연결된 시스템에서 보내는 신호, 규정을 벗어난 표준 등이 포함됩니다.

모니터가 작동하면 수정 작업이 생성됩니다. 이 작업은 일반적인 작업과 동일하며, 명세서를 바탕으로 계획, 빌드, 검증 및 리뷰 과정을 거칩니다.

안전한 처리 방식인 이유

Sentinel는 직접적으로 코드를 수정하지 않습니다. 코드를 수정하기 위한 작업을 생성하며, 해당 작업으로 만들어진 pull request를 사용자가 승인하게 됩니다.

이 점은 생각보다 중요합니다. 프로덕션 코드를 직접 편집하는 자율형 시스템의 경우, 변경 사항이 발생했을 때 리뷰 단계가 제대로 적용되지 않기 때문입니다. 일반적인 프로세스를 거치면 자율성이 처리 속도를 높이면서도 통제권은 유지할 수 있습니다.

템플릿

일반적인 모니터링 기능은 템플릿 형태로 제공되므로 처음부터 직접 작성할 필요가 없습니다. 반복적인 상태 확인, 편차 감지, 표준 수정 루프 등이 해당됩니다.

템플릿을 기반으로 시작하여 일정 기간 동안 권장 모드로 실행한 뒤, 무인으로 작업을 생성하기 전에 설정을 조정하세요.

통제 방법

Sentinel가 생성한 작업은 다른 작업과 동일한 에이전트 슬롯을 공유합니다. 자주 작동하는 모니터는 알게 모르게 처리 용량을 잠식할 수 있습니다.

유용하게 활용하기 위한 세 가지 규칙:

  1. 사람이 요청한 작업보다 낮은 우선순위를 부여하세요. P2또는P3.
  2. 조건을 구체적으로 설정하세요.‘테스트가 실패했다’는 조건은 활발히 사용되는 저장소에서는 계속해서 작동하지만, ‘특정 검사가 기본 브랜치에서 한 시간 이상 실패한 상태’라는 조건은 실제 문제가 있을 때만 작동합니다.
  3. **결과물을 리뷰하세요.**모니터가 20개의 작업을 생성했는데 그중 2개만 병합되었다면, 이는 가치를 창출하기보다는 불필요한 작업과 비용만 발생시키는 것입니다.

작동 횟수가 아닌 병합률을 주목하세요

모니터의 진정한 성능은 생성된 작업 중 얼마나 많은 비율이 병합되느냐에 달려 있습니다. 드물게 작동하지만 항상 정확한 모니터가 효과적이며, 자주 작동하지만 무시되는 모니터는 오히려 부담이 됩니다.