用ai编程如何写提示词?学起来!

代码编写数据分析
Author Avatar
风萧萧兮
2025-10-27
阅读42

用ai写代码提示词的质量直接决定了代码能不能用。很多人刚开始用GitHub Copilot或者ChatGPT写代码,结果发现生成的代码要么跑不通,要么完全不是自己想要的。本文和大家分享下“用ai编程如何写提示词?”

image.png

一、把需求说清楚

给AI写代码提示词,最怕的就是模糊不清。"帮写一个登录功能"——这种要求对AI来说信息量太少了。是前端还是后端?用什么框架?需要什么验证?数据库怎么设计?

更有效的提示词应该是这样的:"用Python Flask框架写一个用户登录API接口,接收POST请求,参数包括username和password,需要在MySQL数据库中验证用户信息,验证成功返回JWT token,失败返回错误信息,要做好输入验证防止SQL注入"。看到了吗?把技术栈、具体功能、安全要求都说清楚了,AI生成的代码质量会高很多。

二、上下文信息

AI不知道项目的整体架构,也不清楚已有的代码风格。如果直接让它写一个新功能,生成的代码可能和现有项目格格不入。

比较聪明的做法是先给AI看看项目的相关代码。"这是现有的User类定义:[粘贴代码],现在需要给这个类添加一个修改密码的方法,要求验证旧密码、哈希新密码、更新数据库,风格要和现有代码保持一致"。有了参考代码,AI就知道该用什么命名规范、什么代码风格了。

使用的第三方库和依赖也要提一下。"用React Hooks写一个表单组件,已经安装了Formik和Yup库,用这些库来处理表单验证"。这样AI就不会自己瞎猜该用什么库了。

项目的技术约束也很重要。比如"这个项目要兼容IE11,所以不能用ES6的某些新特性",或者"项目使用TypeScript,所以需要完整的类型定义"。这些限制条件说清楚了,能避免很多返工。

三、分步骤来写

一上来就让AI写一个完整的模块,往往会出问题。把任务拆分成小步骤,逐个击破效果会好得多。

先让AI帮忙设计接口和数据结构。"设计一个购物车功能的数据模型和主要接口,需要支持添加商品、修改数量、删除商品、计算总价"。拿到设计方案后,自己检查一遍是否合理。

确定方案后,再让AI实现具体功能。"根据刚才的设计,实现添加商品到购物车的函数,要检查商品是否存在、库存是否充足,返回添加结果"。一个函数一个函数地写,每写完一个就测试一下,发现问题及时调整。

测试用例也可以让AI帮忙写。"给刚才的购物车添加函数写单元测试,覆盖正常添加、重复添加、库存不足等场景"。有了测试用例,代码的可靠性就有保障了。

image.png

四、指定编程范式和设计模式

不同的项目有不同的编程风格,这个也要在提示词里说明。

函数式编程还是面向对象?"用面向对象的方式实现一个图书管理系统,要有Book、Library、User等类,使用继承和多态"。或者"用函数式编程风格实现一个数据处理管道,避免可变状态,使用纯函数"。

需要用设计模式的话也要明确说。"实现一个日志系统,使用单例模式确保全局只有一个日志实例,使用工厂模式创建不同类型的logger"。AI对常见的设计模式都很熟悉,说清楚了它能生成很规范的实现。

代码的风格指南也可以指定。"遵循Google Python风格指南,使用4个空格缩进,函数名用小写加下划线"。或者"遵循Airbnb JavaScript风格指南,用const声明常量,用箭头函数替代普通函数"。

五、性能和安全要求

写代码不只是功能实现就完事了,性能和安全同样重要。

1、性能要求说清楚

"写一个处理大文件的函数,文件可能有几个GB,要用流式读取避免内存溢出"。或者"实现一个搜索功能,数据量可能达到百万级别,要考虑使用索引优化查询性能"。

2、安全问题

"写一个处理用户输入的函数,要防止XSS攻击,对所有输入进行转义"。"实现一个文件上传接口,要验证文件类型和大小,防止恶意文件上传"。这些安全点明确提出来,AI才会在代码里考虑。

3、错误处理

"要有完善的异常处理机制,对可能出现的错误要try-catch,给出友好的错误提示"。不然AI可能写出来的代码一旦出错就直接崩溃。

六、要求代码可读性和可维护性

代码是给人看的,不是只要能跑就行。

"要有详细的注释,说明每个函数的作用、参数含义、返回值"。特别是复杂的算法逻辑,注释更是必不可少。"关键的算法步骤要用注释解释为什么这么做"。

变量命名也很讲究。"变量和函数名要有意义,避免用a、b、c这种无意义的名字"。虽然AI通常不会取太离谱的名字,但强调一下总没错。

代码结构要清晰。"把不同的功能模块分开,每个文件不要太长,单个函数控制在50行以内"。这样后期维护起来会轻松很多。

七、让AI解释代码也很有用

有时候拿到一段别人写的代码看不懂,可以让AI帮忙解释。"解释这段代码在做什么,特别是那个正则表达式的含义"。AI的解释往往比看原始代码更容易理解。

还可以让AI重构代码。"这段代码功能没问题,但结构混乱,帮忙重构一下,使其更清晰易懂"。或者"这段代码有重复的逻辑,帮忙提取公共部分"。

性能优化也可以请AI帮忙。"分析这段代码的性能瓶颈,提出优化建议"。AI能发现一些不明显的性能问题,比如循环里的重复计算、不必要的数据库查询等等。

image.png

八、调试和修复bug的技巧

遇到bug的时候,怎么问AI也有讲究。

别只是说"代码报错了",要把完整的错误信息贴出来。"运行这段代码时出现TypeError:Cannot read property'length'of undefined,这是代码:[粘贴代码],请找出问题并修复"。

如果能提供更多上下文就更好了。"在处理用户登录的时候出现了空指针异常,用户数据是从数据库查出来的,有可能查不到用户,代码是:[粘贴代码],请加上空值检查"。

有时候问题不是代码本身的错,而是环境配置或者依赖版本的问题。这种情况下要把环境信息也告诉AI。"Python 3.8环境下,pandas版本是1.2.0,运行这段代码报错:[错误信息],请问是什么原因"。

九、代码审查也可以找AI

写完代码后让AI帮忙审查一遍,能发现不少问题。

"审查这段代码,指出可能存在的bug、性能问题、安全隐患"。AI通常能发现一些容易被忽视的问题,比如边界条件没处理、资源没有释放、并发安全问题等等。

还可以让AI提建议。"评价这段代码的质量,有哪些可以改进的地方"。AI可能会建议改进命名、简化逻辑、增加注释等等。

不过要记住,AI的建议也不一定都对。有些建议可能不适合具体的业务场景,还是要自己判断。把AI当成一个参考意见,而不是绝对权威,这样用起来才不会被误导。

AI是个非常不错的辅助工具。它能帮助提高效率、减少重复劳动,但不能替代程序员的思考和判断。写好提示词是为了更好地利用AI,但最终代码的质量还是取决于程序员自己的水平和经验。

0
好文章,需要你的鼓励