담당 개발자가 팀을 떠날 때마다 그가 만든 기능도 함께 사라졌습니다. 17년 된 코드베이스에서, 이제 아무도 손대지 않는 영역들이 조용히 쌓여갔습니다.

워싱턴대학교 MacCoss Lab이 개발·유지하는 단백질 분석 소프트웨어 Skyline은 2008년부터 17년간 이어온 오픈소스 프로젝트입니다. C# 코드 70만 줄, 매일 밤 20만 건의 자동화 테스트가 돌아가는 이 프로젝트를 수석 개발자 Brendan MacLean이 소규모 팀으로 유지해왔습니다. Anthropic 공식 블로그에서 Brendan이 Claude Code를 어떻게 활용해 이 오래된 코드베이스를 다시 살려냈는지를 소개했습니다.
출처: Onboarding Claude Code like a new developer: Lessons from 17 years of development – Anthropic
매 세션마다 처음부터 시작하는 문제
Brendan이 처음 Claude.ai를 썼을 때의 경험은 낯설지 않습니다. 문제를 설명하고, 응답을 받고, C# 파일을 복사해 붙여넣는 작업. 그러나 세션이 끝나면 Claude는 Skyline이 무엇인지, 17년간 무엇이 쌓였는지를 모두 잊었습니다.
“점점 더 번거로워졌습니다. 매번 처음부터 설명해야 했으니까요.”
이 경험이 그에게 익숙하게 느껴진 건 따로 이유가 있었습니다. 수십 명의 대학원생과 연구원을 온보딩해온 그는, 이게 신입 개발자 문제와 똑같다는 걸 알아챘습니다. 배경을 모르는 사람에게 70만 줄짜리 코드를 건네면 결과가 나오지 않는다는 것.
해법도 같았습니다. 처음부터 충분한 컨텍스트를 제공하고, 그 이해를 다음 작업으로 이어나가는 것.
Brendan은 모든 AI 컨텍스트를 코드 레포지토리와 분리된 별도 레포(pwiz-ai)로 옮겼습니다. 루트의 CLAUDE.md 파일이 환경 설정과 관련 문서 위치를 안내하는 ‘전체 지형도’ 역할을 합니다. 코드가 바뀌어도 컨텍스트는 그대로 유지되고, 모든 브랜치와 시점에 걸쳐 적용됩니다.
“‘Claude가 큰 프로젝트를 진짜로 이해할 수 없다’는 걱정은 점점 명확해졌습니다. 컨텍스트도 그냥 관리해야 할 산출물일 뿐이에요.”
“guess and test”를 막는 스킬 라이브러리
컨텍스트만으로는 부족했습니다. Claude가 버그를 만났을 때 원인을 찾지 않고 수정을 시도하는 패턴, 즉 추측과 테스트를 반복하는 방식이 문제였습니다.
Brendan은 이를 막기 위해 스킬(skills)이라는 구조를 도입했습니다. 에이전트에게 도메인 지식과 행동 규칙을 부여하는 일종의 전문성 모듈입니다.
그의 debugging 스킬에는 조건이 명시돼 있습니다. “버그, 실패, 예상치 못한 동작을 조사할 때 항상 로드할 것.” 이 스킬은 Claude가 수정을 시도하기 전에 반드시 근본 원인 분석을 먼저 하도록 유도합니다. 그 외에도 skyline-development 스킬은 프로젝트 전체 구조를 안내하고, version-control 스킬은 커밋·PR 컨벤션을 담습니다.
스킬은 “참조하되 복제하지 않는” 원칙으로 설계됐습니다. 각 스킬은 내용을 직접 포함하지 않고 중앙 문서 레포를 가리키는 방식으로 가볍게 유지됩니다.
그래서 실제로 무슨 일이 일어났나
방법론이 자리를 잡자 결과가 나왔습니다.
Files View 패널, Skyline에 새 문서 관련 파일을 보여주는 인터페이스 기능입니다. 이전 개발자가 1년 동안 작업하다 팀을 떠나며 미완성으로 남긴 프로젝트였습니다. “이런 상태로 남겨진 이전 작업들은 보통 폐기됐습니다.” Brendan이 Claude Code와 함께 이 프로젝트를 이어받아 2주 만에 완성했습니다.
3년째 멈춰 있던 테스트 관리 모듈도 다시 움직였습니다. 담당 개발자가 떠난 뒤 Java로 작성된 이 모듈에 Brendan은 손을 대지 못하고 있었습니다. 숙련된 개발자가 Claude Code로 셋업 문서를 만든 뒤, Brendan은 하루도 안 돼 수년간 미뤄온 기능을 추가했습니다.
자동화도 확장됐습니다. Skyline의 2,000개 이상 튜토리얼 이미지 스크린샷 재현이 자동화됐고, Claude가 매일 아침 테스트 실패·예외·지원 스레드를 정리한 요약 메일을 생성해 Brendan의 받은편지함에 도착합니다. 이 파이프라인을 가능하게 한 MCP 서버도 Claude가 직접 작성했습니다.
연구실 개발자들은 이제 코드를 직접 작성하는 대신 Claude Code에 지시를 내리는 방식으로 일합니다. AI 에이전트 툴에 회의적이던 개발자 한 명은 이온 이동도 데이터 시각화 플로팅 확장 기능을 직접 개발하고, 공을 Claude Code에 돌렸습니다.
이 사례가 말하는 것
이 이야기가 흥미로운 건 생산성 수치가 아닙니다. AI 코딩 도구의 한계를 넘는 방식이 “더 좋은 도구 찾기”가 아니라는 점입니다.
Brendan은 17년간 사람을 온보딩해온 방식 그대로 Claude Code를 온보딩했습니다. 컨텍스트를 쌓고, 단계적으로 범위를 넓히고, 전문성을 구조화해서 전달했습니다. 그 결과 Claude는 매 세션을 처음부터 시작하는 도구가 아니라, 프로젝트를 이해하는 동료처럼 작동하기 시작했습니다.
오픈소스 프로젝트에서 이 접근이 갖는 의미는 조금 더 큽니다. pwiz-ai 레포에 쌓인 컨텍스트는 어떤 기여자도 사용할 수 있고, 누가 떠나도 사라지지 않습니다. Skyline의 17년이 그랬듯, 팀이 바뀌어도 프로젝트는 이어집니다. 컨텍스트가 사람 대신 기억해주기 때문입니다.
참고자료: Effective context engineering for AI agents – Anthropic Engineering

답글 남기기