系列教程
35 节
DeepSeek Harness 教程
按顺序阅读,循序渐进掌握相关 AI 工具与实战方法。
从「DeepSeek Harness 教程:开篇导读」开始
掌握提示词技巧,让 Codex 更准确地理解你的意图并高效完成任务。
一个好的提示词包含以下要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 任务描述 | 你想做什么 | "实现用户登录功能" |
| 上下文 | 相关背景信息 | "使用现有的 auth 模块" |
| 约束条件 | 限制和要求 | "必须兼容现有 API" |
| 期望结果 | 具体产出 | "返回 JWT token" |
# 任务描述
实现一个用户登录 API 端点
# 上下文
- 项目使用 FastAPI 框架
- 已有 auth 模块处理认证逻辑
- 数据库使用 PostgreSQL
# 约束条件
- 使用现有的 JWT 工具生成 token
- 密码使用 bcrypt 验证
- 需要添加请求日志
# 期望结果
- 路径:POST /api/auth/login
- 请求体:{"email": "...", "password": "..."}
- 成功响应:{"token": "...", "user": {...}}
- 失败响应:{"error": "..."}
复杂任务应该拆解成小步骤,逐步完成。
# 大任务 "实现完整的用户认证系统" # 拆解成小任务 步骤 1:"设计认证系统的数据结构,包括用户表和 token 表" 步骤 2:"实现用户注册功能,包括密码加密和验证" 步骤 3:"实现用户登录功能,生成 JWT token" 步骤 4:"实现 token 验证中间件" 步骤 5:"实现用户登出功能" 步骤 6:"编写认证系统的测试" 步骤 7:"更新 API 文档"
使用 /plan 模式可以帮助 Codex 自动拆解复杂任务。
充分的上下文让 Codex 更准确理解项目状态。
| 类型 | 说明 | 何时提供 |
|---|---|---|
| 技术栈 | 框架、语言、库版本 | 首次任务或新模块 |
| 项目结构 | 模块位置、命名规范 | 涉及多文件修改 |
| 现有代码 | 相关函数、类、模块 | 需要兼容或扩展 |
| 约束条件 | 兼容性、性能要求 | 有特殊限制 |
# 直接描述 "项目使用 Django 4.2,数据库是 PostgreSQL 15" # 引用现有代码 "参考 src/utils/validator.py 的验证逻辑" # 指定文件 "修改 src/api/users.py,保持与其他 API 一致的风格" # AGENTS.md 自动提供 创建 AGENTS.md 文件,Codex 会自动读取项目规范
Codex 可以根据错误信息快速定位问题。
# 提供完整错误 "运行测试时出现错误: AssertionError: Expected status 200 but got 500 at test_login.py:45 in test_successful_login Full traceback: ... 分析原因并修复" # 截图辅助 附加错误截图,Codex 可以直接查看
Codex 支持图片输入,适合视觉信息传递。
| 场景 | 说明 |
|---|---|
| 错误截图 | 截图显示错误界面或日志 |
| 设计稿 | UI 设计稿转换为代码 |
| 架构图 | 解释架构图并实现 |
| 数据图表 | 分析图表数据 |
# CLI codex -i screenshot.png codex --image design.png "根据设计稿实现页面" # App/IDE 直接粘贴或拖拽图片到对话区域 # 多张图片 codex -i img1.png -i img2.png "对比这两张设计稿的差异"
通过迭代逐步优化代码质量。
# 初步实现 "实现用户列表 API,支持分页" # 检查后提出改进 "添加排序功能,支持按创建时间排序" # 继续优化 "添加搜索功能,支持按用户名搜索" # 性能优化 "优化查询性能,添加索引"
明确的提示词减少误解和返工。
# 模糊的提示词(不好) "修改那个函数" # 明确的提示词(好) "修改 src/utils/helper.py 中的 format_date 函数" # 模糊的提示词(不好) "让它更快" # 明确的提示词(好) "优化 query_users 函数,查询时间从 500ms 降低到 100ms 以内" # 模糊的提示词(不好) "加个功能" # 明确的提示词(好) "在用户 API 中添加批量删除功能,接收用户 ID 列表"
提供参考代码或文档,帮助 Codex 理解期望风格。
# 参考现有代码风格
"参考 src/api/products.py 的风格,实现用户 API"
# 参考文档
"按照 OpenAPI 规范文档 docs/api-spec.yaml 实现"
# 参考示例
"按照这个格式返回响应:
{
'success': true,
'data': {...},
'message': '...'
}"
在 [模块路径] 添加 [功能名称] 功能 要求: - 使用 [技术/库] - 兼容 [现有系统] - 包含 [边界处理] - 返回 [响应格式] 参考:[现有类似功能路径]
问题描述:[Bug 表现] 触发条件:[什么情况下出现] 错误信息: [完整错误堆栈] 期望行为:[正确结果应该是什么] 请分析原因并修复,不要影响其他功能。
/review [范围] for [重点] # 示例 /review src/auth/ for security issues /review HEAD~5..HEAD for performance regressions
提供更明确的描述,补充上下文,或使用参考示例。
创建 AGENTS.md 文件定义规范,Codex 会自动遵循。
使用 /plan 模式制定计划,分步执行并验证。
支持 PNG、JPG、WebP 格式,建议分辨率适中(不要太小或太大)。