diff --git a/.kiro/steering/ai-spam-detection-optimization.md b/.kiro/steering/ai-spam-detection-optimization.md new file mode 100644 index 0000000..bd52411 --- /dev/null +++ b/.kiro/steering/ai-spam-detection-optimization.md @@ -0,0 +1,158 @@ +# AI 垃圾评论检测优化方案 + +## 当前问题 + +1. **Prompt 单一**:只有一个固定的 Prompt,无法适应不同场景 +2. **缺少置信度**:AI 判断没有置信度评分,无法区分确定性高低 +3. **处理过于机械**:直接根据 AI 结果自动处理,缺少灵活性 +4. **缺少上下文**:只分析评论本身,没有考虑文章内容和用户历史 +5. **无学习机制**:无法根据管理员的审核结果优化判断 + +## 优化方案 + +### 1. 多级 Prompt 系统 + +**极简模式(minimal)** +- 适用场景:API 费用敏感、快速检测 +- Token 消耗:约 100-150 tokens +- 特点:只判断是否垃圾,理由简短 + +**标准模式(standard)** - 默认 +- 适用场景:日常使用,平衡准确性和成本 +- Token 消耗:约 200-300 tokens +- 特点:详细审核标准,包含置信度和处理建议 + +**增强模式(enhanced)** +- 适用场景:重要内容、疑难案例 +- Token 消耗:约 300-500 tokens +- 特点:多维度分析,包含综合分析说明 + +### 2. 智能置信度系统 + +AI 返回置信度(0-1): +- **0.9-1.0**:非常确定 → 可自动处理 +- **0.7-0.9**:比较确定 → 建议自动处理 +- **0.5-0.7**:中等确定 → 建议人工审核 +- **0.0-0.5**:不太确定 → 必须人工审核 + +### 3. 智能处理建议 + +AI 返回处理建议: +- **auto**:自动处理(高置信度垃圾内容) +- **review**:建议人工审核(中等置信度或边缘情况) +- **approve**:建议直接通过(正常内容) + +管理员可设置: +- 只有置信度 > 0.85 才自动处理 +- 置信度 0.5-0.85 标记为待审核 +- 置信度 < 0.5 直接通过并记录 + +### 4. 上下文增强 + +评论检测时提供: +- **文章信息**:标题、摘要(判断相关性) +- **用户历史**:检测次数、通过率(判断可信度) +- **评论时间**:判断是否为批量发送 +- **IP 地址**:判断是否为已知垃圾来源 + +### 5. 多维度分析 + +AI 分析维度: +- **内容合规性**:是否违规 +- **内容质量**:是否有实质性内容 +- **用户行为**:用户名、邮箱、网站是否可疑 +- **上下文相关性**:与文章主题的相关性 + +### 6. 学习优化机制 + +记录管理员的审核决策: +- 管理员批准了 AI 标记的垃圾评论 → 降低该类型的检测阈值 +- 管理员拒绝了 AI 的判断 → 提高该类型的检测阈值 +- 定期分析误判率,优化 Prompt + +## 实施步骤 + +### 步骤 1:添加 Prompt 模式选择 + +在设置页添加选项: +```php + +``` + +### 步骤 2:优化检测函数 + +添加新函数: +- `argon_get_spam_detection_prompt($mode)` - 获取不同模式的 Prompt +- `argon_build_comment_context($comment)` - 构建评论上下文 +- `argon_should_auto_process($result)` - 根据置信度判断是否自动处理 + +### 步骤 3:优化处理逻辑 + +根据 AI 的建议和置信度: +```php +if ($confidence > 0.85 && $suggestion === 'auto') { + // 自动处理 +} elseif ($confidence > 0.5) { + // 标记为待审核 +} else { + // 直接通过,记录低置信度 +} +``` + +### 步骤 4:添加学习机制 + +记录管理员操作: +```php +// 管理员批准/拒绝 AI 判断时 +update_option('argon_spam_detection_feedback_' . $pattern_hash, [ + 'ai_decision' => $ai_result, + 'admin_decision' => $admin_action, + 'timestamp' => time() +]); +``` + +### 步骤 5:优化显示界面 + +在后台评论列表显示: +- AI 置信度标签 +- 处理建议 +- 综合分析(鼠标悬停显示) + +## 预期效果 + +1. **准确率提升**:通过多维度分析和置信度评分,减少误判 +2. **灵活性增强**:管理员可根据置信度选择处理方式 +3. **成本优化**:提供多级 Prompt,平衡准确性和成本 +4. **持续优化**:通过学习机制不断提升判断准确性 +5. **用户体验**:减少误杀正常评论,提升用户满意度 + +## 配置建议 + +### 小型博客(评论量 < 100/天) +- Prompt 模式:标准模式 +- 实时检测:智能抽查 20% +- 自动处理阈值:置信度 > 0.9 + +### 中型博客(评论量 100-500/天) +- Prompt 模式:标准模式 +- 实时检测:智能抽查 30% +- 自动处理阈值:置信度 > 0.85 + +### 大型博客(评论量 > 500/天) +- Prompt 模式:极简模式 +- 实时检测:智能抽查 40% +- 自动处理阈值:置信度 > 0.8 +- 定期使用增强模式批量扫描待审核评论 + +## 注意事项 + +1. **API 成本**:增强模式会消耗更多 tokens,建议按需使用 +2. **响应时间**:上下文信息越多,AI 响应时间越长 +3. **隐私保护**:不要将敏感信息(如完整邮箱)发送给 AI +4. **误判处理**:始终提供人工审核入口,避免误杀 +5. **定期review**:定期检查 AI 判断结果,优化 Prompt