V2EX 07月22日 11:54
[程序员] 对 claude code 中的 kimi-k2 表现有些失望。
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者尝试使用Kimi-K2模型辅助重构一个基于Laravel的PHP项目中的VIP模块,旨在优化代码结构而非改变API或数据库。尽管Kimi-K2在首次生成代码时展现了良好的架构改动,但在人工审查中暴露出大量显而易见的错误,如类导入错误、参数传递错误等。作者尝试通过分步修复和细化指令来纠正问题,但效果甚微,且成本不菲。文章最后分析了Kimi-K2在PHP项目重构中效果不佳的可能原因,包括模型对PHP支持的不足、Claude Code的优化特性以及上下文长度限制等,为AI辅助软件开发提供了实践参考和深入思考。

💡 **AI辅助重构的初步尝试:** 作者尝试使用Kimi-K2模型对一个实际运行的PHP项目中复杂的VIP模块进行重构,目标是优化代码结构,解决“面条代码”问题,但不涉及API和数据库的改动。这是对AI在复杂商业项目代码维护中应用的一次实践探索。

⚠️ **AI生成代码的质量问题:** 尽管Kimi-K2在首次生成代码时在架构层面表现出一定的潜力,但人工审查发现其生成的代码存在大量低级错误,包括不存在的类导入、错误的函数参数传递(甚至参数数量错误)以及调用不存在的方法等,表明AI生成的代码质量不达标,难以直接投入生产。

🔄 **分步优化尝试的局限性:** 作者为克服AI的不足,尝试了更细致的指令,如分步修复特定问题(先解决类导入错误,再解决方法签名错误)。虽然部分问题(如类导入)能得到表面上的修正,但整体代码质量和功能性并未得到根本改善,显示出AI在复杂逻辑理解和处理上的局限性。

💰 **成本与效果的权衡:** 在尝试过程中,作者花费了15元人民币,但Kimi-K2生成的代码甚至无法通过逻辑验证阶段。这凸显了在实际应用中,AI辅助开发的成本与实际效果之间的权衡,尤其是在面对技术栈较老或AI支持相对薄弱的语言时。

🤔 **AI在PHP项目重构中表现不佳的原因分析:** 作者对Kimi-K2效果不佳的原因进行了多方面分析,包括:1. 模型对PHP语言的支持可能不足,由于PHP的没落和弱类型特性,可能缺乏高质量的训练数据;2. Claude Code本身是针对Claude模型优化的,使用其他模型可能效果不同;3. 上下文长度限制可能导致关键代码信息丢失,影响AI的理解和生成能力。

由于最近在 claude code 中使用 kimi-k2 比较火,我尝试这种方法来完成一个中等强度的需求。

这是一个 PHP 项目,在生产实际运行的商业项目,基于 laravel 框架,经过本人多年坚持不懈的奋斗,终于变成了一个略微合格的小型屎山。这个屎山项目里面包含了一个 VIP 模块,包含了订单处理,订阅处理,会员权益等相关逻辑,其中涉及支付宝、微信、googleplay 内购等 API 、SDK 对接,规模说大也不大,说小也不小。

本次的任务就是尝试重构这个模块,目的是优化面条代码,拆分逻辑,不涉及 API 变动和数据库变动。

首次交代完成任务之后,由于 k2 的 API 比较慢,大约 1 个小时左右,完成了第一个版本。说实话,第一眼看上去还是满惊喜的,代码架构上的变更确实不错,值得学习。但是当我开始人工 review 代码时,这种美好的光景瞬间被打破,整个代码里充斥着相当多的显而易见的问题,比如导入了不存在的类,比如调用的方法传递了错误的参数,甚至参数数量都不对,比如调用了不存在的方法,整体而言,幻觉相当严重。

此时我还是不死心的,告知了他可能存在的错误,尝试让他修复这些问题,随着一番屏幕滚动,任务完成,然而那些问题依旧存在。

我当然不会就此罢手,心想着也许是 k2 上下文太短或者智力太低,那试试一次处理一个问题呢?

我新开了一个 session ,首先让他修复了导入了不存在的类的问题,果然,效果立竿见影,至少表面上看所有的文件中的导入是正确的了。

此时我感觉有了转机,趁热打铁,依葫芦画瓢,让他修复调用方法签名错误的问题,幻想着可以给同事安利这个组合了,然而这次打脸了,并没有能够取得很好的效果。

此时后台显示已经花费了 15 元人民币了,但 k2 写出来的代码甚至无法进入逻辑验证的阶段。

最后我想了一下,k2 的效果不好,可能是多方面的原因:

    模型对 php 项目的支持不好,php 近年来没落的很快,可能没有足够高质量的代码供给大模型训练,再加上弱类型动态脚本语言,难以通过工具直接发现语法/代码错误,也许整体大模型对 php 支持都偏弱。

    claude code ,这玩意儿本身还是针对 claude 自家模型优化的,使用其他模型需要针对优化。也许使用其他的 agent 工具效果会不一样。

    上下文过短,频繁压缩上下文导致关键的代码片段丢失。

Fish AI Reader

Fish AI Reader

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

FishAI

FishAI

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

联系邮箱 441953276@qq.com

相关标签

AI代码重构 Kimi-K2 PHP Laravel 软件开发
相关文章