我觉得vibe coding的问题

作为程序员,我发现ai写代码总是会出一些bug
我最近想到一个可能的原因:代码本质上不是“顺序的文本”,但 AI 模型是按照语言的逻辑在生成。

先说语言。
语言是天然的时序性信息:一个词接着一个词,说话的人一句一句说,听的人一句一句听。Transformer 这样的模型,就是把前面的词作为输入,再预测下一个词,然后继续往下推。这个逻辑完全符合语言的规律

但代码不一样。
编程语言里的很多东西,顺序其实没那么重要。比如在 C 里,你先定义结构体再引用,还是先引用再定义,只要编译器能找到,结果是一样的。
代码更像一幅画,画家是一步步画出来的,但观众在看时看到的是完整的一张画。计算机存储图像时,也不会去记录画家的每一笔,而是一次性把每个像素的位置都保存下来。
代码其实也差不多,虽然我们是逐行写,但真正运行时,它是作为一个整体被处理的。

问题就出在这里。
我们现在让 AI 用“写故事”的方式去“写程序”,它自然会经常出错。就算有些 Agent 会不断自我纠错,它折腾半天,还是没能改对,就会怀疑:是不是一开始把代码当成语言来处理,就是方向错了?

也许未来的代码模型,不应该完全依赖时序展开,而是要找到一种新的结构?既能理解 token,又能直接理解代码的整体逻辑 #AI Coding的使用心得#
全部评论
AI编程还是太强大了
点赞 回复 分享
发布于 02-14 10:15 江西
现在ai对于编程更多的是辅助
点赞 回复 分享
发布于 02-12 20:21 山东

相关推荐

1.确定总体需求在开发前我们需要明确需求,知道我们要做什么,怎么做,得到什么交付件。2.需求描述这一步就是要求我们说清楚我们要做什么。最重要的就是我们需要列出我们的核心功能,例如基本的用户登录注册功能,也可以在一个用户的视角说明功能,通过说明用户可以进行什么操作说明。我们也可以说清楚我们所需要的性能要求,安全要求,并且我们需要适配什么平台。3.技术描述这一步如果你知道什么功能使用什么技术背景。正向使用技术:我们要求工具使用指定的技术进行开发,前端(Vue3/Vite/TS)、后端(Node.js/Express、Python/FastAPI)等等。反向技术:我们要求不要模型不要使用某些工具开发,例如数据库不是用原生SQL语句等等。4.交付件描述这一步就是我们需要得到的内容是什么,主要包括以下几个方面:项目的结构目录,Readme,单元测试,执行和部署步骤,API文档等内容。------------------以上我们可以得到一个基础的prompt内容:我需要开发一个法律隐私生成项目,该项目是前后端分离的。功能要求如下:要求有一个前端界面,该界面包含2个输入模式,问卷模式和自由输入模式,并且具备用户登录功能。后端界面对接dify后端workflow接口,完成法律隐私的生成。技术要求如下:前端使用react框架完成,后端使用python/FastAPI完成。交付件要求如下:交付物:项目的结构目录,Readme,单元测试,执行和部署步骤,API文档。额外步骤:1.首先让AI输出设计方案,然后再编码可以添加额外的提示词:请根据我提出的以上需求,首先输出以下内容:项目的目录结构,核心模块的交互逻辑,关键接口的定义,核心算法的逻辑等。这样的好处在于,我们可以适当调整他的项目架构和逻辑,是否合理是否考虑周全。2.分模块生成代码让AI根据模块生成代码:例如首先生成前端的自由写入模块的代码,再生成登录模块,随后生成和Dify的交互模块。每一次完成一个模块的生成,需要干2个事情。输出该模块的实现逻辑,避免维护困难。如何验证,生成测试用例,查看功能是否可验证。期间遇到问题或者不对的地方都可以让他修复,并且修改。纠错与修复当我们遇到报错的内容的时候,我们只需要讲完整的错误日志以及相关的出错的代码,以及是如果出错的操作步骤告诉AI,然后说明一下:请帮我排查问题并且修改代码即可。🤔 我在执行xxxxxx动作的报错:报错日志:xxxxxxx请帮我排查问题并修改代码。最好的办法就是没生成一次步骤就让他生成一次单元测试,并且手动检查一下接口的问题。增加维护性因为我们每一步都会让它生成一次功能的描述和项目的结构,因此我们对项目的整体的逻辑一定是有一个整体的把控的。因此我们需要让AI生成Readme文档,里面说明了项目的部署情况,API情况,以及每个模块的交互和内部实现逻辑等。如果后续有更新那个也可以使用一下提示词:现有法律隐私生成Agent已实现xxxxx功能,现在需要新增xxxxx功能:1.需求描述:xxxxxx2.技术描述:xxxx3.交付件描述:xxxxxx4.约束:请注意xxxxx请基于现有项目结构,生成响应的代码,解释内部逻辑,并且补充测试用例以及模块交互说明在对应文档中。总结:明确需求 → 设计方案 → 分模块生成(期间逐段验证)→ 调试优化 → 文档补全(可维护性)
AI Coding的使用...
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务