UG二次开发踩坑记:手把手教你配置Python外部环境(以NX2007为例)
2026/5/31 8:36:22
副标题: 深度解析Prompt设计原则,掌握CoT/ToT/ReAct等高级技巧,让AI输出质量提升10倍
你有没有遇到过这种情况:
真相只有一个:问题不在模型,而在Prompt设计!
| 问题 | 影响 | 根本原因 |
|---|---|---|
| 答非所问 | 结果不可用 | 指令不清晰 |
| 输出混乱 | 难以集成 | 格式未约束 |
| 效率低 | 开发成本高 | 缺乏系统方法 |
| 模型差异 | 需要调参 | 未考虑模型特性 |
┌─────────────────────────────────────────────────────────┐ │ Prompt设计五大原则 │ ├─────────────────────────────────────────────────────────┤ │ 1. 清晰 │ 指令明确,无歧义 │ │ 2. 具体 │ 提供足够上下文和约束 │ │ 3. 结构化 │ 使用分隔符、模板、格式 │ │ 4. 迭代 │ 逐步优化,不期望一次完美 │ │ 5. 验证 │ 测试多个样本,确保稳定性 │ └─────────────────────────────────────────────────────────┘| 技巧 | 说明 | 示例 | 效果 |
|---|---|---|---|
| 角色设定 | 给AI一个身份 | “你是一个资深律师…” | +20% |
| 任务分解 | 复杂任务分步骤 | “第一步…第二步…” | +30% |
| 示例引导 | 提供输入输出示例 | “输入: X, 输出: Y” | +40% |
| 格式约束 | 指定输出格式 | “请用JSON格式…” | +50% |
| 负面约束 | 明确不要什么 | “不要使用专业术语…” | +15% |
核心思想:
传统Prompt: 直接问答案 → 模型可能出错 CoT Prompt: 先让模型展示思考过程 → 再给出答案 → 准确率大幅提升基础CoT:
# 普通Promptprompt="小明有5个苹果,吃了2个,又买了3个,现在有几个?"# 输出: 6个(可能出错)# CoT Promptprompt=""" 小明有5个苹果,吃了2个,又买了3个,现在有几个? 请一步步思考: 1. 初始苹果数:5个 2. 吃了2个后:5 - 2 = 3个 3. 买了3个后:3 + 3 = 6个 4. 最终答案:6个 """# 输出: 6个(准确率更高)Zero-shot CoT(无需示例):
prompt=""" 请一步步思考并回答问题。 问题:餐厅有8张桌子,每张桌子坐4人,现在来了20人,需要几张桌子? 思考过程: """Few-shot CoT(带示例):
prompt=""" 示例1: 问题:3个苹果加2个苹果等于几个? 思考:3 + 2 = 5 答案:5个 示例2: 问题:小明有10元钱,花了3元,还剩几元? 思考:10 - 3 = 7 答案:7元 问题:小明有5个苹果,吃了2个,又买了3个,现在有几个? 思考: """效果对比:
| 任务 | 普通Prompt | CoT | 提升 |
|---|---|---|---|
| 数学推理 | 65% | 92% | 41% |
| 逻辑推理 | 58% | 85% | 47% |
| 常识推理 | 70% | 88% | 26% |
核心思想:
CoT: 单路径思考(一条线) ToT: 多路径思考(树状探索,选择最优路径)ToT架构:
┌─────────────┐ │ 初始问题 │ └──────┬──────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 路径1 │ │ 路径2 │ │ 路径3 │ │ 思考... │ │ 思考... │ │ 思考... │ └────┬────┘ └────┬────┘ └────┬────┘ │ │ │ └────────────┼────────────┘ ▼ ┌─────────────┐ │ 评估选择 │ └──────┬──────┘ ▼ ┌─────────────┐ │ 最终答案 │ └─────────────┘实现代码:
classTreeOfThought:def__init__(self,llm,max_depth=3,num_branches=3):self.llm=llm self.max_depth=max_depth self.num_branches=num_branchesdefgenerate_thoughts(self