欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

Trae CN实战指南④|Prompt工程:如何写出高质量的指令,让AI输出你真正想要的代码

2026-06-26 · 入门教程 · 有封面图

前三篇我们分别介绍了Trae的基础使用、SOLO智能体模式和Builder模式。今天进入一个更实用但也更容易被忽视的主题——如何写出高质量的Prompt(提示词),让Trae(以及任何AI编程助手)输出你真正想要的代码。

很多人觉得"AI写代码"很神奇,但用起来却经常"答非所问"。问题往往不在AI,而在你是怎么描述的

一、为什么Prompt质量决定AI输出质量?

AI模型(包括Trae使用的底层模型)的工作原理是"预测下一个token"。你输入的Prompt就是"上下文",AI根据上下文来预测最符合你意图的后续内容。

类比一下:

  • 模糊Prompt:像你对一个新来的实习生说"帮我做个功能"——他只能靠猜
  • 精确Prompt:像你对一个资深工程师说"用React写一个带搜索和分页的用户列表组件,使用TypeScript,样式用Tailwind"——他能直接出活

数据支持:Anthropic的官方文档指出,优化Prompt可以让Claude的输出质量提升30-50%。这不是夸张——同样的模型,不同的Prompt,效果可以差很多。

二、高质量Prompt的五个要素

要素1:明确的角色定义

在Prompt开头告诉AI"你是谁",能显著提升输出质量。

❌ 差的Prompt:

写一个登录功能

✅ 好的Prompt:

你是一个有5年经验的Node.js后端工程师,擅长Express框架和JWT认证。
请帮我写一个用户登录功能,要求:
- 使用Express + bcrypt + jsonwebtoken
- 密码错误时返回通用错误(不提示"密码错误",防止用户名枚举)
- 登录成功后返回JWT token,有效期7天
- 需要处理SQL注入和XSS防护

要素2:结构化需求描述

把需求拆成"功能需求"和"非功能需求",再分点列出。

❌ 差的Prompt:

做个电商网站,要能买东西,要有购物车,要好看

✅ 好的Prompt:

创建一个电商网站前端,具体要求:

【技术栈】
- 框架:React 18 + TypeScript
- 样式:Tailwind CSS
- 状态管理:Zustand
- 路由:React Router v6

【功能模块】
1. 商品列表页(首页)
   - 网格布局,每行3个商品卡片
   - 支持按分类筛选
   - 支持按价格排序(升序/降序)
2. 商品详情页
   - 商品图片轮播
   - 数量选择器
   - "加入购物车"按钮
3. 购物车页面
   - 购物车商品列表(可修改数量、可删除)
   - 总价计算
   - "去结算"按钮

【非功能需求】
- 响应式设计(手机/平板/桌面)
- 加载状态要有skeleton效果
- 错误要有toast提示

要素3:提供示例和边界条件

如果需求中有复杂逻辑,给出输入/输出示例。

示例:

写一个函数,把数字金额转为中文大写金额。

示例输入1:1234.56
示例输出1:壹仟贰佰肆拾叁元伍角陆分

示例输入2:1000000
示例输出2:壹佰万元整

边界条件:
- 金额为0时,返回"零元整"
- 金额为负数时,在开头加"负"
- 最大支持到亿级别

要素4:指定输出格式

明确告诉AI你想要什么格式的输出。

需求输出格式指定
只要代码"只输出代码,不要解释"
代码+注释"输出代码,并在关键逻辑处加注释"
代码+说明"先输出代码,再逐段解释实现思路"
多个文件"输出以下文件:1. user.controller.js 2. user.model.js 3. user.route.js"

要素5:迭代优化指令

第一次输出不满意?不要重写Prompt,而是在原Prompt基础上提修改要求。

迭代示例:

# 第1轮
"写一个用户注册API"

# AI输出后...
# 第2轮
"在上一个代码基础上,增加邮箱验证(发送验证码到邮箱,5分钟内有效)"

# AI输出后...
# 第3轮
"再增加防刷机制:同一IP 1小时内最多发送3次验证码"

三、Trae中的Prompt最佳实践

实践1:用"任务+上下文+期望输出"结构

Trae(特别是SOLO和Builder模式)对结构化Prompt的理解更好。

推荐结构:

# 任务
实现一个用户认证中间件

# 上下文
- 项目使用Express框架
- 已有User模型和jwt密钥配置
- 其他路由在routes/目录下

# 期望输出
- 一个中间件函数,验证Authorization头中的JWT
- 验证失败返回401
- 验证成功把用户信息写入req.user
- 代码放在middleware/auth.js

实践2:善用"参考答案"技巧

如果你想要某种风格或模式的代码,给AI看一个例子。

示例:

参考以下代码的风格和模式,实现订单管理模块:

【参考代码】
// 这是项目中已有的用户管理代码,注意它的:
// 1. 错误处理方式
// 2. 日志输出格式
// 3. 数据库操作模式

【你的任务】
用相同的风格和模式,写订单管理模块(order.controller.js)

实践3:指定"不要做什么"

有时候告诉AI"不要什么"比告诉它"要什么"更有效。

示例:

写一个数据导出功能,把用户数据导出为CSV。

【要求】
- 使用async/await,不要用Promise.then
- 不要使用any类型(TypeScript)
- 不要直接拼接SQL(防止注入)
- 导出前要做权限检查(只有管理员能导出全部用户)

四、常见Prompt陷阱与规避

陷阱问题描述规避方法
过于简略"写个API" → AI不知道你要什么API至少说明:技术栈、功能、输入输出
一次提太多需求AI会遗漏部分需求分阶段提需求,每次1-2个核心功能
使用模糊词"优化一下"、"好看一点" → AI无法量化用具体指标:"首屏加载<1s"、"使用蓝色主色调"
不指定技术版本AI可能用过时API明确版本:"React 18"、"Node.js 20+"
期望AI读心"像XX项目那样" → AI不知道XX项目是什么贴代码片段,或详细描述XX项目的特征

下一篇,我们将讲解Trae的上下文管理:如何让AI记住你的项目规范、代码风格和决策历史。

评论区

发表评论