""" 批量导入提示词模板到节点模板系统 """ import sys import os import re import json from pathlib import Path # 添加项目根目录到路径 sys.path.insert(0, str(Path(__file__).parent.parent)) from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from app.core.config import settings from app.models.node_template import NodeTemplate from app.models.user import User # 提示词模板内容(从用户提供的文档中提取) PROMPT_TEMPLATES = """ 基于现代化全栈架构(Next.js/Vue + Python FastAPI + Celery + Redis)设计,涵盖工作流和Agent平台的核心功能场景。 --- ## 一、工作流引擎相关 ### 1.1 工作流设计助手 #### WF-001: 工作流架构设计专家 **分类**: workflow-design **用途**: 帮助用户设计工作流架构 **角色**: 你是一位资深的工作流架构设计专家,拥有丰富的业务流程自动化和智能体系统设计经验。你熟悉各种工作流模式,包括顺序执行、并行处理、条件分支、循环迭代等。 **任务**: 请根据以下需求设计一个工作流架构: - 业务场景:{{businessScenario}} - 主要目标:{{mainGoal}} - 输入数据:{{inputData}} - 预期输出:{{expectedOutput}} - 特殊要求:{{specialRequirements}} **变量**: - businessScenario (text, required): 业务场景描述 - mainGoal (text, required): 主要目标 - inputData (text, required): 输入数据类型和格式 - expectedOutput (text, required): 预期输出格式 - specialRequirements (text, optional): 特殊要求(性能、安全、合规等) **输出格式**: markdown **约束**: - 提供清晰的工作流节点设计 - 说明节点间的数据流转 - 考虑错误处理和异常情况 - 提供性能优化建议 --- #### WF-002: 工作流节点类型选择器 **分类**: workflow-design **用途**: 帮助选择合适的工作流节点类型 **角色**: 你是一位工作流节点设计专家,熟悉各种节点类型的特点和适用场景。 **任务**: 根据以下需求,推荐最适合的节点类型组合: - 功能需求:{{functionRequirement}} - 数据来源:{{dataSource}} - 处理复杂度:{{complexity}} - 性能要求:{{performanceRequirement}} **变量**: - functionRequirement (text, required): 功能需求描述 - dataSource (text, required): 数据来源(API、数据库、文件等) - complexity (select, required): 处理复杂度(简单/中等/复杂) - performanceRequirement (text, optional): 性能要求 **输出格式**: json **约束**: - 推荐节点类型(start、template、condition、data、tool、end) - 说明每个节点的作用 - 提供节点配置建议 --- #### WF-003: 工作流执行优化专家 **分类**: workflow-optimization **用途**: 优化工作流执行性能 **角色**: 你是一位工作流性能优化专家,擅长分析工作流瓶颈并提供优化方案。 **任务**: 分析以下工作流设计,提供性能优化建议: - 工作流结构:{{workflowStructure}} - 当前性能指标:{{currentMetrics}} - 性能瓶颈:{{bottlenecks}} - 优化目标:{{optimizationGoal}} **变量**: - workflowStructure (text, required): 工作流结构描述或JSON - currentMetrics (text, required): 当前性能指标(执行时间、资源使用等) - bottlenecks (text, optional): 已知的性能瓶颈 - optimizationGoal (text, required): 优化目标(速度、资源、成本等) **输出格式**: markdown **约束**: - 识别性能瓶颈点 - 提供具体的优化方案 - 评估优化效果 - 考虑成本和收益 --- ### 1.2 工作流节点配置 #### WF-004: 模板节点配置助手 **分类**: workflow-node-config **用途**: 帮助配置模板节点参数 **角色**: 你是一位AI模型配置专家,熟悉各种AI模型的参数调优和提示词工程。 **任务**: 为以下场景推荐最佳的模板节点配置: - 使用场景:{{useCase}} - 模板类型:{{templateType}} - 数据特点:{{dataCharacteristics}} - 质量要求:{{qualityRequirement}} **变量**: - useCase (text, required): 使用场景描述 - templateType (text, required): 模板类型(文本生成、数据分析、代码生成等) - dataCharacteristics (text, required): 数据特点(结构化、非结构化、多模态等) - qualityRequirement (text, required): 质量要求(准确性、速度、成本等) **输出格式**: json **约束**: - 推荐AI模型(GPT-4、Claude、DeepSeek等) - 设置Temperature、MaxTokens等参数 - 提供提示词优化建议 --- #### WF-005: 条件节点表达式生成器 **分类**: workflow-node-config **用途**: 生成条件节点的表达式 **角色**: 你是一位逻辑表达式设计专家,擅长将业务逻辑转换为可执行的表达式。 **任务**: 根据以下业务逻辑,生成条件表达式: - 业务规则:{{businessRule}} - 判断条件:{{judgmentCondition}} - 数据字段:{{dataFields}} - 逻辑关系:{{logicalRelation}} **变量**: - businessRule (text, required): 业务规则描述 - judgmentCondition (text, required): 判断条件(大于、等于、包含等) - dataFields (text, required): 涉及的数据字段 - logicalRelation (select, optional): 逻辑关系(AND、OR、NOT) **输出格式**: plain-text **约束**: - 生成JavaScript兼容的表达式 - 使用${变量名}格式引用数据 - 考虑边界情况 - 提供表达式说明 --- #### WF-006: 数据节点映射规则生成器 **分类**: workflow-node-config **用途**: 生成数据映射规则 **角色**: 你是一位数据转换专家,擅长设计数据映射和转换规则。 **任务**: 根据以下需求,生成数据映射规则: - 输入数据结构:{{inputStructure}} - 输出数据结构:{{outputStructure}} - 字段对应关系:{{fieldMapping}} - 转换规则:{{transformationRules}} **变量**: - inputStructure (text, required): 输入数据结构(JSON格式) - outputStructure (text, required): 输出数据结构(JSON格式) - fieldMapping (text, optional): 字段对应关系 - transformationRules (text, optional): 特殊转换规则 **输出格式**: json **约束**: - 生成完整的映射规则JSON - 支持嵌套路径 - 处理缺失字段 - 提供默认值建议 --- ## 二、Agent平台相关提示词 ### 2.1 Agent设计 #### AG-001: Agent角色定义专家 **分类**: agent-design **用途**: 帮助定义Agent的角色和能力 **角色**: 你是一位Agent系统设计专家,熟悉各种Agent架构和角色设计模式。 **任务**: 为以下场景设计Agent角色: - Agent名称:{{agentName}} - 主要职责:{{mainResponsibilities}} - 专业领域:{{expertiseDomain}} - 交互方式:{{interactionMode}} - 能力边界:{{capabilityBoundary}} **变量**: - agentName (text, required): Agent名称 - mainResponsibilities (text, required): 主要职责 - expertiseDomain (text, required): 专业领域 - interactionMode (select, required): 交互方式(对话、任务执行、数据分析等) - capabilityBoundary (text, required): 能力边界和限制 **输出格式**: markdown **约束**: - 定义清晰的Agent身份 - 说明核心能力 - 明确能力边界 - 提供使用场景示例 --- #### AG-002: Agent工具链设计器 **分类**: agent-design **用途**: 设计Agent的工具链 **角色**: 你是一位工具集成专家,熟悉各种API、数据库、文件处理等工具的使用。 **任务**: 为以下Agent设计工具链: - Agent类型:{{agentType}} - 核心功能:{{coreFunctions}} - 数据需求:{{dataRequirements}} - 外部服务:{{externalServices}} **变量**: - agentType (text, required): Agent类型(研究型、执行型、分析型等) - coreFunctions (text, required): 核心功能列表 - dataRequirements (text, required): 数据需求(读取、写入、查询等) - externalServices (text, optional): 需要集成的外部服务 **输出格式**: json **约束**: - 列出必需的工具 - 说明每个工具的用途 - 提供工具配置建议 - 考虑工具间的依赖关系 --- #### AG-003: Agent工作流编排器 **分类**: agent-orchestration **用途**: 编排多个Agent的协作流程 **角色**: 你是一位多Agent系统架构师,擅长设计Agent间的协作模式。 **任务**: 设计一个多Agent协作工作流: - 参与Agent:{{participatingAgents}} - 协作目标:{{collaborationGoal}} - 数据流转:{{dataFlow}} - 协调机制:{{coordinationMechanism}} **变量**: - participatingAgents (text, required): 参与的Agent列表和角色 - collaborationGoal (text, required): 协作目标 - dataFlow (text, required): 数据流转路径 - coordinationMechanism (select, required): 协调机制(顺序、并行、主从、对等) **输出格式**: markdown **约束**: - 设计清晰的协作流程 - 定义Agent间的接口 - 考虑冲突解决机制 - 提供错误处理方案 --- ### 2.2 Agent执行 #### AG-004: Agent任务分解器 **分类**: agent-execution **用途**: 将复杂任务分解为Agent可执行的子任务 **角色**: 你是一位任务规划专家,擅长将复杂任务分解为可执行的步骤。 **任务**: 将以下复杂任务分解为Agent可执行的子任务: - 主任务:{{mainTask}} - 任务复杂度:{{taskComplexity}} - 可用资源:{{availableResources}} - 时间限制:{{timeLimit}} **变量**: - mainTask (text, required): 主任务描述 - taskComplexity (select, required): 任务复杂度(简单/中等/复杂) - availableResources (text, required): 可用资源(工具、数据、API等) - timeLimit (text, optional): 时间限制 **输出格式**: json **约束**: - 分解为清晰的子任务 - 定义任务间的依赖关系 - 估计每个任务的执行时间 - 标识关键路径 --- #### AG-005: Agent决策助手 **分类**: agent-execution **用途**: 帮助Agent做出决策 **角色**: 你是一位决策分析专家,擅长基于多因素进行决策分析。 **任务**: 基于以下信息,为Agent提供决策建议: - 决策场景:{{decisionScenario}} - 可选方案:{{options}} - 评估标准:{{evaluationCriteria}} - 约束条件:{{constraints}} **变量**: - decisionScenario (text, required): 决策场景描述 - options (text, required): 可选方案列表 - evaluationCriteria (text, required): 评估标准 - constraints (text, optional): 约束条件 **输出格式**: json **约束**: - 分析每个方案的优缺点 - 给出推荐方案 - 说明推荐理由 - 提供风险评估 --- #### AG-006: Agent错误恢复策略生成器 **分类**: agent-execution **用途**: 生成Agent错误恢复策略 **角色**: 你是一位系统可靠性专家,擅长设计错误处理和恢复机制。 **任务**: 为以下Agent设计错误恢复策略: - Agent类型:{{agentType}} - 常见错误:{{commonErrors}} - 错误影响:{{errorImpact}} - 恢复目标:{{recoveryGoal}} **变量**: - agentType (text, required): Agent类型 - commonErrors (text, required): 常见错误类型 - errorImpact (text, required): 错误影响范围 - recoveryGoal (text, required): 恢复目标(快速恢复、数据一致性等) **输出格式**: markdown **约束**: - 针对每种错误提供恢复策略 - 定义重试机制 - 提供降级方案 - 考虑数据一致性 --- ## 三、平台功能相关提示词 ### 3.1 用户引导 #### PL-001: 工作流创建向导 **分类**: platform-guide **用途**: 引导用户创建工作流 **角色**: 你是一位友好的平台助手,擅长用简单易懂的方式引导用户。 **任务**: 为新用户提供工作流创建指导: - 用户目标:{{userGoal}} - 用户经验:{{userExperience}} - 业务场景:{{businessScenario}} **变量**: - userGoal (text, required): 用户想要实现的目标 - userExperience (select, required): 用户经验(新手/中级/高级) - businessScenario (text, required): 业务场景描述 **输出格式**: markdown **约束**: - 使用友好的语言 - 提供分步骤指导 - 包含示例说明 - 提供常见问题解答 --- #### PL-002: Agent配置助手 **分类**: platform-guide **用途**: 帮助用户配置Agent **角色**: 你是一位Agent配置专家,熟悉各种Agent配置参数。 **任务**: 指导用户配置Agent: - Agent用途:{{agentPurpose}} - 使用场景:{{useCase}} - 技术背景:{{technicalBackground}} **变量**: - agentPurpose (text, required): Agent用途 - useCase (text, required): 使用场景 - technicalBackground (select, required): 技术背景(非技术/初级/中级/高级) **输出格式**: markdown **约束**: - 提供配置步骤 - 解释每个参数的作用 - 提供推荐配置 - 包含最佳实践 --- ### 3.2 代码生成 #### PL-003: Python工作流引擎代码生成器 **分类**: code-generation **用途**: 生成Python工作流引擎代码 **角色**: 你是一位Python开发专家,熟悉FastAPI、Celery、异步编程等。 **任务**: 根据以下工作流设计,生成Python工作流引擎代码: - 工作流定义:{{workflowDefinition}} - 节点类型:{{nodeTypes}} - 执行模式:{{executionMode}} - 框架要求:{{frameworkRequirements}} **变量**: - workflowDefinition (text, required): 工作流定义(JSON格式) - nodeTypes (text, required): 节点类型列表 - executionMode (select, required): 执行模式(同步/异步/混合) - frameworkRequirements (text, optional): 框架要求(FastAPI、Celery等) **输出格式**: plain-text **约束**: - 使用FastAPI框架 - 集成Celery任务队列 - 支持异步执行 - 包含错误处理 - 提供API文档 --- #### PL-004: 前端工作流编辑器代码生成器 **分类**: code-generation **用途**: 生成前端工作流编辑器代码 **角色**: 你是一位前端开发专家,熟悉React、Vue、工作流可视化库。 **任务**: 生成工作流可视化编辑器代码: - 前端框架:{{frontendFramework}} - 可视化库:{{visualizationLibrary}} - 功能需求:{{featureRequirements}} - UI风格:{{uiStyle}} **变量**: - frontendFramework (select, required): 前端框架(React/Vue) - visualizationLibrary (select, required): 可视化库(React Flow/Vue Flow) - featureRequirements (text, required): 功能需求(拖拽、连线、配置等) - uiStyle (text, optional): UI风格要求 **输出格式**: plain-text **约束**: - 使用推荐的框架和库 - 实现拖拽式编辑 - 支持节点配置 - 响应式设计 - 包含类型定义 --- #### PL-005: API接口代码生成器 **分类**: code-generation **用途**: 生成RESTful API接口代码 **角色**: 你是一位API设计专家,熟悉RESTful API设计和OpenAPI规范。 **任务**: 生成以下功能的API接口代码: - API功能:{{apiFunction}} - 数据模型:{{dataModel}} - 认证方式:{{authentication}} - 框架:{{framework}} **变量**: - apiFunction (text, required): API功能描述 - dataModel (text, required): 数据模型(JSON格式) - authentication (select, required): 认证方式(JWT、OAuth、API Key等) - framework (select, required): 框架(FastAPI、Express、Next.js等) **输出格式**: plain-text **约束**: - 遵循RESTful规范 - 包含请求验证 - 提供错误处理 - 生成OpenAPI文档 - 包含单元测试示例 --- ### 3.3 数据分析 #### PL-006: 工作流执行分析器 **分类**: data-analysis **用途**: 分析工作流执行数据 **角色**: 你是一位数据分析专家,擅长从执行数据中提取洞察。 **任务**: 分析以下工作流执行数据: - 执行记录:{{executionRecords}} - 分析维度:{{analysisDimensions}} - 关注指标:{{keyMetrics}} **变量**: - executionRecords (text, required): 执行记录(JSON格式) - analysisDimensions (text, required): 分析维度(性能、成功率、错误等) - keyMetrics (text, required): 关注的指标 **输出格式**: markdown **约束**: - 提供数据可视化建议 - 识别异常模式 - 给出优化建议 - 包含趋势分析 --- #### PL-007: Agent性能评估器 **分类**: data-analysis **用途**: 评估Agent性能 **角色**: 你是一位AI系统评估专家,熟悉各种性能评估指标。 **任务**: 评估以下Agent的性能: - Agent配置:{{agentConfig}} - 执行数据:{{executionData}} - 评估标准:{{evaluationCriteria}} **变量**: - agentConfig (text, required): Agent配置信息 - executionData (text, required): 执行数据(响应时间、成功率等) - evaluationCriteria (text, required): 评估标准 **输出格式**: json **约束**: - 计算关键性能指标 - 对比基准值 - 识别性能瓶颈 - 提供改进建议 --- ## 四、场景化提示词模板 ### 4.1 内容生成场景 #### SC-001: 多步骤内容生成工作流 **分类**: content-generation **用途**: 生成多步骤内容创作工作流 **角色**: 你是一位内容创作专家,熟悉内容生成的完整流程。 **任务**: 设计一个多步骤内容生成工作流: - 内容类型:{{contentType}} - 生成步骤:{{generationSteps}} - 质量要求:{{qualityRequirement}} **变量**: - contentType (text, required): 内容类型(文章、视频脚本、营销文案等) - generationSteps (text, required): 生成步骤(大纲、初稿、优化、润色等) - qualityRequirement (text, required): 质量要求 **输出格式**: markdown **约束**: - 设计清晰的步骤流程 - 定义每个步骤的输入输出 - 提供质量检查点 --- #### SC-002: 智能内容审核工作流 **分类**: content-moderation **用途**: 设计内容审核工作流 **角色**: 你是一位内容审核专家,熟悉各种审核标准和流程。 **任务**: 设计内容审核工作流: - 审核类型:{{moderationType}} - 审核标准:{{moderationStandards}} - 处理流程:{{handlingProcess}} **变量**: - moderationType (text, required): 审核类型(文本、图片、视频等) - moderationStandards (text, required): 审核标准 - handlingProcess (text, required): 处理流程(通过/拒绝/人工审核) **输出格式**: markdown **约束**: - 定义审核规则 - 设计分级审核机制 - 提供人工审核触发条件 --- ### 4.2 数据处理场景 #### SC-003: 数据清洗和转换工作流 **分类**: data-processing **用途**: 设计数据清洗工作流 **角色**: 你是一位数据处理专家,熟悉数据清洗和转换技术。 **任务**: 设计数据清洗和转换工作流: - 数据来源:{{dataSource}} - 数据质量:{{dataQuality}} - 目标格式:{{targetFormat}} **变量**: - dataSource (text, required): 数据来源和格式 - dataQuality (text, required): 数据质量问题 - targetFormat (text, required): 目标数据格式 **输出格式**: markdown **约束**: - 定义清洗规则 - 设计转换步骤 - 提供质量验证 --- #### SC-004: 实时数据分析工作流 **分类**: data-analysis **用途**: 设计实时数据分析工作流 **角色**: 你是一位实时数据分析专家,熟悉流式数据处理。 **任务**: 设计实时数据分析工作流: - 数据流:{{dataStream}} - 分析目标:{{analysisGoal}} - 实时性要求:{{realtimeRequirement}} **变量**: - dataStream (text, required): 数据流描述 - analysisGoal (text, required): 分析目标 - realtimeRequirement (text, required): 实时性要求(延迟、吞吐量) **输出格式**: markdown **约束**: - 设计流式处理架构 - 定义分析指标 - 提供告警机制 --- ### 4.3 智能客服场景 #### SC-005: 智能客服Agent **分类**: customer-service **用途**: 设计智能客服Agent **角色**: 你是一位智能客服系统专家,熟悉对话系统和客户服务流程。 **任务**: 设计智能客服Agent: - 服务领域:{{serviceDomain}} - 常见问题:{{commonQuestions}} - 服务标准:{{serviceStandards}} **变量**: - serviceDomain (text, required): 服务领域 - commonQuestions (text, required): 常见问题类型 - serviceStandards (text, required): 服务标准(响应时间、解决率等) **输出格式**: markdown **约束**: - 设计对话流程 - 定义知识库结构 - 提供转人工机制 --- #### SC-006: 多轮对话工作流 **分类**: conversation **用途**: 设计多轮对话工作流 **角色**: 你是一位对话系统专家,熟悉多轮对话设计。 **任务**: 设计多轮对话工作流: - 对话目标:{{conversationGoal}} - 对话轮次:{{conversationTurns}} - 上下文管理:{{contextManagement}} **变量**: - conversationGoal (text, required): 对话目标 - conversationTurns (text, required): 预期对话轮次 - contextManagement (text, required): 上下文管理需求 **输出格式**: markdown **约束**: - 设计对话状态机 - 定义上下文存储策略 - 提供对话恢复机制 --- ### 4.4 自动化任务场景 #### SC-007: 定时任务Agent **分类**: automation **用途**: 设计定时任务Agent **角色**: 你是一位自动化专家,熟悉定时任务和调度系统。 **任务**: 设计定时任务Agent: - 任务类型:{{taskType}} - 执行频率:{{executionFrequency}} - 依赖关系:{{dependencies}} **变量**: - taskType (text, required): 任务类型 - executionFrequency (text, required): 执行频率(每天、每周、自定义) - dependencies (text, optional): 任务依赖关系 **输出格式**: markdown **约束**: - 设计调度策略 - 定义重试机制 - 提供监控告警 --- #### SC-008: 事件驱动工作流 **分类**: event-driven **用途**: 设计事件驱动工作流 **角色**: 你是一位事件驱动架构专家,熟悉事件处理和消息队列。 **任务**: 设计事件驱动工作流: - 事件类型:{{eventTypes}} - 事件源:{{eventSources}} - 处理逻辑:{{processingLogic}} **变量**: - eventTypes (text, required): 事件类型列表 - eventSources (text, required): 事件源(API、数据库、消息队列等) - processingLogic (text, required): 处理逻辑 **输出格式**: markdown **约束**: - 设计事件处理流程 - 定义事件路由规则 - 提供事件重放机制 --- ## 五、系统集成提示词 ### 5.1 API集成 #### SI-001: 第三方API集成设计器 **分类**: system-integration **用途**: 设计第三方API集成方案 **角色**: 你是一位API集成专家,熟悉各种API集成模式和最佳实践。 **任务**: 设计第三方API集成方案: - API类型:{{apiType}} - 集成目标:{{integrationGoal}} - 认证方式:{{authentication}} - 错误处理:{{errorHandling}} **变量**: - apiType (text, required): API类型(REST、GraphQL、gRPC等) - integrationGoal (text, required): 集成目标 - authentication (text, required): 认证方式 - errorHandling (text, required): 错误处理策略 **输出格式**: markdown **约束**: - 设计集成架构 - 定义接口规范 - 提供错误处理方案 - 包含重试和降级策略 --- #### SI-002: 数据库集成设计器 **分类**: system-integration **用途**: 设计数据库集成方案 **角色**: 你是一位数据库专家,熟悉各种数据库的集成方式。 **任务**: 设计数据库集成方案: - 数据库类型:{{databaseType}} - 操作类型:{{operationType}} - 性能要求:{{performanceRequirement}} - 数据一致性:{{dataConsistency}} **变量**: - databaseType (select, required): 数据库类型(PostgreSQL、MySQL、MongoDB、Redis等) - operationType (text, required): 操作类型(读取、写入、查询、事务等) - performanceRequirement (text, required): 性能要求 - dataConsistency (text, required): 数据一致性要求 **输出格式**: markdown **约束**: - 设计数据访问层 - 定义连接池配置 - 提供事务处理方案 - 包含缓存策略 --- ### 5.2 消息队列集成 #### SI-003: 消息队列工作流设计器 **分类**: system-integration **用途**: 设计基于消息队列的工作流 **角色**: 你是一位消息队列专家,熟悉RabbitMQ、Kafka、Redis等消息中间件。 **任务**: 设计基于消息队列的工作流: - 消息队列:{{messageQueue}} - 消息类型:{{messageTypes}} - 处理模式:{{processingPattern}} - 可靠性要求:{{reliabilityRequirement}} **变量**: - messageQueue (select, required): 消息队列(RabbitMQ、Kafka、Redis Streams等) - messageTypes (text, required): 消息类型 - processingPattern (select, required): 处理模式(发布订阅、点对点、流处理) - reliabilityRequirement (text, required): 可靠性要求(至少一次、恰好一次、最多一次) **输出格式**: markdown **约束**: - 设计消息路由规则 - 定义消息格式 - 提供消息确认机制 - 包含死信队列处理 --- ## 六、测试和调试提示词 ### 6.1 工作流测试 #### TE-001: 工作流测试用例生成器 **分类**: testing **用途**: 生成工作流测试用例 **角色**: 你是一位测试专家,熟悉工作流测试方法。 **任务**: 为以下工作流生成测试用例: - 工作流定义:{{workflowDefinition}} - 测试类型:{{testType}} - 覆盖目标:{{coverageGoal}} **变量**: - workflowDefinition (text, required): 工作流定义 - testType (select, required): 测试类型(单元测试、集成测试、端到端测试) - coverageGoal (text, required): 覆盖目标(节点覆盖、路径覆盖、条件覆盖) **输出格式**: json **约束**: - 生成完整的测试用例 - 包含正常流程和异常流程 - 提供测试数据 - 定义预期结果 --- #### TE-002: Agent行为测试生成器 **分类**: testing **用途**: 生成Agent行为测试用例 **角色**: 你是一位AI系统测试专家,熟悉Agent行为测试。 **任务**: 生成Agent行为测试用例: - Agent配置:{{agentConfig}} - 测试场景:{{testScenarios}} - 评估标准:{{evaluationCriteria}} **变量**: - agentConfig (text, required): Agent配置 - testScenarios (text, required): 测试场景 - evaluationCriteria (text, required): 评估标准 **输出格式**: json **约束**: - 设计多样化测试场景 - 包含边界情况 - 提供评估指标 - 定义通过标准 --- ### 6.2 性能测试 #### TE-003: 工作流性能测试方案 **分类**: performance-testing **用途**: 设计工作流性能测试方案 **角色**: 你是一位性能测试专家,熟悉负载测试和压力测试。 **任务**: 设计工作流性能测试方案: - 工作流复杂度:{{workflowComplexity}} - 性能目标:{{performanceTargets}} - 测试环境:{{testEnvironment}} **变量**: - workflowComplexity (select, required): 工作流复杂度(简单/中等/复杂) - performanceTargets (text, required): 性能目标(响应时间、吞吐量、并发数) - testEnvironment (text, required): 测试环境描述 **输出格式**: markdown **约束**: - 设计测试场景 - 定义性能指标 - 提供测试工具建议 - 包含结果分析方法 --- ## 七、部署和运维提示词 ### 7.1 部署配置 #### DE-001: 容器化部署配置生成器 **分类**: deployment **用途**: 生成Docker容器化配置 **角色**: 你是一位DevOps专家,熟悉容器化部署和编排。 **任务**: 生成容器化部署配置: - 服务类型:{{serviceType}} - 依赖服务:{{dependencies}} - 资源配置:{{resourceRequirements}} - 环境变量:{{environmentVariables}} **变量**: - serviceType (text, required): 服务类型(前端、后端、工作流引擎等) - dependencies (text, required): 依赖服务(数据库、Redis、消息队列等) - resourceRequirements (text, required): 资源配置(CPU、内存、存储) - environmentVariables (text, required): 环境变量配置 **输出格式**: plain-text **约束**: - 生成Dockerfile - 提供docker-compose.yml - 包含健康检查 - 提供部署脚本 --- #### DE-002: Kubernetes部署配置生成器 **分类**: deployment **用途**: 生成Kubernetes部署配置 **角色**: 你是一位Kubernetes专家,熟悉K8s部署和编排。 **任务**: 生成Kubernetes部署配置: - 应用架构:{{applicationArchitecture}} - 副本数量:{{replicaCount}} - 服务发现:{{serviceDiscovery}} - 配置管理:{{configManagement}} **变量**: - applicationArchitecture (text, required): 应用架构描述 - replicaCount (text, required): 副本数量配置 - serviceDiscovery (text, required): 服务发现需求 - configManagement (text, required): 配置管理方式 **输出格式**: yaml **约束**: - 生成Deployment配置 - 提供Service配置 - 包含ConfigMap和Secret - 定义资源限制 --- ### 7.2 监控和告警 #### DE-003: 监控指标设计器 **分类**: monitoring **用途**: 设计系统监控指标 **角色**: 你是一位监控专家,熟悉各种监控指标和告警策略。 **任务**: 设计系统监控指标: - 系统组件:{{systemComponents}} - 关键指标:{{keyMetrics}} - 告警阈值:{{alertThresholds}} **变量**: - systemComponents (text, required): 系统组件列表 - keyMetrics (text, required): 关键指标(CPU、内存、响应时间、错误率等) - alertThresholds (text, required): 告警阈值配置 **输出格式**: json **约束**: - 定义完整的监控指标 - 设置合理的告警阈值 - 提供告警规则 - 包含仪表板配置建议 --- ## 八、安全和合规提示词 ### 8.1 安全设计 #### SE-001: 工作流安全审计器 **分类**: security **用途**: 审计工作流安全性 **角色**: 你是一位安全专家,熟悉系统安全最佳实践。 **任务**: 审计工作流安全性: - 工作流定义:{{workflowDefinition}} - 数据敏感性:{{dataSensitivity}} - 合规要求:{{complianceRequirements}} **变量**: - workflowDefinition (text, required): 工作流定义 - dataSensitivity (text, required): 数据敏感性级别 - complianceRequirements (text, optional): 合规要求(GDPR、HIPAA等) **输出格式**: markdown **约束**: - 识别安全风险 - 提供安全加固建议 - 定义访问控制策略 - 包含数据加密方案 --- #### SE-002: API安全配置生成器 **分类**: security **用途**: 生成API安全配置 **角色**: 你是一位API安全专家,熟悉各种API安全机制。 **任务**: 生成API安全配置: - API类型:{{apiType}} - 认证方式:{{authentication}} - 授权策略:{{authorizationPolicy}} - 数据保护:{{dataProtection}} **变量**: - apiType (text, required): API类型 - authentication (select, required): 认证方式(JWT、OAuth2、API Key等) - authorizationPolicy (text, required): 授权策略 - dataProtection (text, required): 数据保护要求 **输出格式**: markdown **约束**: - 设计认证流程 - 定义授权规则 - 提供加密方案 - 包含安全最佳实践 --- ## 九、文档和教程提示词 ### 9.1 用户文档 #### DO-001: 工作流使用教程生成器 **分类**: documentation **用途**: 生成工作流使用教程 **角色**: 你是一位技术文档专家,擅长编写清晰易懂的教程。 **任务**: 生成工作流使用教程: - 目标用户:{{targetUser}} - 功能范围:{{featureScope}} - 难度级别:{{difficultyLevel}} **变量**: - targetUser (select, required): 目标用户(新手/中级/高级) - featureScope (text, required): 功能范围 - difficultyLevel (select, required): 难度级别(入门/中级/高级) **输出格式**: markdown **约束**: - 使用清晰的步骤说明 - 包含截图或示例 - 提供常见问题解答 - 添加最佳实践 --- #### DO-002: API文档生成器 **分类**: documentation **用途**: 生成API文档 **角色**: 你是一位API文档专家,熟悉OpenAPI规范和文档编写。 **任务**: 生成API文档: - API定义:{{apiDefinition}} - 文档风格:{{documentationStyle}} - 示例需求:{{exampleRequirements}} **变量**: - apiDefinition (text, required): API定义(OpenAPI格式) - documentationStyle (select, required): 文档风格(简洁/详细/交互式) - exampleRequirements (text, required): 示例需求 **输出格式**: markdown **约束**: - 遵循OpenAPI规范 - 提供完整的接口说明 - 包含请求响应示例 - 添加错误码说明 --- ## 十、优化和调优提示词 ### 10.1 性能优化 #### OP-001: 工作流性能优化专家 **分类**: optimization **用途**: 优化工作流性能 **角色**: 你是一位性能优化专家,擅长识别和解决性能瓶颈。 **任务**: 优化工作流性能: - 当前性能:{{currentPerformance}} - 性能瓶颈:{{performanceBottlenecks}} - 优化目标:{{optimizationGoals}} **变量**: - currentPerformance (text, required): 当前性能指标 - performanceBottlenecks (text, required): 性能瓶颈分析 - optimizationGoals (text, required): 优化目标 **输出格式**: markdown **约束**: - 识别性能瓶颈 - 提供优化方案 - 评估优化效果 - 考虑成本收益 --- #### OP-002: Agent响应速度优化器 **分类**: optimization **用途**: 优化Agent响应速度 **角色**: 你是一位AI系统优化专家,熟悉Agent性能优化。 **任务**: 优化Agent响应速度: - Agent配置:{{agentConfig}} - 当前延迟:{{currentLatency}} - 目标延迟:{{targetLatency}} **变量**: - agentConfig (text, required): Agent配置 - currentLatency (text, required): 当前延迟 - targetLatency (text, required): 目标延迟 **输出格式**: markdown **约束**: - 分析延迟来源 - 提供优化策略 - 包含缓存方案 - 考虑模型选择 --- """ def parse_template(text: str): """解析单个模板""" # 提取模板编号和名称 id_match = re.search(r'####\s+([A-Z]+-\d+):\s+(.+?)\n', text) if not id_match: return None template_id = id_match.group(1) name = id_match.group(2).strip() # 提取分类 category_match = re.search(r'\*\*分类\*\*:\s*(.+?)\n', text) category = category_match.group(1).strip() if category_match else 'other' # 提取用途 purpose_match = re.search(r'\*\*用途\*\*:\s*(.+?)\n', text) purpose = purpose_match.group(1).strip() if purpose_match else '' # 提取角色(更灵活的匹配) role_match = re.search(r'\*\*角色\*\*:\s*\n\n(.+?)(?=\n\n\*\*任务\*\*:)', text, re.DOTALL) if not role_match: role_match = re.search(r'\*\*角色\*\*:\s*\n(.+?)(?=\n\*\*任务\*\*:)', text, re.DOTALL) role = role_match.group(1).strip() if role_match else '' # 提取任务(更灵活的匹配) task_match = re.search(r'\*\*任务\*\*:\s*\n\n(.+?)(?=\n\n\*\*变量\*\*:)', text, re.DOTALL) if not task_match: task_match = re.search(r'\*\*任务\*\*:\s*\n(.+?)(?=\n\*\*变量\*\*:)', text, re.DOTALL) task = task_match.group(1).strip() if task_match else '' # 提取变量(更灵活的匹配) variables_match = re.search(r'\*\*变量\*\*:\s*\n\n(.+?)(?=\n\n\*\*输出格式\*\*:)', text, re.DOTALL) if not variables_match: variables_match = re.search(r'\*\*变量\*\*:\s*\n(.+?)(?=\n\*\*输出格式\*\*:)', text, re.DOTALL) variables_text = variables_match.group(1).strip() if variables_match else '' # 解析变量列表 variables = [] if variables_text: # 匹配格式:- varName (type, required/optional): description var_pattern = r'-\s*(\w+)\s*\(([^)]+)\):\s*(.+?)(?=\n-|\n\*\*|$)' for match in re.finditer(var_pattern, variables_text, re.MULTILINE | re.DOTALL): var_name = match.group(1) var_type_str = match.group(2) var_desc = match.group(3).strip() # 解析类型和是否必需 var_parts = [p.strip() for p in var_type_str.split(',')] var_type = var_parts[0] if var_parts else 'text' required = any('required' in p.lower() for p in var_parts) variables.append({ 'name': var_name, 'type': var_type, 'required': required, 'description': var_desc }) # 提取输出格式 output_format_match = re.search(r'\*\*输出格式\*\*:\s*(.+?)\n', text) output_format = output_format_match.group(1).strip() if output_format_match else 'markdown' # 提取约束(更灵活的匹配) constraints_match = re.search(r'\*\*约束\*\*:\s*\n\n(.+?)(?=\n---|\n####|$)', text, re.DOTALL) if not constraints_match: constraints_match = re.search(r'\*\*约束\*\*:\s*\n(.+?)(?=\n---|\n####|$)', text, re.DOTALL) constraints = constraints_match.group(1).strip() if constraints_match else '' # 构建完整的提示词(包含任务中的变量占位符) # 将任务中的变量占位符保留,让用户在使用时替换 prompt_parts = [] # 构建角色部分(避免重复) if role: if role.startswith('你是一位'): prompt_parts.append(role) else: prompt_parts.append(f"你是一位{role}") # 添加任务 if task: prompt_parts.append(task) # 添加变量说明(如果任务中没有详细说明) if variables and '{{' not in task: prompt_parts.append("\n请根据以下变量信息生成输出:") for var in variables: prompt_parts.append(f"- {var['name']} ({var['type']}): {var['description']}") # 添加输出格式 if output_format: prompt_parts.append(f"\n输出格式:{output_format}") # 添加约束条件 if constraints: prompt_parts.append(f"\n约束条件:\n{constraints}") prompt = "\n\n".join(prompt_parts) # 构建描述 description = f"{purpose}" if category: description += f"\n\n分类:{category}" description += f"\n\n模板编号:{template_id}" # 构建标签 tags = [] if category: tags.append(category) tags.append(template_id.lower()) if '工作流' in name or 'workflow' in name.lower(): tags.append('工作流') if 'Agent' in name or 'agent' in name.lower(): tags.append('Agent') if '代码' in name or 'code' in name.lower(): tags.append('代码生成') if '测试' in name or 'test' in name.lower(): tags.append('测试') if '部署' in name or 'deploy' in name.lower(): tags.append('部署') if '安全' in name or 'security' in name.lower(): tags.append('安全') return { 'id': template_id, 'name': name, 'description': description, 'category': category, 'tags': tags, 'prompt': prompt, 'variables': variables, 'provider': 'deepseek', 'model': 'deepseek-chat', 'temperature': '0.7', 'max_tokens': 2000, 'is_public': True, 'is_featured': True } def parse_all_templates(text: str): """解析所有模板""" templates = [] # 按模板分割(以 #### 开头) template_blocks = re.split(r'\n####\s+', text) for block in template_blocks: if not block.strip() or not re.search(r'[A-Z]+-\d+:', block): continue # 添加回 #### 前缀 if not block.startswith('####'): block = '#### ' + block template = parse_template(block) if template: templates.append(template) return templates def import_templates(): """导入模板到数据库""" # 创建数据库连接 engine = create_engine(settings.DATABASE_URL) Session = sessionmaker(bind=engine) session = Session() try: # 获取第一个用户(作为模板创建者) user = session.query(User).first() if not user: print("❌ 错误:数据库中没有用户,请先创建用户") return print(f"✅ 使用用户: {user.username} (ID: {user.id})") # 解析所有模板 print("\n📝 开始解析模板...") templates = parse_all_templates(PROMPT_TEMPLATES) print(f"✅ 解析完成,共 {len(templates)} 个模板") # 导入每个模板 imported_count = 0 skipped_count = 0 for template_data in templates: # 检查是否已存在 existing = session.query(NodeTemplate).filter( NodeTemplate.name == template_data['name'], NodeTemplate.user_id == user.id ).first() if existing: print(f"⏭️ 跳过已存在的模板: {template_data['name']}") skipped_count += 1 continue # 创建模板 template = NodeTemplate( name=template_data['name'], description=template_data['description'], category=template_data['category'], tags=template_data['tags'], prompt=template_data['prompt'], variables=template_data['variables'], provider=template_data['provider'], model=template_data['model'], temperature=template_data['temperature'], max_tokens=template_data['max_tokens'], is_public=template_data['is_public'], is_featured=template_data['is_featured'], user_id=user.id ) session.add(template) imported_count += 1 print(f"✅ 导入模板: {template_data['name']} ({template_data['id']})") # 提交事务 session.commit() print(f"\n🎉 导入完成!") print(f" - 成功导入: {imported_count} 个") print(f" - 跳过已存在: {skipped_count} 个") print(f" - 总计: {len(templates)} 个") except Exception as e: session.rollback() print(f"❌ 导入失败: {e}") import traceback traceback.print_exc() finally: session.close() if __name__ == '__main__': import_templates()