V2EX 5小时前
AI 在编程中的应用与局限性探讨
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了AI在编程领域的应用现状与挑战。作者分享了使用Gemini和公司内网Qwen的经验,指出AI在代码分析和生成方面存在局限,如记忆长度限制、对深层逻辑和并发问题的处理能力不足。AI在理解不熟悉库、语法和生成代码框架方面表现较好,但在涉及多线程、指针等复杂场景下,由于潜在风险和审核难度,使用受限。AI在解决编译错误和解释不熟悉知识方面表现突出,但在深层逻辑和并发问题排查上,因AI的“幻觉”效应,提供的思路常无效。文章也提及了AI在单元测试方面的潜力,但受限于实际项目中的测试习惯和业务复杂性。

💡 **AI在代码分析上的局限性**:AI工具目前主要能分析单个文件或少量函数,超出范围后会遗忘先前信息。尽管对逻辑复杂的函数分析效果较好,但其对代码上下文的记忆能力有限,难以处理大型项目或复杂交互。

💻 **AI代码生成的能力与风险**:AI可辅助生成代码框架,尤其在不熟悉领域如多线程并行执行时,能提供可用框架。然而,在涉及指针、多线程等易出错的复杂场景,以及需要严格代码审查的情况下,AI的可靠性存疑,开发者仍需承担主要责任。

📚 **AI在知识获取与问题排查中的双重作用**:AI是解决编译错误、理解不熟悉库和语法的有力助手。但对于深层逻辑、并发或底层问题,AI因“幻觉”效应(即生成看似合理但可能错误或缺乏重点的答案)而提供的排查思路往往无效,难以替代深入的分析和调试。

🧪 **AI在测试领域的应用前景与现实挑战**:理论上AI能高效生成单元测试,但在实际项目中,由于测试覆盖率要求不强制、业务逻辑深度耦合等原因,AI在编写功能测试或深度业务测试方面支持有限,除非是标准化流程且逻辑清晰的情况。

不知是我姿势不太对,感觉 AI 带来的提升比较有限,尤其是一些深层逻辑、跨模块交互、并发等等问题上,不知大家的体验如何?

自己平时主要使用 Gemini + 公司内网可用的 qwen:

分析代码:
1. AI 只能做到分析某个文件、某几个函数,同个会话再多给几个函数,就把前面的都忘了;
2. 平时有个别逻辑复杂的函数,丢过去分析很好用;

代码生成:
1. vscode 内置的 qwen 很一般,基本没用过 tab 生成,还是通过会话方式让 AI 给出答案。
2. 一些自己不熟悉的库、语法、多线程协作等,给 AI 明确提出需求,AI 给出的代码框架还不错,自己改改就能用,比如让一组异步任务多线程并行执行,等待所有线程返回结果再返回;
3. 涉及多线程、指针等等容易出问题的地方,自己写都有可能出错,不敢让 AI 写自己 review (新人基本没 review 过别人代码没经验找出问题 + AI 不能背锅);
4. 测例:AI 写 UT 应该很 6,不过我们平时不强制写 UT ,写 function test 、和业务结合的比较深,AI 不好用,除非是某些行业内标准业务流程+自己讲清楚逻辑,比如写 SQL ;

分析问题:
1. AI 最好用的地方是解答自己不熟悉的一些知识,编译报错、某些库等等;
2. 一些深层的逻辑问题、并发问题、底层问题,很难讲清楚背景,AI 因为幻觉(我理解就是 AI 一定信誓旦旦给你答案,但可能完全胡编或抓小放大没侧重点)的存在,给出的排查思路很多时候是没用的。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI编程 代码分析 代码生成 编程工具 AI局限性 并发编程 软件开发 AI in software development code analysis code generation programming tools AI limitations concurrent programming software development
相关文章