从“复制粘贴”到“人机协同”的质变手册|附SKILL.md模板+MCP配置指南

核心理念
AI是副驾驶,你是机长
上下文质量 = 输出质量
规范先行,效率翻倍
(本文所有技巧均经Trae实测验证|2026.03更新)


📜 一、SKILL.md:你的AI协作宪法(必建!)

在项目根目录创建 SKILL.md,让Trae“读懂”你的项目基因

# 🌱 DatabaseMaster 项目AI协作规范(SKILL.md)
## 🎯 核心原则
- **安全红线**:数据库密码/密钥绝不通过AI生成或讨论
- **版权规范**:AI生成代码需人工重写核心逻辑(避免GPL污染)
- **责任归属**:所有AI生成代码必须经人工审核+单元测试

## 💻 技术栈锚点
```java
// Trae提问时自动携带以下上下文:
语言: Java 17 + Spring Boot 3.2
构建: Maven (pom.xml路径: /pom.xml)
关键依赖: 
  - mybatis-spring-boot-starter:3.0.3
  - jjwt-jackson:0.12.5
包规范: 
  com.dbmaster.core.*   // 核心业务
  com.dbmaster.api.*    // REST接口
  com.dbmaster.security // 安全模块

🚫 禁止行为清单

  • 用AI生成@PreAuthorize权限表达式(需人工审核)
  • 让AI修改application-prod.yml(生产配置)
  • 直接采纳AI生成的SQL(必须参数化+防注入检查)

✅ 推荐提问模板

【角色】你是一名资深Java安全工程师
【任务】为UserService.generateToken()方法添加JWT过期校验
【约束】
1. 使用jjwt库的JwtParserBuilder
2. 过期时间:2小时
3. 异常抛出TokenExpiredException
4. 附单元测试用例
【参考】当前方法签名:public String generateToken(User user)
> 💡 **行动**:  
> 1. 复制上方模板到项目根目录 `SKILL.md`  
> 2. 在Trae设置中配置 **“自动加载SKILL.md作为系统提示”**  
> 3. 每次提问前默念:**“我已检查SKILL.md”**

---

## 🔌 二、MCP(Model Context Protocol)实战配置
> *Trae的“项目记忆库”——让AI理解你的代码宇宙*

### ✅ MCP配置三步法(Trae设置路径:Settings → Context)
| 步骤 | 操作 | 示例 |
|------|------|------|
| **1. 核心文件** | 添加关键架构文件 | `pom.xml`, `application.yml`, `SKILL.md` |
| **2. 模块锚点** | 添加包结构说明 | `core/README.md`(描述模块职责) |
| **3. 禁忌清单** | 排除敏感文件 | `.env`, `keystore.jks`, `target/` |

### 🌰 MCP生效对比
```java
// ❌ 无MCP:Trae生成错误代码
public String getToken(User user) {
    return JWT.create().sign(Algorithm.HMAC256("secret")); // 硬编码密钥!
}

// ✅ 有MCP(加载SKILL.md+application.yml):
public String generateToken(User user) {
    // 从environment安全获取密钥(符合SKILL.md规范)
    String secret = environment.getProperty("jwt.secret");
    return JWT.create()
        .withExpiresAt(new Date(System.currentTimeMillis() + 7200000))
        .sign(Algorithm.HMAC256(secret)); 
}

⚠️ MCP避坑指南

误区 正确做法
添加整个src/main/java ✅ 仅添加架构说明文件(如包注释/模块README)
忽略版本差异 ✅ 在MCP中注明:Spring Boot 3.2(非2.7)
未更新MCP ✅ 每次重大重构后更新MCP锚点文件

🌐 三、上下文管理黄金法则

🔑 三明治提问法(Trae实测提升准确率70%)

【上层面包】背景:我在开发数据库连接管理模块,使用HikariCP
【肉饼】任务:生成ConnectionPoolConfig类,要求:
       - 最大连接数从application.yml读取
       - 添加@RefreshScope支持配置热更新
       - 注释说明每个参数业务含义
【下层面包】约束:参考项目中DataSourceConfig.java的写法(已选中该文件)

Trae操作

  1. 选中DataSourceConfig.java
  2. 右键 → “Ask Trae with Context”
  3. 粘贴三明治提示词

📏 上下文窗口优化技巧

场景 操作 效果
大文件提问 选中关键代码段(≤50行) 避免上下文溢出
跨文件逻辑 先问:“请总结UserService的认证流程” 建立逻辑锚点
复杂重构 分步提问:“第一步:提取校验逻辑为独立方法” 降低认知负荷

💬 四、对话技巧:Java程序员专属提示词库

🌟 高效提问公式

角色 + 任务 + 约束 + 示例 + 验收标准

场景 低效提问 高效提问(Trae实测)
生成代码 “写个登录接口” “作为Spring Security专家,生成@PostMapping(‘/login’)方法:- 参数:@RequestBody LoginRequest(含username/password)- 返回JWT token- 密码用BCrypt加密验证- 异常:BadCredentialsException- 附Postman测试用例"
解释代码 “这段代码啥意思” “用‘快递分拣站’比喻解释HikariCP连接池:1. 连接=快递员2. 池=分拣中心3. 超时=快递员等待时间重点说明maximumPoolSize的作用”
重构代码 “优化这段代码” “将以下代码重构为策略模式:【粘贴if-else支付逻辑】要求:- 定义PaymentStrategy接口- 实现Alipay/WechatPay策略- 用Map注册策略- 保留原方法签名兼容”
排查Bug “为什么报错” “分析Stacktrace:【粘贴异常】可能原因:1. MyBatis resultMap字段映射错误?2. 数据库字段名大小写问题?请给出3个排查步骤+修复方案”

🚫 绝对避免的提问

❌ “帮我写个系统” (太模糊)
❌ “这段代码安全吗?” (需具体说明风险点)
❌ 直接粘贴200行代码问“优化” (Trae会丢失上下文)

🛡️ 五、安全与伦理红线(Java开发者必守)

风险 防御方案 Trae操作
代码泄露 敏感项目禁用云版Trae 使用Trae Local Mode(本地模型)
版权污染 AI生成代码需重写核心逻辑 生成后执行:// 人工重写:添加业务校验逻辑
安全漏洞 所有SQL/密码操作人工审核 在SKILL.md标注:【安全审查点】
依赖风险 检查AI推荐的Maven依赖 mvn dependency:tree验证

🔒 黄金法则
“AI生成的代码 = 未消毒的食材,必须经人工‘烹饪’才能上桌”


📊 六、Trae效率仪表盘(每日自检)

指标 健康值 检查方式
人工审核率 ≥95% 代码提交记录
单元测试覆盖率 AI生成代码100%覆盖 JaCoCo报告
提问精准度 一次提问解决率 >80% 记录提问-解决次数
上下文利用率 MCP文件更新频率 ≥1次/周 Git提交记录

🌱 七、行动清单(今天就能做)

1️⃣ 立即创建:项目根目录 SKILL.md(复制本文第一节模板)
2️⃣ 配置Trae:Settings → Context → 添加 SKILL.md + pom.xml
3️⃣ 实践三明治法:下次提问时严格按“背景-任务-约束”结构
4️⃣ 设置安全屏障:在IDE安装 CodeGeeX Security 插件(自动扫描AI代码风险)
5️⃣ 建立习惯:每日站会花2分钟分享“今日最佳AI提问”


Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐