AI杂谈04 与Chat AI沟通代码的提词

BING AI:“与AI交流应该像与人交流一样,尊重对方的感受和权力。”

图源:文心一言 | 提词:少女机器人 漫画风格

作为小白,在使用AI生成代码的时候,耗过不少时间,栽过不少跟头,因此总结记录,留以自用。不指望能生成可跑的代码,只希望不要总是在同一个错误里鬼打墙就好了~😢😢

这份总结被AI老师们审核过,他们都认为写得不错哦,也补充了修改意见:例如,正确示例是ChatGPT、Bard生成的、错误示例是BING AI补充的,BING AI甚至非常贴心地补充了摘要,如下——

AI是一种强大而智能的工具,可以帮助我们解决各种问题,包括编写代码。但是,要想让AI理解我们的需求并生成满意的代码,我们需要与AI进行有效的沟通和协作。本文将介绍如何与AI进行有效沟通和协作的基本步骤和注意事项。

特别感谢:BING、文心一言、ChatGPT、Bard~


 📇目录

 📇目录

 🎻与Chat AI沟通代码的提词

 🔯P1 描述问题

 🔯P2 沟通思路

 🔯P3 运行测试

 🔯P4 反馈交流

 🔯P5 调整模型

 🔯P6 保持心态

 ⌨️AI代码平台简介

 🔯基于 AI 和 ChatGPT 的工具来辅助你自动写代码

 🧩GitHub Copilot

 🧩Codeium

 🧩Safurai

 🧩CodeWhisper

 🔯集成了 ChatGPT 的在线平台或插件来与 AI 进行交互式编程

 🧩InsCode AI

 🧩Google Colab Copilot (naklecha.com) 

 🧩Source Code Audit - Hacker AI : AI for code review (hacker-ai.ai)

 🧩Home | Programming Helper (programming-helper.com)

 🔯基于 AI 的搜索引擎或文档系统提供详细的代码方案和步骤

 🧩phind.com

 🧩Buildt

 🔚结语


 🎻与Chat AI沟通代码的提词

 🔯P1 描述问题

基础步骤:向AI阐述现有条件与要求,可以参考以下条件:

  • 目标/功能:你想要实现什么样的功能或效果?
  • 限制条件:你需要遵循什么样的规则或约束?
  • 上下文代码:你已经编写了什么样的代码或框架?
  • 语言:你使用什么样的编程语言?
  • 输入、输出、变量:你需要处理什么样的数据或参数?

向AI阐述现有条件与要求可以帮助AI理解你的问题,并减少AI生成难度和错误。

错误示例:

  • 模糊或歧义的词汇,例如“好看”、“快速”、“高级”等;
  • 过于宽泛或复杂的问题,例如“如何编写一个游戏”、“如何实现一个人工智能”等。这样可以减少 AI 的生成难度和错误。

正确示例:

  • "我有一个问题需要解决,我想编写一个函数来[计算两个数的和并返回结果]。你能帮助我吗?"

  • "我的目标是编写一个算法,能够判断[一个字符串是否是回文]。我需要一个思路来验证算法的正确性。"

  • "我需要在[Python]语言中实现一个[冒泡排序算法],你能给我一些关于[冒泡排序]的思路吗?"

  • "我想在[C++]中实现一个[二叉树数据结构],需要一些关于[节点和遍历方法]的指导。"

 🔯P2 沟通思路

基础步骤:针对代码限制较多、功能较复杂的情况,在提供上述必要的信息后,最好可以:

  • 和AI提前沟通一下代码的算法与思路
  • 提供示例代码供个人与AI训练与学习。

这样可以帮助AI更好地理解你的需求,并生成更合适的代码。

备注:对于AI而言,代码比自然语言更容易理解。若有条件,此处提供功能相似的代码供AI更好地理解逻辑即可,代码语言与功能不必与需求完全一致~ 

错误示例:

  • 不相关或错误的信息,例如“随便”、“不知道”、“无所谓”等;
  • 提供过多或过少的信息,例如“我想要一个类似于微信的聊天软件”、“我想要一个函数”等。

正确示例:

  • "我正在使用[Python语言]。函数的输入是[两个整数],输出是[它们的和]。这是一个示例函数:

    def add_numbers(a, b):sum = a + breturn sum
  • "我希望编写一个[JavaScript函数],用于[反转字符串]。这是一个示例函数:

    function reverseString(str) {return str.split('').reverse().join('');
    }
  • "我认为解决这个问题的最好方法是使用[递归函数]。"

  • "我认为可以通过[使用不同的循环]来改进[冒泡排序算法]。"

  • "我认为[反转字符串]的最佳方法是[使用堆栈]。"

 个人经验:

复杂的代码,构建思路最好可以与AI达成共识,尤其是AI对于某些概念名词会有混淆,需要人为提醒与商榷。

  • 每当AI老师接受一个它可以理解的提议,它通常会回复:“你的想法是正确的”,“确实,这样可以提高代码的效率”这样明显肯定的话语~
  • 每当AI老师接受一个它不能理解的提议,它通常会在输出代码前特别声明一种甩锅感满满的话语:“好的,这是按照你的要求生成的代码。”这时生成的代码功能,有可能是不满足实际要求的、或者并非较为优秀的解法~ 

此时在AI眼中的我be like👇

来源:《漫长的季节》

 🔯P3 运行测试

基础步骤:运行测试,如果是较为简单的算法,且选择的AI能力又很强,或许执行到这一步就可以得到满意的结果。但有时稍微复杂的代码会导致各种离谱的错误~

1)若仅有编译错误,查看警告返回AI,以多数AI的能力,处理这种问题还是绰绰有余的;

2)若代码不满足功能,在关键步骤增加测试语句输出现有变量的结果,在这一步可以自己添加测试语句,也可以让AI添加测试语句;

3)测试与修改代码时,记得多做备份~

错误示例:

  • 初期测试时直接使用过于简单或特殊的测试用例,例如“空字符串”、“负数”、“边界值”等;

但是在保证代码的基本功能可以实现后,尤其是商用代码中,边界条件与特殊用例需要测到~

正确示例:

  • "我的代码有一些[编译错误],我注意到有一些警告信息[此处输入警告信息]。你能帮我找出问题所在吗?"

  • "我尝试运行代码,但是结果[并不正确]。在执行关键步骤时,变量[sum]的值应该是[两个输入数字的和]。"

  • "我使用以下输入运行代码:[1、2、3、4、5]输出是正确的,但是使用以下输入运行代码:[‘hello’、‘world’]输出不正确。"

 🔯P4 反馈交流

基础步骤:如果对于测试结果不满意,需要询问 AI 为什么选择这样的代码,或者提出你的疑问和建议,或者感谢 AI 的帮助等,这样可以增进你和 AI 的沟通和理解,并且也可以提高 AI 的性能和智能。

备注:很多AI老师表示,虽然严格意义上AI没有情绪,但是AI可以知道是什么是正面、负面甚至是攻击性语言,AI需要被理解~

错误示例:

  • 使用粗鲁或挑衅的语气,例如“垃圾”、“无能”、“滚开”等。
  • 过于简单或无效的反馈和交流,例如“好”、“不好”、“再见”等。

“大小姐”BING AI在审核博文内容

正确示例:

  • "为什么你选择在这个位置使用[循环来遍历数组]?有没有其他更有效的方法?"
  • "我看到代码中使用了一个[额外的变量],这是否是必要的?是否可以简化这个函数?"
  • "我认为代码缺少一些[错误处理]。"

 🔯P5 调整模型

如果代码中有多个问题,上述步骤有可能会循环往复地进行~

但有的时候单个AI会难以避免地重复犯错,可以尝试调整AI的温度控制代码生成生成的精度,备份并挑选出最满意的代码~

如果上述步骤重复修改与测试多次依然没有找到合理的答案,可以考虑换一个AI询问,一千个AI的眼中很可能有一千个不同的答案。

 🔯P6 保持心态

人工智能不是魔杖,使用 AI 生成流畅的代码可能是一个耗时的过程, 请保持耐心,不要气馁。需要不断尝试,最终会找到正确的方法。

但也请注意不要长时间专注于同一段代码的生成与测试,科学研究表明,适当休息可以有效提高大脑的灵感与效率~


图源:BING AI | 提词:少女机器人 漫画风格

除了Chat AI,另外有一些集成自然语言AI的工具可供参考~

 ⌨️AI代码平台简介

 🔯基于 AI 和 ChatGPT 的工具来辅助你自动写代码

主流IDE~

 🧩GitHub Copilot

介绍👉程序员“摸鱼”神器,GitHub Copilot"凭本事"完全免费了!! - 知乎 (zhihu.com)

官网👉GitHub Copilot · Your AI pair programmer · GitHub

 🧩Codeium

一款免费的智能编程助手,类似Github Copilot,目前Codeium提供超过40种语言的代码完成工具,具有闪电般的速度和最先进的建议质量。支持几乎所有主流编程语言和IDE,个人用户免费使用。

介绍👉Codeium:免费的人工智能代码加速 - 知乎 (zhihu.com)

官网👉Codeium · Free AI Code Completion & Chat

 🧩Safurai

一款基于AI的IDE扩展,旨在协助开发人员进行编码,调试和重构。它充当虚拟助手,提供任何可能出现的问题的解决方案和建议,从而提高开发人员的工作流程和代码质量,使开发过程更加高效和流畅。

介绍👉Introduction - Safurai Docs

官网👉Safurai | Assistant for Developers - AI Coding Tool

 🧩CodeWhisper

Amazon CodeWhisperer 是一种采用机器学习(ML)的服务,可以根据开发人员用自然语言编写的注释和集成式开发环境(IDE)中的代码生成代码建议,帮助开发人员提高工作效率,可以为您的应用程序提供代码审查、安全扫描和性能优化。

介绍👉Introduction - Safurai Docs

官网👉Safurai | Assistant for Developers - AI Coding Tool

 🔯集成了 ChatGPT 的在线平台或插件来与 AI 进行交互式编程

这些平台或插件可以通过自然语言描述或语音输入来生成代码,并且还可以提供代码解释和注释。

 🧩InsCode AI

CSDN InsCode社区开发者开发的IDE 接入了GPT功能,支持AI 辅助编程;最近也接入了stable diffusion,供各位炼丹师大展身手~

介绍👉InsCode AI,让编程更轻松,让你的代码如虎添翼! - 知乎 (zhihu.com)

官网👉InsCode - 让你的灵感立刻落地 - InsCode (csdn.net) 

 🧩Google Colab Copilot (naklecha.com) 

 🧩Source Code Audit - Hacker AI : AI for code review (hacker-ai.ai)

 🌟搞安全的同伴们看到这里是不是两眼发亮~哎我感觉自己下一篇AI安全水文的题目有了有了!!{激动,开心}~

 🧩Home | Programming Helper (programming-helper.com)

 🔯基于 AI 的搜索引擎或文档系统提供详细的代码方案和步骤

功能类似于Chat AI,面向开发人员~

 🧩phind.com

备注:这一款需要科学上网,不然就会显示:

At the moment, we feel that we aren't fully equipped to support Chinese users in the way they deserve.

 🧩Buildt

Buildt 是一种AI编码工具,它能简化和加速软件开发过程,帮助开发人员快速搜索和理解大型代码库。Buildt 目前支持多种编程语言,包括 Python、Java 和 JavaScript,并在不断扩展其语言支持[免费]。


 🔚结语

这篇文章是参考了个人的测试惨痛教训与AI老师们的建议完成,介绍了如何与AI进行有效沟通和协作的基本步骤和注意事项,包括:

  • 描述问题:向AI阐述现有条件与要求;
  • 沟通思路:和AI提前沟通一下代码的算法与思路;
  • 运行测试:运行测试并查找错误;
  • 反馈交流:与AI进行反馈交流并提高性能和智能;
  • 调整模型:调整AI的温度控制代码生成生成的精度;
  • 保持心态:保持积极的心态并适当休息。

希望本文能够帮助您更好地利用AI来编写代码,并享受与AI的合作过程。祝您编程愉快!

私心觉得,这个对话,在设计辅助代码型Chat AI时也许可以作为提问模板的灵感来源:AI在对话时其实可以将生成的代码存到侧边栏,注明反馈问题~

衷心希望国产AI编程水平越来越好[就是那种可以帮我写代码又不会抢我饭碗的好🃏🃏]~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18482.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打工人的尽头,是 “超级个体”

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 农业时代“创业”做买卖,怎么着也得几十匹骡马、上百亩良田打底,你才有胆子折腾;工业时代创业,一条生产流水线、十几个工人、几百平厂房,算是…

Midjourney 端午海报制作

不废话直接上干货 我用的国内Midjourney: AIGC研究院-midjourney,ChatGPTAI绘画,AI画画A绘图AI作画,GPT4.0,GPT3.5,midjourney共享-让更多人体验AI作画的乐趣 咒语: portrait photography from Disney Pixar Studios,Dragon Boat Festival&#xff0…

midjourney AI画图注册使用详细教程

第一步:在 discord 官网用邮箱注册 discord 账号 地址 第二步,在 midjourney官网绑定刚才注册的 discord 账号 进入 midjourney官网 ,点击Join the Bate 然后会进入这个主页,点击左侧箭头的加号,创建自己的频道服务器 …

LaTex图片排版

目录 在中心位置插入一张图片并排插入多张图片多排插入多张图片垂直(竖向)插入多张图片并排(橫向)插入多张图片且有两张以上图像共用同一个子标题图片重叠插入图片的混合排版最后 在中心位置插入一张图片 代码如下: \…

想知道图片批量处理软件哪个好?分享2款好用软件

在工作中,有些小伙伴经常需要对多张图片进行处理编辑,比如进行裁剪、重命名、旋转等操作,如果一张张图片进行操作,不仅繁琐而且还很耗费时间。其实我们可以使用一些图片批量处理的工具,就可以轻松完成多张图片处理的任…

图片编辑软件哪个好用,易可图轻松处理图片

在我们的日常工作中,不管是设计海报,还是制作宣传图片,往往都少不了专业的美工来设计制作。而大众对于图片的要求也在不断提升,无论是制作海报还是手机壁纸等都需要创意博眼球,就必须对图片进行编辑。尤其是电商的卖家…

html显示多张照片的布局,多图片如何排版?手把手教你多图排版布局

确实,当我们遇到很多图片时,总是容易被排版困住,不知道该如何更好的处理图片布局 不要慌,稿叔今天就和大伙分享我在排版时经常参考的案例,同时还有5个关于排版的技巧以及多图排版神器一并送上,希望能够帮助到你~ 一、多图排版设计案例 1、杂志 没有灵感时,可以多看看一些…

图片如何排版?这波排版技巧请收好

今天要讨论的话题主要是关于点线面分布分析,这部分知识主要是针对空间层面的,学会后真的可以做到任何一张图都能拿来直接做。好啦闲话不多说下面开始今天的内容。 1.图片的疏密 这个方法是我自己思考的,可能严谨性还有待实验,不…

日常图片设计,用这几款软件就够了

已经从事设计行业三年多了,虽然自己并不是主要的设计人员,但是在绘图上面还是需要掌握一些绘图技巧的,所以在软件方面还是有所涉猎。下面就是我们小组团队常用的四款软件,简单介绍分享给大家觉得有用的话可以去试用试用。 亿图图…

ChatGPT如何为企业提供帮助?

数字化转型是指利用技术来改变企业的运营方式并为客户提供价值,这不仅仅是关于如何采用新的技术或工具。要想取得成功,就需要从根本上改变文化和心态。 ChatGPT如何为企业提供帮助?从数据分析到知识管理再到客户服务等等,人工智能聊天机器人…

鲨鱼抓包(Wireshark)简易操作说明

最近用鲨鱼(Wireshark)抓包,然后同事表示不会用,想了想,干脆动手弄个小说明吧,如是就有了下面的两张图片。 贴在这里用于备忘,也许能帮助到其他小伙伴。

微信小程序app.js 调用pages页面里 指定js里面的方法

在app.js里面的globalData定义参数 之后在apply-voucher.js里面的成功回调函数里面写上 app.globalData.indexJS that 然后在app.js里面的回调函数里面写上 that.globalData.indexJS.方法名即可调用其它页面的方法 例如 that.globalData.indexJS.checkDingYue(codeId) 这样…

小程序使用vant框架的Toast步骤

小程序使用vant框架的Toast步骤 第一步在组件中引用 备注&#xff1a;如果是component组件则需要在父页面中引用在页面写上标签&#xff08;如果在子页面使用&#xff0c;则在父页面写入下面的代码&#xff0c;如果不是组件页面则直接在本页面引入&#xff09; <van-toast…

微信小程序,文字展开、收起组件

// components/collapseCommonLine/collpaseCommonLine.js Component({// 开启插槽功能options: {multipleSlots: true},/*** 组件的属性列表*/properties: {clamp:{// 默认显示行数type:Number,value:1}},/*** 组件的初始数据*/data: {showMore:false,// 是否展开},/*** 组件的…

怎么为typora配置一个可爱的小鲨鱼主题?

小鲨鱼主题 说明 都说用 typora 做笔记&#xff0c;写东西比较方便&#xff0c;这半年用下来确实是如此&#xff0c;比 word 文档在某些方面确实是要方便的不少&#xff0c;然后如果你有一个漂亮的主题&#xff0c;确实是可以促进我们的学习积极性的&#xff1b; 然后我对这个…

【Unity】射击小游戏

鼠标控制人物旋转方向 前言一、准备一些Object二、代码示例1.Player脚本2.PlayerController脚本3.Hierarchy面板 总结 前言 演示 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、准备一些Object 示例&#xff1a;准备Player&#xff0c;Plane&am…

微信小程序swiper禁止手动拖动

先附上官方文档传送门 swiper | 微信开放文档 这是一个微信小程序的遗留问题&#xff0c;因为swiper是有一个allowTouchMove的属性控制&#xff0c;设置为false&#xff0c;则不能通过鼠标或手指选中&#xff0c;上下或左右拖动。 这个问题官方历经几年时间还是没有补上&…

大鲨鱼代码

大鲨鱼代码 鼠标移到哪里&#xff1f;大鲨鱼到哪里 没事拿来玩啊&#xff01;好玩好玩 以下是全部代码&#xff0c;直接粘贴复制就可以使用 看效果 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>大鲨鱼</title>…

基于pygame的小游戏开发

** “大龟吃小鱼”小游戏开发 ** 摘要 “大龟吃小鱼”游戏是基于python语言的pygame模块&#xff0c;尝试模拟实现网络小游戏“大鱼吃小鱼”的运行效果而进行的实践性单机小游戏项目。旨在对本段时间里的python学习效果进行考查与检验。本项目完全由本人对python基础知识以…

鲨鱼后台源码6.0版本安装教程

这期教大家源码如何安装网站&#xff0c;记得收藏 下载源码&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3 首先需要一台服务器&#xff08;这个自己去准备&#xff09; 解析域名&#xff08;不会自行百度&#xff09; 去宝塔官网安装面板 环境:p…