@wnlen/agent-execution-template 0.8.14
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/LICENSE +21 -0
- package/README.md +440 -0
- package/README.zh-CN.md +447 -0
- package/bin/agent-execution-template.js +792 -0
- package/docs/SPEC.md +1039 -0
- package/docs/token-efficient-protocol-v0.1.md +101 -0
- package/package.json +35 -0
- package/template/en/ai/README.md +130 -0
- package/template/en/ai/project/archive/.gitkeep +0 -0
- package/template/en/ai/project/inbox/.gitkeep +1 -0
- package/template/en/ai/project/inbox/ideas/.gitkeep +1 -0
- package/template/en/ai/project/inbox/processed/.gitkeep +0 -0
- package/template/en/ai/project/inbox/raw/.gitkeep +1 -0
- package/template/en/ai/project/metrics.json +20 -0
- package/template/en/ai/project/project.md +42 -0
- package/template/en/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
- package/template/en/ai/project/proposals/final-shape-updates/_template.md +64 -0
- package/template/en/ai/project/refs/architecture.md +23 -0
- package/template/en/ai/project/refs/commands.md +43 -0
- package/template/en/ai/project/refs/constraints.md +24 -0
- package/template/en/ai/project/refs/decisions.md +13 -0
- package/template/en/ai/project/refs/final-shape.md +59 -0
- package/template/en/ai/project/refs/module-map.md +31 -0
- package/template/en/ai/project/refs/roadmap.md +31 -0
- package/template/en/ai/project/result.json +34 -0
- package/template/en/ai/project/result.md +32 -0
- package/template/en/ai/project/runtime.md +74 -0
- package/template/en/ai/project/task.md +110 -0
- package/template/en/ai/template/LANG +1 -0
- package/template/en/ai/template/VERSION +1 -0
- package/template/en/ai/template/bootstrap.md +194 -0
- package/template/en/ai/template/prompt.md +118 -0
- package/template/en/ai/template/protocol.md +332 -0
- package/template/en/ai/template/reconcile.md +140 -0
- package/template/en/ai/template/rules/core.md +197 -0
- package/template/en/ai/template/rules/output.md +51 -0
- package/template/en/ai/template/schemas/metrics.schema.json +119 -0
- package/template/en/ai/template/schemas/result.schema.json +234 -0
- package/template/zh/ai/README.md +129 -0
- package/template/zh/ai/project/archive/.gitkeep +0 -0
- package/template/zh/ai/project/inbox/.gitkeep +1 -0
- package/template/zh/ai/project/inbox/ideas/.gitkeep +1 -0
- package/template/zh/ai/project/inbox/processed/.gitkeep +0 -0
- package/template/zh/ai/project/inbox/raw/.gitkeep +1 -0
- package/template/zh/ai/project/metrics.json +20 -0
- package/template/zh/ai/project/project.md +42 -0
- package/template/zh/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
- package/template/zh/ai/project/proposals/final-shape-updates/_template.md +64 -0
- package/template/zh/ai/project/refs/architecture.md +23 -0
- package/template/zh/ai/project/refs/commands.md +43 -0
- package/template/zh/ai/project/refs/constraints.md +24 -0
- package/template/zh/ai/project/refs/decisions.md +13 -0
- package/template/zh/ai/project/refs/final-shape.md +54 -0
- package/template/zh/ai/project/refs/module-map.md +30 -0
- package/template/zh/ai/project/refs/roadmap.md +29 -0
- package/template/zh/ai/project/result.json +34 -0
- package/template/zh/ai/project/result.md +32 -0
- package/template/zh/ai/project/runtime.md +74 -0
- package/template/zh/ai/project/task.md +106 -0
- package/template/zh/ai/template/LANG +1 -0
- package/template/zh/ai/template/VERSION +1 -0
- package/template/zh/ai/template/bootstrap.md +180 -0
- package/template/zh/ai/template/prompt.md +104 -0
- package/template/zh/ai/template/protocol.md +300 -0
- package/template/zh/ai/template/reconcile.md +134 -0
- package/template/zh/ai/template/rules/core.md +174 -0
- package/template/zh/ai/template/rules/output.md +51 -0
- package/template/zh/ai/template/schemas/metrics.schema.json +119 -0
- package/template/zh/ai/template/schemas/result.schema.json +234 -0
- package/test/selftest.js +280 -0
package/docs/SPEC.md
ADDED
|
@@ -0,0 +1,1039 @@
|
|
|
1
|
+
# Agent Execution Template Specification
|
|
2
|
+
|
|
3
|
+
Current protocol: v0.8
|
|
4
|
+
|
|
5
|
+
## 1. 项目名称
|
|
6
|
+
|
|
7
|
+
**Agent Execution Template**
|
|
8
|
+
|
|
9
|
+
## 2. 一句话定位
|
|
10
|
+
|
|
11
|
+
**Agent Execution Template 是一个 30 秒可安装、可升级、保护用户项目现场的 AI Coding Agent 执行协议模板。**
|
|
12
|
+
|
|
13
|
+
它把 AI 编程从“聊天式执行”变成:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx 安装协议 -> AI 整理项目上下文 -> 人类确认 -> AI 生成任务契约 -> 人类确认 -> AI 按协议执行 -> 结果落盘
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
当前版本的核心不是做一个新的 Agent,也不是做复杂调度系统,而是给 Codex、Claude Code、Cursor、Aider 等 AI Coding Agent 提供同一套项目内执行协议。
|
|
20
|
+
|
|
21
|
+
## 3. 当前版本
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Protocol: v0.8
|
|
25
|
+
Package: @wnlen/agent-execution-template@0.8.14
|
|
26
|
+
中文安装: npx -y @wnlen/agent-execution-template init
|
|
27
|
+
英文安装: npx -y @wnlen/agent-execution-template init --lang en
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
当前 v0.8 已经具备:
|
|
31
|
+
|
|
32
|
+
- npm `bin` 入口;
|
|
33
|
+
- `init` / `next` / `refresh` / `improve-context` / `update` / `reconcile` / `strategy` / `doctor` 命令;
|
|
34
|
+
- `init --lang zh|en` 双语安装入口,默认中文;
|
|
35
|
+
- `template/project` 双区结构;
|
|
36
|
+
- 保护 `ai/project/**` 不被升级覆盖;
|
|
37
|
+
- 模板版本文件 `ai/template/VERSION`;
|
|
38
|
+
- 引导模式:通过 `ai/template/bootstrap.md` 从受控范围内的项目文档、manifest 和必要代码生成 `project.md` / refs 草稿;
|
|
39
|
+
- 上下文整合模式:通过 `ai/template/reconcile.md` 将 `ai/project/inbox/` 或 `docs/**` 中的新权威资料合并进既有上下文;
|
|
40
|
+
- 项目方向层:通过 `final-shape.md`、`module-map.md`、`roadmap.md` 保存北极星、模块地图和路线图;
|
|
41
|
+
- 策略修订门禁:通过 `strategy_update` proposal 和 `apply_strategy_update` 防止普通执行任务直接改项目宪法;
|
|
42
|
+
- 自测脚本 `npm test`;
|
|
43
|
+
- `result.json` / `result.md` / `metrics.json` 执行结果记录。
|
|
44
|
+
|
|
45
|
+
## 4. 解决的问题
|
|
46
|
+
|
|
47
|
+
Agent Execution Template 主要解决十类问题:
|
|
48
|
+
|
|
49
|
+
1. 每次都要重复向 AI 解释项目背景。
|
|
50
|
+
2. 任务边界容易漂移,AI 做多、改多、跑多。
|
|
51
|
+
3. AI 在需求不清、权限不明、风险过高时仍然强行执行。
|
|
52
|
+
4. AI 修改了代码但没有验证,却声称成功。
|
|
53
|
+
5. 执行过程没有稳定记录,结果散落在聊天历史里。
|
|
54
|
+
6. 模板升级容易覆盖用户项目上下文。
|
|
55
|
+
7. 用户不知道模板是否安装完整。
|
|
56
|
+
8. 便宜模型和强模型没有明确分工规则。
|
|
57
|
+
9. 直接影响执行精度的 `project.md` / `task.md` 仍然依赖人手写。
|
|
58
|
+
10. AI 能稳定执行任务,但缺少判断任务为什么值得做、项目下一步往哪里生长的方向层。
|
|
59
|
+
|
|
60
|
+
最终目标是:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
减少人类输入量和交互频率,同时让 AI 任务越来越精准、可验收、可复盘。
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 5. 非目标
|
|
67
|
+
|
|
68
|
+
Agent Execution Template 不是:
|
|
69
|
+
|
|
70
|
+
- AI IDE;
|
|
71
|
+
- Agent 平台;
|
|
72
|
+
- 多 Agent 调度器;
|
|
73
|
+
- 任务队列系统;
|
|
74
|
+
- 云服务;
|
|
75
|
+
- Prompt Collection;
|
|
76
|
+
- Codex / Claude Code / Cursor / Aider 的替代品。
|
|
77
|
+
|
|
78
|
+
它是更底层的东西:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
AI Coding Agent 在项目里工作的文件协议和安全边界。
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 6. 安装与日常使用
|
|
85
|
+
|
|
86
|
+
在任意项目根目录执行:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npx -y @wnlen/agent-execution-template init
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
默认安装中文模板。英文模板使用:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx -y @wnlen/agent-execution-template init --lang en
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
然后让 AI Agent 先整理项目上下文:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
开始初始化这个项目
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
AI 会在聊天里给出项目上下文摘要、需要确认的问题和建议下一步,对应文件是:
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
ai/project/project.md
|
|
108
|
+
ai/project/refs/*
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
之后人类回复修正意见,或说:
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
继续推进这个项目
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
AI 会根据当前现场判断下一步,必要时生成并等待确认:
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
ai/project/task.md
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
确认后启动 AI Agent 执行:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
继续推进这个项目
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
如果后续出现更权威的新资料,先放入:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
ai/project/inbox/
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
再执行上下文整合:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
整合 ai/project/inbox/ 里的新资料
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
整合会先输出计划,等人类确认后再更新 `project.md`、`runtime.md` 和 `refs/*`。
|
|
142
|
+
|
|
143
|
+
执行完成后查看:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
ai/project/result.md
|
|
147
|
+
ai/project/result.json
|
|
148
|
+
ai/project/metrics.json
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
检查安装状态:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npx -y @wnlen/agent-execution-template doctor
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
升级模板协议:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npx -y @wnlen/agent-execution-template update
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
`update` 默认沿用已安装语言,也可以显式指定:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
npx -y @wnlen/agent-execution-template update --lang en
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
查看方向修订入口:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
npx -y @wnlen/agent-execution-template strategy
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## 7. 安装后的目录结构
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
ai/
|
|
179
|
+
README.md
|
|
180
|
+
|
|
181
|
+
template/
|
|
182
|
+
VERSION
|
|
183
|
+
bootstrap.md
|
|
184
|
+
prompt.md
|
|
185
|
+
reconcile.md
|
|
186
|
+
protocol.md
|
|
187
|
+
rules/
|
|
188
|
+
core.md
|
|
189
|
+
output.md
|
|
190
|
+
schemas/
|
|
191
|
+
result.schema.json
|
|
192
|
+
metrics.schema.json
|
|
193
|
+
|
|
194
|
+
project/
|
|
195
|
+
project.md
|
|
196
|
+
runtime.md
|
|
197
|
+
task.md
|
|
198
|
+
result.json
|
|
199
|
+
result.md
|
|
200
|
+
metrics.json
|
|
201
|
+
inbox/
|
|
202
|
+
ideas/
|
|
203
|
+
raw/
|
|
204
|
+
proposals/
|
|
205
|
+
final-shape-updates/
|
|
206
|
+
refs/
|
|
207
|
+
final-shape.md
|
|
208
|
+
module-map.md
|
|
209
|
+
roadmap.md
|
|
210
|
+
archive/
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
核心语义:
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
ai/template/ = 模板协议区
|
|
217
|
+
ai/project/ = 项目现场区
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
更直白地说:
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
template 是协议。
|
|
224
|
+
project 是现场。
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## 8. template 区与 project 区
|
|
228
|
+
|
|
229
|
+
### 8.1 `ai/template/`
|
|
230
|
+
|
|
231
|
+
`ai/template/` 是可复用协议区。
|
|
232
|
+
|
|
233
|
+
特点:
|
|
234
|
+
|
|
235
|
+
- 可以由 `update` 覆盖;
|
|
236
|
+
- 可以从模板仓库升级;
|
|
237
|
+
- 可以回流模板仓库;
|
|
238
|
+
- 不包含具体项目业务信息;
|
|
239
|
+
- 只放通用执行协议。
|
|
240
|
+
|
|
241
|
+
包含:
|
|
242
|
+
|
|
243
|
+
```text
|
|
244
|
+
ai/template/VERSION
|
|
245
|
+
ai/template/bootstrap.md
|
|
246
|
+
ai/template/prompt.md
|
|
247
|
+
ai/template/reconcile.md
|
|
248
|
+
ai/template/protocol.md
|
|
249
|
+
ai/template/rules/core.md
|
|
250
|
+
ai/template/rules/output.md
|
|
251
|
+
ai/template/schemas/result.schema.json
|
|
252
|
+
ai/template/schemas/metrics.schema.json
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### 8.2 `ai/project/`
|
|
256
|
+
|
|
257
|
+
`ai/project/` 是项目现场区。
|
|
258
|
+
|
|
259
|
+
特点:
|
|
260
|
+
|
|
261
|
+
- 用户专属;
|
|
262
|
+
- 不允许 `update` 覆盖;
|
|
263
|
+
- 不应该回流模板仓库;
|
|
264
|
+
- 存放当前项目上下文、任务、结果和参考资料。
|
|
265
|
+
|
|
266
|
+
包含:
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
ai/project/project.md
|
|
270
|
+
ai/project/runtime.md
|
|
271
|
+
ai/project/task.md
|
|
272
|
+
ai/project/result.json
|
|
273
|
+
ai/project/result.md
|
|
274
|
+
ai/project/metrics.json
|
|
275
|
+
ai/project/inbox/
|
|
276
|
+
ai/project/inbox/ideas/
|
|
277
|
+
ai/project/inbox/processed/
|
|
278
|
+
ai/project/inbox/raw/
|
|
279
|
+
ai/project/proposals/final-shape-updates/
|
|
280
|
+
ai/project/proposals/final-shape-updates/_template.md
|
|
281
|
+
ai/project/refs/
|
|
282
|
+
ai/project/refs/final-shape.md
|
|
283
|
+
ai/project/refs/module-map.md
|
|
284
|
+
ai/project/refs/roadmap.md
|
|
285
|
+
ai/project/archive/
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## 9. CLI 命令
|
|
289
|
+
|
|
290
|
+
### 9.1 `init`
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
npx -y @wnlen/agent-execution-template init
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
作用:
|
|
297
|
+
|
|
298
|
+
- 在当前项目生成 `ai/` 目录;
|
|
299
|
+
- 创建缺失的 `ai/project/**` 文件;
|
|
300
|
+
- 不覆盖已有 `ai/project/**`;
|
|
301
|
+
- 安装或覆盖 `ai/template/**`;
|
|
302
|
+
- 支持 `--lang zh|en`,默认中文;
|
|
303
|
+
- 输出下一步使用说明。
|
|
304
|
+
|
|
305
|
+
安全原则:
|
|
306
|
+
|
|
307
|
+
```text
|
|
308
|
+
init 可以安装模板协议,但不能覆盖用户现场。
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### 9.2 `update`
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
npx -y @wnlen/agent-execution-template update
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
作用:
|
|
318
|
+
|
|
319
|
+
- 只更新 `ai/template/**`;
|
|
320
|
+
- 绝不修改 `ai/project/**`;
|
|
321
|
+
- 默认沿用 `ai/template/LANG` 中记录的已安装语言;
|
|
322
|
+
- 输出更新文件列表和模板版本。
|
|
323
|
+
|
|
324
|
+
安全原则:
|
|
325
|
+
|
|
326
|
+
```text
|
|
327
|
+
update 只升级协议,不碰现场。
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### 9.3 `next`
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
npx -y @wnlen/agent-execution-template next
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
作用:
|
|
337
|
+
|
|
338
|
+
- 当前项目尚未安装时,提示先运行 `init`;
|
|
339
|
+
- `ai/project/inbox/` 有待吸收资料时,提示上下文整合入口;
|
|
340
|
+
- `ai/project/inbox/ideas/` 有待评估灵感时,提示方向修订提案入口;
|
|
341
|
+
- 存在待确认方向提案时,提示人类审查和确认;
|
|
342
|
+
- 没有待处理输入时,提示继续推进项目。
|
|
343
|
+
|
|
344
|
+
安全原则:
|
|
345
|
+
|
|
346
|
+
```text
|
|
347
|
+
next 只判断和提示下一步,不修改项目文件。
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### 9.4 `refresh`
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
npx -y @wnlen/agent-execution-template refresh
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
作用:
|
|
357
|
+
|
|
358
|
+
- 将旧 `ai/project/**` 改名备份为 `ai/project.backup.<timestamp>`;
|
|
359
|
+
- 生成新的 `ai/project/**`;
|
|
360
|
+
- 将旧上下文复制到 `ai/project/inbox/raw/old-project/`;
|
|
361
|
+
- 输出下一句要交给 AI 的整理指令。
|
|
362
|
+
|
|
363
|
+
安全原则:
|
|
364
|
+
|
|
365
|
+
```text
|
|
366
|
+
refresh 可以重建项目上下文,但必须先备份旧现场。
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
`improve-context` 是 `refresh` 的用户语义别名:
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
npx -y @wnlen/agent-execution-template improve-context
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### 9.5 `doctor`
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
npx -y @wnlen/agent-execution-template doctor
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
作用:
|
|
382
|
+
|
|
383
|
+
- 输出当前模板版本;
|
|
384
|
+
- 检查必需文件是否存在;
|
|
385
|
+
- 对空的项目文件给出警告;
|
|
386
|
+
- 输出是否 ready。
|
|
387
|
+
|
|
388
|
+
示例输出:
|
|
389
|
+
|
|
390
|
+
```text
|
|
391
|
+
Agent Execution Template 检查
|
|
392
|
+
|
|
393
|
+
模板版本: 0.8.14
|
|
394
|
+
模板语言: zh
|
|
395
|
+
|
|
396
|
+
[通过] ai/template/LANG
|
|
397
|
+
[通过] ai/template/VERSION
|
|
398
|
+
[通过] ai/template/bootstrap.md
|
|
399
|
+
[通过] ai/template/prompt.md
|
|
400
|
+
[通过] ai/template/reconcile.md
|
|
401
|
+
[通过] ai/template/protocol.md
|
|
402
|
+
[通过] ai/template/rules/core.md
|
|
403
|
+
[通过] ai/template/rules/output.md
|
|
404
|
+
[通过] ai/project/inbox/.gitkeep
|
|
405
|
+
[通过] ai/project/project.md
|
|
406
|
+
[通过] ai/project/runtime.md
|
|
407
|
+
[通过] ai/project/task.md
|
|
408
|
+
[通过] ai/project/result.json
|
|
409
|
+
[通过] ai/project/result.md
|
|
410
|
+
[通过] ai/project/metrics.json
|
|
411
|
+
|
|
412
|
+
[通过] 已就绪
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### 9.5 `strategy`
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
npx -y @wnlen/agent-execution-template strategy
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
作用:
|
|
422
|
+
|
|
423
|
+
- 打印方向修订的最短操作说明;
|
|
424
|
+
- 指示用户把新方向灵感放到 `ai/project/inbox/ideas/`;
|
|
425
|
+
- 指示 AI 生成 `strategy_update` 提案;
|
|
426
|
+
- 提醒人类确认后再执行 `apply_strategy_update`。
|
|
427
|
+
|
|
428
|
+
### 9.6 `reconcile`
|
|
429
|
+
|
|
430
|
+
```bash
|
|
431
|
+
npx -y @wnlen/agent-execution-template reconcile
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
作用:
|
|
435
|
+
|
|
436
|
+
- 打印上下文整合的最短操作说明;
|
|
437
|
+
- 指示用户把新的业务、产品、架构或流程资料放到 `ai/project/inbox/`;
|
|
438
|
+
- 指示 AI 先输出整合计划,等待确认后再更新长期上下文。
|
|
439
|
+
|
|
440
|
+
## 10. 启动入口
|
|
441
|
+
|
|
442
|
+
面向用户的项目上下文启动入口是:
|
|
443
|
+
|
|
444
|
+
```text
|
|
445
|
+
开始初始化这个项目
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
面向用户的任务执行入口是:
|
|
449
|
+
|
|
450
|
+
```text
|
|
451
|
+
继续推进这个项目
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
面向用户的上下文整合入口是:
|
|
455
|
+
|
|
456
|
+
```text
|
|
457
|
+
整合 ai/project/inbox/ 里的新资料
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
面向用户的方向修订入口可以是:
|
|
461
|
+
|
|
462
|
+
```text
|
|
463
|
+
把 ai/project/inbox/ideas/ 里的新灵感生成方向修订提案
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
内部协议入口分别由 `ai/template/bootstrap.md`、`ai/template/prompt.md` 和
|
|
467
|
+
`ai/template/reconcile.md` 承载,用户不需要记忆这些文件名。
|
|
468
|
+
|
|
469
|
+
执行入口固定要求 AI Agent 先读:
|
|
470
|
+
|
|
471
|
+
```text
|
|
472
|
+
1. ai/template/protocol.md
|
|
473
|
+
2. ai/template/rules/core.md
|
|
474
|
+
3. ai/project/project.md
|
|
475
|
+
4. ai/project/runtime.md
|
|
476
|
+
5. ai/project/task.md
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
然后执行当前任务,并写入:
|
|
480
|
+
|
|
481
|
+
```text
|
|
482
|
+
ai/project/result.json
|
|
483
|
+
ai/project/result.md
|
|
484
|
+
ai/project/metrics.json
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
## 11. 执行闭环
|
|
488
|
+
|
|
489
|
+
当前协议的执行闭环是:
|
|
490
|
+
|
|
491
|
+
```text
|
|
492
|
+
项目引导 -> 项目确认 -> 方向修订提案可选 -> 任务草稿 -> 任务确认 -> 计划 -> 执行 -> 复核 -> 结果
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
更具体地说:
|
|
496
|
+
|
|
497
|
+
```text
|
|
498
|
+
读取模板协议
|
|
499
|
+
→ 如项目上下文不完整,读取 bootstrap.md 进入引导模式
|
|
500
|
+
→ 按受控范围读取项目文档和 manifest
|
|
501
|
+
→ 文档不足时从业务代码做有边界推断
|
|
502
|
+
→ 生成 project.md / refs 草稿
|
|
503
|
+
→ 人类确认
|
|
504
|
+
→ 基于一句话任务生成 task.md 草稿
|
|
505
|
+
→ 人类确认任务契约
|
|
506
|
+
→ 读取项目背景
|
|
507
|
+
→ 读取当前任务
|
|
508
|
+
→ 检查任务是否可执行
|
|
509
|
+
→ 检查风险是否可接受
|
|
510
|
+
→ 检查模型分工策略
|
|
511
|
+
→ 按需读取 refs
|
|
512
|
+
→ 在授权边界内执行
|
|
513
|
+
→ 尽可能验证
|
|
514
|
+
→ 写回 result / metrics
|
|
515
|
+
→ 必要时建议 runtime 更新
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
如果当前目标会改变项目最终形态、模块边界或路线图,必须先进入策略修订:
|
|
519
|
+
|
|
520
|
+
```text
|
|
521
|
+
灵感进入 ai/project/inbox/ideas/
|
|
522
|
+
→ strategy_update 读取 final-shape / module-map / roadmap / decisions / constraints
|
|
523
|
+
→ 输出 ai/project/proposals/final-shape-updates/YYYYMMDD-topic.md
|
|
524
|
+
→ 人类确认
|
|
525
|
+
→ apply_strategy_update 合并进正式方向文件
|
|
526
|
+
→ 再生成或执行具体 task.md
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
## 12. Bootstrap 与人类参与边界
|
|
530
|
+
|
|
531
|
+
普通用户通常只需要提供意图并确认两个文件:
|
|
532
|
+
|
|
533
|
+
```text
|
|
534
|
+
ai/project/project.md
|
|
535
|
+
ai/project/task.md
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
AI 在引导模式中负责先生成项目上下文草稿。默认读取范围包括:
|
|
539
|
+
|
|
540
|
+
- 根目录文档:`README*`、`AGENTS.md`、`CLAUDE.md`、`CONTRIBUTING*`、`CHANGELOG*`;
|
|
541
|
+
- package/build manifest:`package.json`、`pyproject.toml`、`Cargo.toml`、`go.mod`、`pom.xml`、`build.gradle*`、`Makefile`;
|
|
542
|
+
- 项目文档:`docs/**`,优先 overview、architecture、setup、testing、deployment、API、ADR、decision;
|
|
543
|
+
- 已有 AI refs:`ai/project/refs/*.md`;
|
|
544
|
+
- source / test / config / docs 的浅层目录结构。
|
|
545
|
+
|
|
546
|
+
如果文档和 manifest 不足,允许从业务代码做有边界推断:
|
|
547
|
+
|
|
548
|
+
- 先看顶层目录和文件名;
|
|
549
|
+
- 再看 `src/`、`app/`、`lib/`、`packages/`、`services/`、`cmd/`、`internal/`、`server/`、`client/`、`test/`、`tests/` 等入口;
|
|
550
|
+
- 只读取足够识别项目用途、模块边界、命令和约束的代码;
|
|
551
|
+
- 未经人类授权不全量扫描代码库。
|
|
552
|
+
|
|
553
|
+
默认不读取:
|
|
554
|
+
|
|
555
|
+
- `node_modules`、`vendor`、`.venv` 等依赖目录;
|
|
556
|
+
- `dist`、`build`、`target`、`coverage` 等生成目录;
|
|
557
|
+
- 除判断包管理器外的 lockfile;
|
|
558
|
+
- `.env*` 等 secrets / environment 文件;
|
|
559
|
+
- 未被用户明确引用的 archive/history 目录。
|
|
560
|
+
|
|
561
|
+
人类负责:
|
|
562
|
+
|
|
563
|
+
- 当前目标;
|
|
564
|
+
- 范围边界;
|
|
565
|
+
- 权限授权;
|
|
566
|
+
- 验收标准;
|
|
567
|
+
- 高风险决策;
|
|
568
|
+
- 确认 `project.md` / refs 草稿;
|
|
569
|
+
- 确认 `task.md` 草稿;
|
|
570
|
+
- 最终验收。
|
|
571
|
+
|
|
572
|
+
AI 负责:
|
|
573
|
+
|
|
574
|
+
- 读取协议;
|
|
575
|
+
- 从受控范围内读取项目文档和 manifest;
|
|
576
|
+
- 文档不足时从业务代码做有边界推断;
|
|
577
|
+
- 生成 `project.md` / refs 草稿;
|
|
578
|
+
- 基于当前目标生成 `task.md` 草稿;
|
|
579
|
+
- 补全可推断细节;
|
|
580
|
+
- 判断任务是否可执行;
|
|
581
|
+
- 判断是否需要阻断或升级;
|
|
582
|
+
- 执行任务;
|
|
583
|
+
- 验证结果;
|
|
584
|
+
- 写回结构化结果。
|
|
585
|
+
|
|
586
|
+
核心目标是:
|
|
587
|
+
|
|
588
|
+
```text
|
|
589
|
+
人类少输入,AI 多整理;但 scope、risk、permission、acceptance 不乱猜。
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
引导模式不仅要生成项目身份,也要在有证据时初始化方向层:
|
|
593
|
+
|
|
594
|
+
```text
|
|
595
|
+
ai/project/refs/final-shape.md
|
|
596
|
+
ai/project/refs/module-map.md
|
|
597
|
+
ai/project/refs/roadmap.md
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
如果现有资料不足以判断最终形态、模块地图或路线图,必须写 `Unknown` 或保留占位,
|
|
601
|
+
不能为了填满文档而编造愿景。
|
|
602
|
+
|
|
603
|
+
## 13. 任务文件 `task.md`
|
|
604
|
+
|
|
605
|
+
`ai/project/task.md` 是当前任务契约。
|
|
606
|
+
|
|
607
|
+
它应包含:
|
|
608
|
+
|
|
609
|
+
- task id;
|
|
610
|
+
- 任务类型;
|
|
611
|
+
- 优先级;
|
|
612
|
+
- 风险等级;
|
|
613
|
+
- 模型分工策略;
|
|
614
|
+
- refs 要求;
|
|
615
|
+
- 修改权限;
|
|
616
|
+
- 命令权限;
|
|
617
|
+
- 目标;
|
|
618
|
+
- 范围;
|
|
619
|
+
- 约束;
|
|
620
|
+
- 验收标准;
|
|
621
|
+
- stop conditions。
|
|
622
|
+
|
|
623
|
+
任务类型允许包含:
|
|
624
|
+
|
|
625
|
+
```text
|
|
626
|
+
bugfix
|
|
627
|
+
feature
|
|
628
|
+
refactor
|
|
629
|
+
docs
|
|
630
|
+
config
|
|
631
|
+
test
|
|
632
|
+
research
|
|
633
|
+
strategy_update
|
|
634
|
+
apply_strategy_update
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
其中 `strategy_update` 只生成方向修订提案,不写代码;`apply_strategy_update`
|
|
638
|
+
只应用已确认提案,不顺手扩展新方向。
|
|
639
|
+
|
|
640
|
+
原则:
|
|
641
|
+
|
|
642
|
+
```text
|
|
643
|
+
任务不清楚,不执行。
|
|
644
|
+
验收不可验证,不声明成功。
|
|
645
|
+
权限不允许,不越界修改。
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
## 14. 模型分工协议
|
|
649
|
+
|
|
650
|
+
模型分工写在:
|
|
651
|
+
|
|
652
|
+
```text
|
|
653
|
+
ai/project/task.md.model_policy
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
核心原则:
|
|
657
|
+
|
|
658
|
+
```text
|
|
659
|
+
Default cheap. Escalate for judgment. Record why.
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
推荐分工:
|
|
663
|
+
|
|
664
|
+
- `cheap`:读文件、整理上下文、补全任务、草稿、小范围修改、跑检查、写结果。
|
|
665
|
+
- `standard`:中等复杂度实现、跨模块修改、复杂测试修复。
|
|
666
|
+
- `strong`:规划、风险判断、架构审查、失败复盘、验收争议。
|
|
667
|
+
|
|
668
|
+
强模型不应该默认全程执行。强模型只在关键判断点介入。
|
|
669
|
+
|
|
670
|
+
如果宿主工具不能自动切换模型,AI 应该:
|
|
671
|
+
|
|
672
|
+
- 标记 `partial` 或 `blocked`;
|
|
673
|
+
- 写明需要的 strong model role;
|
|
674
|
+
- 记录到 `ai/project/metrics.json`。
|
|
675
|
+
|
|
676
|
+
## 15. 风险门禁
|
|
677
|
+
|
|
678
|
+
任务涉及以下内容时必须谨慎:
|
|
679
|
+
|
|
680
|
+
- 数据迁移;
|
|
681
|
+
- 认证 / 授权;
|
|
682
|
+
- 支付 / 短信 / 外部回调;
|
|
683
|
+
- 公共 API;
|
|
684
|
+
- 生产部署;
|
|
685
|
+
- 大范围重构;
|
|
686
|
+
- 不可逆操作。
|
|
687
|
+
|
|
688
|
+
如果风险高且 `task.md` 未明确授权,AI 必须停止并写 blocked 结果。
|
|
689
|
+
|
|
690
|
+
## 16. refs 延迟加载
|
|
691
|
+
|
|
692
|
+
`ai/project/refs/` 存放按需读取的详细资料。
|
|
693
|
+
|
|
694
|
+
默认不全量读取。
|
|
695
|
+
|
|
696
|
+
推荐路由:
|
|
697
|
+
|
|
698
|
+
```text
|
|
699
|
+
最终形态 / 北极星 / 任务价值判断 -> ai/project/refs/final-shape.md
|
|
700
|
+
当前模块结构 / 边界 / 依赖方向 -> ai/project/refs/module-map.md
|
|
701
|
+
阶段目标 / 近期路线 / 暂缓事项 -> ai/project/refs/roadmap.md
|
|
702
|
+
架构 / API / 模块边界 -> ai/project/refs/architecture.md
|
|
703
|
+
历史决策 -> ai/project/refs/decisions.md
|
|
704
|
+
安全 / 兼容 / 性能 / 数据 -> ai/project/refs/constraints.md
|
|
705
|
+
构建 / 测试 / 运行 / 部署 -> ai/project/refs/commands.md
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
每次读取 ref 都必须在 `result.json.refs_read` 中记录原因。
|
|
709
|
+
|
|
710
|
+
## 16.1 inbox 待吸收资料
|
|
711
|
+
|
|
712
|
+
`ai/project/inbox/` 存放尚未整合进项目上下文的新资料。
|
|
713
|
+
已完成整合的资料统一移动到 `ai/project/inbox/processed/`,用于追溯并避免重复处理。
|
|
714
|
+
|
|
715
|
+
典型内容:
|
|
716
|
+
|
|
717
|
+
```text
|
|
718
|
+
ai/project/inbox/business-context.md
|
|
719
|
+
ai/project/inbox/product-workflows.md
|
|
720
|
+
ai/project/inbox/domain-model.md
|
|
721
|
+
ai/project/inbox/raw/interview-notes.md
|
|
722
|
+
ai/project/inbox/processed/business-context.md
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
当 inbox 中的资料需要吸收时,执行:
|
|
726
|
+
|
|
727
|
+
```text
|
|
728
|
+
整合 ai/project/inbox/ 里的新资料
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
AI 必须先输出整合计划,等人类确认后,才更新 `project.md`、`runtime.md` 和 `refs/*`。
|
|
732
|
+
应用整合完成后,AI 必须把本次已处理的 `ai/project/inbox/*.md`
|
|
733
|
+
移动到 `ai/project/inbox/processed/`。`processed/` 中的资料默认不再触发
|
|
734
|
+
`reconcile` 或 `next` 的待处理资料判断。
|
|
735
|
+
|
|
736
|
+
如果新资料会改变 `final-shape.md`、`module-map.md` 或 `roadmap.md` 的方向性内容,
|
|
737
|
+
上下文整合只能建议创建 `strategy_update` 提案,不能直接改这些文件。
|
|
738
|
+
|
|
739
|
+
## 16.2 项目北极星与策略修订
|
|
740
|
+
|
|
741
|
+
`ai/project/refs/final-shape.md` 是项目北极星说明书,也可以理解为
|
|
742
|
+
Product Constitution / Final Shape Spec。它负责保存:
|
|
743
|
+
|
|
744
|
+
- 项目一句话定位;
|
|
745
|
+
- 解决的本质问题;
|
|
746
|
+
- 目标用户和核心痛点;
|
|
747
|
+
- 最终产品形态;
|
|
748
|
+
- 当前阶段不做什么;
|
|
749
|
+
- 核心模块边界;
|
|
750
|
+
- 长期护城河;
|
|
751
|
+
- 判断任务是否值得做的标准;
|
|
752
|
+
- 判断项目是否跑偏的标准。
|
|
753
|
+
|
|
754
|
+
配套文件:
|
|
755
|
+
|
|
756
|
+
```text
|
|
757
|
+
ai/project/refs/module-map.md
|
|
758
|
+
ai/project/refs/roadmap.md
|
|
759
|
+
ai/project/inbox/ideas/
|
|
760
|
+
ai/project/proposals/final-shape-updates/
|
|
761
|
+
ai/project/proposals/final-shape-updates/_template.md
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
门禁规则:
|
|
765
|
+
|
|
766
|
+
```text
|
|
767
|
+
灵感不能直接改宪法。
|
|
768
|
+
AI 不能在普通执行任务里顺手改宪法。
|
|
769
|
+
普通执行任务不能直接改北极星、模块地图或路线图。
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
正确流程:
|
|
773
|
+
|
|
774
|
+
```text
|
|
775
|
+
idea -> proposal -> review -> human confirm -> update
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
`strategy_update` 必须输出到:
|
|
779
|
+
|
|
780
|
+
```text
|
|
781
|
+
ai/project/proposals/final-shape-updates/YYYYMMDD-topic.md
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
并以:
|
|
785
|
+
|
|
786
|
+
```text
|
|
787
|
+
ai/project/proposals/final-shape-updates/_template.md
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
作为结构模板。
|
|
791
|
+
|
|
792
|
+
提案必须包含:
|
|
793
|
+
|
|
794
|
+
1. 新灵感摘要
|
|
795
|
+
2. 与当前 final-shape 的一致点
|
|
796
|
+
3. 冲突点
|
|
797
|
+
4. 应该吸收的部分
|
|
798
|
+
5. 应该拒绝的部分
|
|
799
|
+
6. 对模块地图的影响
|
|
800
|
+
7. 对路线图的影响
|
|
801
|
+
8. 建议修改 diff
|
|
802
|
+
9. 风险
|
|
803
|
+
10. 是否推荐合并
|
|
804
|
+
|
|
805
|
+
只有人类确认后,`apply_strategy_update` 才能修改:
|
|
806
|
+
|
|
807
|
+
```text
|
|
808
|
+
ai/project/refs/final-shape.md
|
|
809
|
+
ai/project/refs/module-map.md
|
|
810
|
+
ai/project/refs/roadmap.md
|
|
811
|
+
ai/project/refs/decisions.md
|
|
812
|
+
ai/project/refs/constraints.md
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
## 17. 输出结果
|
|
816
|
+
|
|
817
|
+
每次执行必须写:
|
|
818
|
+
|
|
819
|
+
```text
|
|
820
|
+
ai/project/result.json
|
|
821
|
+
ai/project/result.md
|
|
822
|
+
ai/project/metrics.json
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
### 17.1 `result.json`
|
|
826
|
+
|
|
827
|
+
机器可读结果,是当前最新权威执行记录。
|
|
828
|
+
|
|
829
|
+
必须记录:
|
|
830
|
+
|
|
831
|
+
- status;
|
|
832
|
+
- task summary;
|
|
833
|
+
- files read;
|
|
834
|
+
- refs read;
|
|
835
|
+
- files changed;
|
|
836
|
+
- commands run;
|
|
837
|
+
- verification;
|
|
838
|
+
- assumptions;
|
|
839
|
+
- issues;
|
|
840
|
+
- next;
|
|
841
|
+
- runtime update proposal。
|
|
842
|
+
|
|
843
|
+
### 17.2 `result.md`
|
|
844
|
+
|
|
845
|
+
人类可读摘要。
|
|
846
|
+
|
|
847
|
+
用于快速查看:
|
|
848
|
+
|
|
849
|
+
- 状态;
|
|
850
|
+
- 改了什么;
|
|
851
|
+
- 如何验证;
|
|
852
|
+
- 有什么问题;
|
|
853
|
+
- 下一步。
|
|
854
|
+
|
|
855
|
+
### 17.3 `metrics.json`
|
|
856
|
+
|
|
857
|
+
执行经济性和模型分工记录。
|
|
858
|
+
|
|
859
|
+
用于记录:
|
|
860
|
+
|
|
861
|
+
- model tier;
|
|
862
|
+
- 是否升级;
|
|
863
|
+
- escalation reason;
|
|
864
|
+
- token 估算;
|
|
865
|
+
- duration;
|
|
866
|
+
- success;
|
|
867
|
+
- human fix required;
|
|
868
|
+
- reuse potential。
|
|
869
|
+
|
|
870
|
+
## 18. 状态规则
|
|
871
|
+
|
|
872
|
+
允许状态:
|
|
873
|
+
|
|
874
|
+
```text
|
|
875
|
+
success
|
|
876
|
+
partial
|
|
877
|
+
failed
|
|
878
|
+
blocked
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
规则:
|
|
882
|
+
|
|
883
|
+
- 没有验证通过,不得使用 `success`;
|
|
884
|
+
- 需要人工验收但尚未完成,使用 `partial`;
|
|
885
|
+
- 任务不可执行,使用 `blocked`;
|
|
886
|
+
- 执行失败且无法完成,使用 `failed`。
|
|
887
|
+
|
|
888
|
+
## 19. runtime 治理
|
|
889
|
+
|
|
890
|
+
`ai/project/runtime.md` 只存当前仍然有效的执行上下文。
|
|
891
|
+
|
|
892
|
+
它不是:
|
|
893
|
+
|
|
894
|
+
- 项目日记;
|
|
895
|
+
- 每轮 debug 记录;
|
|
896
|
+
- 聊天总结堆积区;
|
|
897
|
+
- 历史失败尝试仓库。
|
|
898
|
+
|
|
899
|
+
长期有效变化应先写入:
|
|
900
|
+
|
|
901
|
+
```text
|
|
902
|
+
ai/project/result.json.runtime_update
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
再由单独任务决定是否更新 runtime。
|
|
906
|
+
|
|
907
|
+
## 20. 同步规则
|
|
908
|
+
|
|
909
|
+
从模板仓库导入真实项目:
|
|
910
|
+
|
|
911
|
+
```text
|
|
912
|
+
只覆盖 ai/template/**
|
|
913
|
+
绝不覆盖 ai/project/**
|
|
914
|
+
```
|
|
915
|
+
|
|
916
|
+
从真实项目回流模板仓库:
|
|
917
|
+
|
|
918
|
+
```text
|
|
919
|
+
只回流 ai/template/**
|
|
920
|
+
绝不回流 ai/project/**
|
|
921
|
+
```
|
|
922
|
+
|
|
923
|
+
这是整个项目的安全底线。
|
|
924
|
+
|
|
925
|
+
## 21. npm 包结构
|
|
926
|
+
|
|
927
|
+
模板仓库内部结构:
|
|
928
|
+
|
|
929
|
+
```text
|
|
930
|
+
template/
|
|
931
|
+
ai/
|
|
932
|
+
README.md
|
|
933
|
+
template/
|
|
934
|
+
project/
|
|
935
|
+
|
|
936
|
+
bin/
|
|
937
|
+
agent-execution-template.js
|
|
938
|
+
|
|
939
|
+
test/
|
|
940
|
+
selftest.js
|
|
941
|
+
|
|
942
|
+
package.json
|
|
943
|
+
README.md
|
|
944
|
+
LICENSE
|
|
945
|
+
```
|
|
946
|
+
|
|
947
|
+
其中:
|
|
948
|
+
|
|
949
|
+
- `template/zh/ai/**` 是中文 npm 包安装源;
|
|
950
|
+
- `template/en/ai/**` 是英文 npm 包安装源;
|
|
951
|
+
- 根目录 `ai/**` 是本仓库 dogfood 工作区;
|
|
952
|
+
- `bin/agent-execution-template.js` 是 CLI;
|
|
953
|
+
- `test/selftest.js` 是本地自测。
|
|
954
|
+
|
|
955
|
+
## 22. 自测与发布检查
|
|
956
|
+
|
|
957
|
+
本地自测:
|
|
958
|
+
|
|
959
|
+
```bash
|
|
960
|
+
npm test
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
doctor:
|
|
964
|
+
|
|
965
|
+
```bash
|
|
966
|
+
node bin/agent-execution-template.js doctor
|
|
967
|
+
```
|
|
968
|
+
|
|
969
|
+
JSON 解析检查:
|
|
970
|
+
|
|
971
|
+
```bash
|
|
972
|
+
node -e "for (const f of process.argv.slice(1)) JSON.parse(require('fs').readFileSync(f, 'utf8'))" \
|
|
973
|
+
package.json \
|
|
974
|
+
ai/project/result.json \
|
|
975
|
+
ai/project/metrics.json \
|
|
976
|
+
template/zh/ai/project/result.json \
|
|
977
|
+
template/zh/ai/project/metrics.json \
|
|
978
|
+
template/en/ai/project/result.json \
|
|
979
|
+
template/en/ai/project/metrics.json \
|
|
980
|
+
ai/template/schemas/result.schema.json \
|
|
981
|
+
ai/template/schemas/metrics.schema.json \
|
|
982
|
+
template/zh/ai/template/schemas/result.schema.json \
|
|
983
|
+
template/zh/ai/template/schemas/metrics.schema.json \
|
|
984
|
+
template/en/ai/template/schemas/result.schema.json \
|
|
985
|
+
template/en/ai/template/schemas/metrics.schema.json
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
npm 打包检查:
|
|
989
|
+
|
|
990
|
+
```bash
|
|
991
|
+
npm_config_cache=/tmp/npm-cache-agent-execution-template npm pack --dry-run
|
|
992
|
+
```
|
|
993
|
+
|
|
994
|
+
diff 检查:
|
|
995
|
+
|
|
996
|
+
```bash
|
|
997
|
+
git diff --check
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
## 23. 当前能力边界
|
|
1001
|
+
|
|
1002
|
+
当前项目已经能做到:
|
|
1003
|
+
|
|
1004
|
+
- 快速安装 AI 执行协议;
|
|
1005
|
+
- 安全升级模板协议;
|
|
1006
|
+
- 检查安装状态;
|
|
1007
|
+
- 保护项目现场;
|
|
1008
|
+
- 指导 AI 按任务边界执行;
|
|
1009
|
+
- 记录可审计结果;
|
|
1010
|
+
- 记录模型分工和执行经济性。
|
|
1011
|
+
|
|
1012
|
+
当前项目还不做:
|
|
1013
|
+
|
|
1014
|
+
- 自动运行 Agent;
|
|
1015
|
+
- 自动切换模型;
|
|
1016
|
+
- 多 Agent 编排;
|
|
1017
|
+
- 云同步;
|
|
1018
|
+
- IDE 插件;
|
|
1019
|
+
- 发布流水线。
|
|
1020
|
+
|
|
1021
|
+
## 24. 最终判断
|
|
1022
|
+
|
|
1023
|
+
Agent Execution Template v0.8 已经从一个 prompt/template 原型,升级为:
|
|
1024
|
+
|
|
1025
|
+
```text
|
|
1026
|
+
低摩擦、可安装、可升级、保护用户现场的 AI 执行协议 npm 包雏形。
|
|
1027
|
+
```
|
|
1028
|
+
|
|
1029
|
+
它的长期价值不在于替代任何模型或 Agent,而在于提供一套稳定协议:
|
|
1030
|
+
|
|
1031
|
+
```text
|
|
1032
|
+
让一堆不同能力、不同成本的 AI Agent,都能在同一套项目边界下产出可验收结果。
|
|
1033
|
+
```
|
|
1034
|
+
|
|
1035
|
+
一句话收口:
|
|
1036
|
+
|
|
1037
|
+
```text
|
|
1038
|
+
template 是协议,project 是现场;人类定义目标和边界,AI 按协议执行并留下证据。
|
|
1039
|
+
```
|