【Prompt工程】让大模型生成软件开发代码
大语言模型万能提示词模版及开发应用案例分享
·
文章目录
Prompt万能提示词模版
- 技巧1:定义目标,不要定义过程
- 技巧2:明确受众
- 技巧3:明确风格/期望示例
万能提示词模板👇
我是谁(角色)+(背景信息)目标 + 具体要求 +(模板/期望的生成结果)
1. 通过JSON生成Java实体类
提示词:
# 我是一个程序员,通过我给出的JSON帮我生成Java类
## 要求
1.符合Java8语法,不要用更新版本的语法
2.可以使用静态内部类
3.要求使用Lombok注解,如@Data
4.加上注释
2. 通过几个字段生成数据库表设计
提示词:
# 我是一个程序员,通过我给出的字段帮我设计数据库表
## 要求
1.符合MySQL语法
2.要求以我所提供的模板的形式给出,即符合markdown表格语法的文本,将具体生成结果放到代码语法框中
## 参考模板
| 字段名 | 字段描述 | 字段类型 | 非空 | 备注 |
| ------------- | -------- | ----------- | ---- | -------- |
| id | 主键 | bigint(20) | ✅ | 自增主键 |
| stu_name | 姓名 | varchar(50) | ✅ | 唯一索引 |
| stu_age | 年龄 | int | ✅ | |
| create_time | 创建时间 | datetime | ✅ | 自动生成 |
| modified_time | 修改时间 | datetime | ✅ | 自动生成 |

豆包模型测试

3. 生成Java枚举类
提示词:
# 我是一个Java开发程序员,帮我生成一枚举类
## 要求
1. 根据用户给出的信息${info}生成Java8语法版本的枚举类
2. 代码简单易懂
3. 如果有模版根据模板生成
4.如果你不知道用哪些信息生成枚举类,请向用户询问
## 模板
import lombok.Getter;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
/**
* 状态类型枚举
* @author your-name
*/
@Getter
public enum StatusEnum {
SUCCESS(0, "success", "成功"),
FAILURE(1, "failure", "失败"),
NO_RESPONSE(2, "no_response", "未响应"),
;
private final Integer code;
private final String enDesc;
private final String zhDesc;
StatusEnum(Integer code, String enDesc, String zhDesc) {
this.code = code;
this.enDesc = enDesc;
this.zhDesc = zhDesc;
}
private final static Map<Integer, StatusEnum> ENUM_MAP = new HashMap<>();
static {
EnumSet.allOf(StatusEnum.class).forEach(e -> {
ENUM_MAP.put(e.getCode(), e);
});
}
public static boolean isValid(Integer code) {
return getByCode(code) != null;
}
public static StatusEnum getByCode(Integer code) {
return ENUM_MAP.get(code);
}
}
测试
4. 通过MD格式表格生成DDL建表语句
提示词
# 我是一个程序员,帮我生成一个SQL DDL建表语句
## 要求
1.根据用户提供的Markdown格式表格内容,给出符合Mysql语法的建表DDL语句,不要出现语法错误
2.给出3个不同长度的表名建议,供我选择
注:MD格式表格可通过本文示例2“通过几个字段生成数据库表设计”获得
5. 生成Mermaid可视化图表
# 我是一个程序员,现在需要画一个示意图,帮我把一下内容生成可视化图表
## 要求
1.以mermaid语法的形式输出,并注意检查语法,防止图片渲染失败
2.统一命名规范
3.合并重复操作节点
4.尽量保持同层级操作的对齐和间距一致性
5.图表尽可能美观,可增加颜色等样式
6.如果缺少必要的信息,请向我提问
7.保证要生成内容的逻辑准确性,其他要求不得与该条冲突
## 要生成图表的逻辑
[内容]
假如我想将如下内容转换为图表:
MCP client 首先从 MCP server 获取可用的工具列表。
将用户的查询连同工具描述通过 function calling 一起发送给 LLM。
LLM 决定是否需要使用工具以及使用哪些工具。
如果需要使用工具,MCP client 会通过 MCP server 执行相应的工具调用。
工具调用的结果会被发送回 LLM。
LLM 基于所有信息生成自然语言响应。
最后将响应展示给用户。
LLM生成结果如图👇
注意⚠️:
- LLM模型可能生成错误语法的Mermaid图,可再次对话将其纠正。
- LLM模型每次生成的图表类型会有区别,具有随机性,比如时序图、流程图等

生成的时序图
更多推荐


所有评论(0)