This commit is contained in:
2026-05-21 14:25:14 +08:00
parent 08d5a45c80
commit 459ad50c08
+386
View File
@@ -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 与现有规则层协同,而不是相互冲突