[M-AI-08-03] 注册 Learning Analysis Job Definition 并实现 Executor #330

Closed
opened 2026-06-22 21:27:16 +08:00 by wangdl · 1 comment
Owner

类型 / 标签

  • backend / learning-analysis / registry / ai

风险等级

P1 — Definition 错误导致 Job 无法执行;Prompt 设计不当导致分析质量下降

依赖

  • M-AI-08-02

目标

注册 learning_analysis Job Definition,将现有分析 Prompt 适配到统一 AiJob Engine。

Definition

jobType=learning_analysis, queueName=ai-background。包含 priority/maxRetries/timeoutMs/schemaVersions/promptKey/modelTier/executor/validators/projector。

Executor

LearningAnalysisExecutor:从 Snapshot 构造模型输入、使用冻结 Prompt、只通过 AiGatewayService、接收 AbortSignal、返回结构化输出。禁止直接调用 Provider SDK/注入 PrismaService/修改 Job 状态/重新聚合数据。

Prompt 要求

必须区分事实数据/统计指标/缺失数据/允许推断/禁止推断/输出格式。模型仅依据 Snapshot,数据不足时明确说明,不进行医疗心理诊断,建议可执行且附 evidenceRefs。

Output Schema

summary/strengths[]/weaknesses[]/trends[]/risks[]/recommendations[]/evidenceRefs[]/confidence/dataQuality/insufficientData

测试

正常输出、非法 JSON、缺少字段、数据不足、无 evidenceRefs、无效 evidenceRef、越界数量、超长文本、医疗诊断措辞、无依据精确数字、Markdown 代码块、AbortSignal、Provider 失败。

验收标准

  • Definition 注册成功
  • 使用后台队列
  • Executor 只通过 AiGateway
  • 保持旧模型成本策略
  • 输入窗口不漂移
  • 输出结构化
  • 无数据库副作用
  • 测试通过

建议执行顺序

第 3 个执行

## 类型 / 标签 - backend / learning-analysis / registry / ai ## 风险等级 P1 — Definition 错误导致 Job 无法执行;Prompt 设计不当导致分析质量下降 ## 依赖 - M-AI-08-02 ## 目标 注册 learning_analysis Job Definition,将现有分析 Prompt 适配到统一 AiJob Engine。 ## Definition jobType=learning_analysis, queueName=ai-background。包含 priority/maxRetries/timeoutMs/schemaVersions/promptKey/modelTier/executor/validators/projector。 ## Executor LearningAnalysisExecutor:从 Snapshot 构造模型输入、使用冻结 Prompt、只通过 AiGatewayService、接收 AbortSignal、返回结构化输出。禁止直接调用 Provider SDK/注入 PrismaService/修改 Job 状态/重新聚合数据。 ## Prompt 要求 必须区分事实数据/统计指标/缺失数据/允许推断/禁止推断/输出格式。模型仅依据 Snapshot,数据不足时明确说明,不进行医疗心理诊断,建议可执行且附 evidenceRefs。 ## Output Schema summary/strengths[]/weaknesses[]/trends[]/risks[]/recommendations[]/evidenceRefs[]/confidence/dataQuality/insufficientData ## 测试 正常输出、非法 JSON、缺少字段、数据不足、无 evidenceRefs、无效 evidenceRef、越界数量、超长文本、医疗诊断措辞、无依据精确数字、Markdown 代码块、AbortSignal、Provider 失败。 ## 验收标准 - [ ] Definition 注册成功 - [ ] 使用后台队列 - [ ] Executor 只通过 AiGateway - [ ] 保持旧模型成本策略 - [ ] 输入窗口不漂移 - [ ] 输出结构化 - [ ] 无数据库副作用 - [ ] 测试通过 ## 建议执行顺序 第 3 个执行
wangdl added this to the M-AI-08 学习综合分析、学习建议与 AI 迁移闭环 milestone 2026-06-22 21:27:16 +08:00
Author
Owner

开发完成评论

完成内容

  • A1/A2 resolved: learning-analysis prompt + Zod output schema created
  • Prompt: evidence-gated analysis, no medical diagnosis, no personality judgment
  • Schema: EvidenceRef + Strength/Weakness/Trend/Risk/Recommendation
  • Registered in PromptTemplateService (key=learning-analysis v1.0.0)
  • LearningAnalysisExecutor: AiGateway only, snapshot metrics -> user message
  • Engine dispatch: learning_analysis job type

修改文件

  • src/modules/ai/prompts/learning-analysis.prompt.ts — new
  • src/modules/ai/prompts/schemas/learning-analysis.schema.ts — new
  • src/modules/ai/prompts/prompt-template.service.ts — modified (+6)
  • src/modules/ai-job/learning-analysis-executor.ts — new
  • src/modules/ai-job/ai-job-execution-engine.ts — modified (+14)
  • src/modules/ai-job/ai-job-execution-engine.spec.ts — modified (+2)
  • src/modules/ai-job/ai-job.module.ts — modified (+2)

测试情况

  • 801 passed (regression) = 0 failed

是否建议进入 Review

  • Yes - proceed to M-AI-08-04
## 开发完成评论 ### 完成内容 - A1/A2 resolved: learning-analysis prompt + Zod output schema created - Prompt: evidence-gated analysis, no medical diagnosis, no personality judgment - Schema: EvidenceRef + Strength/Weakness/Trend/Risk/Recommendation - Registered in PromptTemplateService (key=learning-analysis v1.0.0) - LearningAnalysisExecutor: AiGateway only, snapshot metrics -> user message - Engine dispatch: learning_analysis job type ### 修改文件 - src/modules/ai/prompts/learning-analysis.prompt.ts — new - src/modules/ai/prompts/schemas/learning-analysis.schema.ts — new - src/modules/ai/prompts/prompt-template.service.ts — modified (+6) - src/modules/ai-job/learning-analysis-executor.ts — new - src/modules/ai-job/ai-job-execution-engine.ts — modified (+14) - src/modules/ai-job/ai-job-execution-engine.spec.ts — modified (+2) - src/modules/ai-job/ai-job.module.ts — modified (+2) ### 测试情况 - 801 passed (regression) = 0 failed ### 是否建议进入 Review - Yes - proceed to M-AI-08-04
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#330
No description provided.