| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- {
- "$comment": "spec/templates/workflow.template.json — Agent 在 Phase 1 Write 这份 workflow.json 骨架 (复制到 outputs/case-{N}/workflow.json + 替换所有 <填:...> 占位符), 之后各 phase in-place Edit 它 (不写新文件). 顶层 `procedures` 是数组: 多工序填多个 procedure 对象; 单工序 case 删掉示例里的 p2, procedures 只留长度-1 数组. page_title 不写进本文件 — Phase 3 由 --page-title 提供; source.body_text/封面 由 --source-input 自动填. Phase 3 跑: `python spec/tools/render-case.py --workflow outputs/case-{N}/workflow.json --source-input input/case-{N}-raw.json --page-title \"Case N · 主题\" --case-id N --out outputs/case-{N}/case-{N}-<slug>.html` (renderer 内存组装 case_data, 不落盘 case_data.json) + `python spec/tools/lint-case.py --workflow outputs/case-{N}/workflow.json --case-id N`. Schema 见 spec/format/case-data.schema.json (canonical), 字段说明见 spec/format/procedure-table.md.",
- "source": {
- "platform": "<填:原文平台 e.g. wechat-gzh>",
- "author": "<填:原文作者>",
- "date": "<填:发布日期 e.g. 2026 上半年>",
- "url": "<填:原文 URL>",
- "title": "<填:原文标题>",
- "excerpt": "<填:摘要 1-3 句>"
- },
- "procedures": [
- {
- "id": "p1",
- "name": "<填:工序名 e.g. 产品场景图生成>",
- "purpose": "<填:一句话目的>",
- "category": "<填:产物创造|资产建设|自动化|分析|学习>",
- "platform": "<填:平台, 通常同 source.platform>",
- "author": "<填:作者, 通常同 source.author>",
- "declarations": {
- "inputs": [
- { "type": "<填:类型>", "name": "<填:变量名>", "desc": "<填:说明 (可选)>" }
- ],
- "resources": [],
- "returns": { "type": "<填:返回类型>" }
- },
- "type_registry": {
- "$comment_for_type_registry": "本工序的 case-specific 类型. key=类型名, value={extends, desc} (extends 桥接到一个 stdlib 叶子). 不需要可整段删掉 (type_registry 选填). 多工序时每个 procedure 各自声明 (允许跨工序冗余)."
- },
- "steps": [
- {
- "id": "s1",
- "kind": "step",
- "effect": "<填:作用 = spec/taxonomy/effect.json $leaves 之一 (须命中字典叶子)>",
- "via": "<填:工具名 e.g. human / nano_banana / (AI 生图工具)>",
- "action": "<填:动作 = spec/taxonomy/action.json 树路径 e.g. 提取/化学提取/解构>",
- "feature": "<填:随机|幂等|写外部|读外部|人工|本地|->",
- "control": "-",
- "instruction": [
- ["directive", "<填:给工具的 prompt 文本 (可选)>"],
- ["memo", "<填:工艺备注 (可选)>"]
- ],
- "inputs": [
- {
- "substance": "<填:实质路径 e.g. /理念/知识/... (走 taxonomy-lookup.py --validate 校验)>",
- "form": "<填:形式路径 e.g. /架构/逻辑/...>",
- "type": "<填:类型 = spec/taxonomy/type.json 叶子, 或 case-specific (须在本 procedure.type_registry 注册 extends)>",
- "name": "<填:变量名>",
- "value": "<填:数据内容描述>",
- "anchor": "<填:← 工序输入 / ← sN.x>"
- }
- ],
- "outputs": [
- {
- "substance": "<填:实质路径>",
- "form": "<填:形式路径>",
- "type": "<填:类型>",
- "name": "<填:变量名>",
- "value": "<填:数据内容描述>",
- "anchor": "<填:→ sN / → 返回 X>"
- }
- ],
- "intent": "<填:目的列 token 句, e.g. 用 {via:X} {act:Y} 从 {in-type:Z} 得到 {out-type:W}>",
- "focus": ["via", "action", "in-type-0", "out-type-0"]
- }
- ],
- "return_row": {
- "arrow": "↩",
- "text": "<span class=\"kw\">返回</span> <span class=\"chip\" data-type=\"<填:返回类型>\"><填:返回类型></span>"
- }
- },
- {
- "id": "p2",
- "name": "<填:第二工序名 — 此 p2 示范「控制块」写法 (遍历/并行/分支). 单工序删整个 p2; 无控制流则把下面 block+nested 换回普通 step (见 p1)>",
- "purpose": "<填:一句话目的>",
- "category": "<填:类别>",
- "platform": "<填:平台>",
- "author": "<填:作者>",
- "declarations": {
- "inputs": [ { "type": "<填:类型>", "name": "<填:变量名>" } ],
- "resources": [],
- "returns": { "type": "<填:返回类型>" }
- },
- "steps": [
- {
- "id": "s1",
- "kind": "block",
- "control": "<填:遍历|并行|分支>",
- "via": "-",
- "feature": "-",
- "intent": "<填:控制块整体在做什么 (高层意图). 块只带 control+intent+via='-'+feature='-'+io; effect/action/focus 归下面 nested 执行步, 块本身不要>",
- "inputs": [ { "type": "<填:类型>", "name": "<填:被遍历的序列>", "anchor": "<填:← sN.x>" } ],
- "outputs": [ { "type": "<填:类型>", "name": "<填:累积结果列表>", "anchor": "<填:→ sN>" } ]
- },
- {
- "id": "s1.1",
- "kind": "nested",
- "group": "s1",
- "effect": "<填:作用叶子>",
- "via": "<填:工具名>",
- "action": "<填:动作路径>",
- "feature": "<填:随机|幂等|人工|...>",
- "control": "-",
- "instruction": [ ["decorator", "@采样(n=4, pick=人工) (可选: 抽样 N 选 1 等修饰)"] ],
- "inputs": [ { "substance": "<填:实质路径>", "form": "<填:形式路径>", "type": "<填:类型>", "name": "<填:循环变量>", "value": "<填:数据内容描述>", "anchor": "<填:← 被遍历序列[i]>" } ],
- "outputs": [ { "substance": "<填:实质路径>", "form": "<填:形式路径>", "type": "<填:类型>", "name": "<填:单次产出>", "value": "<填:数据内容描述>", "anchor": "<填:→ 累积结果列表.追加>" } ],
- "intent": "<填:这一次迭代在做什么>",
- "focus": ["via", "action", "out-type-0"]
- }
- ],
- "return_row": {
- "arrow": "↩",
- "text": "<span class=\"kw\">返回</span> <span class=\"chip\" data-type=\"<填:返回类型>\"><填:返回类型></span>"
- }
- }
- ]
- }
|