VibeCoding提示词工程与模板库

VibeCoding 提示词工程与模板库

1. 提示词工程基础

1.1 什么是提示词工程

提示词工程(Prompt Engineering)是设计和优化输入给 AI 的文本指令,以引导 AI 生成高质量、符合预期的输出。

核心目标

  • 让 AI 理解任务目标
  • 引导 AI 生成正确格式的输出
  • 控制 AI 的行为和风格
  • 提高 AI 输出的准确性和可靠性

1.2 提示词设计原则

python 复制代码
def prompt_design_principles():
    """提示词设计原则"""
    principles = {
        "明确性": "指令要清晰、具体,避免模糊表述",
        "完整性": "提供足够的背景信息和约束条件",
        "结构化": "使用标题、列表等结构组织内容",
        "可验证性": "要求 AI 提供可验证的输出",
        "迭代优化": "根据反馈不断优化提示词"
    }
    return principles

1.3 提示词分类

类型 用途 示例
指令型 直接下达命令 "请编写一个 Python 函数..."
问答型 提出问题 "什么是机器学习?"
创作型 生成创意内容 "写一首关于春天的诗"
分析型 分析数据或文本 "分析以下用户反馈..."
代码型 生成代码 "写一个排序算法..."

2. VibeCoding 提示词模板

2.1 项目初始化提示词

python 复制代码
def project_init_prompt():
    """项目初始化提示词"""
    prompt = """
    # 项目初始化指令
    
    请基于以下信息,完成项目的初始化工作:
    
    ## 项目信息
    - 项目名称:[项目名称]
    - 项目描述:[项目描述]
    - 技术栈:[前端技术栈] + [后端技术栈] + [数据库]
    - 项目路径:[项目路径]
    
    ## 初始化要求
    1. 创建项目目录结构
    2. 初始化 Git 仓库
    3. 创建基础配置文件
    4. 设置开发环境
    5. 提供启动指南
    
    ## 输出要求
    - 列出创建的所有文件
    - 说明每个文件的作用
    - 提供完整的项目结构
    """
    return prompt

2.2 需求分析提示词

python 复制代码
def requirements_analysis_prompt():
    """需求分析提示词"""
    prompt = """
    # 需求分析指令
    
    请分析以下需求文档,并输出结构化的需求分析报告:
    
    ## 原始需求
    [粘贴需求文档内容]
    
    ## 分析要求
    1. **需求理解**:用一句话概括核心目标
    2. **功能识别**:列出所有功能点,按优先级排序
    3. **技术难点**:识别技术难点和风险点
    4. **约束条件**:列出技术、时间、资源等约束
    5. **用户画像**:描述目标用户特征
    
    ## 输出格式
    请使用 Markdown 格式输出,包含以下章节:
    - 需求概述
    - 功能清单(表格形式,包含名称、描述、优先级)
    - 技术难点分析
    - 约束条件
    - 用户画像
    """
    return prompt

2.3 技术架构设计提示词

python 复制代码
def architecture_design_prompt():
    """技术架构设计提示词"""
    prompt = """
    # 技术架构设计指令
    
    请基于以下需求,设计完整的技术架构方案:
    
    ## 需求背景
    [简要描述项目背景和目标]
    
    ## 功能需求
    [列出核心功能]
    
    ## 技术约束
    - 前端框架:[框架名称]
    - 后端框架:[框架名称]
    - 数据库:[数据库名称]
    - 其他要求:[性能、安全、扩展性等]
    
    ## 设计要求
    1. **架构风格**:选择合适的架构风格(如分层架构、微服务等)
    2. **模块划分**:划分系统模块,说明职责
    3. **技术选型**:详细说明技术选型及理由
    4. **关键设计**:
       - 数据库设计(ER 图描述)
       - API 设计(RESTful 规范)
       - 安全设计(认证、授权、防护)
       - 性能设计(缓存、异步处理)
    5. **部署方案**:描述部署架构
    
    ## 输出格式
    请使用 Markdown 格式输出,包含架构图描述和详细设计文档。
    """
    return prompt

2.4 代码生成提示词

python 复制代码
def code_generation_prompt():
    """代码生成提示词"""
    prompt = """
    # 代码生成指令
    
    请基于以下设计文档,生成完整的项目代码:
    
    ## 设计文档
    - 架构设计:[架构设计文档内容]
    - 数据库设计:[数据库设计文档内容]
    - API 设计:[API 设计文档内容]
    
    ## 技术栈
    - 前端:[前端技术栈]
    - 后端:[后端技术栈]
    - 数据库:[数据库名称]
    
    ## 代码要求
    1. **代码结构**:清晰的目录结构和模块划分
    2. **代码质量**:符合编码规范,注释完整
    3. **错误处理**:完善的异常处理和错误反馈
    4. **安全性**:防止 SQL 注入、XSS 等安全问题
    5. **可测试性**:代码易于测试,包含单元测试
    
    ## 输出要求
    - 按模块逐步输出代码
    - 每个文件注明存放路径
    - 提供配置文件和启动指南
    - 包含必要的测试代码
    """
    return prompt

3. VibeCoding 专项提示词模板

3.1 智能风控决策引擎提示词

python 复制代码
def risk_engine_prompt():
    """智能风控决策引擎提示词"""
    prompt = """
    # 智能风控决策引擎平台开发
    
    ## 技术栈要求
    - 前端:Vue 3 + Element Plus + Pinia + Vite
    - 后端:FastAPI + SQLAlchemy(async) + MySQL + Redis
    - 采用分层架构(路由/服务/仓储/模型)
    - 前后端分离,RESTful API,JWT 认证
    
    ## 阶段 1:需求文档确认
    列出功能清单与优先级:
    
    | 优先级 | 功能模块 | 描述 |
    |-------|---------|------|
    | P0 | 登录权限 | 用户登录、JWT 认证、权限控制 |
    | P0 | 用户角色管理 | 角色定义、权限分配、用户管理 |
    | P1 | 黑白名单管理 | 名单配置、规则匹配、实时生效 |
    | P1 | 风控特征管理 | 特征定义、计算规则、版本管理 |
    | P2 | 可视化规则配置 | 规则编辑器、条件组合、优先级 |
    | P2 | 拖拽式决策流编排 | 流程设计、节点配置、条件分支 |
    | P2 | 评分卡模型 | 评分规则、权重配置、结果计算 |
    | P3 | 实时决策 API | 风险评估接口、决策结果返回 |
    | P3 | 大盘报表 | 数据可视化、趋势分析、统计汇总 |
    | P3 | 决策日志追溯 | 操作记录、决策详情、审计追踪 |
    | P4 | 模拟请求测试 | 测试工具、参数配置、结果对比 |
    
    明确 MVP 范围(P0-P1)与后续扩展项(P2-P4)。
    
    ## 阶段 2:技术栈与架构设计
    输出完整的技术架构设计文档,包含:
    - 系统架构图(前端、后端、数据库、缓存)
    - 模块划分(认证、规则、决策、报表等)
    - 关键技术选型理由
    - API 设计规范
    - 安全设计方案
    
    ## 阶段 3:数据库表结构设计
    按模块设计表结构,输出:
    
    | 表名 | 用途 | 核心字段 |
    |------|------|---------|
    | users | 用户信息 | id, username, password_hash, role_id |
    | roles | 角色信息 | id, name, permissions |
    | black_white_lists | 黑白名单 | id, type, value, description, status |
    | risk_features | 风控特征 | id, name, formula, version |
    | rules | 规则定义 | id, name, conditions, action, priority |
    | decision_flows | 决策流 | id, name, nodes, edges |
    | score_cards | 评分卡 | id, name, factors, weights |
    | decision_logs | 决策日志 | id, request_id, result, details, created_at |
    
    输出完整的 SQLAlchemy 模型代码预览。
    
    ## 阶段 4:技术方案与核心难点
    详细说明以下技术方案:
    
    1. **决策流编排实现**:
       - 前端:使用 vue-flow 实现拖拽式流程设计
       - 后端:解析 DAG(有向无环图)执行决策流程
       - 支持的节点类型:开始、结束、条件判断、规则执行、评分计算、API 调用
    
    2. **评分卡模型计算**:
       - 权重配置:支持手动配置各因子权重
       - 计算逻辑:加权求和,支持非线性变换
       - 阈值划分:根据分数划分风险等级
    
    3. **规则引擎**:
       - 表达式解析:支持常见运算符和函数
       - 规则组合:AND/OR 条件组合
       - 优先级处理:按优先级顺序执行
    
    4. **实时决策 API 高并发设计**:
       - 请求缓存:Redis 缓存高频请求
       - 异步处理:复杂计算异步执行
       - 负载均衡:支持水平扩展
    
    ## 输出要求
    - 每阶段生成独立 Markdown 文件
    - 需确认后才能进入下一阶段
    - 所有文档和后续代码均输出到项目目录:[项目路径]
    """
    return prompt

3.2 计划评估提示词

python 复制代码
def plan_evaluation_prompt():
    """计划评估提示词"""
    prompt = """
    # AICoding 计划评估专家
    
    ## 角色定义
    你是资深 AICoding 评审专家,专精于代码生成方案的逻辑审查与技术可行性评估。
    
    ## 核心能力
    - 精准解读需求文档,提取关键功能点与技术约束
    - 系统性评估 AICoding 提出的修改计划
    - 识别修改计划中的逻辑漏洞、冗余步骤、过度设计及潜在技术隐患
    - 给出可落地的优化建议
    
    ## 思考逻辑
    1. 解析需求文档,锚定核心目标与硬性约束
    2. 逐条审视修改计划与需求的对应关系
    3. 检验技术路径是否最优、步骤是否可执行
    4. 判定是否存在遗漏、偏差或风险
    5. 形成结构化评估结论
    
    ## 行为准则
    - 始终以需求文档为唯一评估基准
    - 只输出与技术评估直接相关的内容
    - 遇到需求文档表述模糊时,明确指出模糊点
    - 建议务必具体,禁用笼统表述
    
    ## 输出规范
    采用以下固定结构输出:
    
    ### 需求理解
    用一句话概括需求文档核心目标
    
    ### 评估意见
    
    **合理部分**:
    - [列出计划中合理的部分]
    
    **需调整部分**:
    - [列出需要调整的部分及原因]
    
    **不合理部分**:
    - [列出不合理的部分及原因]
    
    ### 优化建议
    - [建议1:具体可落地的优化方案]
    - [建议2:具体可落地的优化方案]
    - [建议3:具体可落地的优化方案]
    
    ### 关键风险提示
    [如有性能、安全、可维护性等风险,单独列出]
    
    ## 待评估计划
    [粘贴需要评估的计划内容]
    """
    return prompt

3.3 AICoding 计划执行提示词

python 复制代码
def plan_execution_prompt():
    """计划执行提示词"""
    prompt = """
    # AICoding 计划执行指令
    
    ## 核心指令
    请仔细阅读当前目录 `/docs` 路径的以下文档:
    - phase1-requirements.md(需求分析文档)
    - phase2-architecture.md(技术架构设计文档)
    - phase3-database.md(数据库设计文档)
    - phase4-technical-solution.md(技术方案文档)
    
    ## 执行要求
    根据这些文档,生成完整的项目代码,包括:
    
    ### 后端实现
    - API 路由定义(FastAPI 路由)
    - 服务层实现(业务逻辑)
    - 数据访问层(SQLAlchemy 模型)
    - 认证授权(JWT)
    - 异常处理
    - 日志记录
    
    ### 数据库相关
    - SQLAlchemy 模型定义
    - 数据库迁移脚本(Alembic)
    - 初始数据填充
    
    ### 前端实现(如果有)
    - 页面组件(Vue 3 + Element Plus)
    - 状态管理(Pinia)
    - API 请求封装
    - 路由配置
    
    ### 配置文件
    - .env 文件(环境变量)
    - requirements.txt(后端依赖)
    - package.json(前端依赖)
    - Dockerfile(Docker 配置)
    - docker-compose.yml(容器编排)
    
    ## 输出方式
    - 按模块或文件结构逐步生成
    - 每个文件内容完整输出
    - 说明文件应该存放的路径
    - 提供文件之间的依赖关系说明
    
    ## 代码质量要求
    - 符合编码规范(PEP 8 等)
    - 注释完整清晰
    - 错误处理完善
    - 安全考虑周全
    - 可测试性良好
    
    ## 验证要求
    - 提供启动指南
    - 提供测试方法
    - 确保代码可运行
    """
    return prompt

4. 提示词优化技巧

4.1 角色设定技巧

python 复制代码
def role_setting():
    """角色设定技巧"""
    roles = {
        "专业专家": "你是一名资深的[领域]专家,拥有[年限]年经验...",
        "严谨工程师": "你是一名严谨的软件工程师,注重代码质量和安全性...",
        "创意设计师": "你是一名富有创意的设计师,擅长用户体验设计...",
        "耐心导师": "你是一名耐心的导师,善于用简单易懂的语言解释复杂概念..."
    }
    return roles

4.2 结构化输出技巧

python 复制代码
def structured_output():
    """结构化输出技巧"""
    formats = {
        "JSON": "请以 JSON 格式输出,包含以下字段:...",
        "表格": "请以表格形式输出,包含以下列:...",
        "列表": "请按以下格式输出:\n1. ...\n2. ...",
        "代码块": "请以代码块形式输出,包含注释..."
    }
    return formats

4.3 约束条件设定

python 复制代码
def constraint_setting():
    """约束条件设定"""
    constraints = {
        "技术约束": "必须使用[技术栈],不能使用[禁用技术]",
        "时间约束": "代码执行时间不能超过[时间]秒",
        "长度约束": "输出不超过[字数]字",
        "风格约束": "使用[正式/轻松/专业]风格",
        "安全约束": "注意防止[安全风险]"
    }
    return constraints

4.4 示例引导技巧

python 复制代码
def example_guidance():
    """示例引导技巧"""
    examples = {
        "输入输出示例": """
        输入:[示例输入]
        输出:[示例输出]
        
        请按照以上格式输出。
        """,
        "错误示例对比": """
        ❌ 错误示例:[错误输出]
        ✅ 正确示例:[正确输出]
        
        请避免错误示例中的问题,按照正确示例输出。
        """
    }
    return examples

5. 提示词模板库管理

5.1 模板分类管理

python 复制代码
class PromptTemplateManager:
    """提示词模板管理器"""
    
    def __init__(self):
        self.templates = {}
    
    def add_template(self, category, name, template):
        """添加模板"""
        if category not in self.templates:
            self.templates[category] = {}
        
        self.templates[category][name] = template
    
    def get_template(self, category, name):
        """获取模板"""
        return self.templates.get(category, {}).get(name)
    
    def list_templates(self, category=None):
        """列出模板"""
        if category:
            return self.templates.get(category, {})
        return self.templates
    
    def generate_prompt(self, category, name, **kwargs):
        """生成填充后的提示词"""
        template = self.get_template(category, name)
        if template:
            return template.format(**kwargs)
        return None

5.2 模板使用示例

python 复制代码
# 初始化模板管理器
manager = PromptTemplateManager()

# 添加模板
manager.add_template("项目开发", "需求分析", requirements_analysis_prompt())
manager.add_template("项目开发", "架构设计", architecture_design_prompt())
manager.add_template("项目开发", "代码生成", code_generation_prompt())

# 使用模板
prompt = manager.generate_prompt(
    "项目开发", 
    "需求分析", 
    project_name="智能风控系统",
    description="企业级风控决策引擎"
)

6. 提示词工程最佳实践

6.1 提示词编写流程

python 复制代码
def prompt_writing_workflow():
    """提示词编写流程"""
    steps = [
        "明确目标:确定要让 AI 完成什么任务",
        "分析需求:理解任务的输入输出要求",
        "设计结构:规划提示词的组织结构",
        "编写初稿:撰写第一版提示词",
        "测试验证:使用示例测试提示词效果",
        "优化迭代:根据反馈优化提示词",
        "文档记录:记录提示词的使用方法和效果"
    ]
    return steps

6.2 常见问题与解决方案

问题 解决方案
AI 理解偏差 增加示例、明确约束、拆分任务
输出格式错误 明确输出格式要求、提供格式示例
输出质量不稳定 使用 Few-Shot 示例、降低温度参数
输出过于冗长 设置长度限制、明确简洁要求
遗漏关键信息 列出检查清单、要求逐项确认

6.3 性能优化建议

python 复制代码
def prompt_performance_optimization():
    """提示词性能优化"""
    tips = {
        "精简提示词": "去除冗余内容,只保留必要信息",
        "分层提示": "复杂任务拆分为多个简单提示",
        "缓存复用": "重复使用的提示词片段缓存起来",
        "动态生成": "根据任务类型动态生成提示词",
        "版本管理": "对提示词进行版本控制"
    }
    return tips

7. 总结

提示词工程是 VibeCoding 的核心技能,通过精心设计的提示词,可以引导 AI 生成高质量的代码和文档。

核心要点

  • 模板化:使用预定义的提示词模板提高效率
  • 结构化:采用清晰的结构组织提示词内容
  • 迭代优化:根据反馈不断改进提示词
  • 分类管理:建立提示词模板库方便复用

关键技巧

  • 设定明确的角色
  • 提供完整的背景信息
  • 使用结构化输出格式
  • 添加约束条件和示例

通过掌握提示词工程,可以充分发挥 VibeCoding 的潜力,实现高效开发。