Chrome Finch 실험이란 무엇인가요?

게시일: 2025년 4월 3일

Chrome에 새로운 기능을 출시할 때는 작동하고 규정을 준수하며 안정적인 기능을 제공하기 위해 다양한 검토가 이루어집니다. 이러한 균형 중 하나가 Finch 실험입니다. 이름에 '실험'이라는 단어가 포함되어 있다고 해서 안전하지 않다고 생각해서는 안 됩니다. 그 반대입니다. Finch 출시는 예기치 않은 문제가 발생할 경우 기능을 빠르게 사용 중지할 수 있으므로 호환성 문제를 일으킬 수 있는 기능을 안전하게 추가하는 데 도움이 됩니다. 이 도움말에서는 Chrome의 일부 기능 출시에 Finch를 사용하는 방법과 이유를 설명합니다.

일반적으로 Chrome에서 기능을 사용 설정한다는 것은 Chrome 내에서 불리언을 사용 안함에서 사용으로 전환하는 것을 의미합니다. 새 기능이 '출시'되면 이 불리언의 기본 상태가 모든 사용자에 대해 '사용'으로 변경되었음을 의미합니다. 방법은 다음과 같습니다.

  • '코드에서' 기능 사용 설정: 즉, Chrome 실행 파일 자체에 기본적으로 사용 설정된 설정이 있습니다.
  • '출처 트라이얼'을 통해 기능 사용 설정: 출처 트라이얼 시스템은 특정 사이트에서 모든 Chrome 사용자를 실험에 참여하도록 선택하는 방법으로, 이 실험을 통해 해당 사이트에서만 특정 기능을 사용할 수 있습니다.
  • 'Finch를 사용하여' 기능 사용 설정: Chrome은 서버에서 주기적으로 구성 파일을 가져오며 이 파일에는 기능을 사용 설정하거나 중지하는 안내가 포함될 수 있습니다.
  • 'Finch 종료 스위치': 'Finch 사용'을 사용 설정하는 것과 반대입니다. 이 경우 기능이 '코드에서' 사용 설정되었지만 일반적으로 실행 후 감지된 문제로 인해 Finch 시스템을 사용하여 사용 중지됩니다.

Finch 사용 사례

이 블로그 게시물의 주제는 Finch이므로 '코드 내' 또는 '출처 체험판' 사용 설정에 대해서는 자세히 다루지 않습니다. 하지만 Finch에는 여러 가지 흥미로운 사용 사례가 있습니다.

소수의 사용자를 대상으로 테스트 (A/B 테스트)

Finch는 기능 또는 최적화에 대한 'A/B 테스트'를 수행하는 데 자주 사용됩니다. 이 경우 기능이 사용 설정된 경우와 사용 중지된 경우의 실적, 동작 또는 사용량 차이에 관한 데이터를 수집할 수 있도록 소수의 사용자에게 기능이 사용 설정됩니다.

A/B 테스트의 예는 추측 이미지 디코딩을 출시한 경우를 들 수 있습니다. 이 성능 개선사항은 Chrome에서 페이지를 더 빠르게 로드하는 것 외에는 개발자나 사용자에게 눈에 띄지 않아야 합니다. 하지만 예상치 못한 일이 발생하지 않았는지 확인하고 실적 영향을 정확하게 측정할 수 있도록 Finch를 사용하여 A/B 테스트를 진행했습니다.

문제가 있는 기능 사용 중지

제품 및 사용자 환경의 안전을 위해 Chrome은 Finch 시스템을 사용하여 '코드에서' 사용 설정된 문제가 있는 기능을 원격으로 사용 중지할 수 있습니다. 예를 들어 기능이 기본적으로 사용 설정되었지만 Chrome이 안정화 상태에 도달한 후에만 문제가 발생한 경우 사용자와 비즈니스를 안전한 상태로 되돌리기 위해 기능을 빠르게 사용 중지할 방법이 필요합니다. 기능에 발견되지 않은 버그가 있거나 예상치 못한 이유로 기능이 기존 사이트를 중단하는 경우 이러한 조치가 필요할 수 있습니다.

더 안전한 방식으로 위험한 기능 사용 설정

Chrome에서 출시하는 대부분의 기능은 위험이 거의 없습니다. 새 코드가 모든 사이트에서 작동하는지 테스트하고 확인할 수 있기 때문입니다.

하지만 알 수 없는 호환성 문제나 기타 까다로운 상호작용으로 인해 기능을 출시하는 것이 매우 위험할 수 있습니다. 이 경우 Finch 시스템을 단순히 종료 스위치로 예비로 두는 대신 기능을 실제로 사용 설정하는 데 사용할 수 있습니다.

예를 들어 HTML 파서 '완화'는 이전보다 더 많은 콘텐츠를 <select> 요소 내에 배치할 수 있는 새로운 맞춤설정 가능한 선택 기능과 관련된 변경사항이었습니다. 이 변경사항으로 인해 기존 사이트가 손상될 수 있으므로 신중하게 출시해야 했습니다.

Finch를 사용하여 기능을 사용 설정하는 것이 Finch를 사용하여 기능을 삭제하는 것보다 안전할 수 있습니다. Finch는 다양한 이유로 모든 사용자에게 도달하지 않기 때문입니다. 예를 들어 일부 기업 사용자는 Finch 구성을 완전히 금지하는 정책을 적용하고 있습니다. 이러한 사용자는 코드에서 기능을 사용 설정한 후 Finch를 사용하여 종료 전환하는 경우 위험에 노출됩니다. 이러한 사용자는 Finch 설정을 수신하지 않으며 기능이 계속 사용 설정되기 때문입니다. 대신 Finch를 사용하여 이 기능을 사용 설정하면 긴급한 경우 모든 사용자를 대상으로 이 기능을 사용 중지할 수 있습니다.

Finch 실험에 참여 중인지 확인하는 방법

사용자는 직접 이 작업을 하기가 어렵습니다. 가장 좋은 방법은 Chrome 엔지니어에게 연락하여 (대부분 Chromium 버그 맥락에서) '대안 목록'을 전송하는 것입니다. 특정 브라우저의 모든 Finch 설정의 특수 코딩된 버전 목록입니다. 다음과 같이 쉽게 검색할 수 있습니다.

  1. chrome://version로 이동합니다.
  2. '활성 대안' 옆에 표시된 전체 텍스트 목록 (꽤 길 수 있음)을 복사합니다.
  3. 이 텍스트를 텍스트 파일 (예: variations.txt)에 붙여넣고 버그에 첨부합니다.

이 변형 목록을 통해 Chrome 엔지니어는 목록을 디코딩하고 브라우저에서 사용 설정 또는 사용 중지된 기능을 확인할 수 있습니다.

Finch 실험이 100% 에 도달하여 준비가 완료되면 어떻게 되나요?

실험이 '성공적'이고 해당 기능이 개발자나 사용자에게 위험을 주지 않는다고 판단되면 항상 '코드에서' 기능을 사용 설정합니다. 이 시점에서 Finch 구성의 종료일을 지정하여 코드에서 기능이 사용 설정된 버전 이후에는 브라우저에 영향을 미치지 않도록 할 수 있습니다.