Files
aiagent/backend/scripts/import_prompt_templates.py

2167 lines
42 KiB
Python
Raw Normal View History

2026-01-19 00:09:36 +08:00
"""
批量导入提示词模板到节点模板系统
"""
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
**约束**:
- 推荐节点类型starttemplateconditiondatatoolend
- 说明每个节点的作用
- 提供节点配置建议
---
#### 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-4ClaudeDeepSeek等
- 设置TemperatureMaxTokens等参数
- 提供提示词优化建议
---
#### WF-005: 条件节点表达式生成器
**分类**: workflow-node-config
**用途**: 生成条件节点的表达式
**角色**:
你是一位逻辑表达式设计专家擅长将业务逻辑转换为可执行的表达式
**任务**:
根据以下业务逻辑生成条件表达式
- 业务规则{{businessRule}}
- 判断条件{{judgmentCondition}}
- 数据字段{{dataFields}}
- 逻辑关系{{logicalRelation}}
**变量**:
- businessRule (text, required): 业务规则描述
- judgmentCondition (text, required): 判断条件大于等于包含等
- dataFields (text, required): 涉及的数据字段
- logicalRelation (select, optional): 逻辑关系ANDORNOT
**输出格式**: 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开发专家熟悉FastAPICelery异步编程等
**任务**:
根据以下工作流设计生成Python工作流引擎代码
- 工作流定义{{workflowDefinition}}
- 节点类型{{nodeTypes}}
- 执行模式{{executionMode}}
- 框架要求{{frameworkRequirements}}
**变量**:
- workflowDefinition (text, required): 工作流定义JSON格式
- nodeTypes (text, required): 节点类型列表
- executionMode (select, required): 执行模式同步/异步/混合
- frameworkRequirements (text, optional): 框架要求FastAPICelery等
**输出格式**: plain-text
**约束**:
- 使用FastAPI框架
- 集成Celery任务队列
- 支持异步执行
- 包含错误处理
- 提供API文档
---
#### PL-004: 前端工作流编辑器代码生成器
**分类**: code-generation
**用途**: 生成前端工作流编辑器代码
**角色**:
你是一位前端开发专家熟悉ReactVue工作流可视化库
**任务**:
生成工作流可视化编辑器代码
- 前端框架{{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): 认证方式JWTOAuthAPI Key等
- framework (select, required): 框架FastAPIExpressNext.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类型RESTGraphQLgRPC等
- integrationGoal (text, required): 集成目标
- authentication (text, required): 认证方式
- errorHandling (text, required): 错误处理策略
**输出格式**: markdown
**约束**:
- 设计集成架构
- 定义接口规范
- 提供错误处理方案
- 包含重试和降级策略
---
#### SI-002: 数据库集成设计器
**分类**: system-integration
**用途**: 设计数据库集成方案
**角色**:
你是一位数据库专家熟悉各种数据库的集成方式
**任务**:
设计数据库集成方案
- 数据库类型{{databaseType}}
- 操作类型{{operationType}}
- 性能要求{{performanceRequirement}}
- 数据一致性{{dataConsistency}}
**变量**:
- databaseType (select, required): 数据库类型PostgreSQLMySQLMongoDBRedis等
- operationType (text, required): 操作类型读取写入查询事务等
- performanceRequirement (text, required): 性能要求
- dataConsistency (text, required): 数据一致性要求
**输出格式**: markdown
**约束**:
- 设计数据访问层
- 定义连接池配置
- 提供事务处理方案
- 包含缓存策略
---
### 5.2 消息队列集成
#### SI-003: 消息队列工作流设计器
**分类**: system-integration
**用途**: 设计基于消息队列的工作流
**角色**:
你是一位消息队列专家熟悉RabbitMQKafkaRedis等消息中间件
**任务**:
设计基于消息队列的工作流
- 消息队列{{messageQueue}}
- 消息类型{{messageTypes}}
- 处理模式{{processingPattern}}
- 可靠性要求{{reliabilityRequirement}}
**变量**:
- messageQueue (select, required): 消息队列RabbitMQKafkaRedis 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): 合规要求GDPRHIPAA等
**输出格式**: markdown
**约束**:
- 识别安全风险
- 提供安全加固建议
- 定义访问控制策略
- 包含数据加密方案
---
#### SE-002: API安全配置生成器
**分类**: security
**用途**: 生成API安全配置
**角色**:
你是一位API安全专家熟悉各种API安全机制
**任务**:
生成API安全配置
- API类型{{apiType}}
- 认证方式{{authentication}}
- 授权策略{{authorizationPolicy}}
- 数据保护{{dataProtection}}
**变量**:
- apiType (text, required): API类型
- authentication (select, required): 认证方式JWTOAuth2API 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()