maze-test 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-CN.md +183 -0
- package/README.md +176 -10
- package/dist/cli.cjs +1591 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1568 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.cjs +1459 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +313 -2
- package/dist/index.d.ts +313 -2
- package/dist/index.js +1429 -1
- package/dist/index.js.map +1 -1
- package/package.json +16 -5
package/README-CN.md
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# maze-test
|
|
2
|
+
|
|
3
|
+
根据种子与参数生成可复现的中英文迷宫推理试题和标准答案,既可以通过 `npx` 使用,也可以作为 TypeScript 库调用。
|
|
4
|
+
|
|
5
|
+
[English README](./README.md)
|
|
6
|
+
|
|
7
|
+
[](https://skills.sh/ziioai/maze-test)
|
|
8
|
+
|
|
9
|
+
迷宫由实心墙格和空心通路格组成。试题可以包含材质匹配的门、钥匙和宝箱,不同类型的宝物,不同伤害的陷阱,治疗、毒药、解毒药、加减速、耗时核算,以及完整可复现的行动序列。
|
|
10
|
+
|
|
11
|
+
## 特别适合测试 LLM 推理能力
|
|
12
|
+
|
|
13
|
+
`maze-test` 特别适合用于测试大语言模型的推理能力。一道题能够同时考察多种相互依赖的能力:
|
|
14
|
+
|
|
15
|
+
- **空间推理:** 从纯文本地图描述中还原迷宫结构,并正确执行上下左右移动。
|
|
16
|
+
- **长程状态跟踪:** 在较长的原子行动序列中持续维护当前位置,避免中途丢失状态。
|
|
17
|
+
- **规则执行:** 正确区分墙格、门格、正常移动、受阻移动和死亡后的行动失效。
|
|
18
|
+
- **资源核算:** 区分金、银、铜钥匙与对应锁,并分别累计钱币、宝石和遗物。
|
|
19
|
+
- **一次性事件记忆:** 记住哪些钥匙、陷阱、宝箱、药品房和药水已经使用。
|
|
20
|
+
- **时序推理:** 在精确的指令窗口内结算中毒和速度效果,并处理撞墙等受阻指令。
|
|
21
|
+
- **可复现、可审计:** 题目和答案由相同的显式种子与参数独立生成,能够稳定复现并检查结果。
|
|
22
|
+
- **跨语言评测:** 同一生成机制支持英文和中文,并可通过 `style` 参数确定性地改变表述形式。
|
|
23
|
+
|
|
24
|
+
可以通过迷宫尺寸、回环率、对象数量、情境类型、最短路径阈值和文案风格控制难度。题面输出不包含答案;参照模拟器则能通过 TypeScript API 提供结构化答案和完整逐步轨迹,便于定位模型第一次发生推理错误的位置。
|
|
25
|
+
|
|
26
|
+
推荐的 LLM 评测流程:
|
|
27
|
+
|
|
28
|
+
1. 生成题目并记录种子和全部参数。
|
|
29
|
+
2. 只把题面交给待测模型。
|
|
30
|
+
3. 要求模型回答该题列出的全部字段;高级题会增加材质、宝物、耗时和状态字段。
|
|
31
|
+
4. 使用完全相同的种子和参数生成标准答案。
|
|
32
|
+
5. 按字段计算准确率,或者利用模拟轨迹分析模型的首个错误步骤。
|
|
33
|
+
|
|
34
|
+
## Agent Skill
|
|
35
|
+
|
|
36
|
+
从当前仓库安装名为 `maze-test` 的 Agent Skill:
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
npx skills add ziioai/maze-test --skill maze-test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
仅安装到 Codex:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
npx skills add ziioai/maze-test --skill maze-test --agent codex
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
该 Skill 会指导 Agent 在不泄漏答案的前提下生成题目、固定待测回答、生成参考答案、逐项精确评阅,并保存可复现的评测记录。
|
|
49
|
+
|
|
50
|
+
## 快速开始
|
|
51
|
+
|
|
52
|
+
生成中文题目:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
npx maze-test question --seed 42 --rows 15 --cols 15 --lang zh
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
使用完全相同的种子和参数生成对应答案:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
npx maze-test answer --seed 42 --rows 15 --cols 15 --lang zh
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
默认语言是英文:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
npx maze-test question --seed 42
|
|
68
|
+
npx maze-test answer --seed 42
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
生成一套会依次覆盖全部高级机制的题目:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
npx maze-test question --seed 42 --complexity advanced --scenario mechanism-tour --lang zh
|
|
75
|
+
npx maze-test answer --seed 42 --complexity advanced --scenario mechanism-tour --lang zh
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 机制复杂度
|
|
79
|
+
|
|
80
|
+
- `basic` 保留原始机制:普通钥匙与锁、通用宝物、1 点伤害陷阱和药品房。
|
|
81
|
+
- `intermediate` 增加不同陷阱伤害、治疗药水、毒药、解毒药,以及钱币、宝石、遗物。
|
|
82
|
+
- `advanced` 进一步增加金银铜钥匙与对应锁、加速与减速药水,以及累计耗时。
|
|
83
|
+
|
|
84
|
+
每档预设都完全确定;也可以用下列列表和持续时间参数逐项覆盖。`mechanism-tour` 会访问全部生成对象,适合评测完整的机制组合。
|
|
85
|
+
|
|
86
|
+
`question` 是默认命令,因此也可以写成:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
npx maze-test --seed 42 --lang zh
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## 参数
|
|
93
|
+
|
|
94
|
+
| 参数 | 说明 | 默认值 |
|
|
95
|
+
|---|---|---:|
|
|
96
|
+
| `--seed` | 非负根种子 | `1` |
|
|
97
|
+
| `--rows` | 行数,必须是不小于 7 的奇数 | `15` |
|
|
98
|
+
| `--cols` | 列数,必须是不小于 7 的奇数 | `15` |
|
|
99
|
+
| `--braid` | 打通死路的概率,范围为 0 至 1 | `0` |
|
|
100
|
+
| `--complexity` | `basic`、`intermediate` 或 `advanced` | `basic` |
|
|
101
|
+
| `--doors` | 门及对应钥匙的数量 | 由预设决定 |
|
|
102
|
+
| `--chests` | 宝箱数量 | 由预设决定 |
|
|
103
|
+
| `--traps` | 陷阱数量 | 由预设决定 |
|
|
104
|
+
| `--potions` | 药水对象数量(`basic` 中显示为药品房) | 由预设决定 |
|
|
105
|
+
| `--medicines` | `--potions` 的兼容别名 | 由预设决定 |
|
|
106
|
+
| `--trap-damage` | 逗号分隔的正整数伤害值 | 由预设决定 |
|
|
107
|
+
| `--potion-kinds` | 从 `healing,poison,antidote,haste,slow` 中选择 | 由预设决定 |
|
|
108
|
+
| `--key-materials` | 从 `copper,silver,gold` 中选择 | 由预设决定 |
|
|
109
|
+
| `--treasure-types` | 从 `treasure,coin,gem,relic` 中选择 | 由预设决定 |
|
|
110
|
+
| `--poison-damage` | 每次中毒结算扣除的健康值 | `1` |
|
|
111
|
+
| `--poison-duration` | 中毒影响的后续原子指令数 | `3` |
|
|
112
|
+
| `--speed-duration` | 速度状态影响的后续原子指令数 | `4` |
|
|
113
|
+
| `--scenario` | `success`、`treasure-and-leave`、`death-and-stop` 或 `mechanism-tour` | `success` |
|
|
114
|
+
| `--lang` | `en` 或 `zh` | `en` |
|
|
115
|
+
| `--style` | 非负的确定性文案变化编号 | `0` |
|
|
116
|
+
| `--min-distance` | 入口到终点的最短距离下限 | `0` |
|
|
117
|
+
| `--max-attempts` | 确定性搜索次数上限 | `500` |
|
|
118
|
+
| `--format` | `text` 或 `json` | `text` |
|
|
119
|
+
| `--json` | `--format json` 的简写 | — |
|
|
120
|
+
|
|
121
|
+
查看完整命令帮助:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
npx maze-test --help
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 四种情境
|
|
128
|
+
|
|
129
|
+
- `success`:沿主路径行动,取得所需钥匙、打开阻断路径的门,并存活到达终点。
|
|
130
|
+
- `treasure-and-leave`:经过药品房和宝箱,到达终点后再次离开,并包含受阻移动。
|
|
131
|
+
- `death-and-stop`:以一点健康值进入陷阱并死亡,用后续行动检验死亡后状态不再变化的规则。
|
|
132
|
+
- `mechanism-tour`:访问全部生成对象,打开全部宝箱、触发全部陷阱、饮用全部药水并到达终点。
|
|
133
|
+
|
|
134
|
+
带回环的迷宫不一定拥有足够多不可绕行的门格。遇到这种情况时,根种子会驱动一次确定性搜索,找到后续第一个满足约束的迷宫种子。输出会同时报告请求种子和实际迷宫种子;只要输入参数相同,最终结果就始终相同。
|
|
135
|
+
|
|
136
|
+
## JSON 输出
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
npx maze-test question --seed 42 --lang zh --json
|
|
140
|
+
npx maze-test answer --seed 42 --lang zh --json
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
题目 JSON 包含本地化后的四部分题面,不包含答案。答案 JSON 包含结构化答案和格式化答案文本。
|
|
144
|
+
|
|
145
|
+
## TypeScript API
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
import {
|
|
149
|
+
generateAnswer,
|
|
150
|
+
generateQuestion,
|
|
151
|
+
generateTrial,
|
|
152
|
+
} from "maze-test";
|
|
153
|
+
|
|
154
|
+
const options = {
|
|
155
|
+
seed: 42,
|
|
156
|
+
rows: 15,
|
|
157
|
+
cols: 15,
|
|
158
|
+
complexity: "advanced" as const,
|
|
159
|
+
scenario: "mechanism-tour" as const,
|
|
160
|
+
language: "zh" as const,
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const question = generateQuestion(options);
|
|
164
|
+
const answer = generateAnswer(options);
|
|
165
|
+
|
|
166
|
+
// 包含迷宫、原子行动、模拟轨迹和结构化答案。
|
|
167
|
+
const trial = generateTrial(options);
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
包中还导出了底层迷宫生成器、校验器、字符画渲染器、坐标工具、最短路径函数和参照模拟器。
|
|
171
|
+
|
|
172
|
+
## 开发
|
|
173
|
+
|
|
174
|
+
```sh
|
|
175
|
+
pnpm install
|
|
176
|
+
pnpm check
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
构建结果同时包含 ESM、CommonJS、类型声明和 source map。
|
|
180
|
+
|
|
181
|
+
## 许可证
|
|
182
|
+
|
|
183
|
+
[MIT](./LICENSE) © ziioai
|
package/README.md
CHANGED
|
@@ -1,29 +1,195 @@
|
|
|
1
1
|
# maze-test
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Generate deterministic bilingual maze reasoning questions and matching answer keys from the command line or a TypeScript API.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[中文文档](./README-CN.md)
|
|
6
|
+
|
|
7
|
+
[](https://skills.sh/ziioai/maze-test)
|
|
8
|
+
|
|
9
|
+
The maze uses solid wall cells and open passage cells. Trials can include material-matched doors, keys and chests, typed treasures, variable-damage traps, healing and poison, antidotes, speed effects, movement-time accounting, and a fully reproducible action sequence.
|
|
10
|
+
|
|
11
|
+
## Built for evaluating LLM reasoning
|
|
12
|
+
|
|
13
|
+
`maze-test` is particularly well suited for testing the reasoning ability of large language models. Each trial combines several abilities in one reproducible task:
|
|
14
|
+
|
|
15
|
+
- **Spatial reasoning:** reconstruct and traverse a maze described entirely in text.
|
|
16
|
+
- **Long-horizon state tracking:** execute a potentially long sequence of atomic movements without losing the current position.
|
|
17
|
+
- **Rule application:** distinguish walls, open and closed doors, blocked moves, and post-death behavior.
|
|
18
|
+
- **Resource accounting:** distinguish copper, silver, and gold keys; open matching locks; and count coins, gems, and relics.
|
|
19
|
+
- **One-time event memory:** remember which keys, traps, chests, medicine rooms, and potions have already been used.
|
|
20
|
+
- **Temporal reasoning:** apply poison and speed effects over exact instruction windows, including blocked moves.
|
|
21
|
+
- **Counterfactual-resistant evaluation:** the question and answer are generated independently from the same explicit seed and parameters, making results easy to reproduce and audit.
|
|
22
|
+
- **Cross-lingual evaluation:** generate equivalent tasks in English or Chinese and vary their wording deterministically.
|
|
23
|
+
|
|
24
|
+
Difficulty can be controlled through maze size, braiding, object counts, scenario, path-length threshold, and wording style. Question output is separated from the answer key, while the reference simulator provides structured answers and a complete step trace through the TypeScript API.
|
|
25
|
+
|
|
26
|
+
A simple LLM evaluation protocol is:
|
|
27
|
+
|
|
28
|
+
1. Generate a question and record its seed and parameters.
|
|
29
|
+
2. Give only the question output to the model.
|
|
30
|
+
3. Require the model to return every field requested by that trial (advanced trials add material, treasure, time, and status fields).
|
|
31
|
+
4. Generate the answer key with exactly the same seed and parameters.
|
|
32
|
+
5. Score exact field accuracy, or inspect the simulator trace to locate the first reasoning error.
|
|
33
|
+
|
|
34
|
+
## Agent Skill
|
|
35
|
+
|
|
36
|
+
Install the `maze-test` Agent Skill from this repository:
|
|
6
37
|
|
|
7
38
|
```sh
|
|
8
|
-
|
|
9
|
-
pnpm dev
|
|
39
|
+
npx skills add ziioai/maze-test --skill maze-test
|
|
10
40
|
```
|
|
11
41
|
|
|
12
|
-
|
|
42
|
+
Install it specifically for Codex:
|
|
13
43
|
|
|
14
44
|
```sh
|
|
15
|
-
|
|
45
|
+
npx skills add ziioai/maze-test --skill maze-test --agent codex
|
|
16
46
|
```
|
|
17
47
|
|
|
18
|
-
The
|
|
48
|
+
The Skill guides an agent through leak-free question generation, response collection, reference-answer generation, exact field scoring, and reproducible result reporting.
|
|
49
|
+
|
|
50
|
+
## Quick start
|
|
51
|
+
|
|
52
|
+
Generate an English question:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
npx maze-test question --seed 42 --rows 15 --cols 15
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Generate its answer key using exactly the same seed and parameters:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
npx maze-test answer --seed 42 --rows 15 --cols 15
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Chinese output:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
npx maze-test question --seed 42 --lang zh
|
|
68
|
+
npx maze-test answer --seed 42 --lang zh
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Generate a trial that deliberately exercises every advanced mechanism:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
npx maze-test question --seed 42 --complexity advanced --scenario mechanism-tour
|
|
75
|
+
npx maze-test answer --seed 42 --complexity advanced --scenario mechanism-tour
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Mechanism complexity
|
|
79
|
+
|
|
80
|
+
- `basic` preserves the original rules: ordinary keys and locks, generic treasures, one-damage traps, and medicine rooms.
|
|
81
|
+
- `intermediate` adds variable trap damage, healing potions, poison, antidotes, and coin/gem/relic treasure types.
|
|
82
|
+
- `advanced` additionally adds copper/silver/gold keys and matching locks, haste and slow potions, and elapsed-time accounting.
|
|
83
|
+
|
|
84
|
+
The presets are deterministic and can be overridden with the list and duration options below. `mechanism-tour` visits every generated object and is useful when evaluating the complete configured rule set.
|
|
85
|
+
|
|
86
|
+
`question` is the default command, so this is also valid:
|
|
19
87
|
|
|
20
|
-
|
|
88
|
+
```sh
|
|
89
|
+
npx maze-test --seed 42
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Options
|
|
93
|
+
|
|
94
|
+
| Option | Description | Default |
|
|
95
|
+
|---|---|---:|
|
|
96
|
+
| `--seed` | Non-negative root seed | `1` |
|
|
97
|
+
| `--rows` | Odd row count, at least 7 | `15` |
|
|
98
|
+
| `--cols` | Odd column count, at least 7 | `15` |
|
|
99
|
+
| `--braid` | Probability from 0 to 1 of opening a dead end | `0` |
|
|
100
|
+
| `--complexity` | `basic`, `intermediate`, or `advanced` | `basic` |
|
|
101
|
+
| `--doors` | Number of doors and corresponding keys | preset |
|
|
102
|
+
| `--chests` | Number of treasure chests | preset |
|
|
103
|
+
| `--traps` | Number of traps | preset |
|
|
104
|
+
| `--potions` | Number of potion objects (`basic` renders these as medicine rooms) | preset |
|
|
105
|
+
| `--medicines` | Legacy alias for `--potions` | preset |
|
|
106
|
+
| `--trap-damage` | Comma-separated positive damage values | preset |
|
|
107
|
+
| `--potion-kinds` | Comma-separated `healing,poison,antidote,haste,slow` subset | preset |
|
|
108
|
+
| `--key-materials` | Comma-separated `copper,silver,gold` subset | preset |
|
|
109
|
+
| `--treasure-types` | Comma-separated `treasure,coin,gem,relic` subset | preset |
|
|
110
|
+
| `--poison-damage` | Health lost per poison tick | `1` |
|
|
111
|
+
| `--poison-duration` | Number of later atomic instructions affected | `3` |
|
|
112
|
+
| `--speed-duration` | Number of later atomic instructions affected | `4` |
|
|
113
|
+
| `--scenario` | `success`, `treasure-and-leave`, `death-and-stop`, or `mechanism-tour` | `success` |
|
|
114
|
+
| `--lang` | `en` or `zh` | `en` |
|
|
115
|
+
| `--style` | Non-negative deterministic wording variation | `0` |
|
|
116
|
+
| `--min-distance` | Minimum entry-to-goal distance | `0` |
|
|
117
|
+
| `--max-attempts` | Deterministic search limit | `500` |
|
|
118
|
+
| `--format` | `text` or `json` | `text` |
|
|
119
|
+
| `--json` | Alias for `--format json` | — |
|
|
120
|
+
|
|
121
|
+
See all options with:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
npx maze-test --help
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Scenarios
|
|
128
|
+
|
|
129
|
+
- `success`: follows the main path, collects required keys, opens the gating doors, and reaches the goal alive.
|
|
130
|
+
- `treasure-and-leave`: visits a medicine room and a chest, reaches the goal, leaves it again, and includes blocked moves.
|
|
131
|
+
- `death-and-stop`: reaches a trap with one health point, dies, and demonstrates that later actions no longer change state.
|
|
132
|
+
- `mechanism-tour`: visits all generated objects, opens every chest, triggers every trap, drinks every potion, and reaches the goal.
|
|
133
|
+
|
|
134
|
+
Some braided mazes cannot support the requested number of non-bypassable doors. In that case, the root seed drives a deterministic search for the next valid maze seed. Both the requested seed and effective maze seed are reported, and identical inputs always produce identical output.
|
|
135
|
+
|
|
136
|
+
## JSON output
|
|
21
137
|
|
|
22
138
|
```sh
|
|
23
|
-
|
|
139
|
+
npx maze-test question --seed 42 --json
|
|
140
|
+
npx maze-test answer --seed 42 --json
|
|
24
141
|
```
|
|
25
142
|
|
|
26
|
-
|
|
143
|
+
Question JSON contains the localized question sections but no answer. Answer JSON contains the structured answer values and formatted answer key.
|
|
144
|
+
|
|
145
|
+
## TypeScript API
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
import {
|
|
149
|
+
generateAnswer,
|
|
150
|
+
generateQuestion,
|
|
151
|
+
generateTrial,
|
|
152
|
+
} from "maze-test";
|
|
153
|
+
|
|
154
|
+
const options = {
|
|
155
|
+
seed: 42,
|
|
156
|
+
rows: 15,
|
|
157
|
+
cols: 15,
|
|
158
|
+
complexity: "advanced" as const,
|
|
159
|
+
scenario: "mechanism-tour" as const,
|
|
160
|
+
language: "en" as const,
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const question = generateQuestion(options);
|
|
164
|
+
const answer = generateAnswer(options);
|
|
165
|
+
|
|
166
|
+
// Includes the maze, atomic actions, simulation trace, and structured answers.
|
|
167
|
+
const trial = generateTrial(options);
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
The lower-level maze generator, validator, renderer, coordinate helpers, shortest-path function, and reference simulator are also exported.
|
|
171
|
+
|
|
172
|
+
## 中文说明
|
|
173
|
+
|
|
174
|
+
该工具根据种子与参数生成可复现的迷宫推理试题。题面与答案应分别使用完全相同的参数生成:
|
|
175
|
+
|
|
176
|
+
```sh
|
|
177
|
+
npx maze-test question --seed 42 --rows 15 --cols 15 --lang zh
|
|
178
|
+
npx maze-test answer --seed 42 --rows 15 --cols 15 --lang zh
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
迷宫由实心墙格和空心通路格组成,并支持金银铜钥匙与锁、不同宝物、不同伤害陷阱、治疗与毒药、解毒药、加减速和耗时核算。默认语言为英文,`--lang zh` 切换为中文。
|
|
182
|
+
|
|
183
|
+
由于题目能够稳定复现,同时综合考察空间推理、长程状态跟踪、规则执行、资源消耗和一次性事件记忆,本工具特别适合测试大语言模型的推理能力。完整中文说明见 [README-CN.md](./README-CN.md)。
|
|
184
|
+
|
|
185
|
+
## Development
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
pnpm install
|
|
189
|
+
pnpm check
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The build emits ESM, CommonJS, type declarations, and source maps to `dist/`.
|
|
27
193
|
|
|
28
194
|
## License
|
|
29
195
|
|