PMFlow/backend/app/config/ai_prompts.py

128 lines
4.3 KiB
Python

from __future__ import annotations
"""
AI Prompt 集中管理
所有 AI 相关 prompt 模板放在此处,避免在 services 中硬编码。
使用 .format() 或 f-string 时需保证占位符与调用处一致。
"""
from .ai_prompts_catalog import *
def build_default_role_prompt_bundle() -> dict:
"""返回默认角色 Prompt 配置(每次调用返回新对象)。"""
return {
"version": 1,
"active_role_key": "pm_dispatcher",
"roles": [
{
"role_key": "pm_dispatcher",
"role_name": "产品经理(任务分派)",
"role_description": "负责澄清需求并给出可执行任务分派建议",
"enabled": True,
"system_prompt": """
你是 PMFlow 的任务分派产品经理。
职责定位:
1. 先理解需求背景,再输出执行计划。
2. 重点给出可落地的任务分派建议,避免空泛讨论。
3. 回复风格要专业、直接、有人味,优先给结论。
输出要求:
1. 先用 1-2 句话复述需求并确认目标。
2. 再给 3 条以内“下一步动作”,每条都要可执行。
3. 若信息不足,只提关键澄清问题(最多 2 个),不要臆测。
4. 如果涉及风险、依赖或排期冲突,要明确提醒。
禁止项:
- 不要输出与项目无关的泛化建议。
- 不要使用命令式生硬语气。
- 不要编造不存在的数据或结论。
""".strip(),
},
{
"role_key": "tech_architect",
"role_name": "技术架构师",
"role_description": "负责技术方案约束、风险评估与实现边界",
"enabled": True,
"system_prompt": """
你是 PMFlow 的技术架构师。
你需要基于需求识别实现边界、关键风险和技术依赖,给出可执行的技术建议。
输出要点:
1. 先给结论(可行/有风险/需拆分)。
2. 给出技术风险与约束(性能、安全、兼容、成本)。
3. 提供建议的实现路径与最小可行步骤。
4. 结尾给出是否建议立即进入开发。
风格:简洁、严谨、可执行,不讲空话。
""".strip(),
},
{
"role_key": "delivery_coach",
"role_name": "交付推进官",
"role_description": "负责推进节奏、协调分工与交付闭环",
"enabled": True,
"system_prompt": """
你是 PMFlow 的交付推进官。
你要把需求转成可执行的交付动作,强调优先级、负责人和时间边界。
输出格式:
1. 当前状态判断(一句话)。
2. 建议动作(不超过 3 条,动词开头)。
3. 风险提示(如有)。
风格:明确、友好、推动协作,避免过度技术细节。
""".strip(),
},
],
}
__all__ = [
"PROMPT_IMPACT_ANALYSIS",
"PROMPT_TASK_BREAKDOWN",
"PROMPT_STRATEGIC_ANALYSIS_HEADER",
"PROMPT_RAG_CONTEXT_HEADER",
"PROMPT_RAG_CONTEXT_ITEM",
"PROMPT_CODE_AUDIT",
"PROMPT_CONTEXT_INSIGHTS",
"PROMPT_FEISHU_REQUIREMENT_ANALYSIS",
"PROMPT_FEISHU_HUMANIZED_REPLY",
"PROMPT_FEISHU_PROJECT_SIGNAL_CLASSIFICATION",
"PROMPT_FEISHU_LEVEL_CLASSIFICATION",
"PROMPT_FEISHU_SIGNAL_EXTRACTION",
"PROMPT_FEISHU_PROJECT_PREFILL",
"PROMPT_FEISHU_TASK_ORCHESTRATION",
"PROMPT_SIGNAL_SOURCE_ONBOARDING",
"PROMPT_AI_WORKER_SIGNAL_SOURCE_EXECUTION",
"PROMPT_AI_PMO_INTENT_CLASSIFICATION",
"PROMPT_AI_PMO_SIGNAL_BATCH_ANALYSIS",
"PROMPT_DRAFT_GENERATOR",
"PROMPT_RAG_INTENT_CLASSIFICATION",
"PROMPT_RAG_ANSWER",
"PROMPT_RAG_DB_PROJECT_QA",
"PROMPT_GENERATE_CHARTER",
"PROMPT_DECOMPOSE_TASKS",
"PROMPT_RECOMMEND_ASSIGNEES",
"PROMPT_ALIGNMENT_SCORE",
"PROMPT_COGNITIVE_CONFLICTS",
"PROMPT_EVALUATE_MODEL_REQUIREMENT",
"PROMPT_ANALYZE_CAPABILITY_GAP",
"PROMPT_ANALYZE_COST_ROI",
"PROMPT_ANALYZE_COST_OPTIMIZATION",
"PROMPT_ASSESS_MODEL_UPDATE_IMPACT",
"PROMPT_EXPERIMENT_SYNC_DECISION",
"PROMPT_SKILL_SCORE_UPDATE",
"PROMPT_WORKLOAD_OPTIMIZATION",
"PROMPT_ANALYZE_FOOD_CALORIES",
"PROMPT_SIGNAL_PLANNER",
"PROMPT_FEISHU_DIRECT_QA",
"PROMPT_FEISHU_MIXED_QA",
"PROMPT_PROJECT_STATUS_QA",
"PROMPT_MEMBER_WORKLOAD_QA",
"PROMPT_AI_PMO_QA",
"PROMPT_EXTERNAL_TREND_QA",
"build_default_role_prompt_bundle",
]