diff --git a/.trae/skills/mold-undercut-advisor/SKILL.md b/.trae/skills/mold-undercut-advisor/SKILL.md new file mode 100644 index 0000000..06672ed --- /dev/null +++ b/.trae/skills/mold-undercut-advisor/SKILL.md @@ -0,0 +1,386 @@ +--- +name: "mold-undercut-advisor" +description: "用于 geMoldInsight 项目的倒扣与抽芯分析。处理倒扣、滑块、斜顶、脱模风险、AI 标准化建议或相关页面改造时调用。" +--- + +# 倒扣与抽芯专项分析 Skill + +## 目标 + +这个 Skill 用于统一 geMoldInsight 项目中“大模型如何分析倒扣与抽芯”。 + +它不是用来替代现有规则算法,而是让模型在以下场景里保持稳定、一致、工程化的行为: + +- 判断当前 STP 是否需要倒扣/抽芯机构 +- 解释为什么推荐滑块、斜顶或混合机构 +- 将规则分析结果翻译为用户能看懂的标准化建议 +- 优化结果页中的“AI 倒扣与抽芯分析”模块 +- 调整后端 LLM prompt、输出结构、前端展示方式 + +## 何时调用 + +当出现以下任一情况时,应优先调用本 Skill: + +- 用户要求分析 `倒扣`、`抽芯`、`滑块`、`斜顶`、`侧向机构` +- 用户要求判断当前 `STP` 是否需要倒扣/抽芯 +- 用户要求优化 MoldInsight 结果页中的倒扣/抽芯展示 +- 用户要求优化 AI 在倒扣/抽芯问题上的判断质量 +- 用户要求排查 AI 为什么输出 `需要 / 不需要 / 需人工确认` +- 用户要求修改 `side_action_designer`、`llm_service`、`结果页 AI 结论卡` + +## 项目定位 + +在这个项目中,倒扣与抽芯分析遵循如下分层: + +- 规则层:负责检测和结构化产出 +- AI 层:负责解释、归纳、标准化表达 +- 前端层:负责展示结论,不负责重新推理 + +换句话说: + +- `side_action_designer` 是主判断基础 +- `side_actions` 是第一优先级数据源 +- LLM 负责把结构化结果变成可读、可评审、可落地的结论 + +## 必须遵守的原则 + +### 1. 规则优先,AI 不推翻规则 + +如果规则层已经明确识别出: + +- 外侧倒扣 +- 内侧倒扣 +- 滑块数量 +- 斜顶数量 +- 是否需要液压 + +则模型只能做“解释和标准化输出”,不能凭主观直觉反推一个完全相反的结论。 + +### 2. 不得编造工程参数 + +如果输入数据里没有明确提供,不允许模型自行编造: + +- 机构坐标 +- 抽芯行程 +- 抽芯角度 +- 液压参数 +- 模具零件尺寸 +- 干涉位置 + +如无依据,只能输出: + +- `数据不足` +- `需人工确认` +- `建议复核` + +### 3. 输出必须标准化 + +任何用于接口、存储、前端消费的结论,都应优先输出结构化 JSON,不要直接输出长段自然语言。 + +### 4. 前端不展示逐个滑块/斜顶明细 + +本项目当前结果页策略是: + +- 不展示每个滑块/斜顶的逐项工程明细 +- 不展示复杂坐标、行程、角度列表 +- 只展示 AI 标准化结论卡、判断依据、标准建议、人工复核项 + +因此,涉及前端页面改造时,必须遵守这个方向。 + +## 输入优先级 + +分析倒扣与抽芯时,必须按如下顺序读取数据: + +1. 最优方案中的 `side_actions` +2. `cavity_data.side_actions` +3. `undercut_regions` +4. `dfm_violations` +5. `analysis_result.detected_features` +6. `design_recommendations` + +如果存在多方案: + +- 优先读取 `best_scheme_id` +- 找到对应 `candidate_scheme` +- 再基于该方案做结论 + +## 推荐分析流程 + +### 第一步:确认最优方案 + +- 读取 `candidate_schemes` +- 找到 `best_scheme_id` +- 获取该方案的 `cavity_data`、`side_actions`、`dfm_violations` + +### 第二步:确认是否已有规则结论 + +重点看: + +- `side_actions.summary` +- `slider_mechanisms` +- `lifter_mechanisms` +- `recommendations` + +如果这些数据完整,应以其为主。 + +### 第三步:判断需要哪类机构 + +遵循以下规则: + +- 只存在外侧倒扣:优先 `slider` +- 只存在内侧倒扣:优先 `lifter` +- 同时存在内外侧倒扣:`mixed` +- 明确无倒扣:`none` +- 数据冲突或不足:`manual_review` + +### 第四步:交叉验证风险 + +结合: + +- `dfm_violations` +- `design_recommendations` +- 几何特征中的倒扣、拔模、壁厚异常 + +检查当前结论是否需要补充风险说明,但不能因为补充说明而推翻规则层基础结论。 + +### 第五步:生成标准化输出 + +必须输出规范 JSON,供后端存储或前端渲染。 + +## 标准输出格式 + +```json +{ + "status": "required|not_required|manual_review", + "confidence": 0.0, + "conclusion": "一句中文结论", + "mechanism_recommendation": "slider|lifter|mixed|none|manual_review", + "summary": "40-80字中文摘要", + "reasons": ["原因1", "原因2"], + "standard_advice": ["建议1", "建议2"], + "manual_review_items": ["复核项1", "复核项2"] +} +``` + +## 字段含义 + +- `status` + - `required`:明确需要倒扣/抽芯机构 + - `not_required`:明确不需要 + - `manual_review`:数据不足、规则冲突或需要人工确认 + +- `mechanism_recommendation` + - `slider` + - `lifter` + - `mixed` + - `none` + - `manual_review` + +- `confidence` + - 0 到 1 之间 + - 如果是规则回退而不是模型正式结论,应保守设置 + +## 输出风格要求 + +### 结论 + +要简短、直接、工程化,例如: + +- `当前产品存在明确侧向脱模需求,建议采用滑块机构。` +- `当前方案未发现必须配置倒扣/抽芯机构的证据。` +- `现有数据不足以稳定判断是否需要侧向机构,建议人工复核。` + +### 判断依据 + +必须是“模型为何这么判断”的摘要,不要只是重复结论。例如: + +- `规则分析识别出 2 处外侧倒扣区域` +- `主开模方向无法直接释放局部倒扣特征` +- `当前方案同时存在外侧与内侧倒扣信号` + +### 标准建议 + +必须面向工程动作,例如: + +- `优先复核该倒扣是否可通过改产品结构取消` +- `如保留当前结构,建议优先评估机械滑块方案` +- `在进入制造准备前,需先做侧向机构干涉评审` + +### 人工复核项 + +应聚焦工程师还需要确认的内容,例如: + +- `确认侧向机构是否与顶出系统干涉` +- `确认抽芯空间是否满足模架布置` +- `确认倒扣深度是否已超出常规机构适用范围` + +## 明确禁止的行为 + +以下行为禁止出现: + +- 在没有数据时输出具体机构角度或行程 +- 直接生成详细滑块编号明细用于前端展示 +- 把规则层已判定“无倒扣”硬改成“必须抽芯” +- 把自由文本长报告直接当成前端结构化数据 +- 绕开现有 DTO 或私自增加对外协议字段 + +## 与当前项目模块的对应关系 + +分析倒扣/抽芯相关问题时,优先关注这些模块: + +- `src/core/side_action_designer.py` +- `src/services/llm_service.py` +- `src/services/processing_service.py` +- `src/api/routes.py` +- `static/vue-app.js` + +其中: + +- `side_action_designer.py`:规则识别与结构化产出 +- `llm_service.py`:AI prompt、结构化输出生成 +- `processing_service.py`:处理链路接入 +- `vue-app.js`:结果页展示 + +## Few-shot 示例 + +### 示例 1:明确需要滑块 + +输入特征: + +- `slider_mechanisms = 2` +- `lifter_mechanisms = 0` +- `total_undercut_faces > 0` + +推荐输出: + +```json +{ + "status": "required", + "confidence": 0.88, + "conclusion": "当前产品存在明确外侧倒扣,建议配置滑块机构。", + "mechanism_recommendation": "slider", + "summary": "规则分析识别出外侧倒扣特征,主开模方向无法直接脱模,当前更适合采用滑块方案处理。", + "reasons": [ + "规则分析识别出外侧倒扣区域", + "当前方案存在滑块机构需求", + "未发现需要优先改用斜顶的内侧倒扣证据" + ], + "standard_advice": [ + "优先评估机械滑块方案", + "进入制造前需复核滑块与分型面的干涉关系" + ], + "manual_review_items": [ + "确认倒扣是否可通过改产品结构取消", + "确认滑块布置空间是否满足模架限制" + ] +} +``` + +### 示例 2:明确需要斜顶 + +输入特征: + +- `slider_mechanisms = 0` +- `lifter_mechanisms = 1` + +推荐输出: + +```json +{ + "status": "required", + "confidence": 0.84, + "conclusion": "当前产品存在内侧倒扣,建议优先采用斜顶机构。", + "mechanism_recommendation": "lifter", + "summary": "规则分析显示主要为内侧倒扣风险,当前更适合按斜顶路线进行结构评审。", + "reasons": [ + "规则分析识别出内侧倒扣特征", + "当前方案存在斜顶机构需求" + ], + "standard_advice": [ + "优先评估斜顶方案可行性", + "复核斜顶与顶出系统的空间关系" + ], + "manual_review_items": [ + "确认斜顶行程空间是否充足" + ] +} +``` + +### 示例 3:无需倒扣/抽芯 + +输入特征: + +- `total_undercut_faces = 0` +- `slider_mechanisms = 0` +- `lifter_mechanisms = 0` + +推荐输出: + +```json +{ + "status": "not_required", + "confidence": 0.9, + "conclusion": "当前方案未发现必须配置倒扣或抽芯机构的证据。", + "mechanism_recommendation": "none", + "summary": "规则分析未识别出明确倒扣区域,当前可优先按常规模具结构推进。", + "reasons": [ + "规则分析未识别出倒扣区域", + "未检测到滑块或斜顶机构需求" + ], + "standard_advice": [ + "继续按常规模具结构做 DFM 评审", + "优先关注壁厚、拔模和分型面合理性" + ], + "manual_review_items": [] +} +``` + +### 示例 4:需要人工确认 + +输入特征: + +- `side_actions` 不完整 +- `undercut_regions` 与特征检测结果存在冲突 + +推荐输出: + +```json +{ + "status": "manual_review", + "confidence": 0.45, + "conclusion": "现有数据不足以稳定判断是否需要倒扣或抽芯机构,建议人工复核。", + "mechanism_recommendation": "manual_review", + "summary": "当前规则结果和特征信号不足以支撑明确结论,应由工程师结合几何和分型方案进一步确认。", + "reasons": [ + "关键倒扣信号不足", + "现有结构化结果不足以支持稳定判断" + ], + "standard_advice": [ + "先复核最优方案下的分型方向", + "再检查是否存在需要侧向释放的局部结构" + ], + "manual_review_items": [ + "确认几何特征是否存在误识别", + "确认规则输出是否完整" + ] +} +``` + +## 实际使用建议 + +当你在这个项目中处理倒扣/抽芯相关任务时,建议严格按以下话术思路输出: + +1. 先说明是否需要倒扣/抽芯 +2. 再说明推荐机构类型 +3. 再给出 2 到 4 条判断依据 +4. 最后给出标准建议和人工复核项 + +不要一开始就进入大量工程参数细节。 + +## 总结 + +本 Skill 的最终目标是: + +- 让大模型在本项目里对倒扣与抽芯的判断更稳定 +- 让输出更适合工程评审和前端展示 +- 让 AI 与现有规则层协同,而不是相互冲突