签名:但行好事,莫问前程。
前言
记录一下-如何正确向AI提问。
一、AI-提示工程的本质
Prompt(提示):Prompt(提示)在人工智能,特别是AGI(通用人工智能)时代,扮演着至关重要的角色。它不仅是用户与AI模型如ChatGPT交互的桥梁,更是一种全新的“编程语言”,用于指导AI模型产生特定的输出。
Prompt(提示)
Prompt作为AGI时代的“编程语言”
角色转变:Prompt不再仅仅是简单的输入或查询,它成为了一种与AI模型交互的“编程语言”。用户通过精心设计的Prompt来“编程”AI模型,指导其执行各种任务。
任务多样性:这些任务的范围非常广泛,从简单的问答、文本生成到复杂的逻辑推理、数学计算和创意写作等。
即时性与互动性:与传统的编程语言相比,Prompt通常更加即时和互动。用户可以直接在AI模型的接口中输入Prompt,并立即看到结果,而无需经过编译或长时间的运行过程。
提示工程(Prompt Engineering):提示工程(Prompt Engineering)涉及到如何设计、优化和管理这些Prompt,以确保AI模型能够准确、高效地执行用户的指令。
提示工程(Prompt Engineering)
Prompt工程作为AGI时代的“软件工程”
设计:Prompt设计需要仔细选择词汇、构造清晰的句子结构,并考虑上下文信息。这确保AI模型能够准确理解用户的意图并产生符合预期的输出。
优化:优化Prompt可能涉及调整词汇选择、改变句子结构或添加额外的上下文信息,以提高AI模型的性能和准确性。这可能需要多次尝试和迭代,以达到最佳效果。
管理:随着AGI应用的不断增长和复杂化,管理大量的Prompt变得至关重要。这包括组织、存储和检索Prompt,以便在需要时能够快速找到并使用它们。同时,还需要定期更新和维护这些Prompt,以适应AI模型的改进和变化的需求。
二、Prompt的构成(提问模板)
- 指示(Instructions) - 关键词:任务描述
指示是对任务的明确描述,相当于给模型下达了一个命令或请求。它告诉模型应该做什么,是任务执行的基础。 - 上下文(Context) - 关键词:背景信息
上下文是与任务相关的背景信息,它有助于模型更好地理解当前任务所处的环境或情境。在多轮交互中,上下文尤其重要,因为它提供了对话的连贯性和历史信息。 - 例子(Examples) - 关键词:示范学习
例子是给出的一或多个具体示例,用于演示任务的执行方式或所需输出的格式。这种方法在机器学习中被称为示范学习,已被证明对提高输出正确性有帮助。 - 输入(Input) - 关键词:数据输入
输入是任务的具体数据或信息,它是模型需要处理的内容。在Prompt中,输入应该被清晰地标识出来,以便模型能够准确地识别和处理。 - 输出(Output) - 关键词:结果格式
输出是模型根据输入和指示生成的结果。在Prompt中,通常会描述输出的格式,以便后续模块能够自动解析模型的输出结果。常见的输出格式包括结构化数据格式如JSON、XML等。
三、工作中的使用(示例)
-
打开一AI提问的网站,例如:阿里的通义千问、百度的文心一言等
通义千问网址:https://tongyi.aliyun.com/qianwen/ 【这里以通义千问为例】
-
套用上面的提问方式,编写文档向AI进行提问
你是一个软件工程师,帮我生成MySQL表结构
需求如下:
1.课程管理表,表名tb_course,字段有主键ID,课程名称,课程编码,课程学科,课程价格,适用人群,课程介绍
其他要求:
1.表的主键自增
2.表需要创建人、修改人、创建时间、修改时间、逻辑删除字段
3.课程的价格是金钱类型,课程编码是字符串
4.为每个字段增加注释
5.帮我生成一些IT课程示例数据
- 运行查看效果
表数据:
CREATE TABLE tb_course (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '课程ID',
course_name VARCHAR(255) NOT NULL COMMENT '课程名称',
course_code VARCHAR(50) NOT NULL COMMENT '课程编码',
subject VARCHAR(255) NOT NULL COMMENT '课程学科',
price DECIMAL(10, 2) NOT NULL COMMENT '课程价格',
target_audience VARCHAR(255) NOT NULL COMMENT '适用人群',
description TEXT COMMENT '课程介绍',
created_by VARCHAR(100) NOT NULL COMMENT '创建人',
updated_by VARCHAR(100) COMMENT '修改人',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
is_deleted TINYINT(1) DEFAULT 0 COMMENT '逻辑删除标志'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程管理表';
示例数据:
INSERT INTO tb_course (course_name, course_code, subject, price, target_audience, description, created_by)
VALUES
('Python编程基础', 'PYT101', '计算机科学', 199.99, '初学者', '本课程为Python编程的入门级教程,适合没有任何编程经验的新手学习。', 'admin'),
('Java高级开发', 'JAV201', '计算机科学', 299.99, '有经验的开发者', '面向已有一定Java基础的学习者,深入讲解Java高级特性和企业级应用。', 'admin'),
('Web前端开发', 'WEB301', '网页设计', 149.99, '前端爱好者', '涵盖HTML、CSS和JavaScript的基础知识,以及React框架的使用。', 'admin'),
('数据库管理与优化', 'DBA401', '数据库技术', 249.99, '数据库管理员', '教授SQL语言、数据库设计、性能优化等关键技能。', 'admin'),
('网络安全基础', 'SEC501', '信息安全', 99.99, '对安全感兴趣的人群', '从零开始了解网络安全的基本概念和技术。', 'admin');
用了合适的提问方法,所得到的答案是不是更接近您所期望的答案?
总结
博客主要记录了如何使用正确的方式向AI提问,来提高我们工作的效率,有啥错误或不足地方请指正,如果对你有所帮助,请一键三连。