AI 코딩이 소프트웨어 개발뿐 아니라 배포와 사용 방식까지 어떻게 바꿀 수 있는지에 대한 고찰.
antirez 87일 전. 조회 56012회. 프로그래밍 활동을 하는 동안 내가 그랬던 것만큼 semver를 꺼리는 사람이라 해도, 오픈 소스 소프트웨어 배포는 예전에는 정해진 단계들을 따르는 일이었다고 생각할 수 있다. 개발이 이루어지는 브랜치가 있고, 이 브랜치는 흔히 안정적인 작업에 쓸 준비가 실제로 되어 있지 않다. 그런 다음 일정 기간 개발을 동결하고(그 사이에도 새로운 불안정 브랜치에서 작업은 계속될 수 있지만), 버그를 고치고, 사람들에게 테스트를 요청한다. 어느 시점이 되면 버그 보고 수가 줄기 시작하고, 팀과 사용자들은 앞으로 몇 주 안에 쉽게 발견될 명백하고 치명적인 결함은 더 이상 없다고 믿기 시작한다. 그러면 그 브랜치를 2.4든 무엇이든 그렇게 부르면 끝이다.
하지만 이제 AI 코딩으로 바뀐 것은 개발만이 아니다. 소프트웨어를 사용하는 행위 자체도 영향을 받는다. AI에게 소프트웨어를 특정 방식으로 바꿔 달라고 요청할 수 있는 것은 당신만이 아니라, 소프트웨어의 수령자도 마찬가지다. 이는 소프트웨어의 주된 사용자층이 프로그래머인 분야에서는 자명하지만, 기술 성향의 사용자가 AI 접근성과 코딩 에이전트를 갖추는 일이 점점 늘어나면서 전반적으로도 사실이다.
이 변화 때문에 모든 것이 다듬어진 안정 브랜치 하나와 모든 것이 진행 중인 작업인 불안정 브랜치 하나만 두는 방식은 더 이상 올바른 방법이 아닐 수 있다. 코드 저장소는 완성된 제품일 수도 있지만, 주어진 문제를 다루는 방법을 보여 주는 템플릿이라면 더 유용할 수도 있다. 사용자는 특정 요구사항, 하드웨어, 해결해야 할 구체적 문제에 맞춰 특화하기 위해 코드를 수정할 것이다. 또한 일반 대중에게는 너무 불안정하거나 검증되지 않은 것이 다른 사용자 집단에는 정확히 필요한 것일 수 있다.
Redis를 예로 들어 보자. 몇 주째 정렬된 집합에 대해 큰 메모리 절감을 제공하는 PR을 다듬고 있다. 이 작업이 받아들여지면 Redis의 작동 방식을 전혀 모르는 사람부터 수년에 걸쳐 코드에 기여했을 수도 있는 사용자까지, Redis의 모든 사용자에게 영향을 미친다. 사소한 사용 사례부터 정렬된 집합에서 50%의 메모리를 절약하는 것이 매년 클라우드 비용의 큰 부분을 줄이는 것을 의미할 수 있는 사용 사례까지 그렇다. 후자 같은 사용자에게는, "그냥 작동하는" 무언가를 다듬기 위해 내가 수행하는 모든 테스트와 설계 변경 이후의 최종 제품(어쩌면 코드 베이스에 들어가지조차 못할 위험이 있는)보다 처음부터 95% 준비된 브랜치를 갖는 편이 더 흥미로울 수 있다. 그들은 이 코드를 테스트하고, 맞게 조정하고, 반복 개선하며, 당면한 문제에 맞춰 더욱 특화할 수도 있다.
DwarfStar는 코드 저장소가 기능 행렬의 모든 부분을 포괄하는 완제품이라기보다 좋은 본보기여야 한다는 점을 더욱 잘 보여 주는 사례일지도 모른다. 로컬 추론에서는, DwarfStar의 구체적인 경우에 많은 종류의 GPU, 모델, 서버 모드, 에이전트 모드, CLI, SSD 스트리밍, 텐서 및 파이프라인 분산 실행이 있다. 모든 곳에서 모든 것을 테스트하는 일은 복잡하다. 하지만 텐서 병렬 그래프 실행의 탄탄한 예시 두 개만 있어도, 강력한 코딩 에이전트는 다른 백엔드/모델 쌍에 같은 방식을 구현하는 방법을 추론할 수 있다. 마찬가지로 두 모델을 충분히 잘 지원하는 엔진이 있으면, 기존 코드 베이스를 코딩 에이전트의 구현 방향을 이끄는 가드레일로 사용하여 세 번째 모델을 거의 자동으로 구현할 수 있다.
그렇다고 DwarfStar 같은 프로젝트가 즉시 실행되지 않아도 된다는 뜻은 아니다. 사용자가 직접 포괄할 수 있는 더 많은 가능한 상황으로 외삽할 수 있는 기능 집합을 아주 잘 지원하는 데 집중할 수 있다는 뜻이다. 이는 또 다른 의미도 가진다. main과 unstable만으로는 더 이상 충분하지 않다는 것이다. 수많은 실험적 브랜치가 프로젝트의 필수적인 일부가 될 수 있다. 예를 들어 어제 Laguna S.1 모델이 출시되었다. 문서상으로는 흥미로워 보이지만, 실제로 충분히 좋을까? 새로운 DeepSeek v4 Flash 체크포인트가 이것을 DwarfStar에 별로 중요하지 않게 만들까? 말하기에는 너무 이르다. 하지만 함께 판단을 형성하려면, 이 모델 구현이 담긴 브랜치를 공개하는 것이 좋은 절충안이다. 사람들이 이를 시도하고 코딩 에이전트로 다듬을 것이며, 커뮤니티는 병합할 가치가 얼마나 되는지에 대한 판단을 함께 형성할 수 있다. 게다가 오늘 나는 DwarfStar 내부 코드의 축적이 만들어 낸 레일 덕분에 GPT 5.6 Sol이 약 두 시간 만에 구현을 자동으로 작성했다는 점을 알게 되었다. DS4와 GLM5.2를 구현할 때는 많은 조정이 필요했고, 모델 카드와 그 모델들의 어텐션 구현 세부 사항을 읽어야 했다. 이제는 그냥 작동했다. GPT 5.6이 더 강력하기도 하지만, 기존 소스 코드 내부에서 좋은 예시를 많이 찾아내기도 했다.
오늘날 소프트웨어는 그 어느 때보다 더 쉽게 변형할 수 있다. 어떤 면에서는 이것이 더 유동적인 방식으로 출시될 수 있음을 뜻한다. 또한 문서 자체도 인간에게만 유용한 것이 아니라, 코딩 에이전트가 시스템을 어떻게 바꿀지 이해하는 데에도 유용해야 한다는 뜻이다. 이것이 정확히 어떻게 발전할지, 안정성·사용성·기능이라는 서로 다른 차원 사이에서 어느 지점이 올바른 균형이 될지는 내게도 명확하지 않다. 하지만 나는 개발자들이 이 모든 것이 어디로 향하는지 보기 위해 계속 눈을 뜨고 있어야 한다고 믿는다.