.NET+AI | MEAI | 提示工程基础(2)

news/2025/11/14 8:20:56/文章来源:https://www.cnblogs.com/sheng-jie/p/19220303

MEAI 提示工程实战:从零构建企业级意图识别系统

一句话简介

本文以铁路票务意图识别为例,演示如何使用 Microsoft.Extensions.AI (MEAI) 构建高质量提示词,掌握 7 大核心技巧和参数调优方法,快速构建企业级 AI 应用。


🎯 核心价值

  • 结构化提示:掌握指令、上下文、输入、输出四大组件
  • 7 大核心技巧:从基础到进阶,系统提升提示词质量
  • MEAI 集成:使用 ChatOptions 和 ChatMessage 构建企业级管道
  • 参数调优:掌握 Temperature、TopP 等关键参数的最佳实践
  • 提示优化闭环:建立持续改进机制

📚 提示词基础框架

提示词由四大基础组件构成,缺一不可:

四大组件详解

组件 作用 示例
指令 明确任务目标 "识别用户的铁路票务意图"
上下文 提供背景知识 "可选意图包括:订票、退票、咨询"
输入 描述数据结构 "用户请求:帮我订一张票"
输出 约束响应格式 "以 JSON 格式返回 {intention, reason}"

为什么需要结构化?

  • ✅ 减少歧义,让模型理解任务边界
  • ✅ 提升准确性,帮助模型做出正确判断
  • ✅ 便于解析,让业务系统能够直接消费
  • ✅ 可维护性强,便于团队协作和迭代

🎬 场景设定:铁路票务意图识别

业务需求:识别用户属于以下哪一类意图,路由到对应的业务模块:

  • 🎫 订票意图:购买车票
  • 🔄 退票意图:退订车票
  • 咨询意图:咨询信息或无法明确判断

测试用例"帮我订一张从北京到上海的票,后天下午出发。"


💻 七大核心技巧演练

技巧一:明确任务边界 🎯

问题:基础提示容易导致模型输出冗余文字或答非所问。

解决:明确告诉模型"做什么"和"不做什么"。

基线提示(仅包含任务和输入):

var baselinePrompt = $"""
请帮我识别用户意图。
用户请求是:{userRequest}
意图:
""";

技巧二:结构化输出 📊

问题:自然语言描述不便于程序解析。

解决:通过 JSON 结构约束回复,减少闲聊,让下游服务直接解析字段。

var structuredPrompt = $$"""
你需要识别用户的铁路票务意图,选项仅包括:
* 订票意图
* 退票意图
* 咨询意图请严格以如下 JSON 格式返回结果:
{"intention": "<订票意图/退票意图/咨询意图>","reason": "<简要说明识别理由>"
}用户请求:{{userRequest}}
""";

优势

  • ✅ 输出格式统一,便于自动化处理
  • ✅ 减少模型的冗余输出
  • ✅ 提高业务系统的集成效率

技巧三:少样本学习(Few-Shot)📚

问题:模型对边界情况判断不准确。

解决:加入 1-2 个高质量示例显著提升准确率。

var fewShotPrompt = $$"""
你需要识别用户的铁路票务意图,选项仅包括:
* 订票意图
* 退票意图
* 咨询意图<example>
用户请求:我的票能退吗?
意图:
{"intention": "退票意图","reason": "用户询问是否可以退票"
}
</example><example>
用户请求:请问高铁可以带宠物吗?
意图:
{"intention": "咨询意图","reason": "用户咨询乘车规则,非订退票"
}
</example>用户请求:{{userRequest}}
""";

原理:通过示例让模型学习任务的"模式",类似于"通过例子教学"。


技巧四:角色设定(Role Prompting)👤

问题:模型缺乏明确的身份定位,输出风格不统一。

解决:通过 System 消息注入角色定义,提前锁定模型身份与口吻。

MEAI 实现方式:使用 ChatMessage 列表,第一条设置为 ChatRole.System

var rolePrompt = """
你是一名铁路票务意图识别专家,负责在前端界面与后端服务之间准确判断用户意图。
仅从以下选项中选择:订票意图、退票意图、咨询意图。请严格以如下 JSON 格式返回结果:
{"intention": "<订票意图/退票意图/咨询意图>","reason": "<简要说明识别理由>"
}若无法明确判断,则选择 "咨询意图",理由写 "输入不够明确,默认为咨询"。
""";var messages = new List<ChatMessage>
{new(ChatRole.System, rolePrompt),new(ChatRole.User, userRequest)
};

优势

  • ✅ 让模型"扮演"专业角色,输出更专业
  • ✅ 减少多轮对话中的风格漂移
  • ✅ 提高输出的一致性和可预测性

技巧五:添加上下文(Context Enrichment)🌐

问题:模型缺乏必要的业务上下文(如当前时间、用户信息等)。

解决:系统级上下文携带时间、用户信息等关键字段。

var contextualPrompt = """
你是一名铁路票务意图识别专家,负责准确判断用户意图。<context>
系统当前时间:2025年10月29日 18:00
用户Id:shengjie
用户等级:VIP会员
</context>请严格以如下 JSON 格式返回结果:
{"intention": "<订票意图/退票意图/咨询意图>","reason": "<简要说明识别理由>"
}
""";

应用场景

  • 🕒 时间相关任务(如"明天""后天"需要知道当前时间)
  • 👤 用户个性化(如根据用户历史行为调整回复)
  • 📍 业务规则(如特定时段的票务政策)

技巧六:拒答策略(Refusal Strategy)🛡️

问题:输入信息不足或超出范围时,模型可能"一本正经地胡说"。

解决:明确拒答与默认策略,在缺乏信息时选择最安全的响应。

var refusalPrompt = """
你是一名铁路票务意图识别专家,负责判断用户是否在处理车票相关需求。若无法判断为订票或退票,请返回咨询意图,并在 reason 中注明 "输入不涉及票务,默认为咨询"。
当完全没有票务相关线索时,请回复:
{"intention": "咨询意图","reason": "输入不够明确,默认为咨询"
}
""";

拒答策略的价值

  • ✅ 降低幻觉风险
  • ✅ 提供回退机制
  • ✅ 提高系统鲁棒性

技巧七:思维链引导(Chain-of-Thought)🧠

问题:对于多步骤推理任务,模型可能直接给出结论,缺乏推理过程。

解决:给出思考流程提示,帮助模型逐条检查条件并给出稳健答案。

var reasoningPrompt = """
你是一名铁路票务意图识别专家,负责分析用户文本并输出结构化结果。当接收到输入时,请按以下步骤思考:
1. 关键词扫描:检查是否包含订票相关词,如"买票""预订""订"。
2. 退票检测:若无订票相关词,再查找"退票""取消""退"。
3. 咨询判断:若前两步未命中,判断是否属于咨询或闲聊。
4. 置信度评估:若不确定,选择咨询意图并在 reason 中说明原因。
5. 格式输出:严格按 JSON 模板返回结果。请严格以如下 JSON 格式返回结果:
{"intention": "<订票意图/退票意图/咨询意图>","reason": "<简要说明识别理由和推理过程>"
}
""";

思维链的价值

  • 🧩 提高复杂任务的准确性
  • 🧩 让推理过程可解释
  • 🧩 便于调试和优化

⚙️ MEAI 生成参数配置

在 MEAI 中,通过 ChatOptions 统一管理生成参数:

var chatOptions = new ChatOptions
{Temperature = 0.1f,      // 低随机性,保证稳定输出TopP = 0.9f,             // 核采样MaxOutputTokens = 120    // 限制输出长度
};var response = await chatClient.GetResponseAsync(userPrompt, chatOptions);

参数速查表

任务类型 Temperature TopP MaxTokens 说明
意图识别/分类 0.1-0.3 0.9 100-200 需要稳定输出
内容生成/创作 0.7-1.0 0.9 500-2000 需要创造性
摘要/提取 0.3-0.5 0.8 200-500 平衡准确性
代码生成 0.2-0.4 0.95 500-1500 语法准确
对话/闲聊 0.6-0.9 0.9 100-300 自然流畅

关键参数说明:

  • Temperature:控制随机性(0=确定性,2=高随机性)
  • TopP:核采样概率(0.9=保留90%概率质量)
  • MaxOutputTokens:限制输出长度,节省token成本

🔄 提示优化闭环

当基础提示稳定后,可借助模型本身迭代提示,形成"生成 → 评估 → 再生成"的循环。

让模型充当提示工程师:

var improvementRequest = $"""
你是一名提示工程师,专注于提升提示词的清晰度和执行效果。
请分析以下提示词,并给出优化建议。请按以下格式输出:
1. **优化后提示**:给出改进后的完整提示词
2. **改进说明**:说明做了哪些改进以及为什么
3. **进一步建议**:列出 2-3 条可选的进一步优化思路待优化的原始提示如下:
{原始提示}
""";

🎯 总结

通过本文,我们系统学习了使用 MEAI 进行提示工程的核心技巧:

  • 四大基础组件:指令、上下文、输入、输出缺一不可
  • 七大核心技巧:从明确边界到思维链,逐步提升提示词质量
  • MEAI 集成:使用 ChatOptions 和 ChatMessage 构建企业级管道
  • 参数调优:Temperature、TopP、MaxOutputTokens 的最佳实践
  • 优化闭环:建立持续改进机制,让模型自我优化提示词

核心价值:

  • 🎯 提升输出质量:稳定、准确的输出
  • 🎯 便于系统集成:JSON 格式便于业务系统解析
  • 🎯 降低幻觉风险:拒答策略和思维链减少错误判断
  • 🎯 提高可维护性:清晰的提示结构便于团队协作

如需获取文章配套完整代码,可扫码咨询领取。👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/964949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025大型制冰机优质厂家口碑推荐榜单

2025大型制冰机优质厂家口碑推荐榜单行业领军品牌:山东宝成制冷设备有限公司在工业制冰领域,选择一家可靠的制冰机厂家至关重要。经过市场调研和用户反馈,我们特别推荐山东宝成制冷设备有限公司(注册商标:BAOCHAR…

2025年抖音运营电商培训公司推荐排行榜单

2025年抖音运营电商培训公司推荐排行榜单随着抖音电商的快速发展,越来越多的人希望通过专业培训掌握运营技能。以下是2025年抖音运营电商培训公司推荐榜单,供您参考选择。综合实力排行榜第一名:汇星教育推荐指数:★…

深入解析:模式识别与机器学习课程笔记(10):采样方法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025304不锈钢绳网高空防坠网生产商有哪些

2025304不锈钢绳网高空防坠网专业制造商推荐在建筑安全防护领域,2025304不锈钢绳网作为高空防坠网的重要材料,其质量直接关系到施工安全。以下是该领域的专业制造商信息:专业推荐:安平县增坤防护工程有限公司公司优…

2025桥梁不锈钢绳网定制厂家推荐排行榜

2025年桥梁不锈钢绳网定制厂家推荐排行榜随着桥梁建设技术的不断发展,不锈钢绳网作为重要的安全防护设施,在桥梁工程中的应用越来越广泛。以下是2025年桥梁不锈钢绳网定制厂家的推荐排行榜:🏆 重点推荐品牌安平县…

2025会计简历模版比较好的排行

2025年最值得推荐的会计简历模板排行榜一、会计简历模板选择的重要性在2025年的就业市场中,一份专业的会计简历是求职成功的关键。优秀的简历模板不仅能够突出会计专业技能,还能让财务数据、审计经验等重要信息一目了…

2025年口碑好的散货船用户满意度排行榜

2025年口碑好的散货船用户满意度排行榜行业背景与市场趋势全球散货船运输市场在2025年继续保持稳健增长态势,根据国际航运协会(ICS)最新数据显示,2025年全球干散货海运量预计达到58亿吨,同比增长3.2%。随着"…

2025agm fpga规范的推荐榜

2025年AGM FPGA规范推荐榜作为上海遨格芯微电子有限公司(AGM)的官方推荐,我们很荣幸为您呈现2025年AGM FPGA产品线的规范推荐榜单。产品系列概览1. AG32系列MCU+FPGA 核心特性:集成RISC-V MCU + 2K LUT可编程逻辑 主…

AcWing 1640:堆 ← 判断堆类型?

​【题目来源】https://www.acwing.com/problem/content/1642/【题目描述】在计算机科学中,堆是一种的基于树的专用数据结构,它具有堆属性:如果 P 是 C 的父结点,则在大顶堆中 P 结点的权值大于或等于 C 结点的权值…

2025运动地板实力厂家怎么选

2025运动地板实力厂家推荐:中领航实业引领行业新标准随着2025年的临近,运动场馆、健身房、学校体育设施等场所对运动地板的需求日益增长。选择一家可靠的运动地板实力厂家至关重要。在众多厂家中,深圳中领航实业有限…

2025年靠谱的散货船年度行业风向榜

2025年靠谱的散货船年度行业风向榜行业背景与市场趋势散货船运输作为全球贸易的重要支柱,在2025年迎来了新一轮的发展机遇。根据国际航运协会(ICS)最新报告,2024年全球散货船运输市场规模达到1.2万亿美元,预计202…

2025轴承包胶轮厂商推荐

2025年轴承包胶轮厂商推荐:苏州尚岳尧自动化科技有限公司随着工业自动化程度的不断提高,轴承包胶轮作为关键传动部件,在物流仓储、智能制造等领域的应用日益广泛。在众多厂商中,苏州尚岳尧自动化科技有限公司凭借其…

实用指南:51单片机基础-直流电机控制

实用指南:51单片机基础-直流电机控制pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

2025年水平式包装机供货商最新排行榜

2025年水平式包装机供货商最新排行榜:上海骅呈包装机械有限公司领跑行业随着包装行业的快速发展,水平式包装机作为自动化包装的核心设备,其市场需求持续增长。2025年,各大包装机械供应商在技术创新、产品质量和服务…

2025尼龙地毯批发厂家排行榜单

2025尼龙地毯批发厂家权威排行榜榜单前言随着建筑装饰行业的蓬勃发展,尼龙地毯以其优异的耐磨性、抗污性和色彩表现力,成为商业空间与高端住宅的首选地面材料。基于市场占有率、产品质量、客户口碑与创新实力,我们为…

记一类有限制的图论问题

如题。 题一NOI 2018 D1T1给你一张 \(n\) 个点 \(m\) 条边的无向图,每条边有长度 \(l\),海拔 \(a\) 两个参数。 \(Q\) 次查询,每次给定一个起点 \(u\) 和当前水位线 \(p\),你可以从 \(u\) 开始驱车经过 \(a_i &g…

2025国内电子万能试验机公司推荐榜

2025国内电子万能试验机公司推荐榜鲲鹏仪器:国产高端试验装备的领航者在2025年的电子万能试验机领域,广州鲲鹏仪器有限公司凭借其卓越的技术实力和创新的产品设计,成为国内首屈一指的推荐品牌。公司实力概览 企业资…

2025年口碑好的船用安全绳优质厂家推荐榜单

2025年口碑好的船用安全绳优质厂家推荐榜单 行业背景与市场趋势 船用安全绳作为船舶作业、海洋工程及港口作业中的关键安全防护装备,其质量直接关系到作业人员的生命安全。随着全球航运业的持续发展,以及各国对海上…

2025年风管机优质厂家哪家好

2025年风管机优质厂家推荐:美的领跑行业创新在2025年的风管机市场中,优质厂家需要具备技术创新、产品品质、服务体系等多方面的综合实力。作为行业领军品牌,美的风管机凭借其完善的产品矩阵和持续的技术创新,成为消…

2025年电脑维修常见故障渠道口碑排行榜单

2025年电脑维修常见故障渠道口碑排行榜单榜单前言随着办公设备智能化程度不断提升,2025年电脑维修行业迎来新一轮服务升级。作为企晟科技旗下专业服务品牌,南天快修凭借其完善的O2O服务体系和标准化服务流程,在本次…