loopforge 1.8.0 → 1.15.1
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/dist/backends/fs.d.ts.map +1 -1
- package/dist/backends/fs.js +13 -10
- package/dist/backends/fs.js.map +1 -1
- package/dist/backends/interface.d.ts +2 -0
- package/dist/backends/interface.d.ts.map +1 -1
- package/dist/builder.d.ts +13 -10
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +117 -96
- package/dist/builder.js.map +1 -1
- package/dist/enforcement-gate.d.ts +44 -0
- package/dist/enforcement-gate.d.ts.map +1 -0
- package/dist/enforcement-gate.js +253 -0
- package/dist/enforcement-gate.js.map +1 -0
- package/dist/engine.d.ts +13 -6
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +127 -171
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +10 -2
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +882 -583
- package/dist/loop-compiler.js.map +1 -1
- package/dist/mcp/session.d.ts +12 -2
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +127 -64
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.js +4 -4
- package/dist/memory-bridge.js +1 -1
- package/dist/memory-bridge.js.map +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +1 -1
- package/dist/policy.d.ts +80 -10
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +101 -30
- package/dist/policy.js.map +1 -1
- package/dist/protocol.d.ts +70 -16
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +40 -8
- package/dist/protocol.js.map +1 -1
- package/dist/replay.js +7 -7
- package/dist/replay.js.map +1 -1
- package/dist/runtime.d.ts +11 -7
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +125 -144
- package/dist/runtime.js.map +1 -1
- package/dist/tests/builder.test.js +42 -28
- package/dist/tests/builder.test.js.map +1 -1
- package/dist/tests/enforcement-gate.test.d.ts +2 -0
- package/dist/tests/enforcement-gate.test.d.ts.map +1 -0
- package/dist/tests/enforcement-gate.test.js +328 -0
- package/dist/tests/enforcement-gate.test.js.map +1 -0
- package/dist/tests/engine.test.js +22 -22
- package/dist/tests/engine.test.js.map +1 -1
- package/dist/tests/generate-schema.test.js +10 -7
- package/dist/tests/generate-schema.test.js.map +1 -1
- package/dist/tests/loop-compiler.test.js +273 -47
- package/dist/tests/loop-compiler.test.js.map +1 -1
- package/dist/tests/mcp.test.js +31 -11
- package/dist/tests/mcp.test.js.map +1 -1
- package/dist/tests/memory-bridge.test.js +0 -1
- package/dist/tests/memory-bridge.test.js.map +1 -1
- package/dist/tests/policy.test.js +6 -16
- package/dist/tests/policy.test.js.map +1 -1
- package/dist/tests/protocol.test.js +3 -2
- package/dist/tests/protocol.test.js.map +1 -1
- package/dist/tests/replay.test.js +9 -9
- package/dist/tests/replay.test.js.map +1 -1
- package/dist/tests/runtime.test.js +27 -13
- package/dist/tests/runtime.test.js.map +1 -1
- package/dist/tests/verification-gate.test.js +1 -1
- package/dist/tests/verification-gate.test.js.map +1 -1
- package/dist/verification-gate.d.ts +8 -2
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +5 -4
- package/dist/verification-gate.js.map +1 -1
- package/loop_policy.json +13 -26
- package/package.json +1 -1
- package/skills/perception/SKILL.md +42 -23
- package/skills/prompt-techniques/SKILL.md +52 -52
- package/skills/prompt-techniques/references/chain-of-thought.md +207 -207
- package/skills/prompt-techniques/references/few-shot.md +174 -174
- package/skills/prompt-techniques/references/least-to-most.md +182 -182
- package/skills/prompt-techniques/references/step-back.md +160 -160
- package/skills/prompt-techniques/references/tree-of-thought.md +191 -191
- package/skills/prompt-techniques/references/zero-shot.md +97 -97
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
# Few-Shot Prompting
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
适合已有示例、需要复用格式、标签或表达风格的任务。通过提供 1-5 组输入/输出示例让模型理解任务模式和输出风格。用于标准 CRUD 模块、常规单元测试等有固定范式的任务。
|
|
6
|
-
|
|
7
|
-
## Input Requirements
|
|
8
|
-
|
|
9
|
-
- **用户任务**:说明希望模型完成什么任务。
|
|
10
|
-
- **输出格式**:说明最终回答的结构、字段、长度、语言或代码格式。
|
|
11
|
-
- **可选少样本示例**:用户可以在第一次请求中直接提供 1~5 组 `输入 -> 期望输出`,或 `输入 -> 推理过程 -> 期望输出`,用于展示任务模式、判断依据和输出风格。
|
|
12
|
-
- **可选信息**:角色设定、待处理文本、约束条件、目标用户或使用场景。
|
|
13
|
-
|
|
14
|
-
示例不是必需项。若用户已经附上案例,直接吸收案例中的输入输出映射和输出风格;若未检测到案例,不要追问或中断流程,按零样本提示生成,并在生成结果中简短说明"未检测到用户案例,因此按零样本提示生成"。不要替用户编造隐藏思维链;只保存用户明确提供或可公开展示的推理摘要。
|
|
15
|
-
|
|
16
|
-
## Recommended JSON Input
|
|
17
|
-
|
|
18
|
-
```json
|
|
19
|
-
{
|
|
20
|
-
"task": "从客服对话中抽取客户诉求和情绪",
|
|
21
|
-
"role": "你是一名严谨的信息抽取提示词设计师",
|
|
22
|
-
"examples": [
|
|
23
|
-
{
|
|
24
|
-
"input": "客户:我等了三天还没收到退款。",
|
|
25
|
-
"reasoning": "用户关注退款进度,表达等待过久带来的不满。",
|
|
26
|
-
"output": "{\"诉求\":\"查询退款进度\",\"情绪\":\"不满\"}"
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"target_input": "{用户输入的客服对话}",
|
|
30
|
-
"output_format": "仅输出 JSON,字段为 诉求、情绪。",
|
|
31
|
-
"constraints": ["不要输出解释", "字段缺失时填 null"],
|
|
32
|
-
"persist_sample": true
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Case Injection Pipeline
|
|
37
|
-
|
|
38
|
-
### Step 1: 检测(Detect)
|
|
39
|
-
|
|
40
|
-
检查用户请求中是否包含 `examples` 字段或自然语言描述的输入→输出样例。识别示例中的输入输出映射和输出风格。
|
|
41
|
-
|
|
42
|
-
### Step 2: 校验(Validate)
|
|
43
|
-
|
|
44
|
-
- 如果提供 `examples`,校验数量为 1~5。
|
|
45
|
-
- 每组必须有非空 `input` 和 `output`;`reasoning` 可选。
|
|
46
|
-
- 示例应与用户任务同类型,避免混入无关领域案例。
|
|
47
|
-
- 没有示例时不要臆造示例,按零样本生成即可。
|
|
48
|
-
|
|
49
|
-
### Step 3: 格式化(Format)
|
|
50
|
-
|
|
51
|
-
将示例格式化为清晰的结构,插入生成 Prompt 的示例区:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
示例 1:
|
|
55
|
-
输入: {input}
|
|
56
|
-
推理过程: {reasoning} (可选,无则省略此块)
|
|
57
|
-
输出: {output}
|
|
58
|
-
|
|
59
|
-
示例 2:
|
|
60
|
-
输入: ...
|
|
61
|
-
输出: ...
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Step 4: 注入(Inject)
|
|
65
|
-
|
|
66
|
-
将格式化后的示例插入到最终的 Prompt 中,位于任务指令之后、目标输入之前。在 Prompt 末尾放置目标输入,要求模型按示例风格输出。
|
|
67
|
-
|
|
68
|
-
## Method Steps
|
|
69
|
-
|
|
70
|
-
1. 从用户提供的示例中提取输入到输出的映射规则。
|
|
71
|
-
2. 在最终 Prompt 中包含 1-5 组格式化的示例(推荐 2-3 个)。
|
|
72
|
-
3. 示例应展示:输入 → 期望输出 的完整对应关系。
|
|
73
|
-
4. 在 Prompt 末尾放置目标输入,要求模型按示例风格输出。
|
|
74
|
-
5. 如果用户未提供示例,退回 zero-shot 并简短说明。
|
|
75
|
-
|
|
76
|
-
## Dynamic Sample Persistence
|
|
77
|
-
|
|
78
|
-
> **Status: Future feature — not yet implemented.** The `persist_sample: true` flag
|
|
79
|
-
> and sample library described below are a planned enhancement. Currently, samples
|
|
80
|
-
> live only within the session — they are not persisted across sessions by any
|
|
81
|
-
> script. The checkpoint.py + hydrate.py vault stores prompts and summaries, not
|
|
82
|
-
> raw input→output examples.
|
|
83
|
-
|
|
84
|
-
当用户明确要求"把这个例子保存下来""加入样例库"或 payload 设置 `persist_sample: true` 时,将本轮示例追加到样本库。追加条目应包含:
|
|
85
|
-
|
|
86
|
-
- 任务、角色、输出格式、待处理内容占位和约束。
|
|
87
|
-
- 1~5 组用户示例(输入、可选推理过程、输出)。
|
|
88
|
-
- 本轮生成的完整少样本 Prompt。
|
|
89
|
-
|
|
90
|
-
若示例里包含隐私、密钥、真实身份信息或用户没有明确要求持久化,先脱敏或仅保存在 session 临时区。追加而非覆盖已有样本。
|
|
91
|
-
|
|
92
|
-
## When to Use
|
|
93
|
-
|
|
94
|
-
- 任务有固定的输入输出模式(如代码转换、格式化、分类)。
|
|
95
|
-
- 用户能提供高质量示例。
|
|
96
|
-
- 输出风格或格式需要严格遵循约定。
|
|
97
|
-
- 常见场景:标准 CRUD 模块、单元测试编写、代码风格转换、文本分类。
|
|
98
|
-
|
|
99
|
-
## Example Use Cases
|
|
100
|
-
|
|
101
|
-
- "根据这些示例,把后面的函数也写成同样的风格"
|
|
102
|
-
- "参考前两个单元测试,为这个新函数写测试"
|
|
103
|
-
- "模仿这两个 API 端点的写法,实现第三个端点"
|
|
104
|
-
|
|
105
|
-
## Prompt Output Template
|
|
106
|
-
|
|
107
|
-
当你用 Few-Shot 技术生最终提示词时,**必须**按以下 8 节骨架输出。技术特定的第 5 节格式要求见下方详细说明。
|
|
108
|
-
|
|
109
|
-
### 章节骨架
|
|
110
|
-
|
|
111
|
-
| # | 章节 | 必需 | 说明 |
|
|
112
|
-
|---|------|------|------|
|
|
113
|
-
| 1 | 角色 | ✓ | 领域专家 + 技术栈,如"你是一名资深 Go 后端工程师,精通 Gin + MySQL" |
|
|
114
|
-
| 2 | 任务 | ✓ | 一句话说清要做什么 |
|
|
115
|
-
| 3 | 输入 | ✓ | 目标数据/代码/模块的描述 |
|
|
116
|
-
| 4 | 输出格式 | ✓ | 编号列表,每项对应下方具体实现的子节。如"1. DDL, 2. API接口, 3. 校验逻辑, 4. 业务代码, 5. 单元测试" |
|
|
117
|
-
| 5 | **格式参考示例(Few-Shot)** | ✓ | 见下方详细格式规范 |
|
|
118
|
-
| 6 | 具体实现要求 | ✓ | 按输出格式的编号逐节展开,含代码示例、DDL、API 示例等 |
|
|
119
|
-
| 7 | 硬约束 | ✓ | 编号列表,含技术栈、范围值、架构限制等 |
|
|
120
|
-
| 8 | 生成要求 | ✓ | 编号列表,最终验收标准 |
|
|
121
|
-
|
|
122
|
-
### 第 5 节格式规范:格式参考示例(Few-Shot)
|
|
123
|
-
|
|
124
|
-
这是本技术最关键的章节。必须包含:
|
|
125
|
-
|
|
126
|
-
**A. 2-3 组输入→输出对**,每组格式:
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
### 示例 N:[场景描述]
|
|
130
|
-
|
|
131
|
-
**输入:**
|
|
132
|
-
[具体的输入数据,如 API 请求体、代码片段、数据结构]
|
|
133
|
-
|
|
134
|
-
**输出:**
|
|
135
|
-
[对应的期望输出,如 API 响应、代码结果、处理结果]
|
|
136
|
-
|
|
137
|
-
**映射规则:** [一句话解释输入如何变成输出]
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**B. 输入→输出映射规则总结框**:一个 ASCII 框图,汇总所有示例中提取的通用规则。
|
|
141
|
-
|
|
142
|
-
格式范本(来自 MCP 黄金标准 `prompt_02_vital_signs`):
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
146
|
-
│ 数值校验映射规则 │
|
|
147
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
148
|
-
│ │
|
|
149
|
-
│ 输入值 → 判断1: 是否在有效范围内? │
|
|
150
|
-
│ ├─ 否 → 返回错误码 + 拒绝录入 │
|
|
151
|
-
│ └─ 是 → 判断2: 是否在正常范围内? │
|
|
152
|
-
│ ├─ 是 → status: "normal" │
|
|
153
|
-
│ └─ 否 → status: "abnormal" + warning │
|
|
154
|
-
│ │
|
|
155
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### 质量自检
|
|
159
|
-
|
|
160
|
-
- [ ] 示例是**任务领域的真实输入→输出对**,不是"提示词设计的元示例"
|
|
161
|
-
- [ ] 每组示例有明确的映射规则说明
|
|
162
|
-
- [ ] 映射规则总结框放在所有示例之后
|
|
163
|
-
- [ ] 输出格式的编号与具体实现要求的子节编号一一对应
|
|
164
|
-
- [ ] 硬约束≥8 条,含技术栈、数值范围、架构限制
|
|
165
|
-
|
|
166
|
-
## Notes
|
|
167
|
-
|
|
168
|
-
- 少样本示例如果存在,必须体现"输入如何变成输出",不要只写输出格式骨架。
|
|
169
|
-
- "推理过程"应是可公开的简要判断依据,用来帮助样例复用;不要保存隐藏思维链、敏感信息或不可公开的内部分析。
|
|
170
|
-
- 示例应与用户任务同类型,避免混入无关领域案例;没有示例时不要臆造示例,按零样本生成即可。
|
|
171
|
-
- 示例数量优先 2~3 个;任务简单可用 1 个,格式复杂可用 4~5 个。
|
|
172
|
-
- 输出格式要量化,如字段名、顺序、句数、Markdown 样式或 JSON Schema。
|
|
173
|
-
- 生成的 Prompt 中保留 `{用户输入的文本}` 等占位符,除非用户已经提供真实待处理内容。
|
|
174
|
-
- 案例仅供参考,不可直接复制为用户任务的生成内容。
|
|
1
|
+
# Few-Shot Prompting
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
适合已有示例、需要复用格式、标签或表达风格的任务。通过提供 1-5 组输入/输出示例让模型理解任务模式和输出风格。用于标准 CRUD 模块、常规单元测试等有固定范式的任务。
|
|
6
|
+
|
|
7
|
+
## Input Requirements
|
|
8
|
+
|
|
9
|
+
- **用户任务**:说明希望模型完成什么任务。
|
|
10
|
+
- **输出格式**:说明最终回答的结构、字段、长度、语言或代码格式。
|
|
11
|
+
- **可选少样本示例**:用户可以在第一次请求中直接提供 1~5 组 `输入 -> 期望输出`,或 `输入 -> 推理过程 -> 期望输出`,用于展示任务模式、判断依据和输出风格。
|
|
12
|
+
- **可选信息**:角色设定、待处理文本、约束条件、目标用户或使用场景。
|
|
13
|
+
|
|
14
|
+
示例不是必需项。若用户已经附上案例,直接吸收案例中的输入输出映射和输出风格;若未检测到案例,不要追问或中断流程,按零样本提示生成,并在生成结果中简短说明"未检测到用户案例,因此按零样本提示生成"。不要替用户编造隐藏思维链;只保存用户明确提供或可公开展示的推理摘要。
|
|
15
|
+
|
|
16
|
+
## Recommended JSON Input
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"task": "从客服对话中抽取客户诉求和情绪",
|
|
21
|
+
"role": "你是一名严谨的信息抽取提示词设计师",
|
|
22
|
+
"examples": [
|
|
23
|
+
{
|
|
24
|
+
"input": "客户:我等了三天还没收到退款。",
|
|
25
|
+
"reasoning": "用户关注退款进度,表达等待过久带来的不满。",
|
|
26
|
+
"output": "{\"诉求\":\"查询退款进度\",\"情绪\":\"不满\"}"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"target_input": "{用户输入的客服对话}",
|
|
30
|
+
"output_format": "仅输出 JSON,字段为 诉求、情绪。",
|
|
31
|
+
"constraints": ["不要输出解释", "字段缺失时填 null"],
|
|
32
|
+
"persist_sample": true
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Case Injection Pipeline
|
|
37
|
+
|
|
38
|
+
### Step 1: 检测(Detect)
|
|
39
|
+
|
|
40
|
+
检查用户请求中是否包含 `examples` 字段或自然语言描述的输入→输出样例。识别示例中的输入输出映射和输出风格。
|
|
41
|
+
|
|
42
|
+
### Step 2: 校验(Validate)
|
|
43
|
+
|
|
44
|
+
- 如果提供 `examples`,校验数量为 1~5。
|
|
45
|
+
- 每组必须有非空 `input` 和 `output`;`reasoning` 可选。
|
|
46
|
+
- 示例应与用户任务同类型,避免混入无关领域案例。
|
|
47
|
+
- 没有示例时不要臆造示例,按零样本生成即可。
|
|
48
|
+
|
|
49
|
+
### Step 3: 格式化(Format)
|
|
50
|
+
|
|
51
|
+
将示例格式化为清晰的结构,插入生成 Prompt 的示例区:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
示例 1:
|
|
55
|
+
输入: {input}
|
|
56
|
+
推理过程: {reasoning} (可选,无则省略此块)
|
|
57
|
+
输出: {output}
|
|
58
|
+
|
|
59
|
+
示例 2:
|
|
60
|
+
输入: ...
|
|
61
|
+
输出: ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Step 4: 注入(Inject)
|
|
65
|
+
|
|
66
|
+
将格式化后的示例插入到最终的 Prompt 中,位于任务指令之后、目标输入之前。在 Prompt 末尾放置目标输入,要求模型按示例风格输出。
|
|
67
|
+
|
|
68
|
+
## Method Steps
|
|
69
|
+
|
|
70
|
+
1. 从用户提供的示例中提取输入到输出的映射规则。
|
|
71
|
+
2. 在最终 Prompt 中包含 1-5 组格式化的示例(推荐 2-3 个)。
|
|
72
|
+
3. 示例应展示:输入 → 期望输出 的完整对应关系。
|
|
73
|
+
4. 在 Prompt 末尾放置目标输入,要求模型按示例风格输出。
|
|
74
|
+
5. 如果用户未提供示例,退回 zero-shot 并简短说明。
|
|
75
|
+
|
|
76
|
+
## Dynamic Sample Persistence
|
|
77
|
+
|
|
78
|
+
> **Status: Future feature — not yet implemented.** The `persist_sample: true` flag
|
|
79
|
+
> and sample library described below are a planned enhancement. Currently, samples
|
|
80
|
+
> live only within the session — they are not persisted across sessions by any
|
|
81
|
+
> script. The checkpoint.py + hydrate.py vault stores prompts and summaries, not
|
|
82
|
+
> raw input→output examples.
|
|
83
|
+
|
|
84
|
+
当用户明确要求"把这个例子保存下来""加入样例库"或 payload 设置 `persist_sample: true` 时,将本轮示例追加到样本库。追加条目应包含:
|
|
85
|
+
|
|
86
|
+
- 任务、角色、输出格式、待处理内容占位和约束。
|
|
87
|
+
- 1~5 组用户示例(输入、可选推理过程、输出)。
|
|
88
|
+
- 本轮生成的完整少样本 Prompt。
|
|
89
|
+
|
|
90
|
+
若示例里包含隐私、密钥、真实身份信息或用户没有明确要求持久化,先脱敏或仅保存在 session 临时区。追加而非覆盖已有样本。
|
|
91
|
+
|
|
92
|
+
## When to Use
|
|
93
|
+
|
|
94
|
+
- 任务有固定的输入输出模式(如代码转换、格式化、分类)。
|
|
95
|
+
- 用户能提供高质量示例。
|
|
96
|
+
- 输出风格或格式需要严格遵循约定。
|
|
97
|
+
- 常见场景:标准 CRUD 模块、单元测试编写、代码风格转换、文本分类。
|
|
98
|
+
|
|
99
|
+
## Example Use Cases
|
|
100
|
+
|
|
101
|
+
- "根据这些示例,把后面的函数也写成同样的风格"
|
|
102
|
+
- "参考前两个单元测试,为这个新函数写测试"
|
|
103
|
+
- "模仿这两个 API 端点的写法,实现第三个端点"
|
|
104
|
+
|
|
105
|
+
## Prompt Output Template
|
|
106
|
+
|
|
107
|
+
当你用 Few-Shot 技术生最终提示词时,**必须**按以下 8 节骨架输出。技术特定的第 5 节格式要求见下方详细说明。
|
|
108
|
+
|
|
109
|
+
### 章节骨架
|
|
110
|
+
|
|
111
|
+
| # | 章节 | 必需 | 说明 |
|
|
112
|
+
|---|------|------|------|
|
|
113
|
+
| 1 | 角色 | ✓ | 领域专家 + 技术栈,如"你是一名资深 Go 后端工程师,精通 Gin + MySQL" |
|
|
114
|
+
| 2 | 任务 | ✓ | 一句话说清要做什么 |
|
|
115
|
+
| 3 | 输入 | ✓ | 目标数据/代码/模块的描述 |
|
|
116
|
+
| 4 | 输出格式 | ✓ | 编号列表,每项对应下方具体实现的子节。如"1. DDL, 2. API接口, 3. 校验逻辑, 4. 业务代码, 5. 单元测试" |
|
|
117
|
+
| 5 | **格式参考示例(Few-Shot)** | ✓ | 见下方详细格式规范 |
|
|
118
|
+
| 6 | 具体实现要求 | ✓ | 按输出格式的编号逐节展开,含代码示例、DDL、API 示例等 |
|
|
119
|
+
| 7 | 硬约束 | ✓ | 编号列表,含技术栈、范围值、架构限制等 |
|
|
120
|
+
| 8 | 生成要求 | ✓ | 编号列表,最终验收标准 |
|
|
121
|
+
|
|
122
|
+
### 第 5 节格式规范:格式参考示例(Few-Shot)
|
|
123
|
+
|
|
124
|
+
这是本技术最关键的章节。必须包含:
|
|
125
|
+
|
|
126
|
+
**A. 2-3 组输入→输出对**,每组格式:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
### 示例 N:[场景描述]
|
|
130
|
+
|
|
131
|
+
**输入:**
|
|
132
|
+
[具体的输入数据,如 API 请求体、代码片段、数据结构]
|
|
133
|
+
|
|
134
|
+
**输出:**
|
|
135
|
+
[对应的期望输出,如 API 响应、代码结果、处理结果]
|
|
136
|
+
|
|
137
|
+
**映射规则:** [一句话解释输入如何变成输出]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**B. 输入→输出映射规则总结框**:一个 ASCII 框图,汇总所有示例中提取的通用规则。
|
|
141
|
+
|
|
142
|
+
格式范本(来自 MCP 黄金标准 `prompt_02_vital_signs`):
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
146
|
+
│ 数值校验映射规则 │
|
|
147
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
148
|
+
│ │
|
|
149
|
+
│ 输入值 → 判断1: 是否在有效范围内? │
|
|
150
|
+
│ ├─ 否 → 返回错误码 + 拒绝录入 │
|
|
151
|
+
│ └─ 是 → 判断2: 是否在正常范围内? │
|
|
152
|
+
│ ├─ 是 → status: "normal" │
|
|
153
|
+
│ └─ 否 → status: "abnormal" + warning │
|
|
154
|
+
│ │
|
|
155
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 质量自检
|
|
159
|
+
|
|
160
|
+
- [ ] 示例是**任务领域的真实输入→输出对**,不是"提示词设计的元示例"
|
|
161
|
+
- [ ] 每组示例有明确的映射规则说明
|
|
162
|
+
- [ ] 映射规则总结框放在所有示例之后
|
|
163
|
+
- [ ] 输出格式的编号与具体实现要求的子节编号一一对应
|
|
164
|
+
- [ ] 硬约束≥8 条,含技术栈、数值范围、架构限制
|
|
165
|
+
|
|
166
|
+
## Notes
|
|
167
|
+
|
|
168
|
+
- 少样本示例如果存在,必须体现"输入如何变成输出",不要只写输出格式骨架。
|
|
169
|
+
- "推理过程"应是可公开的简要判断依据,用来帮助样例复用;不要保存隐藏思维链、敏感信息或不可公开的内部分析。
|
|
170
|
+
- 示例应与用户任务同类型,避免混入无关领域案例;没有示例时不要臆造示例,按零样本生成即可。
|
|
171
|
+
- 示例数量优先 2~3 个;任务简单可用 1 个,格式复杂可用 4~5 个。
|
|
172
|
+
- 输出格式要量化,如字段名、顺序、句数、Markdown 样式或 JSON Schema。
|
|
173
|
+
- 生成的 Prompt 中保留 `{用户输入的文本}` 等占位符,除非用户已经提供真实待处理内容。
|
|
174
|
+
- 案例仅供参考,不可直接复制为用户任务的生成内容。
|