Skip to content

附录 C · 模板库

这里收录可直接复制使用的模板:Prompt 模板、AGENTS.md 模板、自定义 Agent / Command 模板。用法建议:先原样用,再按自己的项目与语言风格改——模板是起点而非教条。占位符统一用 <尖括号> 标出。


C.1 通用 Prompt 模板(CTCC)

text
【背景 Context】
<我是谁 / 项目是什么 / 当前情况;相关环境与版本>

【任务 Task】
<请你做的一件具体事情,一个动词 + 明确产出>

【约束 Constraints】
- 必须:<一定要满足的条件>
- 不要:<不能碰的东西>
- 输出格式:<Markdown / JSON / 表格 / 代码块;长度与结构>

【标准 Criteria】
<怎样算完成:测试通过 / 包含哪些点 / 验收方式>

C.2 修 Bug 模板

text
【现象】
<用户看到什么;期望行为是什么;实际行为是什么>

【复现】
1. <步骤一>
2. <步骤二>
出现频率:<必现 / 偶发(附条件)>

【证据】
错误信息:
<完整报错栈,不要只贴最后一行>
相关代码:@<文件路径#行范围>

【要求】
- 先定位根因、说明你的判断依据,再做最小修复;
- 不要顺手重构无关代码;
- 修复后跑 <相关测试命令> 验证;没有测试就补一个复现测试。

C.3 代码审查模板

text
请审查当前改动(`git diff`):
- 只读分析,不要修改任何文件;
- 问题按「必须改 / 建议改 / 可选」分组,标注文件与行号;
- 重点关注:逻辑错误、边界与空值、并发 / 安全、错误处理、
  命名与可读性;
- 不确定处明确写「需人工确认」,不要编造;
- 最后给一句总体结论:<可以合并 / 需修改后再看>。

C.4 重构模板

text
请在不改变外部行为的前提下重构 <模块 / 函数>:
- 先指出现有实现的问题(可读性 / 重复 / 耦合),并给出方案;
- 等我确认方案后再动手;
- 保持 / 补齐测试,重构后全部测试必须通过;
- 不要改变公共 API(如必须改变,单独列出并说明原因);
- 分步小改,每步可验证,而不是一次性重写。

C.5 调研 / 探索模板

text
请只做调研,不改代码:
问题:<我想搞清的具体问题>
范围:<限定目录 / 模块>
交付:
- 结论(先给答案,3 条以内);
- 证据:相关文件、函数、行号与调用链;
- 如果有多种可能,分别列出依据与可能性,不要猜一个定论。

C.6 AGENTS.md 项目模板

markdown
# AGENTS.md

## 项目简介
<这个项目是什么、技术栈、目录结构概览>

## 开发与构建
- 安装依赖:<命令>
- 本地运行:<命令>
- 构建:<命令>

## 测试
- 跑全部测试:<命令>
- 跑单个文件:<命令>
- 约定:<何时必须补测试;覆盖率期望>

## 代码风格
- 格式化工具:<命令 / 配置文件位置>
- 命名、文件组织约定:<要点>
- 提交信息格式:<约定>

## 必须遵守
- <如:改动后必须跑测试;公共 API 变更要更新文档>

## 禁止事项
- <如:不要提交 .env;不要 git push 到主分支>

## 架构要点(按需)
<关键模块边界、容易踩坑的设计约束>

原则:写「长期有效、可执行」的规则;保持精炼;密钥不写进来(第 4 章)。


C.7 自定义 Agent 模板

markdown
---
description: <这个 Agent 干什么——这句话会影响是否被调用>
mode: subagent            # primary / subagent / all
subagent:
  description: <作为子代理时的用途说明,给主模型看>
model: <供应商/模型ID,省略则继承父会话模型>
permissions:
  <action>: deny          # 如 write/edit/patch: deny
---

你是 <角色>。

## 职责
- <必须做的>

## 工作原则
- <流程、边界、禁忌>

## 输出格式
<结构、分组、长度要求>

文件位置:.opencode/agents/<name>.md(第 5 章)。

C.8 自定义 Command 模板

markdown
---
description: <命令说明,会显示在 / 列表中>
---

请基于以下信息工作:

当前分支:`git branch --show-current`
改动文件:`git diff --stat`

<$ARGUMENTS>

<固定的 Prompt 正文:要做什么、输出格式、约束>

文件位置:.opencode/commands/<name>.md$ARGUMENTS 接收用户输入,反引号中的命令在发送前执行(第 5 章)。


C.9 使用模板的心法

  1. 模板帮你不遗漏,但上下文仍需你提供。 空模板 + 空背景,不会产生好结果。
  2. 先删后填:用不到的段落删掉,避免 Prompt 臃肿。
  3. 逐步个性化:每次发现好说法,就更新你自己的模板库——让模板随水平一起进化。
  4. 常规模板固化进 Command / Agent:当某模板每周都用,就不该再靠复制粘贴(第 5、9 章)。