--- 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 与现有规则层协同,而不是相互冲突