AI로 뭉뚱그려졌던 '유니커널'이 다시 떠오르는 이유
원제 Unikernels were hard. key word: were
114 포인트댓글 45

Key Point
AI 모델의 학습 데이터가 유니커널, Nix 같은 '어려운' 개념들을 포함하면서 개발 난도가 낮아졌고, 동시에 보안상 새로운 선택지가 되는 구체적 경로를 제시한다.
핵심 요약
- 유니커널은 응용프로그램 자체가 운영체제가 되는 방식으로, 개발자가 웹 서버·DNS·이메일 같은 기능을 모두 라이브러리로 직접 작성해야 하기 때문에 2015년경에는 개발 난도가 매우 높았다.
- 그러나 AI 모델들이 관련 논문과 개념들을 학습 데이터에 포함했기 때문에, 이제는 프롬프트로 이들 개념을 생성시키는 것만으로 인지적 난도를 크게 낮출 수 있다.
- 현재 응용프로그램 위에 운영체제를 얹는 구조는 40년 전 다중 사용자 환경에서 나온 설계 부채로, 공격 표면이 크다는 보안 문제가 있으며 유니커널은 쉘·인터프리터가 없어 LLM이 다음 동작을 알지 못하게 해 준비 공격을 어렵게 만든다.
- AI 에이전트를 사용하면 Stripe 라이브러리나 mkfs.xfs처럼 부족한 라이브러리를 누락된 언어로 포팅할 수 있으며, 저자는 Rust로 만든 mkfs.xfs를 몇 시간 내에 완성했다.
- 스토리지 문제는 S3를 주요 저장소로 삼고 로컬 NVMe를 캐시로 사용하는 구조로 해결할 수 있다.
- Nix 머신 테스트는 다중 머신 환경을 구성해 네트워크 규칙과 응용프로그램 상호작용을 검증하는 기능이며, Nix 오버레이로 상류 문제나 공급망 문제를 직접 수정할 수 있다.
- 보안을 최우선으로 한다면 정형검증된 seL4를 쓰거나 대다수는 유니커널을 도입해야 하며, 2026년엔 링 분리 같은 초기 설계 문제들은 프롬프트로 해결 가능하다.
- 저자는 OCaml로 NTP 클라이언트·서버, 네트워크 스택, 구조화 로깅, Anthropic·OpenAI 클라이언트 등을 작성하고, Microsoft Orleans를 OCaml로 포팅해 분산 액터 시스템으로 구동하는 '스페이스린스'를 1주일에 완성했다.
- Cursed라는 Gen-Z 프로그래밍 언어를 Sonnet 3.5·3.7로 C→Rust→Zig를 거쳐 3개월에 약 6,000달러 비용으로 개발했으며, 모델의 가중치에 없는 언어도 문법·어휘 구조를 고정하면 컨텍스트 윈도우 내에서 프로그래밍 가능함을 보였다.
- OCaml은 펑터, .mli 파일, opam·Dune 도구가 에이전트에게 효율적이고, Rust는 에이전트가 잘하지만 컴파일 시간이 느려 할루시네이션의 시도 횟수를 줄인다는 문제가 있다.
- 고정 메모리 할당 같은 특정 패턴은 Rust 학습 데이터에 부족해 에이전트가 설득하기 어렵고, 종속 타입은 차세대 언어의 최선의 선택이다.
- 프로그래밍 언어 개발 속도는 인간의 학습 속도로 제한돼 왔으나, 에이전트가 코드를 작성하면 40년 PLT 연구를 샘플링할 수 있으며 Breaking change는 스킬 팩과 함께 배포하면 에이전트가 자동 마이그레이션한다.
- 팀이 AI 실험에 시간을 쓰지 못하면 6개월 내 경영진의 인력 효율화 압박이 올 것이며, AI 사용은 이제 고용 가능성의 필수 요건이다.