#Cursor入门 去年做了很多Prompt Engineering的分享,今年在做AI编程实践的分享下,默认大多数人有了此前的AI提示词实践基础。但是没想到完全不是这么一回事,许多人在使用AI编程时对于大模型的特点,对于如何向大模型表达清楚背景和需求是缺乏认知的。 下面你在用AI编程时,可以参考的10个提示词技巧: 1. 明确具体的需求 要让 AI 在编程上发挥高效作用,首要是确保提示词内容具体且明确。这种明确性可以包括代码的语言、使用的库、功能要求和输入输出等。例如,不要只是要求“写一个排序算法”,而要具体说明“使用 Python 实现一个快速排序算法,并对输入的整数列表进行降序排列”。 示例 提示词:“用 Python 编写一个快速排序算法,将输入的整数列表从大到小排序,并返回排序后的列表。” 在这样的明确表达下,AI 会根据输入提供特定代码,避免产生不符合需求的代码段。 2. 分步式提示词构造 分步提示词对于复杂的代码生成非常有效。通常,复杂代码生成可以分解为以下几个步骤:明确功能、解释实现逻辑、生成代码、逐步测试。这样一来,每一步的提示词都更聚焦,减少模型误解的风险。 示例 第一步提示词:“设计一个 Python 函数来读取一个文件,并将其中每一行的内容反转。” 第二步提示词:“写出实现逻辑步骤。” 第三步提示词:“根据上述逻辑编写完整代码。” 第四步提示词:“添加注释并解释每行代码的作用。” 通过分步引导,模型可以逐步实现复杂功能,且代码的可读性和可靠性也会得到提高。 3. 使用框架提示 当 AI 生成代码涉及到常见编程框架(如 Flask、Django、TensorFlow 等)时,可以在提示词中明确提及框架的名称和结构。这一策略尤其适用于需要生成项目模板或特定框架下的标准代码的场景。 示例 提示词:“使用 Flask 框架创建一个简单的 REST API,包含 /get_data 端点,接受 GET 请求并返回 JSON 格式的示例数据。” 通过加入框架名称和需求,AI 能理解代码的特定环境,并生成符合框架规范的代码。 4. 给出示例和边界条件 示例和边界条件可以帮助 AI 更好地理解需求。给出输入输出示例以及边界条件,能让生成的代码更具鲁棒性和针对性,尤其是在处理不同输入场景时。 示例 提示词:“编写一个 Python 函数 divide,接收两个整数作为参数,返回它们的商。如果第二个数为 0,返回 ‘Undefined’。示例:输入 (10, 2) 应返回 5;输入 (10, 0) 应返回 ‘Undefined’。” 通过明确输入输出示例和特定的边界条件,AI 可以编写出更稳定的代码并考虑到特殊情况。 5. 要求输出注释丰富的代码 生成代码后,理解代码的意图和流程至关重要。此时可以在提示词中要求模型生成含有详细注释的代码,尤其在一些复杂的逻辑实现上,有注释的代码更有助于理解和维护。 示例 提示词:“用 Python 编写一个二分查找算法,对整数列表进行查找,找到返回索引,找不到返回 -1。请在每行代码旁边加上详细注释,解释实现逻辑。” 通过提示注释要求,AI 会在生成代码的同时添加解释,增强代码的可读性和用户理解。 6. 迭代优化:根据生成结果调整提示词 生成的代码未必总是完美,通常需要根据结果逐步优化提示词。可以通过以下方式迭代提示词:添加功能要求、明确限制条件、指定特定方法或库、请求代码优化等。每次调整都能让 AI 的输出更贴近理想状态。 示例 初始提示词:“写一个 Python 函数来读取 CSV 文件并返回数据列表。” 迭代后的提示词:“写一个 Python 函数来读取 CSV 文件,使用 csv.reader 解析数据,并将每一行数据存入字典列表,字典的键为 CSV 的列名。” 经过迭代后的提示词,能使生成代码更符合具体需求。 7. 明确代码风格和规范 代码的风格和规范在团队合作中尤其重要。如果项目有特定的代码规范,比如命名风格、函数注释格式等,可以在提示词中说明,让生成的代码与项目规范保持一致。 示例 提示词:“使用 PEP8 代码规范,编写一个 Python 函数 count_words,接收字符串参数并返回单词数,并在函数顶部添加标准的 docstring。” 通过指定风格,AI 会遵循规范生成符合标准的代码,提高代码质量和一致性。 8. 请求分解问题和逻辑分析 在一些复杂问题上,可以让 AI 先分解逻辑步骤,再生成代码。这样不仅能帮助用户理解复杂逻辑,还能在逻辑清晰的基础上生成更易于理解和调试的代码。 示例 第一步提示词:“设计一个算法来找出给定列表中两个数的和为目标值的所有可能组合。” 第二步提示词:“根据上述设计的逻辑编写代码。” 逻辑分析使代码生成过程有序清晰,避免混乱。 9. 调整语言和描述方式 不同的描述方式会影响 AI 对问题的理解。对于特定需求,可以尝试采用技术语言或非技术语言,甚至加入例子说明,帮助 AI 准确识别需求。 技术语言示例 提示词:“使用递归实现斐波那契数列,并加上时间复杂度分析。” 非技术语言示例 提示词:“请写一个 Python 函数来生成斐波那契数列中的第 N 项,不用循环,只用函数自身的调用来实现。” 根据不同的描述方式,AI 能够从不同角度理解需求,从而提供不同风格的实现。 10. 结合领域知识的专用提示词 某些代码需求可能涉及特定领域(如金融、医学、机器学习),在提示词中结合领域术语和规范,可以帮助 AI 更准确地理解上下文并生成具有行业特性的代码。 示例 提示词:“在 Python 中实现一个用于股票价格数据的均值回归模型,并返回预测的价格。” 通过加入行业知识,AI 会识别到该需求可能涉及特定的统计或机器学习方法,从而生成更符合应用场景的代码。 在用AI编程时,这些提示词设计对你后面得到的效果将会有相当大的影响。之一语言的精准性、需求的明确性。以及,永远别想一招制胜,AI写完代码之后还有大量的bug等着你,慢慢来,在这个过程中学会迭代。