The New Code: How Specifications Will Transform Software -- Sean Grove, OpenAI preview image

Introduction: 코드의 가치와 명세의 중요성

Sean Grove는 발표의 시작에서 "지금은 매우 흥미로운 시기"라고 강조하며, 최근 며칠간의 강렬한 경험을 공유. He "오늘은 코드와 communication의 가치, 그리고 왜 명세(specification)가 더 나은 접근법일 수 있는지"에 대해 이야기하겠다고 밝힙니다.

"코드는 우리가 만들어내는 산출물의 10~20%에 불과. 나머지 80~90%는 구조화된 communication에 ."

Sean은 대부분의 개발자들이 코드가 가장 중요한 산출물이라고 생각However, 실제로는 사용자와의 대화, 요구사항 수집, 아이디어 구상, 계획, 동료와의 공유, 코드로의 변환, test와 검증 등 대부분의 과정이 구조화된 communication임을 강조.


communication의 병목과 AI 시대의 변화

Sean은 "구조화된 communication이야말로 병목"이라고 말.
AI가 발전할수록, "가장 효과적으로 의도를 전달하는 사람이 가장 가치 있는 프로그래머가 될 것"이라고 전망.

"앞으로는 효과적으로 의사소통할 수 있다면, 곧 programming을 할 수 있는 시대가 올 것."

He vibe coding(AI에게 의도를 설명하고 코드를 생성하게 하는 방식)을 예로 들며, 이 방식이 왜 만족스러운지 설명.
"vibe coding은 본질적으로 communication이 먼저이고, 코드는 그 결과물일 뿐"이라고 말.

However, 현재는 prompt(의도 전달문)는 버리고, 생성된 코드만 남기는 이상한 상황이 벌어진다고 지적.

"prompt는 버리고, 생성된 코드만 남기는 건 마치 소스코드를 파쇄하고, 바이너리만 버전 관리하는 것과 같습니다."


명세(specification)의 힘과 필요성

Sean은 "의도와 가치를 명확히 담은 명세서가 있어야만, 사람들 간의 목표를 일치시키고, 실제로 무엇을 해야 하는지 동기화할 수 있다"고 강조.

"명확하게 작성된 명세는 사람들을 정렬시키는 가장 강력한 도구. 논의하고, 토론하고, 참조하고, 동기화하는 데 쓰이는 산출물이죠."

He 코드는 명세의 손실이 많은(lost) 투영물이라고 설명.
In other words, 코드를 보고 원래 의도와 가치를 완전히 알 수 없으며, 명세가 있어야만 진짜 목표를 알 수 있다는 것.

  • 명세의 장점
    1. 모든 요구사항과 의도를 담을 수 있다.
    2. 다양한 산출물(코드, 문서, 튜토리얼, 블로그, 팟캐스트 등)로 변환이 가능하다.
    3. 여러 이해관계자(개발자, 기획자, 법무, 정책 등)가 모두 참여할 수 있다.

"앞으로 가장 희소한 능력은 의도와 가치를 완전히 담아내는 명세를 작성하는 것. 이 능력을 가진 사람이 가장 가치 있는 프로그래머가 될 것."


OpenAI 모델 명세(model spec) 사례

Sean은 OpenAI의 모델 명세(model spec)를 예시로 들며, 이 문서가 어떻게 의도와 가치를 명확히 표현하는지 설명.

  • OpenAI 모델 명세의 특징
    • 마크다운 파일로 작성되어 누구나 읽고, 버전 관리하며, 변경 이력을 추적할 수 있음
    • 기술자뿐 아니라, 기획, 법무, 안전, 정책 등 다양한 부서가 함께 논의하고 기여 가능
    • 각 조항마다 ID가 있어, 관련된 도전적인 prompt와 성공 기준을 명확히 연결

"모델 명세는 모든 사람이 우리의 의도와 가치를 공유하고, 논의하고, 동기화할 수 있는 유일한 산출물."


시피(사이코팬시, sycophancy) 문제와 명세의 역할

Sean은 최근 GPT-4o의 sycophancy(아첨, 비판 없이 동조하는 현상) 문제를 사례로 들며, 명세의 역할을 강조.

"sycophancy는 신뢰를 훼손. 단기적으로는 기분이 좋을 수 있지만, 장기적으로 모두에게 해롭습니다."

OpenAI 모델 명세에는 "sycophancy를 하지 말라"는 조항이 명확히 포함되어 있었고, 실제로 문제가 발생했을 때 명세를 기준으로 버그로 간주하고, 롤백 및 수정이 이루어졌습니다.

"명세가 없었다면, 이 현상이 의도된 것인지, 실수인지, 왜 발견되지 않았는지 논란이 되었을 것. 명세가 있었기에 신속히 대응할 수 있었습니다."


명세의 실행 가능성과 AI 모델 정렬

Sean은 명세를 AI 모델의 훈련 및 평가 자료로 활용하는 방법을 소개.

  • Deliberative Alignment라는 논문에서 제안한 방식
    1. 명세와 도전적인 입력 prompt를 준비
    2. 모델의 응답을 수집
    3. 명세에 따라 응답을 평가하는 별도의 모델(그레이더)에게 점수를 매기게 함
    4. 이 점수를 바탕으로 모델을 reinforcement learning(가중치 조정)
    5. 명세를 시스템 메시지 등으로 항상 포함시켜, 모델이 정책을 '근육 기억'처럼 내재화하도록 함

"명세는 코드 스타일, test, 안전 요구사항 등 어떤 것이든 될 수 . 명세를 통해 모델이 정책을 실제로 느끼고, 문제 해결에 적용할 수 ."


명세를 코드처럼 다루기

Sean은 명세도 코드처럼 조합, 실행, test, 모듈화가 가능하다고 설명.

  • 명세의 코드적 속성
    • 조합 가능(Compose)
    • 실행 가능(Executable)
    • test 가능(Testable)
    • interface 존재(Interface)
    • 모듈로 deployment 가능(Shippable)

"명세는 의도를 위한 툴체인(toolchain)을 제공. 기존의 문법(syntax)이 아니라, 의도(intent)에 초점을 맞춘 도구."


법률과 명세: 보편적 원리

Sean은 미국 헌법을 예로 들며, 법률도 일종의 국가적 명세라고 설명.

  • 법률 명세의 특징
    • 명확하고 일관된 정책을 documentation
    • 버전 관리(개정, 업데이트)
    • 사법적 검토(판례는 일종의 유닛 test)
    • 체계적 집행(트레이닝 루프처럼 사회 전체에 적용)

"법률가가 프로그래머가 될 수도 있고, 프로그래머가 법률가가 될 수도 . 모두가 명세를 통해 의도와 가치를 정렬시키는 일을 하고 ."


Conclusion: 모두가 명세 저자, 그리고 미래

Sean은 "여러분 모두가 이미 명세 저자(spec author)"라고 말.
prompt를 작성하는 것 자체가 일종의 명세 작성이며,
"명세를 잘 쓰는 사람이 곧 프로그래머"가 되는 시대가 오고 있다고 강조.

"소프트웨어 engineering은 코드가 아니라, 인간의 문제를 해결하는 소프트웨어 솔루션을 정밀하게 탐구하는 일."

Finally,, "다음 AI 기능을 만들 때는 명세부터 시작하라"고 조언.

  • 실천 방법
    1. 기대하는 결과와 성공 기준을 명확히 명세로 작성
    2. 명세가 명확하게 전달되고 있는지 논의
    3. 명세를 실행 가능하게 만들고, 모델에 입력
    4. 모델의 결과를 명세와 비교해 test

"미래의 IDE(통합 개발 환경)는 '생각 명확화 도구'가 될 것. 여러분의 의도를 더 명확하게 표현하고, 모두가 이해할 수 있도록 도와줄 것."

Finally,, "스펙이 절실히 필요한 분야가 무엇인지, 그리고 안전한 AGI를 위해 함께하자"는 요청으로 발표를 Conclusion.


Key Concepts 및 요점 정리

  • 명세(specification): 의도와 가치를 명확히 담아내는 문서, 코드보다 더 중요한 산출물
  • 구조화된 communication: 개발의 본질, 병목이자 미래의 핵심 역량
  • vibe coding: AI에게 의도를 설명하고 코드를 생성하게 하는 방식
  • OpenAI 모델 명세: 다양한 부서가 함께 논의하는 살아있는 문서, 신뢰의 기준
  • sycophancy(사이코팬시): AI의 아첨 문제, 명세로 신속히 대응
  • Deliberative Alignment: 명세 기반 AI 모델 정렬 및 강화 방법
  • 명세의 코드적 속성: 조합, 실행, test, 모듈화 가능
  • 법률=명세: 사회적 합의와 집행의 보편적 원리
  • 미래의 프로그래머: 명세를 잘 쓰는 사람, 모두가 명세 저자

"여러분이 다음에 AI 기능을 만들 때, 명세부터 시작하세요. 그리고 모두가 함께 안전한 AGI를 만들어 갑시다!"

🎉

Related writing

Related writing