# Zero: AI 에이전트를 주요 사용자로 설계한 Vercel Labs의 실험적 시스템 언어

**URL:** <https://discuss.pytorch.kr/t/zero-ai-vercel-labs/10312>\
**Category:** 읽을거리&정보공유\
**Tags:** apache-2, zerolang, json-diagnostics, systems-language, agent-first-language, vercel-labs\
**Created:** [5월 22, 2026, 12:30오전 UTC](https://discuss.pytorch.kr/t/zero-ai-vercel-labs/10312 "2026-05-22T00:30:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![9bow](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/9bow/32/16301_2.png) [@9bow](https://discuss.pytorch.kr/u/9bow)\
**Post date:** [5월 22, 2026, 12:30오전 UTC](https://discuss.pytorch.kr/t/zero-ai-vercel-labs/10312/1 "2026-05-22T00:30:21Z")

</div>

![Zero: AI 에이전트를 주요 사용자로 설계한 Vercel Labs의 실험적 시스템 언어](https://discuss.pytorch.kr/uploads/default/original/3X/b/8/b831c537a933645b6929151ce0291475e67846f3.png)

## Zero 소개

Zero(zerolang)는 Vercel Labs 가 2026년 5월에 공개한 _에이전트-우선(agent-first) 시스템 프로그래밍 언어_ 의 실험 프로젝트입니다. 저장소(`vercel-labs/zerolang`) 와 홈페이지(`zerolang.ai`) 는 같은 메시지를 공유합니다. _"AI 에이전트가 1차 사용자라면 컴파일러 출력, 도구 체계, 표준 라이브러리, 개발자 경험은 어떻게 달라져야 하는가"_ 라는 질문에 대한 답을 _작동하는 컴파일러와 CLI_ 로 답해 보겠다는 시도입니다. 파일 확장자는 `.0` 이고, CLI 진입점은 `zero` 단일 명령입니다.

대부분의 프로그래밍 언어는 _사람이 오류 메시지를 읽고 스택 출력을 따라가며 디버깅하는_ 사용 패턴을 전제로 설계되었습니다. 반면 AI 에이전트는 비구조화된 텍스트를 잘 파싱하지 못하고, 안정적인 코드(stable code) 와 기계 판독 가능한 수리 힌트(machine-parseable repair hints) 를 더 잘 다룹니다. Zero 는 이 간극을 _언어 자체 설계 시점부터_ 좁히려고 합니다. 컴파일러는 `zero check --json` 명령에 대해 JSON 진단을 기본 출력으로 주고, 각 진단에는 `NAM003` 같은 안정 코드와 _typed repair ID_ 가 포함됩니다. `zero explain` 과 `zero fix --plan --json` 은 에이전트가 _프로즈(prose) 를 파싱하지 않고도_ 오류를 이해하고 수정할 수 있도록 만든 보완 명령입니다.

 ![Zero 소개](https://discuss.pytorch.kr/uploads/default/original/3X/d/0/d027f9f442570e0709bc262d1fe2d58ab79772f9.jpeg)

Zero 는 _pre-1_ 단계로 명시적으로 불안정하고, 보안 취약점도 있을 수 있다고 README 가 분명히 밝힙니다. 프로덕션 시스템이나 민감 데이터에 적용하지 말고 _일회용 환경에서 실험_ 하라는 안내가 README 첫 부분에 적혀 있습니다. 본 게시물에서는 Zero 가 어떤 설계 가치를 추구하는지, 어떤 명령어와 도구를 제공하는지, _agent-first 진단_ 과 _명시적 effect_ 가 구체적으로 무엇을 의미하는지, 그리고 설치·실행 방법을 정리합니다. 라이선스는 Apache-2.0 입니다.

## Zero 언어의 설계 가치 5가지

README 는 Zero의 설계 가치를 다섯 가지로 정리합니다. 일반적인 _언어 소개_ 처럼 _"빠르다, 안전하다"_ 가 아니라, 모두 _에이전트가 일하기 좋도록_ 이라는 한 방향을 가리킵니다.

**Agent-first 학습 용이성)** : 예제·문서·컴파일러 피드백만으로 에이전트가 빠르게 습득할 수 있도록, 작고 규칙적인 언어 표면(small, regular language surface) 을 추구합니다. 문법의 _예외_ 가 적을수록 에이전트가 코드를 일관되게 다룰 수 있습니다.

**표준 라이브러리 깊이)** : 흔한 기능들은 _흩어진 의존성 스택_ 이 아니라 _문서화되고 일관된 표준 라이브러리 API_ 안에 있어야 합니다. 프로그램이 의존성 검색으로 시작하지 않아도 되도록, 표준 라이브러리가 의도적으로 넓게 설계되어 있습니다.

**결정론적 도구 체계)** : 진단(diagnostics), 그래프 사실(graph facts), 사이즈 보고(size reports), 설명(explanations), 수정 계획(fix plans) 모두 에이전트가 _검사하고 행동할 수 있을 만큼 구조화_ 되어 있어야 합니다. 사람을 위한 색상 출력이 아니라 JSON 입니다.

**직접적인 개발자 경험)** : 검사·실행·포매팅·검사·수리(checking, running, formatting, inspecting, repairing) 가 _빠르고 복사 가능하며 스크립트화 가능_ 해야 합니다.

**문법보다 일관성)** : 대부분의 표현 방식을 _하나의 명백한 방법(one obvious way)_ 으로 두는 것을 선호합니다. 다른 언어라면 더 _압축적으로_ 쓸 수 있는 부분도 명시적으로 두는 쪽을 택합니다.

## Zero 의 JSON 진단과 typed repair

`zero check --json` 을 실행하면, 컴파일러가 진단을 다음과 같이 JSON 으로 출력합니다.

```json
{
  "diagnostics": [{
    "code": "NAM003",
    "message": "use of undeclared symbol `foo`",
    "line": 7,
    "repair": { "id": "declare-missing-symbol" }
  }]
}

```

각 진단은 안정 코드(`code`), 사람이 읽는 메시지(`message`), 라인 번호(`line`), 그리고 _typed repair_ 객체(`repair`) 를 가집니다. 사람은 `message` 를 읽고, 에이전트는 `code` 와 `repair` 를 읽도록 의도된 구조입니다. 같은 CLI 명령이 _두 청중의 출력_ 을 동시에 만들어 주므로, 별도의 _agent mode_ 를 켤 필요가 없습니다.

진단 처리 루프를 완성하는 두 개의 보조 명령이 함께 들어 있습니다. `zero explain` 은 진단 코드의 구조화 설명을 돌려주므로, 에이전트가 `NAM003` 이 무엇을 의미하는지 _문서 스크래핑_ 없이 알 수 있습니다.

```bash
zero explain NAM003

```

`zero fix --plan --json` 은 진단을 해결하기 위해 _어떤 변경을 어디에_ 해야 하는지를 기계 판독 가능한 수정 계획(fix plan) 으로 출력합니다. 에이전트는 오류 메시지에서 수정 방향을 _추론_ 하는 대신, 이 계획을 그대로 적용하면 됩니다.

```bash
zero fix --plan --json add.0

```

이 두 명령이 Zero 의 _진단 → 설명 → 수정_ 루프를 사람의 번역 없이 동작하게 합니다.

## Zero 의 명시적 effect 와 zero skills

Zero 의 또 다른 핵심 설계 결정은 _function signature 에 effect 가 명시_ 된다는 점입니다. 함수가 표준 출력에 쓰거나, 파일시스템에 접근하거나, 네트워크를 호출한다면, 그 사실이 capability 객체를 통해 시그니처에 드러납니다. 숨겨진 할당자, 암묵적 비동기, 매직 글로벌이 없는 _everything is explicit_ 원칙입니다.

표준 진입점은 다음과 같은 형태입니다.

```plaintext
check world.out.write("hello from zero\n")

```

`zero skills` 명령은 _에이전트가 사용할 가이드_ 를 _설치된 컴파일러 버전에 맞춰_ CLI 안에서 직접 서빙합니다. 즉, 외부 문서 사이트와 컴파일러 버전 간 불일치 문제를 _없애기 위한 의도된 설계_ 입니다. `zero skills get zero --full` 은 현재 버전에 해당하는 언어 기본 문법, 테스트·에이전트 편집 루프, 표준 라이브러리 사용 패턴 등을 한 번에 돌려줍니다.

`zero` CLI 의 자주 쓰는 명령들은 다음과 같습니다. 모두 _같은 단일 바이너리_ 안에 들어 있습니다.

```bash
zero check examples/hello.0
zero run examples/add.0
zero build --emit exe --target linux-musl-x64 examples/add.0 --out .zero/out/add
zero graph --json examples/systems-package
zero size --json examples/point.0
zero skills get zero --full
zero doctor --json

```

`zero graph --json` 과 `zero size --json` 은 _그래프 사실_ 과 _바이너리 사이즈 추정_ 을 JSON 으로 돌려주는 분석 명령입니다. 에이전트가 변경의 _영향 반경_ 과 _비용_ 을 코드 생성 전에 확인할 수 있도록 만든 인터페이스입니다.

## Zero 설치와 첫 실행

설치는 홈페이지가 제공하는 install 스크립트 한 줄입니다. 바이너리는 `~/.zero/bin/zero` 에 떨어지며, 패키지는 `zero.json` 매니페스트와 `src/` 디렉토리로 구성됩니다. `zero new cli <name>` 명령으로 새 CLI 패키지를 스캐폴드할 수 있다고 외부 매체가 보도합니다.

```bash
curl -fsSL https://zerolang.ai/install.sh | bash
export PATH="$HOME/.zero/bin:$PATH"
zero --version

```

설치 직후 첫 실행으로 자주 권장되는 패턴은 다음과 같습니다.

```bash
zero check examples/hello.0
zero run examples/add.0

```

`zero run examples/add.0` 의 기대 출력은 `math works` 입니다. 검증 워크플로우 자체도 `pnpm run docs:test`, `pnpm run conformance`, `pnpm run native:test`, `pnpm run command-contracts` 같은 스크립트로 정리되어 있고, 벤치마크는 `pnpm run bench` 로 로컬에서 돌릴 수 있습니다.

## Zero 의 한계와 _pre-1_ 면책 조항

README 가 가장 먼저 강조하는 부분은 _Zero 가 아직 실험적_ 이라는 사실입니다. _"pre-1, intentionally unstable"_ 이며, _"오늘의 문법과 API 는 외워야 할 것이 아니라 함께 탐색할 대상"_ 이라고 적혀 있습니다. _"보안 취약점이 있을 것으로 예상해야 한다"_ 는 명시적인 경고와 함께, 프로덕션 시스템, 민감 데이터, 신뢰 인프라에서는 사용하지 말고 _격리된 일회용 환경에서만 실행_ 하라는 안내가 따라옵니다.

다시 말해 Zero 는 _지금 제품에 도입할 도구_ 가 아니라, _에이전트가 1차 사용자라는 가정 위에서 시스템 언어 디자인이 어떻게 달라질 수 있는지를 함께 검증해 보자는 초청장_ 입니다. README 의 마지막 문장도 _"예제를 돌려보고, 구조화된 출력을 들여다보고, 에이전트의 작업에 무엇이 도움이 되는지 피드백을 보내 달라"_ 는 권유로 마무리됩니다.

## 라이선스

Zero는 [Apache-2.0 라이선스](https://github.com/vercel-labs/zerolang/blob/main/LICENSE)로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. Apache-2.0 은 특허 라이선스 부여(grant of patent license) 가 명시되어 있어, 파생 프로젝트의 법적 위험을 줄여 줍니다.

## 🏠 Zero 공식 페이지

> **[Zero | An agent-first language experiment.](https://zerolang.ai)**
>
> Zero is a pre-1 agent-first language experiment. Expect breaking changes and run it only in safe, non-production environments.

## :github: Zero 프로젝트 GitHub 저장소

> **[GitHub - vercel-labs/zerolang: The programming language for agents](https://github.com/vercel-labs/zerolang)**
>
> The programming language for agents

## 더 읽어보기

- [Vercel Skills (Skills.sh): 여러 AI 에이전트들을 지원하는 오픈소스 스킬 생태계](https://discuss.pytorch.kr/t/vercel-skills-skills-sh-ai/8864)

- [Agent Browser: Vercel이 공개한, AI 에이전트를 위한 경량화된 명령줄 브라우저 자동화 도구](https://discuss.pytorch.kr/t/agent-browser-vercel-ai/9125)

- [CS146S: AI-native 개발 워크플로우 학습을 목표로 하는 스탠포드 대학교의 2025년 가을학기 강의](https://discuss.pytorch.kr/t/cs146s-ai-native-2025/8672)

- [Agent Browser: Vercel이 공개한, AI 에이전트를 위한 경량화된 명령줄 브라우저 자동화 도구](https://discuss.pytorch.kr/t/agent-browser-vercel-ai/9125)

- [Skill Seekers: 문서 및 GitHub 저장소 등을 Claude 및 코딩 에이전트용 스킬(Skill) 패키지로 변환하는 도구](https://discuss.pytorch.kr/t/skill-seekers-github-claude-skill/8585)

* * *

_이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다._ 🤗

[:pytorch:파이토치 한국 사용자 모임🇰🇷](https://pytorch.kr/)이 정리한 이 글이 유용하셨나요? [회원으로 가입](https://discuss.pytorch.kr/signup)하시면 주요 글들을 이메일💌로 보내드립니다! (기본은 Weekly지만 [Daily로 변경도 가능](https://discuss.pytorch.kr/my/preferences/emails)합니다.)

🎁 아래↘쪽에 좋아요👍를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ 🤩
