컴포넌트 하나만 지켜보는 Claude, 슈퍼팬
안녕하세요! 재니미입니다.
지난 글 「Claude가 코드를 더 잘 짜면, 엔지니어는 무엇을 하나」에서는 Scion을 만든 팀의 일하는 방식을 다뤘습니다. 마지막 편은 운영 이야기입니다. 이 팀은 슬랙 채널마다 Claude를 하나씩 두고 컴포넌트 하나만 집요하게 지켜보게 했습니다. 이 Claude들을 “슈퍼팬”이라고 부르는데, 정해진 기준을 넘으면 울리는 기존 알림이 놓치는 미묘한 문제를 잡아낸다고 합니다.
이 글은 Anthropic 엔지니어링 블로그 글 Redesigning source control at Anthropic을 읽고 정리한 것입니다.
슈퍼팬이란
팀은 Claude Tag을 많이 쓰는데, 이걸로 컴포넌트마다 슬랙 채널을 만들고 Claude에게 그 컴포넌트의 상태에만 집착하라고 맡겼습니다. 그래서 scion-daemon 슈퍼팬, scion-cache 슈퍼팬, 병합 큐 슈퍼팬이 따로 있습니다.
슈퍼팬은 원격 측정 데이터와 로그를 볼 수 있습니다. 원문은 이들을 이렇게 묘사합니다. 차트를 새로고침하면서 이상한 게 없나 살피는 것 말고는 할 일이 없는 경험 많은 엔지니어 같다고요.
물론 기존 알림도 모두 그대로 있습니다. 다만 원문은 슈퍼팬이 처음 보는 종류의 미묘한 문제까지 잡아내서, 비교하면 기존 알림이 단순해 보일 정도라고 말합니다.
왜 효과가 있을까
원문은 슈퍼팬을 어떻게 구성했는지 자세히 설명하지 않습니다. 그래서 아래는 제 생각입니다.
기존 알림은 사람이 미리 정한 기준으로 움직입니다. CPU가 90%를 넘거나 오류율이 1%를 넘으면 울리는 식입니다. 미리 예상한 문제는 잘 잡지만, 예상하지 못한 문제는 기준이 없으니 조용합니다. 사람이 대시보드를 계속 들여다보면 잡을 수 있겠지만, 사람에게는 그럴 시간이 없습니다.
슈퍼팬은 그 빈자리를 채우는 것으로 보입니다. 기준 없이 계속 보면서 평소와 다른 걸 찾는 일은 사람에게는 지루하고 비싸지만 Claude에게 맡기기에는 잘 맞습니다. 컴포넌트를 하나로 좁혀 준 것도 이유일 수 있습니다. 볼 범위가 좁아야 평소 모습을 알고, 그래야 평소와 다른 걸 알아챌 수 있으니까요.
사람 규모에 맞춘 관행을 다시 본다
원문은 이 프로젝트를 계기로 사람 규모에 맞춰 만든 다른 작업 방식도 다시 보게 됐다고 합니다. 대표적인 게 병합 큐입니다.
보통 병합 큐는 저장소 전체에 잠금을 걸고 변경을 하나씩 테스트한 뒤 병합합니다. 그런데 테스트가 도는 동안에도 수백, 수천 건이 병합되는 규모에서는 이 방식이 버티지 못합니다. 원문은 이렇게 묻습니다. 테스트하는 사이에 수천 건이 병합된다면 CI는 대체 무엇을 의미하는가?
Anthropic의 선택은 전역 잠금을 포기하는 것이었습니다. 대신 병합한 뒤와 배포하기 전에 자동 테스트를 돌리는 데 투자했습니다. 그러면 동시에 들어온 변경끼리 충돌할 수 있는데, 원문은 사람이 충돌을 알아채기도 전에 Claude가 대개 고쳐 버린다고 말합니다.
연재를 마치며
세 편에 걸쳐 Anthropic이 git을 떠나 Scion을 만든 이야기를 따라왔습니다. 1편 「AI가 코드를 너무 많이 쓰면 git이 막힌다」는 에이전트가 항상 온라인이라는 전제로 소스 관리를 다시 설계한 이야기였고, 2편은 코드를 더 잘 짜는 Claude 옆에서 엔지니어가 맡은 역할, 이번 편은 운영과 관행의 변화였습니다.
세 편을 관통하는 건 하나의 질문으로 보입니다. 지금 쓰는 도구와 관행이 사람 규모를 전제로 만들어진 건 아닌가. 원문도 강조하듯 이건 아직 Anthropic처럼 특수한 규모의 이야기입니다. 그래도 AI가 쓰는 코드가 늘어나는 속도를 보면, 이 질문을 미리 해 둘 만하다고 생각합니다.
감사합니다.