互力互通网站建设,杭州服装论坛网站建设,建设银行打印回单网站,天津西青区旅游景点大全​ 【个人主页#xff1a;玄同765】 大语言模型#xff08;LLM#xff09;开发工程师#xff5c;中国传媒大学数字媒体技术#xff08;智能交互与游戏设计#xff09; 深耕领域#xff1a;大语言模型开发 / RAG知识库 / AI Agent落地 / 模型微调 技术栈#xff1a;Pyth…​【个人主页玄同765】大语言模型LLM开发工程师中国传媒大学·数字媒体技术智能交互与游戏设计深耕领域大语言模型开发 / RAG知识库 / AI Agent落地 / 模型微调技术栈Python / LangChain/RAGDifyRedisMilvus| SQL/NumPy | FastAPIDocker ️工程能力专注模型工程化部署、知识库构建与优化擅长全流程解决方案「让AI交互更智能让技术落地更高效」欢迎技术探讨/项目合作 关注我解锁大模型与智能交互的无限可能核心内容本文将深入解析TRAE IDE中的6大实用提示词技巧从产品设计到数据库建表、从前后端对接到业务逻辑表达帮助你掌握与AI协作开发的最佳实践。一、引言提示词工程的重要性1.1 什么是提示词工程提示词工程Prompt Engineering是指通过精心设计和优化输入给AI模型的指令以获得更准确、更有用的输出结果的技术。在TRAE这样的AI原生IDE中掌握提示词技巧可以大幅提升开发效率。1.2 为什么提示词技巧很重要┌─────────────────────────────────────────────────────────────┐ │ 提示词技巧的价值 │ ├─────────────────────────────────────────────────────────────┤ │ ✅ 提高AI输出质量 - 获得更准确、更完整的代码 │ │ ✅ 减少迭代次数 - 一次性获得满意的结果 │ │ ✅ 降低沟通成本 - 清晰表达需求减少误解 │ │ ✅ 标准化开发流程 - 建立团队统一的AI协作规范 │ │ ✅ 提升开发效率 - 从需求到代码的端到端自动化 │ └─────────────────────────────────────────────────────────────┘二、六大核心提示词技巧详解2.1 技巧一怎样写产品设计书2.1.1 技巧说明通过结构化的提示词让AI生成完整的产品设计文档包含技术栈推荐、数据库设计、接口规范等核心内容。2.1.2 标准提示词模板请帮我生成一份产品设计书包含以下内容 1. 技术栈推荐前端、后端、数据库 2. 数据库设计表、字段、关系 3. 接口规范统一请求/响应格式 4. 模块及功能详细描述 5. 业务流程说明 项目背景 - 项目名称[你的项目名称] - 目标用户[目标用户群体] - 核心功能[主要功能点] - 技术约束[如有特殊要求请说明]2.1.3 实际应用示例示例电商后台管理系统请帮我生成一份产品设计书包含以下内容 1. 技术栈推荐前端、后端、数据库 2. 数据库设计表、字段、关系 3. 接口规范统一请求/响应格式 4. 模块及功能详细描述 5. 业务流程说明 项目背景 - 项目名称电商后台管理系统 - 目标用户电商运营人员、管理员 - 核心功能商品管理、订单管理、用户管理、数据统计 - 技术约束使用Vue3 Spring Boot MySQL2.1.4 AI输出示例# 电商后台管理系统 - 产品设计书 ## 1. 技术栈推荐 ### 前端 - **框架**: Vue 3 TypeScript - **UI组件库**: Element Plus - **状态管理**: Pinia - **路由**: Vue Router 4 - **HTTP客户端**: Axios ### 后端 - **框架**: Spring Boot 3.x - **数据库**: MySQL 8.0 - **缓存**: Redis - **ORM**: MyBatis Plus - **安全**: Spring Security JWT ## 2. 数据库设计 ### 核心表结构 #### 用户表 (users) | 字段名 | 类型 | 说明 | |--------|------|------| | id | BIGINT | 主键自增 | | username | VARCHAR(50) | 用户名 | | email | VARCHAR(100) | 邮箱 | | role | TINYINT | 角色1-管理员 2-运营 | | created_at | DATETIME | 创建时间 | | updated_at | DATETIME | 更新时间 | #### 商品表 (products) | 字段名 | 类型 | 说明 | |--------|------|------| | id | BIGINT | 主键自增 | | name | VARCHAR(200) | 商品名称 | | price | DECIMAL(10,2) | 价格 | | stock | INT | 库存 | | status | TINYINT | 状态0-下架 1-上架 | | created_at | DATETIME | 创建时间 | ...更多表结构 ## 3. 接口规范 ### 统一响应格式 json { status: 200, message: 操作成功, data: {} } ### 标准HTTP状态码 - 200: 成功 - 400: 请求参数错误 - 401: 未授权 - 500: 服务器内部错误 ## 4. 模块及功能详细描述 | 模块名称 | 功能点 | 功能描述 | 优先级 | |---------|--------|----------|--------| | **商品管理** | 商品列表 | 分页展示商品支持筛选和排序 | 高 | | | 商品新增/编辑 | 表单录入商品信息图片上传 | 高 | | | 商品上下架 | 控制商品在前端的展示状态 | 高 | | | 库存管理 | 实时库存查询和预警设置 | 中 | | **订单管理** | 订单列表 | 分页展示订单多维度筛选 | 高 | | | 订单详情 | 展示订单完整信息和物流状态 | 高 | | | 订单状态流转 | 待付款→已付款→待发货→已发货→已完成 | 高 | | | 退款处理 | 处理用户退款申请原路退回 | 中 | | **用户管理** | 用户列表 | 管理注册用户信息和状态 | 中 | | | 权限管理 | 分配用户角色和菜单权限 | 中 | | | 登录日志 | 记录用户登录历史和IP | 低 | | **数据统计** | 销售报表 | 按日/周/月统计销售额和订单量 | 中 | | | 商品分析 | 热销商品排行和库存周转率 | 中 | | | 用户分析 | 新用户增长和活跃用户统计 | 低2.1.5 最佳实践明确项目背景提供足够的上下文信息指定技术约束如果有技术栈要求务必提前说明分步骤生成如果文档较长可以分模块逐步生成迭代优化根据初稿进行补充和调整2.2 技巧二数据库建表2.2.1 技巧说明基于产品设计书中的数据库设计生成标准化的SQL建表语句包含完整的数据类型、注释、索引等。2.2.2 标准提示词模板请根据产品设计书中的数据库设计生成SQL建表语句。要求1. 所有字段有清晰的数据类型和注释2. 主键/外键/索引明确3. 适当增加created_at, updated_at字段4. 使用标准SQL语法MySQL/PostgreSQL5. 添加表级和字段级注释参考文档产品设计书.md#### 2.2.3 实际应用示例请根据以下数据库设计生成MySQL建表语句。用户表设计- id: 主键自增- username: 用户名唯一长度50- email: 邮箱唯一长度100- password: 密码长度255存储加密后的密码- role: 角色1-管理员 2-用户- status: 状态0-禁用 1-启用- created_at: 创建时间- updated_at: 更新时间要求1. 使用InnoDB引擎2. 字符集utf8mb43. 添加合适的索引4. 所有字段添加注释#### 2.2.4 AI输出示例 sql -- 用户表 CREATE TABLE users ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键ID, username VARCHAR(50) NOT NULL COMMENT 用户名, email VARCHAR(100) NOT NULL COMMENT 邮箱地址, password VARCHAR(255) NOT NULL COMMENT 加密密码, role TINYINT NOT NULL DEFAULT 2 COMMENT 角色1-管理员 2-用户, status TINYINT NOT NULL DEFAULT 1 COMMENT 状态0-禁用 1-启用, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (id), UNIQUE KEY uk_username (username), UNIQUE KEY uk_email (email), KEY idx_role (role), KEY idx_status (status) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci COMMENT用户表; -- 商品表 CREATE TABLE products ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键ID, name VARCHAR(200) NOT NULL COMMENT 商品名称, description TEXT COMMENT 商品描述, price DECIMAL(10,2) NOT NULL COMMENT 商品价格, stock INT NOT NULL DEFAULT 0 COMMENT 库存数量, status TINYINT NOT NULL DEFAULT 1 COMMENT 状态0-下架 1-上架, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (id), KEY idx_status (status), KEY idx_price (price) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci COMMENT商品表;2.2.5 最佳实践指定数据库类型MySQL、PostgreSQL、Oracle等语法有差异明确字段约束NOT NULL、DEFAULT、UNIQUE等合理设计索引主键、外键、查询常用字段加索引添加注释方便后续维护和理解标准化命名使用下划线命名法表名单数或复数统一2.3 技巧三前端直接对接后端2.3.1 技巧说明通过引用UI设计文档和后端接口文档让AI生成完整的前端页面代码并自动对接后端API。2.3.2 标准提示词模板UI页面设计文档 后端接口开发指南.md 请根据UI页面设计文档生成前端页面代码 并调用对应的后端接口保证功能正常运行。 要求 1. 使用[技术栈如Vue3/React]实现 2. 严格按照UI设计实现样式 3. 正确调用后端接口 4. 处理loading状态和错误提示 5. 添加表单验证 6. 响应式布局适配2.3.3 实际应用示例商品列表UI设计.md 商品管理接口文档.md 请生成商品列表页面包含以下功能 1. 商品列表展示表格形式 2. 分页功能 3. 按商品名称搜索 4. 按状态筛选 5. 新增/编辑/删除商品按钮 技术要求 - 使用Vue3 Element Plus - 使用Composition API - 对接后端RESTful接口 - 添加TypeScript类型定义2.3.4 AI输出示例template div classproduct-list !-- 搜索栏 -- el-card classsearch-card el-form :modelsearchForm inline el-form-item label商品名称 el-input v-modelsearchForm.name placeholder请输入商品名称 clearable / /el-form-item el-form-item label状态 el-select v-modelsearchForm.status placeholder请选择状态 clearable el-option label上架 :value1 / el-option label下架 :value0 / /el-select /el-form-item el-form-item el-button typeprimary clickhandleSearch搜索/el-button el-button clickhandleReset重置/el-button /el-form-item /el-form /el-card !-- 操作栏 -- el-card classtable-card template #header div classcard-header span商品列表/span el-button typeprimary clickhandleAdd新增商品/el-button /div /template !-- 数据表格 -- el-table :dataproductList v-loadingloading border el-table-column propid labelID width80 / el-table-column propname label商品名称 min-width200 / el-table-column propprice label价格 width120 template #default{ row } ¥{{ row.price }} /template /el-table-column el-table-column propstock label库存 width100 / el-table-column propstatus label状态 width100 template #default{ row } el-tag :typerow.status 1 ? success : info {{ row.status 1 ? 上架 : 下架 }} /el-tag /template /el-table-column el-table-column label操作 width200 fixedright template #default{ row } el-button typeprimary link clickhandleEdit(row)编辑/el-button el-button typedanger link clickhandleDelete(row)删除/el-button /template /el-table-column /el-table !-- 分页 -- el-pagination v-model:current-pagepagination.page v-model:page-sizepagination.pageSize :totalpagination.total :page-sizes[10, 20, 50, 100] layouttotal, sizes, prev, pager, next, jumper size-changehandleSizeChange current-changehandlePageChange / /el-card /div /template script setup langts import { ref, reactive, onMounted } from vue import { ElMessage, ElMessageBox } from element-plus import { getProductList, deleteProduct } from /api/product // 类型定义 interface Product { id: number name: string price: number stock: number status: number } interface Pagination { page: number pageSize: number total: number } // 响应式数据 const loading ref(false) const productList refProduct[]([]) const searchForm reactive({ name: , status: undefined as number | undefined }) const pagination reactivePagination({ page: 1, pageSize: 10, total: 0 }) // 获取商品列表 const fetchProductList async () { loading.value true try { const res await getProductList({ page: pagination.page, pageSize: pagination.pageSize, name: searchForm.name, status: searchForm.status }) productList.value res.data.list pagination.total res.data.total } catch (error) { ElMessage.error(获取商品列表失败) } finally { loading.value false } } // 搜索 const handleSearch () { pagination.page 1 fetchProductList() } // 重置 const handleReset () { searchForm.name searchForm.status undefined handleSearch() } // 分页大小变化 const handleSizeChange (val: number) { pagination.pageSize val fetchProductList() } // 页码变化 const handlePageChange (val: number) { pagination.page val fetchProductList() } // 新增 const handleAdd () { // 跳转到新增页面或打开弹窗 } // 编辑 const handleEdit (row: Product) { // 跳转到编辑页面或打开弹窗 } // 删除 const handleDelete async (row: Product) { try { await ElMessageBox.confirm(确认删除该商品吗, 提示, { type: warning }) await deleteProduct(row.id) ElMessage.success(删除成功) fetchProductList() } catch (error) { // 用户取消或删除失败 } } // 初始化 onMounted(() { fetchProductList() }) /script style scoped .product-list { padding: 20px; } .search-card { margin-bottom: 20px; } .card-header { display: flex; justify-content: space-between; align-items: center; } .el-pagination { margin-top: 20px; justify-content: flex-end; } /style2.3.5 最佳实践提供完整的设计文档UI设计和接口文档要详细明确技术栈指定前端框架、组件库、状态管理方案要求类型定义TypeScript类型可以提高代码质量包含错误处理loading状态、错误提示、表单验证模块化组织API调用、类型定义、组件逻辑分离2.4 技巧四只需一套表达式写清楚任何业务逻辑2.4.1 技巧说明使用结构化的如果...那么...否则如果...否则表达式清晰描述复杂的业务逻辑规则。2.4.2 标准表达式模板如果 【条件1】 且 【条件2】 那么 【结果1】 否则如果 【条件3】 那么 【结果2】 否则 【结果3】2.4.3 实际应用示例示例1订单状态流转订单状态流转规则 如果 【订单状态 待付款】 且 【当前时间 订单创建时间 30分钟】 那么 【用户可以支付订单】 否则如果 【订单状态 待付款】 且 【当前时间 订单创建时间 30分钟】 那么 【订单自动取消状态变为已取消】 否则如果 【订单状态 已付款】 且 【库存充足】 那么 【订单状态变为待发货扣减库存】 否则如果 【订单状态 已付款】 且 【库存不足】 那么 【触发退款流程订单状态变为退款中】 否则如果 【订单状态 待发货】 且 【管理员点击发货】 那么 【订单状态变为已发货记录物流信息】 否则如果 【订单状态 已发货】 且 【用户确认收货】 那么 【订单状态变为已完成】 否则 【保持当前状态记录操作日志】示例2会员等级计算会员等级计算规则 如果 【累计消费金额 10000元】 且 【注册时间 1年】 那么 【会员等级 钻石会员享受8折优惠】 否则如果 【累计消费金额 5000元】 且 【注册时间 6个月】 那么 【会员等级 白金会员享受8.5折优惠】 否则如果 【累计消费金额 2000元】 那么 【会员等级 黄金会员享受9折优惠】 否则如果 【累计消费金额 500元】 那么 【会员等级 白银会员享受9.5折优惠】 否则 【会员等级 普通会员无折扣】2.4.4 AI输出示例基于上述业务逻辑AI可以生成对应的代码实现# 订单状态流转逻辑 def process_order(order, actionNone): 处理订单状态流转 from datetime import datetime, timedelta current_time datetime.now() order_time order.created_at # 如果订单状态为待付款且未超时 if order.status 待付款 and current_time order_time timedelta(minutes30): return {allow_payment: True, message: 可以支付订单} # 如果订单状态为待付款但已超时 elif order.status 待付款 and current_time order_time timedelta(minutes30): order.status 已取消 order.save() return {status_changed: True, new_status: 已取消, message: 订单已自动取消} # 如果订单已付款且库存充足 elif order.status 已付款 and order.product.stock order.quantity: order.status 待发货 order.product.stock - order.quantity order.product.save() order.save() return {status_changed: True, new_status: 待发货, message: 订单待发货库存已扣减} # 如果订单已付款但库存不足 elif order.status 已付款 and order.product.stock order.quantity: order.status 退款中 order.save() # 触发退款流程 process_refund(order) return {status_changed: True, new_status: 退款中, message: 库存不足已触发退款} # 如果订单待发货且管理员点击发货 elif order.status 待发货 and action 发货: order.status 已发货 order.save() return {status_changed: True, new_status: 已发货, message: 订单已发货} # 如果订单已发货且用户确认收货 elif order.status 已发货 and action 确认收货: order.status 已完成 order.save() return {status_changed: True, new_status: 已完成, message: 订单已完成} # 其他情况 else: log_operation(order, 状态检查) return {status_changed: False, current_status: order.status} # 会员等级计算 def calculate_member_level(user): 计算会员等级 from datetime import datetime, timedelta total_amount user.total_consumption register_days (datetime.now() - user.created_at).days # 钻石会员 if total_amount 10000 and register_days 365: return { level: 钻石会员, discount: 0.8, benefits: [专属客服, 优先发货, 生日礼品] } # 白金会员 elif total_amount 5000 and register_days 180: return { level: 白金会员, discount: 0.85, benefits: [专属客服, 优先发货] } # 黄金会员 elif total_amount 2000: return { level: 黄金会员, discount: 0.9, benefits: [积分加倍] } # 白银会员 elif total_amount 500: return { level: 白银会员, discount: 0.95, benefits: [] } # 普通会员 else: return { level: 普通会员, discount: 1.0, benefits: [] }2.4.5 最佳实践条件要完整考虑所有可能的情况和边界条件逻辑要互斥确保条件之间不会同时满足除非故意设计顺序很重要将最具体的条件放在前面通用的放在后面添加注释为复杂的业务规则添加说明使用表格辅助对于多维度规则可以用决策表辅助表达2.5 技巧五怎样获得标准化接口文档2.5.1 技巧说明基于产品设计书生成结构化的后端接口开发指南包含完整的接口定义、请求/响应格式、错误码等。2.5.2 标准提示词模板产品设计书.md 请根据这份产品设计书生成后端接口开发指南。 要求 1. 按模块 → 功能 → 接口三级结构列出 2. 每个接口写明 - 请求地址URL - 请求方式GET/POST/PUT/DELETE - 请求参数名称、类型、必填、说明 - 响应内容成功/失败示例 3. 响应内容必须统一设计status, message, data 三个字段 4. 添加接口权限说明是否需要登录、角色要求 5. 添加错误码定义2.5.3 实际应用示例电商后台管理系统设计书.md 请生成商品管理模块的接口文档。 要求 1. 包含商品列表、商品详情、新增商品、编辑商品、删除商品、上下架商品接口 2. 使用RESTful API设计风格 3. 请求参数使用驼峰命名 4. 响应统一格式{ status: 200, message: , data: {} } 5. 添加分页参数说明 6. 添加接口权限管理员可操作运营只能查看2.5.4 AI输出示例# 商品管理模块 - 接口文档 ## 接口概览 | 接口名称 | 请求方式 | URL | 权限 | |---------|---------|-----|------| | 获取商品列表 | GET | /api/products | 管理员/运营 | | 获取商品详情 | GET | /api/products/{id} | 管理员/运营 | | 新增商品 | POST | /api/products | 管理员 | | 编辑商品 | PUT | /api/products/{id} | 管理员 | | 删除商品 | DELETE | /api/products/{id} | 管理员 | | 商品上下架 | PATCH | /api/products/{id}/status | 管理员 | --- ## 1. 获取商品列表 ### 基本信息 - **接口URL**: /api/products - **请求方式**: GET - **接口说明**: 分页获取商品列表支持筛选和排序 ### 请求参数 #### Query参数 | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | page | int | 否 | 页码默认1 | | pageSize | int | 否 | 每页数量默认10 | | name | string | 否 | 商品名称模糊搜索 | | status | int | 否 | 状态0-下架 1-上架 | | minPrice | decimal | 否 | 最低价格 | | maxPrice | decimal | 否 | 最高价格 | | sortField | string | 否 | 排序字段price/createdAt | | sortOrder | string | 否 | 排序方式asc/desc | ### 响应参数 #### 成功响应 (200) json { status: 200, message: 操作成功, data: { list: [ { id: 1, name: iPhone 15 Pro, price: 7999.00, stock: 100, status: 1, createdAt: 2024-01-15 10:30:00 } ], pagination: { page: 1, pageSize: 10, total: 100, totalPages: 10 } } } #### 失败响应 json { status: 400, message: 请求参数错误, data: null } --- ## 2. 新增商品 ### 基本信息 - **接口URL**: /api/products - **请求方式**: POST - **接口说明**: 新增商品信息 ### 请求参数 #### Body参数 (application/json) | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | name | string | 是 | 商品名称2-200字符 | | description | string | 否 | 商品描述 | | price | decimal | 是 | 商品价格必须0 | | stock | int | 是 | 库存数量必须0 | | categoryId | int | 是 | 分类ID | | images | array | 否 | 商品图片URL数组 | ### 请求示例 json { name: iPhone 15 Pro, description: 最新款iPhone, price: 7999.00, stock: 100, categoryId: 1, images: [https://example.com/img1.jpg] } ### 响应参数 #### 成功响应 (200) { status: 200, message: 商品创建成功, data: { id: 1, name: iPhone 15 Pro, price: 7999.00, stock: 100, status: 1, createdAt: 2024-01-15 10:30:00 } } --- ## 错误码定义 | 错误码 | 说明 | |--------|------| | 200 | 成功 | | 400 | 请求参数错误 | | 401 | 未授权请重新登录 | | 403 | 权限不足 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | | 1001 | 商品名称已存在 | | 1002 | 库存不足 | | 1003 | 商品分类不存在 |2.5.5 最佳实践统一响应格式所有接口使用相同的响应结构清晰的参数说明包括类型、必填、取值范围、示例值完整的示例提供请求和响应的完整JSON示例错误码规范定义统一的错误码体系权限说明明确标注每个接口的访问权限要求版本控制在URL或Header中体现API版本2.6 技巧六如何保证功能不遗漏2.6.1 技巧说明通过系统化的功能分析提示词让AI帮助检查功能完整性并补充可能遗漏的功能点。2.6.2 标准提示词模板我想做一个关于【xxx】的系统/应用 功能包括【功能1、功能2、功能3...】 请帮我分析是否完整并补充缺失的功能。 要求 1. 按模块分类列出所有功能 2. 区分核心功能和扩展功能 3. 补充可能遗漏的边界情况处理 4. 考虑管理员/用户不同角色的功能需求 5. 添加数据安全和权限控制相关功能2.6.3 实际应用示例我想做一个关于【在线图书管理系统】的应用 功能包括 - 图书列表展示 - 图书搜索 - 图书借阅 - 图书归还 请帮我分析是否完整并补充缺失的功能。 目标用户图书馆管理员和读者 使用场景学校图书馆2.6.4 AI输出示例# 在线图书管理系统 - 功能完整性分析 ## 现有功能评估 您提供的功能覆盖了核心业务但缺少一些重要的支撑功能和边界处理。 ## 功能补充建议 ### 核心功能模块 #### 1. 图书管理模块 **已有功能** - ✅ 图书列表展示 - ✅ 图书搜索 **建议补充** - 图书分类管理科技、文学、历史等 - 图书详情展示ISBN、作者、出版社、简介 - 图书入库/出库管理 - 图书库存预警库存不足提醒 - 图书损坏/遗失登记 #### 2. 借阅管理模块 **已有功能** - ✅ 图书借阅 - ✅ 图书归还 **建议补充** - 借阅期限设置不同类型图书不同期限 - 续借功能 - 逾期提醒短信/邮件/站内信 - 逾期罚款计算 - 借阅历史查询 - 当前借阅状态查询 #### 3. 用户管理模块新增 **核心功能** - 读者注册/登录 - 读者信息管理 - 借阅证管理办理、挂失、补办 - 读者信用评分 - 黑名单管理违规读者 #### 4. 预约管理模块新增 **核心功能** - 图书预约已被借出的书 - 预约提醒图书归还后通知 - 预约取消 - 预约优先级管理 #### 5. 数据统计模块新增 **核心功能** - 借阅统计按天/周/月/年 - 热门图书排行 - 读者借阅排行 - 图书流通率分析 - 数据报表导出 #### 6. 系统管理模块新增 **核心功能** - 管理员账号管理 - 角色权限管理 - 系统参数配置借阅期限、罚款标准等 - 操作日志记录 - 数据备份与恢复 ### 边界情况处理 1. **并发控制** - 同一本书被多人同时预约的处理 - 库存为1时的借阅冲突处理 2. **异常处理** - 图书丢失后的赔偿流程 - 读者证丢失后的处理 - 系统故障时的数据恢复 3. **数据一致性** - 借阅/归还时的库存同步 - 逾期状态的自动更新 ### 权限控制矩阵 | 功能 | 管理员 | 普通读者 | |------|--------|----------| | 图书管理 | ✅ | ❌ | | 借阅/归还 | ✅ | 仅限自己 | | 用户管理 | ✅ | 仅限自己 | | 数据统计 | ✅ | 个人数据 | | 预约图书 | ✅ | ✅ | | 查看图书 | ✅ | ✅ | ### 推荐开发优先级 **第一阶段MVP** 1. 图书管理增删改查 2. 用户管理注册登录 3. 借阅/归还核心流程 **第二阶段** 4. 图书搜索和分类 5. 借阅历史查询 6. 逾期提醒 **第三阶段** 7. 图书预约 8. 数据统计 9. 系统管理 **第四阶段** 10. 高级功能信用评分、推荐系统等2.6.5 最佳实践明确目标用户不同用户群体需要不同的功能区分核心与扩展优先保证核心功能完整考虑边界情况异常流程和并发问题权限分离不同角色有不同的功能权限分阶段开发按优先级分阶段实现参考竞品对比同类产品学习其功能设计三、综合实战从需求到代码的完整流程3.1 实战场景假设我们要开发一个【在线考试系统】展示如何使用以上6个技巧完成从需求分析到代码生成的全过程。3.2 完整工作流程Step 1: 功能完整性分析技巧六我想做一个关于【在线考试系统】的应用 功能包括 - 创建考试 - 学生答题 - 自动评分 - 成绩查看 请帮我分析是否完整并补充缺失的功能。Step 2: 生成产品设计书技巧一基于补充后的功能列表生成完整的产品设计书。Step 3: 生成数据库表结构技巧二根据产品设计书中的数据库设计生成SQL建表语句。Step 4: 生成接口文档技巧五基于产品设计书生成标准化的后端接口文档。Step 5: 编写业务逻辑技巧四使用结构化表达式描述复杂的考试规则考试规则 如果 【当前时间 考试开始时间】 那么 【显示考试未开始显示倒计时】 否则如果 【当前时间 考试开始时间】 且 【当前时间 考试结束时间】 且 【学生未交卷】 那么 【允许进入考试开始计时】 否则如果 【当前时间 考试结束时间】 且 【学生未交卷】 那么 【自动交卷按已答题目评分】 否则如果 【学生已交卷】 那么 【显示已完成考试展示成绩】 否则 【显示错误信息】Step 6: 生成前端页面技巧三引用UI设计文档和接口文档生成完整的前端代码。3.3 效率提升对比阶段传统开发使用TRAE提示词技巧效率提升需求分析2天2小时8倍产品设计3天4小时6倍数据库设计1天1小时8倍接口设计2天2小时8倍前端开发5天1天5倍总计13天2天6.5倍四、提示词优化技巧4.1 提示词编写原则明确具体避免模糊描述提供具体的要求和约束结构化组织使用编号、列表、表格组织信息提供上下文给出足够的背景信息和业务场景示例驱动提供输入/输出示例帮助AI理解期望迭代优化根据输出结果不断调整提示词4.2 常用提示词模板代码生成类请生成【功能描述】的代码。 技术要求 - 语言/框架【如Python/Java/Vue3】 - 设计模式【如MVC/工厂模式】 - 代码规范【如PEP8/Google Style】 功能要求 1. 【要求1】 2. 【要求2】 3. 【要求3】 其他说明 - 【补充说明1】 - 【补充说明2】文档生成类请生成【文档类型】。 参考信息 【提供相关背景资料】 内容要求 1. 【章节1】 2. 【章节2】 3. 【章节3】 格式要求 - 【格式要求1】 - 【格式要求2】问题分析类请分析以下问题并提供解决方案。 问题描述 【详细描述问题】 当前情况 【描述现状】 期望结果 【描述期望】 约束条件 - 【约束1】 - 【约束2】4.3 常见错误与解决方案错误类型示例解决方案过于模糊帮我写个功能明确功能名称、输入输出、业务规则缺少上下文优化这段代码提供代码用途、性能要求、运行环境要求冲突既要简单又要功能完整明确优先级分阶段实现术语不一致混用用户和客户统一术语表明确定义边界不清未说明异常情况列出所有边界条件和异常场景五、总结与建议5.1 核心要点回顾产品设计书生成结构化描述需求获得完整的技术方案数据库建表明确字段约束和索引获得标准化SQL前后端对接引用设计文档获得可运行的完整代码业务逻辑表达使用如果...那么...否则结构化表达规则接口文档生成统一格式规范获得完整的API文档功能完整性检查系统化分析避免功能遗漏5.2 使用建议从简单开始先掌握基础提示词再逐步学习高级技巧建立模板库将常用的提示词整理成模板重复使用团队协作统一团队的提示词规范提高协作效率持续优化根据实际使用效果不断优化提示词结合人工审核AI生成的内容需要人工审核和调整5.3 进阶学习资源TRAE官方文档Prompt Engineering GuideLangChain文档OpenAI Best Practices结语掌握这6大提示词技巧你将能够充分发挥TRAE AI IDE的能力从需求分析到代码生成实现开发效率的质的飞跃。记住好的提示词是AI协作开发的关键下一步行动1. 收藏本文作为提示词参考手册2. 在实际项目中尝试使用这些技巧3. 根据项目特点建立专属的提示词模板库4. 与团队分享建立统一的AI协作规范