Files
aiagent/backend/scripts/import_prompt_templates.py
2026-01-19 00:09:36 +08:00

2167 lines
42 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
批量导入提示词模板到节点模板系统
"""
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()