1. 让 Embedder 能自证正确
没有明确验收标准时,模型可能给出“看起来对”的答案,但运行后失败。 推荐写法:- 先描述输入与预期输出
- 指定必须通过的测试
- 要求修复根因,不要绕过错误
| 场景 | 不佳提示 | 更佳提示 |
|---|---|---|
| 传感器读取 | ”实现温度读取函数" | "实现 read_temperature();当原始值为 0x0190 时返回 25.0°C。补充单测并覆盖边界值。“ |
| 构建失败 | ”build 挂了" | "这里是报错信息:[粘贴]。修复根因并验证 build 通过,不要屏蔽错误。“ |
2. 先计划,再实施
推荐流程:
对于小改动(例如小 bug、重命名、日志增强),可以直接 Act 模式执行。
3. Prompt 要具体
高质量提示应包含:- 修改范围(文件路径、模块)
- 目标行为与边界条件
- 不可突破的约束(性能、风格、框架限制)
- 验证方式(测试命令、验收标准)
- 不佳:“加 I2C 传感器驱动”
- 更佳:“参考
drivers/adc.c与drivers/uart.c的风格,实现drivers/i2c_temp_sensor.c,保持命名与错误处理一致,不引入新框架。“
4. 配置好 EMBEDDER.md
EMBEDDER.md 应写“模型无法从代码中直接推断的信息”,例如:
- 必须执行的构建/测试命令
- 团队特有编码约定
- 环境限制与已知坑点
5. 管理上下文与会话
- 不相关任务之间运行
/clear - 连续两三次修不动同一问题时,
/clear后重开题 - 用
/compress主动压缩长会话 - 用
/history恢复历史会话 - 用
/rewind或/undo快速回滚错误尝试
6. 善用子代理(Subagents)
示例:7. 常见坑位
- 不做上下文清理,导致旧信息干扰当前任务
- Prompt 只有目标,没有验收标准
EMBEDDER.md过长、规则冲突- 让模型“广泛探索”但不给范围,导致上下文被快速耗尽