Zero 언어가 AI 에이전트를 중심에 둔 시스템 설계

Vercel Labs의 실험적 시스템 언어 Zero가 구문, 타입, 효과 시스템, 샌드박스 런타임을 AI 에이전트에 맞춰 설계한 방식을 분석한다.

2026-08-14 · 최초 발행 2026-05-24

사람이 아니라 에이전트가 먼저 읽는 언어

프로그래밍 언어는 오랫동안 사람이 읽고 쓰기 편한 방향으로 발전했다. Vercel Labs가 공개한 실험적 시스템 언어 Zero는 출발점을 AI 에이전트로 옮긴다. 기계가 코드를 해석하고 생성할 때 생기는 모호성과 비결정론을 언어와 런타임 단계에서 줄이려는 시도다.

GeekNews와 PyTorch Korea에서 동시에 주목 아이템으로 선정된 배경도 여기에 있다. Zero가 던지는 질문은 새 언어의 문법에 그치지 않는다. 코드의 주요 생산자와 소비자에 AI 에이전트가 포함된다면, 언어 설계의 우선순위도 달라져야 하는가에 가깝다.

부분 코드만으로도 의미를 확정하는 구문

Zero는 구문의 의미가 주변 문맥에 따라 달라지는 상황을 최소화한다. 각 구문 요소에 위치와 무관한 단일 의미를 부여해, 에이전트가 전체 파일을 다시 해석하지 않고도 로컬 컨텍스트만으로 부분 코드의 의미를 판단할 수 있게 한다.

암묵적 규칙도 같은 이유로 배제한다. 들여쓰기로 스코프를 결정하거나 세미콜론을 자동 삽입하는 대신, 모든 블록 경계를 명시적 토큰으로 나타낸다. AI가 코드를 생성하는 과정에서 생길 수 있는 off-by-one 오류와 스코프 혼동을 구문 구조로 막으려는 선택이다.

타입 처리 역시 명시성을 우선한다. Zero는 타입 추론을 의도적으로 제한하고 모든 바인딩에 타입 어노테이션을 요구한다. 사람이 작성할 때는 번거로울 수 있지만, 에이전트는 함수 시그니처만 읽고도 입출력 계약을 온전히 파악할 수 있다.

실행 결과의 예측 가능성도 언어 설계에 포함된다. 플랫폼에 따라 달라질 수 있는 부동소수점 연산 결과, 해시맵의 비결정론적 순서, 드러나지 않는 글로벌 상태 변경처럼 AI가 예상하기 어려운 동작은 금지하거나 명시적 어노테이션으로 노출한다.

부수 효과를 함수 계약에 포함한다

파일 시스템 접근, 네트워크 요청, 외부 프로세스 실행은 에이전트가 코드를 실행할 때 권한과 안전성 문제를 일으키는 지점이다. Zero의 표준 라이브러리는 이런 도구 호출을 전용 인터페이스로 다루고, 부수 효과를 타입 시스템에 인코딩한다.

// Zero 에이전트 도구 인터페이스 예시 (가상 구문)
fn fetch_data(url: Url) -> Result<Json, HttpError> [effect: network.read] {
    http.get(url)
}

fn write_output(path: Path, content: Str) -> Result<Unit, IoError> [effect: fs.write] {
    fs.write(path, content)
}

network.readfs.write 같은 효과 어노테이션이 시그니처에 나타나므로, 에이전트 오케스트레이터는 실제 실행 전에 코드가 요구하는 도구와 권한을 파악할 수 있다. 권한 검증이 실행 중의 추측이 아니라 선언된 계약을 기준으로 이뤄지는 구조다.

오류 메시지도 기계가 소비하는 데이터다

Zero 런타임은 코드를 실행하는 환경에 머물지 않는다. 컴파일 검증과 오류 전달, 격리 실행, 상태 관리까지 AI 에이전트와의 반복 작업을 전제로 구성된다.

컴파일러 오류의 주 소비자 역시 사람보다 에이전트에 가깝다. 오류 코드와 위치, 관련 타입, 수정 제안을 구조화된 JSON으로 반환하며 자연어 설명은 부가 정보로 둔다.

// Zero 컴파일러 오류 출력 구조 (예시)
{
  "error_code": "E0042",
  "kind": "TypeMismatch",
  "location": { "file": "main.zero", "line": 14, "col": 8 },
  "expected": "Int",
  "found": "Str",
  "suggestion": {
    "kind": "CallConversion",
    "expr": "Str.parse_int(value)"
  },
  "human_message": "타입이 일치하지 않습니다..."
}

이 형식이라면 에이전트는 자연어 오류 문장을 다시 해석하는 단계 없이 오류 종류와 수정 후보를 읽어 다음 작업에 반영할 수 있다.

선언된 권한과 자원 안에서 실행한다

Zero는 에이전트 세션마다 격리된 샌드박스를 사용한다. 메모리 한도, CPU 시간 제한, 네트워크 접근 허용 목록 같은 자원 조건을 코드에 선언하고 런타임이 이를 강제한다. 선언된 자원 한도를 넘으려는 시도는 런타임 오류가 아니라 컴파일 타임 오류로 처리된다.

에이전트 코드 제출컴파일 타임 효과 분석권한 매니페스트 생성오케스트레이터 승인샌드박스 런타임 초기화자원 한도 적용격리 실행실행 결과 반환효과 로그 감사권한 위반 감지컴파일 거부승인 거부실행 차단

코드가 요구하는 효과를 컴파일 단계에서 분석한 뒤 권한 매니페스트를 만들고, 오케스트레이터의 승인을 거쳐 샌드박스를 초기화한다. 분석이나 승인 단계에서 조건을 충족하지 못하면 컴파일 또는 실행이 차단된다. 실행 후에는 효과 로그를 감사할 수 있다.

중간 상태를 넘기고 다시 시작하는 실행 모델

AI 에이전트의 작업은 한 번의 실행으로 끝나지 않는 경우가 많다. 긴 작업을 나누고, 중간 결과를 확인한 뒤 코드를 수정하거나 다른 에이전트에 이어서 맡긴다.

Zero 런타임은 이런 흐름에 맞춰 실행 상태의 직렬화와 역직렬화를 언어 수준에서 지원한다. 계산 중간에 상태 스냅샷을 생성하고 다른 에이전트에 전달하거나, 저장한 지점부터 나중에 실행을 재개할 수 있다. 장시간 동작하는 데이터 처리 파이프라인이나 사람의 검토가 끼어드는 단계적 코드 생성 워크플로우에서 활용할 수 있는 기능이다.

Python과 TypeScript를 대체하려는 언어인가

현재 AI 에이전트 개발에서는 Python과 TypeScript가 주류다. Python에는 LangChain과 LlamaIndex 같은 에이전트 프레임워크 생태계가 있고, TypeScript는 Vercel의 AI SDK 및 Next.js 생태계와 밀접하게 연결되어 있다.

이 기반을 고려하면 Zero가 두 언어를 단기간에 대체한다는 전망은 현실적이지 않다. Zero의 위치는 범용 언어의 패권 경쟁보다 AI 에이전트 오케스트레이션을 담당하는 핵심 인프라 레이어에 가깝다. 에이전트가 동적으로 만들어 실행하는 코드의 언어, 또는 플러그인을 안전하게 구동하는 환경으로 쓰려는 방향으로 보인다.

기존 언어와 비교하면 문제의식은 선명하다. Python의 동적 타입과 덕타이핑, JavaScript의 암묵적 타입 변환, C++ 전처리기 매크로의 복잡성은 에이전트가 정확한 코드를 생성할 때 장애물이 될 수 있다. Zero는 유연성을 줄이는 대신 명시성과 예측 가능성을 확보하는 쪽을 택한다.

학계에서도 “AI-Friendly Programming Language Design”과 관련된 논문이 NeurIPS와 ICLR 같은 주요 학회에 등장하기 시작했다. Zero는 이러한 흐름과 맞물려 AI 에이전트를 전제로 한 언어 설계가 어디까지 갈 수 있는지 보여주는 초기 실험으로 볼 수 있다.

Vercel Labs의 실험과 엇갈린 반응

Vercel Labs는 v0, AI SDK, Zero 같은 실험적 프로젝트를 통해 AI 인프라 레이어의 표준을 선점하려는 전략을 이어 왔다. 그중 Zero는 라이브러리나 개발 도구가 아니라 프로그래밍 언어 자체에서 에이전트 시대의 기반을 다시 설계하려는 시도다.

개발자 커뮤니티의 평가는 한쪽으로 모이지 않는다. AI를 위한 언어가 등장했다는 환영과 새로운 실험 언어가 생태계를 더 분산시킬 수 있다는 우려가 함께 나온다. GeekNews 스레드에서는 Zero의 효과 시스템이 Koka의 영향을 받았을 가능성을 두고 기술적 토론이 이어졌고, PyTorch Korea 커뮤니티에서는 AI 모델 학습 파이프라인에 적용할 가능성이 논의됐다.

Zero가 독립적인 언어 생태계로 자리 잡을지는 아직 정해지지 않았다. 다만 명시적 타입과 효과, 결정론적 실행, 구조화된 오류, 격리 런타임을 하나의 언어 설계 원칙으로 묶었다는 점은 남는다. 별도 언어로 성장하지 않더라도 기존 언어와 실행 환경이 AI 에이전트를 지원하는 방식에 아이디어를 제공할 수 있는 실험이다.

Sources

Zero 언어AI 에이전트Vercel Labs시스템 언어효과 시스템