|
| 1 | +# Zerolang 分析 — 对 kvlang 的启示 |
| 2 | + |
| 3 | +> 来源: https://github.com/vercel-labs/zerolang (5,201 stars, 2026-05, C) |
| 4 | +> 定位: "The Programming Language for Agents" |
| 5 | +
|
| 6 | +--- |
| 7 | + |
| 8 | +## 1. 核心创新: Graph-First 架构 |
| 9 | + |
| 10 | +传统 source of truth 是文本。Agent 写文本, 编译, 报错, 循环。 |
| 11 | +Zerolang 反转: 语义图是程序数据库。 |
| 12 | + |
| 13 | +graph patch 精确 target 语义节点, 而非猜行号。 |
| 14 | + |
| 15 | +### 对 kvlang 的启示 |
| 16 | + |
| 17 | +kvlang 的 KV-path 天然就是 graph。不需要额外发明 graph 格式。 |
| 18 | + |
| 19 | +| | Zerolang | kvlang | |
| 20 | +|--|----------|--------| |
| 21 | +| source of truth | zero.graph (binary) | KV tree in Redis | |
| 22 | +| agent 编辑 | zero patch --op | kvspace set /path value | |
| 23 | +| 人类 review | .0 projection file | KV path 即语义 | |
| 24 | +| 校验时机 | patch 时 (shape rules) | 执行时 (runtime) | |
| 25 | + |
| 26 | +Agent 可直接 SET /src/func/body/block_3, 受 kvspace atomic 保护。 |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## 2. Agent-First 设计哲学 |
| 31 | + |
| 32 | +从 AGENTS.md 提取: |
| 33 | +- 优先 agent-facing 设计, 不为人类做语法糖 |
| 34 | +- 抛弃兼容性包袱 |
| 35 | +- Token-efficient inspection (zero query) |
| 36 | +- Checked patch: 一次操作 = 编辑 + 过期保护 + shape 校验 |
| 37 | + |
| 38 | +### 对 kvlang |
| 39 | + |
| 40 | +kvlang 天然支持 inspection (GET /vthread/1/pc), 但缺: |
| 41 | +1. 结构化 query: kvlang inspect --json PATH |
| 42 | +2. Patch 协议: kvlang patch --expect-hash H --op SET |
| 43 | +3. 诊断 JSON: 错误含 path + expected type + fix suggestion |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +## 3. 测试与质量保障 |
| 48 | + |
| 49 | +| 维度 | Zerolang | kvlang | |
| 50 | +|------|----------|--------| |
| 51 | +| 编译器 | 129 .c + 86 .h | Go (~40 源文件) | |
| 52 | +| Conformance | 分片 (shard 1/4) | 175 用例串行 | |
| 53 | +| Benchmark | 100+ Rosetta Code | 179 examples | |
| 54 | +| Agent 自测 | agent:checks | 无 | |
| 55 | +| fail-fast | 支持 | 无 | |
| 56 | + |
| 57 | +### 可借鉴 |
| 58 | +- 选 20 个算法做 benchmark suite |
| 59 | +- run.py --shard 1/4 分片并行 |
| 60 | +- AGENTS.md 告诉 AI 如何自测 |
| 61 | +- run.py --fail-fast |
| 62 | + |
| 63 | +--- |
| 64 | + |
| 65 | +## 4. 可立即执行 |
| 66 | + |
| 67 | +| 借鉴 | kvlang 实现 | |
| 68 | +|------|------------| |
| 69 | +| AGENTS.md | 创建, 说明方向, 测试, CI | |
| 70 | +| vet --json | 输出 JSON 错误 | |
| 71 | +| run.py --fail-fast | 首个失败即停 | |
| 72 | +| CHANGELOG release 标记 | 加 release:start 标记 | |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## 5. kvlang 核心优势 vs Zerolang |
| 77 | + |
| 78 | +| 维度 | Zerolang | kvlang 优势 | |
| 79 | +|------|----------|------------| |
| 80 | +| Agent API | 自定义协议 | 标准 KV (get/set) | |
| 81 | +| 分布式 | 单机 | Redis 多进程 | |
| 82 | +| 并发 | 编译时单线程 | 128 worker 运行时 | |
| 83 | +| 人类可读 | .0 需学习 | KV path 即语义 | |
| 84 | +| 源码规模 | 215 文件 | ~40 文件 | |
0 commit comments