学习内容概览
- 系统提示词(System Prompt)设计:包括角色设定、任务约束、输出格式控制等
- Few-shot prompting:通过提供示例,引导模型生成符合预期的输出
- 结构化输出:让模型以 JSON 等结构化格式返回结果,便于程序解析
- 思维链(Chain of Thought):引导模型分步推理,提升复杂问题的回答准确率
1. 系统提示词设计
核心要点:
- 通过设定 role 字段,指定系统或用户角色
- 明确任务要求和输出格式,提升模型输出的准确性和一致性
示例:
# "role":"system",系统角色 # "role":"user",用户角色 curl -X POST "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d '{"model":"qwen3.8-27b","messages":[{"role": "system", "content": "你是一个有10年经验的Java架构师,回答必须包含:1.适用场景 2.代码示例 3.注意事项。用Markdown格式输出。"},{"role":"user","content":"单例模式怎么写?"}]}'流式输出说明:
# "stream":true 流式输出,不加为普通输出 curl -X POST "httpscope.aliyuncs.com/compatible-mode/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d '{"stream":true,"model":"qwen3.8-27b","messages":[{"role": "system", "content": "你是一个有10年经验的Java架构师,回答必须包含:1.适用场景 2.代码示例 3.注意事项。用Markdown格式输出。"},{"role":"user","content":"单例模式怎么写?"}]}'2. 结构化输出
应用场景:
- 通过约定输出格式(如 JSON),方便下游程序(如 Java 应用)自动解析和处理模型结果
示例:
# 按json格式返回 curl -X POST "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d '{"model":"qwen3.8-27b","messages":[{"role": "system", "content": "你是一个技术面试官。请严格按以下JSON格式返回结果,不要包含任何其他文字:\n{\"patterns\": [{\"name\": \"模式名称\", \"type\": \"创建型/结构型/行为型\", \"useCase\": \"适用场景\"}]}"},{"role":"user","content":"列出3种Java设计模式"}]}'3. Few-shot Prompting
核心思路:
- 通过给出输入输出示例,帮助模型学习并模仿目标风格或结构
示例:
# 给示例 curl -X POST "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d '{"model":"qwen3.8-27b","messages":[{"role": "system", "content": "你是一个Java开发工程师,请严格按照以下代码风格生成代码。"},{"role": "user", "content": "示例1:\n输入:实现一个用户注册方法\n输出:\n```java\npublic Result<UserVO> register(RegisterDTO dto) {\n // 参数校验\n Assert.notNull(dto, \"注册参数不能为空\");\n // 业务处理\n UserVO user = userService.register(dto);\n return Result.success(user);\n}\n```\n\n示例2:\n输入:实现一个订单查询方法\n输出:\n```java\npublic Result<OrderVO> queryOrder(Long orderId) {\n // 参数校验\n Assert.notNull(orderId, \"订单ID不能为空\");\n // 业务处理\n OrderVO order = orderService.queryById(orderId);\n return Result.success(order);\n}\n```\n\n现在请按照上面的风格,实现一个商品查询方法。"}]}'4. 思维链(Chain of Thought,CoT)
应用技巧:
- 通过在 Prompt 末尾添加“请一步步分析”,引导模型进行分步推理,提升复杂任务的解答质量
示例:
curl -X POST "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d '{"model":"qwen3.8-27b","messages":[{"role": "system", "content": "你是一个资深Java架构师,擅长性能调优和故障排查。请按照以下步骤分析问题:1.先列出可能的原因分类 2.对每个分类给出具体排查方法 3.给出优先级排序 4.给出最终结论"},{"role": "user", "content": "一个Java微服务项目,QPS从1000突然降到200,可能的原因有哪些?请一步步分析。"}]}'小结:
掌握系统提示词设计、结构化输出、Few-shot Prompting 及思维链(CoT)等技巧,可以大幅提升大模型在实际业务场景中的可控性和输出质量。建议在日常开发与应用中灵活组合使用,持续优化 Prompt 设计。