Files
geMoldInsight/.trae/skills/mold-undercut-advisor/SKILL.md
T
2026-05-21 14:25:14 +08:00

387 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 与现有规则层协同,而不是相互冲突