← 최신 논문
💻 computer science

Where Did the Variability Go? From Vibe Coding to Product Lines by Regeneration

본 논문은 LLM이 유도 엔진(derivation engine)으로서 역할을 수행하여 선언적 명세에 기반해 생성 시점에 목적에 부합하는 데드 코드가 없는 바이너리를 생성함으로써, AI 기반의 "바이브 코딩(vibe coding)" 시대에 변이성 관리를 코드 자체에서 명세로 효과적으로 전환하는 새로운 소프트웨어 제품 라인 접근 방식인 "재생에 의한 변이성(Variability by Regeneration, VbR)"을 제안한다.

원저자: Xhevahire Tërnava

게시일 2026-06-19
📖 4 분 읽기☕ 가벼운 읽기

원저자: Xhevahire Tërnava

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

이 논문 "Where Did the Variability Go?"에 대한 설명을 일상적인 비유와 쉬운 언어를 사용하여 정리한 내용입니다.

거대한 문제: 바꿀 수 없는 "마법의" 코드

당신이 아주 유능한 요리사(AI)를 고용해 음식을 만들어 달라고 한다고 상상해 보세요. 당신이 "매콤한 파스타를 해줘"라고 말하면, 요리사는 즉시 완벽하고 김이 모락모락 나는 매콤한 파스타 한 접시를 내놓습니다.

이제 당신이 마음을 바꿔서 "사실, 덜 매운 맛으로 해줘"라고 말하고 싶다고 가정해 봅시다. 전통적인 요리 방식이라면 요리사에게 향신료를 조절해 달라고 요청하면 그만입니다. 하지만 이 새로운 스타일의 요리 방식("바이브 코딩(Vibe Coding)")에서는 요리사가 단순히 향신료를 조절하는 것이 아니라, 당신의 새로운 요청에 맞춰 아예 접시를 통째로 버리고 처음부터 새로운 접시를 다시 만듭니다.

문제는, 처음에 만든 매콤한 파스타 접시는 이제 당신에게 쓸모가 없다는 점입니다. 그 접시는 순식간에 '단일 목적용' 결과물이 되어버립니다. 만약 다른 버전의 소프트웨어를 원한다면, 당신은 매번 AI에게 완전히 새로운 파일을 생성해 달라고 요청해야 합니다.

발견: "옵션"은 어디로 사라졌는가?

연구진은 이런 방식으로 만들어진 10개의 서로 다른 소프트웨어 프로젝트를 조사했습니다. 그리고 놀라운 사실을 발견했습니다. 바로 "옵션"이 사라졌다는 것입니다.

전통적인 방식의 소프트웨어는 스위스 아미 나이프(맥가이버 칼)와 같습니다. 칼날, 드라이버, 병따개가 모두 내장되어 있죠. 당신은 필요한 도구를 사용하기 위해 스위치(설정)를 돌리기만 하면 됩니다. 코드는 현재 사용하지 않는 도구까지도 모두 포함하고 있습니다.

하지만 "바이브 코딩"에서 AI는 스위스 아미 나이프를 만들지 않습니다. 대신 단일 목적용 도구를 만듭니다.

  • 만약 당신이 칼을 요청했다면, AI는 칼을 만듭니다.
  • 만약 당신이 드라이버를 요청했다면, AI는 드라이버를 만듭니다.
  • "칼" 버전 안에는 드라이버 부품이 들어있지 않고, "드라이버" 버전 안에는 칼 부품이 들어있지 않습니다.

연구진은 이를 **"제로에 가까운 가변성(near-zero variability)"**이라고 부릅니다. 소프트웨어가 무엇이 될지에 대한 모든 결정은 AI가 코드를 작성하는 바로 그 순간에 내려집니다. 일단 코드가 작성되면, 그것은 고정됩니다. 더 이상 돌릴 수 있는 스위치는 남아있지 않습니다.

해결책: "재생성을 통한 가변성 (Variability by Regeneration, VbR)"

AI에게 거대하고 복잡한 스위스 아미 나이프를 억지로 만들라고 강요하는 대신(이는 코드를 지저분하고 이해하기 어렵게 만듭니다), 저자들은 **재생성을 통한 가변성(VbR)**이라는 새로운 방식을 제안합니다.

이것은 맞춤 양복점백화점의 차이와 같습니다.

  • 전통적인 방식 (백화점): 나중에 "설정"할 수 있도록, 필요 없는 천 조각과 단추, 쓰지도 않을 주머니들을 잔뜩 덧대어 놓은 양복을 삽니다. 이는 무겁고 불필요한 무게로 가득 차 있습니다.
  • VbR 방식 (맞춤 양복점): 당신에게는 **마스터 설계도(Specification)**가 있습니다.
    1. 당신은 양복점에 "결혼식용 양복이 필요해"라고 말합니다.
    2. AI(재단사)는 설계도를 보고 즉시 그 결혼식만을 위한 완벽하고 가벼운 양복을 제작합니다. 여기에는 불필요한 천이 들어있지 않습니다.
    3. 나중에 당신이 "해변 파티용 양복이 필요해"라고 말합니다.
    4. AI는 기존의 결혼식 양복을 수선하려고 애쓰지 않습니다. 설계도를 다시 검토한 뒤, 새롭고 완벽한 해변 파티용 양복을 새로 만듭니다.

이 시스템에서 "가변성"(서로 다른 양복을 가질 수 있는 능력)은 옷 자체에 머무는 것이 아니라, 설계도 안에 존재합니다.

실제 적용 방식

논문은 클래식한 컴퓨터 도구인 wc(파일의 단어 수를 세는 도구)를 통해 이를 보여줍니다.

  1. 설계도 (The Blueprint): 개발자는 "줄 수 세기", "단어 수 세기", "글자 수 세기" 등 가능한 모든 기능을 나열한 하나의 간단한 파일(YAML 파일)을 작성합니다.
  2. 생성 (The Generation): 사용자가 특정 버전(예: "줄 수만 세고 싶어")을 원하면, AI는 설계도를 읽고 그 요청을 확인한 뒤, 오직 그 기능만을 수행하는 작고 매우 빠른 프로그램을 생성합니다.
  3. 디스패처 (The Dispatcher, 웨이터): AI가 세 가지 다른 프로그램(줄 세기용, 단어 세기용, 전체용)을 만들었으므로, 컴퓨터는 어떤 것을 실행해야 할지 어떻게 알까요?
    • 연구진은 "웨이터(디스패처)"를 만들었습니다.
    • 당신이 명령어를 입력하면, 웨이터가 명령어를 확인하고 메뉴(Manifest)를 체크한 뒤, 당신의 요청과 일치하는 특정 프로그램을 즉시 실행합니다.
    • 사용자 입장에서는 여러 개의 프로그램이 돌아가는 것을 보지 못하며, 그저 동작이 마법처럼 변하는 하나의 도구만을 보게 됩니다 됩니다.

이것이 왜 중요한가?

저자들은 AI에게 코드 안에 다시 "스위치"를 넣으라고 강요하여 "바이브 코딩"을 고치려 해서는 안 된다고 주장합니다. 그것은 이 새로운 기술의 목적을 저해하는 일이기 때문입니다.

대신, 우리는 코드가 소모적이고 특수하게 만들어져야 함을 받아들여야 합니다.

  • 전통적인 방식: 모든 옵션이 숨겨진 하나의 크고 지저lin한 코드 파일을 유지합니다.
  • 새로운 방식 (VbR): 하나의 깨끗한 **명세서 파일(규칙)**을 유지하고, 규칙이 바뀔 때마다 AI가 신선하고, 완벽하며, "데드 코드(사용되지 않는 코드)"가 없는 프로그램을 생성하도록 합니다.

요약

이 논문은 AI 코딩 시대에 우리가 단일 프로그램을 "조정(tweak)"하는 능력을 잃어버렸다고 주장합니다. 대신 AI는 필요할 때마다 새로운 프로그램을 만듭니다. 저자들은 우리가 **규칙(명세)**을 영구적인 마스터로 취급하고, 코드를 규칙이 바뀔 때마다 재생성되는 일시적이고 완벽한 결과물로 취급함으로써 이 현상을 받아들여야 한다고 제안합니다. 이것은 코드를 고치는 문제가 아니라, 적절한 일을 위해 적절한 코드를 재생성하는 문제입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →