4.2 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
Zerolang
面向智能体的编程语言。
Zerolang 是一种实验性的图原生(graph-native)编程语言,语义图(semantic graph)即程序数据库。人类提出期望的结果。智能体查询图、提交经校验的编辑,并证明结果。
安全警告
Zerolang 处于实验阶段。可能会有破坏性变更、粗糙之处和安全问题。请在隔离的工作区中运行,不要针对生产系统或敏感数据使用。
从需求开始
预期的工作流就是一次普通对话:
build hello world for zerolang
智能体应使用编译器,而不是根据源代码文本猜测:
zero init
zero patch --op 'addMain' --op 'addCheckWrite fn="main" text="hello from zero\n"'
zero run
结果仍可作为文本投影(projection)进行审查:
pub fn main(world: World) -> Void raises {
check world.out.write("hello from zero\n")
}
该 .0 文件是 zero.graph 的投影。人类可以阅读、审查它,并偶尔进行编辑。智能体通常应继续使用 zero query 和 zero patch。
程序数据库
传统的智能体编码循环将文本视为单一事实来源:
flowchart LR
A[agent writes text] --> B[check]
B --> C[format]
C --> D[build]
D --> E[inspect failures]
E --> A
Zerolang 让智能体更贴近编译器:
flowchart LR
A[agent queries graph] --> B[agent submits checked patch]
B --> C{compiler accepts?}
C -- invalid or stale --> A
C -- valid --> D[agent runs task validation]
D --> E[human reviews projection when useful]
图为智能体提供显式句柄:符号、节点 ID、图哈希(graph hash)、类型、效应(effects)、所有权事实、能力、导入、调用边和目标事实。编辑可以针对语义结构而非行范围。陈旧的图哈希、意外的字段值、无效的形状和类型错误会在写入存储之前失败。
目前已有的内容
zero.graph是图优先包的经校验编译器输入。.0文件是人类可读的投影,而非智能体常规的编写界面。zero patch应用经校验的图编辑,并拒绝陈旧或无效的变更。zero query、zero inspect、zero check、zero test和zero run通过面向智能体的命令暴露编译器事实。zero import和zero export明确投影边界,避免人类文本编辑与图悄然偏离。
安装
安装编译器:
curl -fsSL https://zerolang.ai/install.sh | bash
export PATH="$HOME/.zero/bin:$PATH"
zero --version
安装智能体引导技能:
npx skills add vercel-labs/zerolang
编译器为智能体打包了版本匹配的技能:
zero skills
zero skills get agent
zero skills get graph
zero skills get language
zero skills get stdlib
日常流程
对于大多数包级工作:
zero query
zero patch --op help
zero patch --op 'addMain'
zero check
zero test
zero run -- <args>
默认输入为当前目录。仅在你需要明确指定时使用 .。
当人类需要审查投影文本时:
zero export
zero verify-projection
当人类有意编辑投影时:
zero import
zero check
运行时目标
图优先(graph-first)模型应在不放松运行时目标的前提下减少智能体的猜测:
- Token 高效检查
- 低内存占用
- 快速启动与构建
- 低运行时延迟
- 显式能力(capabilities)
- 小巧、无依赖的产物
开发 Zerolang
构建本地编译器:
pnpm install
make -C native/zero-c
bin/zero --version
有用的检查:
pnpm run docs:build
pnpm run conformance
pnpm run native:test
pnpm run command-contracts
本地迭代:
pnpm run conformance:local -- --list
pnpm run conformance:local -- --shard 1/4
pnpm run command-contracts:local
文档请见 zerolang.ai.