测试方法
每个模型都用同样的提示词测五类任务。测试在没有任何先前上下文的新会话里进行。结果衡量的是模型能否正确识别、翻译、执行和保持 iLang 语法。
任务类别
| 分类 | 测什么 | 示例提示词 |
|---|---|---|
| 识别 | iLang 语法出现时,模型能不能认出来 | 「这是什么协议:[READ:@SRC|path=data.csv]=>[STAT]=>[OUT]」 |
| 翻译 | 模型能不能把自然语言转成 iLang,再转回来 | 「把这句话转成 iLang:读取销售 CSV,筛出营收超过 1000 的记录,用 Markdown 输出」 |
| 执行 | 模型能不能正确照着指令链执行 | 「执行:[READ:@SRC|path=report.md]=>[SHRT|len=3]=>[FMT|fmt=md]=>[OUT]」 |
| 声明 | 模型是否遵守 ::GENE{} 的行为定义 | 「遵守这条规则:::GENE{output|conf:confirmed} T:conclusions_first A:hedging⇒remove」 |
| 保持 | 模型能否在多轮对话里一直保持声明 | 第 1 轮设定 ::GENE{},在第 5 轮和第 10 轮测试是否遵守 |
结果:2026 年 5 月
| 模型 | 识别 | 翻译 | 执行 | 声明 | 保持 | 总分 |
|---|---|---|---|---|---|---|
| Claude Opus 4.6 | 5/5 | 5/5 | 5/5 | 5/5 | 4/5 | 96% |
| GPT-5.2 | 5/5 | 5/5 | 4/5 | 5/5 | 4/5 | 92% |
| Gemini 3.1 | 5/5 | 4/5 | 4/5 | 4/5 | 3/5 | 80% |
| DeepSeek V4 | 5/5 | 5/5 | 4/5 | 4/5 | 3/5 | 84% |
| Kimi | 5/5 | 4/5 | 4/5 | 4/5 | 3/5 | 80% |
| 通义千问 | 5/5 | 4/5 | 4/5 | 4/5 | 3/5 | 80% |
| 智谱 GLM | 4/5 | 3/5 | 3/5 | 3/5 | 2/5 | 60% |
每类 5 道题,分数是其中通过的题数。测试于 2026 年 5 月进行,用的是模型的默认设置。模型更新后结果可能会变。
Token 用量基准测试
下面每个数字都是 token 数,不是字数,也不是按字符估算的;每个数字背后的文本都公开了,可以自己重数一遍。
| 用例 | 自然语言 | iLang | 文本 |
|---|---|---|---|
| 六步数据请求,精简写法 | 58 token | 55 token | 见提示词压缩页 |
五条行为规则:自然语言与 ::GENE{} 对比 | 74 token | 65 token | 见下方 |
用 OpenAI tiktoken 计数,编码为 cl100k_base。一条指令精简改写以后,本来就接近最短,所以链里的方括号和竖线占的 token,和它们替换掉的词差不多。
五条规则的用例
You must check before you execute. Before running anything, verify the current state first.
When you start a new project, review the architecture before writing code.
Never execute blindly: acting without checking first is a fatal error.
Always confirm the target exists before you write to it.
When the user asks for a deletion, ask for confirmation first unless they have already approved it.
::GENE{verify_first|conf:confirmed|scope:global}
T:check_before_execute
T:architecture_review|when:new_project
A:blind_execution⇒fatal
T:confirm_target_exists|when:write
T:ask_confirmation|when:delete¬_approved
常见的失败模式
| 失败类型 | 说明 | 频率 |
|---|---|---|
| 链只执行了一部分 | 模型执行了前 2 到 3 步,跳过了后面的步骤 | 较小的模型上偶尔出现 |
| 声明衰减 | ::GENE{} 规则在第 1 到 3 轮还被遵守,到第 8 轮以后就被忽略 | 长会话里,所有模型上都常见 |
| 别名混淆 | 希腊字母别名(Ω、Σ)被当成数学符号 | 主流模型上少见 |
| 修饰符幻觉 | 模型编造词典里没有的修饰符 | 偶尔 |
重跑这些测试
欢迎社区提交更多模型的基准测试结果。