场景 4:无中生有——写代码

场景介绍

除了回答问题外,另一个重要的场景是让 AI 根据你的要求完成一些内容生成任务,根据输出的结果差异,我将其概括为以下几个主要场景:

  1. 无中生有
  2. 锦上添花
  3. 化繁为简

本章,我们先来聊聊「无中生有」场景。顾名思义,就是让 AI 给你生成一些内容。你只需要向 AI 描述你想写的内容,AI 就会按你的要求写出该内容。比如:

  1. 撰写招聘信息
  2. 撰写电商平台的货物描述
  3. 撰写短视频脚本
  4. 甚至让它写代码都可以

像撰写招聘信息等,你只需要明确目标,将目标定得比较明确即可生成能让你较为满意的答案。本章我想聊下写代码。下面是一个让 ChatGPT 写代码的案例。

Prompt:

  1. Create a MySQL query for all students in the Computer Science Department:
  2. Table departments, columns = [DepartmentId, DepartmentName]
  3. Table students, columns = [DepartmentId, StudentId, StudentName]

Output:

  1. SELECT students.*
  2. FROM students
  3. INNER JOIN departments
  4. ON students.DepartmentId = departments.DepartmentId
  5. WHERE departments.DepartmentName = 'Computer Science';

技巧 3:使用引导词,引导模型输出特定语内容

在代码生成场景里,有一个小技巧,上面提到的案例,其 prompt 还可以继续优化,在 prompt 最后,增加一个代码的引导,告知 AI 我已经将条件描述完了,你可以写代码了。

在 prompt 的最后增加 SELECT 可以很好地提示 AI 可以写 SQL 代码了。Better prompt:

  1. Create a MySQL query for all students in the Computer Science Department:
  2. Table departments, columns = [DepartmentId, DepartmentName]
  3. Table students, columns = [DepartmentId, StudentId, StudentName]
  4. SELECT

同样的道理,如果你想让 AI 写 Python 代码,那 import 会是比较好的提示。但需要注意,这个只是告知 AI 可以写代码了,并不能告知 AI 写何种代码,你仍然需要在 prompt 里增加提示,告知 AI 要生成何种语言的代码。

在吴恩达的 ChatGPT Prompt Engineering 课程中,也提到这个技巧,只是在课程中,引导词并不是放在最后,而是在 prompt 里直接说明,让 AI 生成一个 JSON 格式的内容。课程中的例子是这样的(注意这个是 python 代码):

  1. prompt = f"""
  2. Generate a list of three made-up book titles along \
  3. with their authors and genres.
  4. Provide them in JSON format with the following keys:
  5. book_id, title, author, genre.
  6. """

我简单解释下,其关键是在 prompt 里跟 AI 说明,需要 AI 按照 JSON 格式输出内容。