필요한 모든 것은 스펙뿐인가?

A Software Library with No Code

작성자
Ruby AI News
발행일
2026년 01월 08일

핵심 요약

  • 1 AI 코딩 에이전트 시대에 '코드 없는 라이브러리'인 whenwords를 통해 스펙 기반 소프트웨어 개발의 가능성과 한계를 탐구합니다.
  • 2 성능, 복잡한 테스트, 지원, 지속적인 업데이트, 커뮤니티 등 5가지 핵심 요인으로 인해 기존 코드 기반 라이브러리가 여전히 필수적인 이유를 분석합니다.
  • 3 단순 유틸리티는 스펙만으로 구현 가능하지만, 복잡하고 진화하는 시스템에는 코드와 개발 커뮤니티의 역할이 결정적임을 강조합니다.

도입

오늘날 저자는 코드가 전혀 없는 상대적 시간 포맷팅 라이브러리인 'whenwords'를 출시하며, AI 코딩 에이전트의 발전이 소프트웨어 개발 패러다임에 미치는 영향에 대한 질문을 던집니다. 이 라이브러리는 SPEC.md, tests.yaml, INSTALL.md(AI 에이전트용 프롬프트)로만 구성되어 있으며, Ruby를 포함한 여러 언어에서 작동합니다. 이는 코딩 작업이 거의 '무료'가 될 때 소프트웨어 엔지니어링이 어떻게 변화할 것인가에 대한 구체적인 사고 실험을 제시합니다.

코드 없는 라이브러리 ‘whenwords’

whenwords는 유닉스 타임스탬프를 ‘3시간 전’과 같은 인간 친화적인 문자열로 변환하는 5가지 함수를 제공합니다. 이 라이브러리는 코드가 전혀 없으며, 다음 요소로 구성됩니다.

  • SPEC.md: 라이브러리 동작 및 구현 방법에 대한 상세 설명

  • tests.yaml: 언어 독립적인 입출력 쌍으로 정의된 테스트 케이스 목록

  • INSTALL.md: AI 에이전트(예: Claude, Codex)에게 구현을 지시하는 간단한 프롬프트

저자는 Claude Opus 4.5와 같은 AI 코딩 에이전트의 뛰어난 능력 덕분에 whenwords가 Ruby를 비롯한 다양한 언어로 단번에 구현될 수 있었음을 언급하며, 이는 ‘코딩이 무료가 될 때 소프트웨어 엔지니어링은 어떤 모습일까?’라는 근본적인 질문을 던집니다.

코드 기반 라이브러리가 여전히 필요한 5가지 이유

저자는 whenwords와 같은 단순 유틸리티의 경우 스펙 기반 접근 방식이 유용할 수 있지만, 다음 5가지 이유로 인해 코드 기반 라이브러리가 여전히 중요하다고 주장합니다.

1. 성능 (Performance Matters)

브라우저 구현과 같이 성능이 극도로 중요한 경우, 스펙만으로는 최적화된 성능을 달성하기 어렵습니다. 수많은 사용자가 다양한 환경에서 발생시키는 문제를 코드로 해결하고 최적화해야 합니다.

2. 복잡한 테스트 (Testing is Complicated)

스펙 변경이 여러 언어 및 여러 AI 에이전트 구현에 미치는 영향을 검증하는 것은 매우 복잡해질 수 있습니다. whenwords의 125개 테스트와 달리 SQLite의 51,445개 테스트를 스펙만으로 관리하기는 어렵습니다.

3. 지원 및 버그 수정 (Need to Provide Support & Bug Fixes)

AI가 생성한 코드베이스에서 버그를 재현하고 수정하는 것은 거의 불가능합니다. 모델의 확률적 특성 때문에 스펙이 커질수록 구현 간의 차이가 커질 수 있습니다.

4. 업데이트의 중요성 (Updates Matter)

보안 업데이트나 새로운 기능 추가가 빈번한 라이브러리(예: LiteLLM, Nginx, Rails, Postgres)의 경우, 지속적인 관리와 업데이트가 필수적입니다. 스펙 전용 라이브러리는 ‘한 번 구현하고 잊는’ 유틸리티에 더 적합합니다.

5. 커뮤니티 및 상호 운용성 (Community & Interoperability Matter)

오픈 소스 커뮤니티는 버그 발견, 수정, 테스트, 지원, 코드 업데이트 등 소프트웨어의 생명주기 전반에 걸쳐 핵심적인 역할을 합니다. 코드는 단순한 스펙의 구현을 넘어 사람과 문화의 산물이며, 이는 견고한 소프트웨어 구축에 필수적입니다.

결론

결론적으로, '코드 없는 라이브러리' 개념은 AI 에이전트의 발전과 함께 단순 유틸리티 개발에 새로운 가능성을 제시하지만, 복잡성, 성능 요구사항, 지속적인 유지보수, 그리고 무엇보다 커뮤니티의 지원이 필요한 핵심 소프트웨어의 경우 여전히 코드 기반의 접근 방식이 필수적임을 시사합니다. 미래에는 AI 모델과 에이전트가 더욱 발전하겠지만, 현재로서는 코드와 그 코드를 둘러싼 인간의 협업과 문화가 소프트웨어의 신뢰성과 지속 가능성을 보장하는 중요한 요소로 남을 것입니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!