일주일 전에는 존재하지도 않았던 프로그래밍 언어로 코딩하기
Writing in a coding language which didn't exist a week ago
핵심 요약
LLM이 학습 데이터에 없던 새로운 언어를 완벽하게 이해하고 코딩하는 능력을 보여줌.
- NeedleScript 개발 — Logo 기반의 자수 생성용 언어임.
- Opus의 코딩 능력 — 일주일 전 생성된 언어의 문법을 완벽히 이해함.
- 정밀한 시뮬레이션 — 실제 실행 없이도 코드의 밀도를 계산하고 시각화함.
- 학습 데이터의 한계 — LLM이 학습 데이터 밖의 언어도 처리할 수 있음을 증명함.
Fable이 출시되었을 때, 내 테스트 프롬프트 중 하나가 더 발전시킬 가치가 있는 흥미로운 결과물로 이어졌는데, 바로 생성 자수를 위한 Logo 기반의 프로그래밍 언어(NeedleScript라고 이름 붙임)였다. Fable이 첫 번째 작동 예시를 단번에 만들어낸 후, 나는 여러 단계를 거쳐 이 언어를 Logo의 특성을 유지하면서도 훨씬 현대적인 무언가로 발전시키도록 강제했다. Fable은 그 모든 것을 훌륭하게 해냈다(그리고 그 후 Fable은 비활성화되었다).
어쨌든, 내가 정말 흥미롭다고 느낀 건 Fable이 만든 언어 자체가 아니었다(생성 자수는 어차피 매우 틈새 분야라 아마 소수의 사람만 사용할 것이다). 정말 놀라운 점은 Opus에게 언어 레퍼런스를 주고 일주일 전에는 존재하지도 않았던 이 매우 전문적인 틈새 언어로 코딩을 시킬 수 있다는 것이며, 심지어 매번 단번에 완벽한 코드를 작성한다는 것이다!
더 미친 점은, 실제 언어나 그 출력 결과에 접근할 수 없는데도 "생각"하는 동안 밀도 계산을 수행한다는 것이다. 즉, 모든 것이 자수로서 실제로 작동하는지 확인하기 위해 코드를 머릿속으로 "실행"하고 컴파일된 결과를 머릿속으로 "시각화"해야 한다는 건데... 진짜 미친 수준이다!
그 예시 하나: "한 가지 주목할 점: 겹쳐진 레이어들이 중심부 밀도를 약 4.2 레이어(넓게는 3.7)까지 밀어붙이는데, 이는 직조 한계를 약간 넘어서는 수치다. 겹치는 곡선이 본질적으로 실을 집중시키는 밀집된 스트링 아트 작품들과 같은 상황이다. 만달라 느낌을 위한 의도적인 설정이므로, 정직한 메모와 함께 maxdensity 설정을 추가하겠다."
"LLM은 학습 데이터에 있는 것만 잘할 수 있다"는 말은 이제 끝이다. 나는 이 말을 완전히 믿지는 않았지만, 그래도 LLM이 학습 단계에서 전혀 몰랐던 언어로 완벽하게 코딩할 수 있을 거라곤 기대하지 않았다.


