feat: 审查流程优化+采集定时调度+全链路LLM提示词升级

- 审查:移除 manual_review,改为迭代LLM修复(最多3次),合规分回写Topic
- 调度:scheduler 新增话题采集定时任务 scheduled_collect (01:30)
- 提示词:全链路8文件≈24个提示词升级,增强SEO/平台推荐/真人感
This commit is contained in:
Yuzhiran Dev
2026-05-14 21:52:02 +08:00
parent 1115223066
commit fef435cc78
15 changed files with 288 additions and 160 deletions
+12 -8
View File
@@ -102,19 +102,23 @@ def detect_trend_gaps() -> List[Dict]:
def generate_new_topics(gaps: List[Dict]) -> List[Dict]:
if not gaps:
return []
prompt = f"""以下热点话题在我们的选题库中没有匹配项。请为每个热点生成一个新选题建议。
prompt = f"""你是一个敏锐的内容策略师,擅长将热点转化为有价值、有传播力的选题。以下热点当前未覆盖,请为每个热点生成选题建议。
注意:选题要兼具SEO价值(能在搜索中被找到)和社交传播力(能在平台引发讨论)。
热点列表:
{chr(10).join(f'- {g["topic"]}{g.get("domain","")}{g.get("reason","")}' for g in gaps)}
{chr(10).join(f'- {g["topic"]}{g.get("domain","")})— {g.get("reason","")}。热搜词:{", ".join(g.get("hot_keywords", []))}' for g in gaps)}
输出 JSON 数组,每个元素包含:
- "title": 选题标题(有吸引力20字内
每个选题需包含:
- "title": 标题(20字内,包含核心关键词,有吸引力)
- "field": 所属领域
- "core_concept": 核心观点(一句话)
- "audience_pain": 受众痛点
- "unique_angle": 独特视角
- "core_concept": 核心观点(一句话说清独特价值
- "audience_pain": 受众痛点(真实用户的困惑/焦虑/需求)
- "unique_angle": 独特视角(差异化切入点,含SEO关键词潜力)
- "target_platform": 最适合发布平台(知乎/小红书/微信/多平台)
- "estimated_search_volume": 预估搜索热度(高/中/低)
只输出 JSON,不要其他文字。"""
只输出 JSON 数组,不要其他文字。"""
try:
resp = call_llm(prompt, temperature=0.4, max_tokens=2000)
resp = resp.strip()