Prompt Engineering实战:10个让大模型输出更精准的技巧

前言

Prompt Engineering(提示词工程)是与大模型高效协作的核心技能。好的 Prompt 能让模型输出质量提升数倍。本文总结 10 个实战技巧,附代码示例,帮你立即上手。

技巧1:角色设定(Role Prompting)

给模型设定专业角色,输出质量显著提升。

// 差的写法
String prompt = "帮我写一段Java代码实现排序";

// 好的写法
String prompt = "你是一位有10年经验的Java高级工程师,精通算法和性能优化。"
    + "请帮我实现一个时间复杂度O(nlogn)的排序算法,并说明选择该算法的原因。";

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

提供示例让模型理解输出格式。

String prompt = "将以下技术术语翻译成通俗语言:

"    + "术语:API
通俗:餐厅的菜单,告诉你能点什么菜

"    + "术语:缓存
通俗:把常用的东西放在桌上,不用每次去仓库找

"    + "术语:微服务
通俗:";

技巧3:思维链(Chain of Thought)

让模型一步步推理,减少错误。

String prompt = "请分析这段代码的性能问题,按以下步骤思考:
"    + "1. 识别时间复杂度
"    + "2. 找出潜在的性能瓶颈
"    + "3. 提出优化方案
"    + "4. 给出优化后的代码

"    + "代码:
" + yourCode;

技巧4:输出格式约束

明确指定输出格式,便于程序解析。

String prompt = "分析以下代码,以JSON格式返回结果:
"    + "{
"    + "  \"bugs\": [{\"line\": 行号, \"description\": 描述, \"severity\": \"high/medium/low\"}],
"    + "  \"suggestions\": [优化建议列表],
"    + "  \"score\": 代码质量评分(0-100)
"    + "}

代码:
" + code;

技巧5:负面约束

明确告诉模型不要做什么。

String prompt = "解释什么是JVM垃圾回收,要求:
"    + "- 不要使用专业术语
"    + "- 不要超过200字
"    + "- 不要使用代码示例
"    + "- 用生活中的比喻来解释";

技巧6:迭代优化

通过多轮对话逐步完善输出。

// 第一轮:生成初稿
String round1 = "写一个Spring Boot的用户登录接口";

// 第二轮:添加安全性
String round2 = "在上面的基础上,添加JWT认证和密码加密";

// 第三轮:添加异常处理
String round3 = "继续完善,添加完整的异常处理和参数校验";

技巧7:温度参数控制

// 代码生成:低温度,输出更确定
OpenAiChatModel codeModel = OpenAiChatModel.builder()
    .apiKey(apiKey)
    .temperature(0.1)  // 低温度 = 更精确
    .build();

// 创意写作:高温度,输出更多样
OpenAiChatModel creativeModel = OpenAiChatModel.builder()
    .apiKey(apiKey)
    .temperature(0.9)  // 高温度 = 更有创意
    .build();

技巧8:分解复杂任务

将复杂任务拆分为多个简单步骤。

// 不好:一次性要求太多
String bad = "帮我设计一个完整的电商系统,包括数据库、API、前端、部署方案";

// 好:分步骤执行
String step1 = "设计电商系统的数据库表结构,只关注用户和商品模块";
String step2 = "基于上面的表结构,设计RESTful API接口";
String step3 = "为用户模块生成Spring Boot Controller代码";

技巧9:上下文注入

String systemPrompt = "你是一个专门为我们公司服务的技术助手。
"    + "公司技术栈:Java 17, Spring Boot 3, MySQL 8, Redis 7
"    + "代码规范:阿里巴巴Java开发手册
"    + "所有代码必须包含注释和异常处理";

ChatClient client = ChatClient.builder(model)
    .defaultSystem(systemPrompt)
    .build();

技巧10:自我验证

String prompt = "生成一个二分查找算法的Java实现,然后:
"    + "1. 自己检查代码是否有bug
"    + "2. 用3个测试用例验证正确性
"    + "3. 分析时间和空间复杂度
"    + "4. 如果发现问题,自动修正";

总结

掌握这10个技巧,你与大模型的协作效率将大幅提升。核心原则:角色明确、格式清晰、步骤分解、迭代优化

觉得有帮助请点赞收藏!有问题欢迎评论区交流

文章摘自:https://www.cnblogs.com/czlws/p/19805969/prompt-engineering-llm-ai-java