Flutter 开发在 Cursor & Trae 不一样的 AI 真实体验

Flutter 开发在 Cursor & Trae 不一样的 AI 真实体验
最新回答
一群在校园浪费青春的疯子

2023-12-16 07:04:07

Flutter 开发中 Cursor 与 Trae 在 AI 真实体验上的对比

在 Flutter 开发中,利用 AI 工具进行状态管理框架的迁移是一个复杂且细致的过程。最近,随着 Claude 3.7 Sonnet 的发布,我尝试使用 Cursor 和 Trae 这两个 AI 工具来帮助我将 Flutter 项目中的状态管理框架从 redux 迁移到 riverpod。以下是我对这两个工具在 AI 真实体验上的对比。

一、需求背景

本次需求的核心是让 AI 帮我在一个 Flutter 项目里把状态管理框架从 redux 迁移到 riverpod。由于 redux 和 riverpod 在状态管理逻辑的实现和 API 使用上存在显著差异,因此这个迁移需求并不简单。

二、Trae 的体验

  1. 初步尝试

    我首先使用 Trae 进行尝试,其 Builder 支持的是 Claude-3.5-Sonnet 免费使用。

    我用简单一句话来说明需求,但 Trae 的思考速度略慢。

    在等待一段时间后,Trae 告诉我改完了,但结果并不理磨仿想,只创建了一个新的 gsy_state_provider.dart,并修改了 app.dart 和 pubspec.yaml 两个文件。

  2. 继续迁移

    我让它继续迁移,但 Trae 每次只帮我改几个文件,并告诉我改好了。

    我发现 Trae 的迁移过程中存在不少问题,如 mixin 的通用 State 基类冲突、不合规的地方修改 riverpod 的参数等。

  3. 丰富任务提示词

    我丰富了相关的任务提示词,但 Trae 的修改效果并没有显著提升。

    Trae 仍然会在某些地方「坚定」地认为需要使用 ConsumerStatefulWidget,即使我明确告诉它不要使用。

  4. 审查与修正

    在使用 AI 工具修改代码时,审查非常重要。

    Trae 有时会直接帮我屏蔽一个需求,或者给出错误的解决方案,需要我手动修正。

  5. 频繁不可用状态

    在我进行了多次「骚操作」后,Trae 开始进入频繁不可用状态。

三、Cursor 的体验

  1. 初步尝试

    我转战 Cursor 的 Claude 3.7 Sonnet 进行尝试。

    Cursor 在简单了几个文件后告诉我,我需要手动逐步完成。

  2. 详细迁移计划

    我喂了一份非常详细的迁移计划给 Cursor,但它仍然告诉我这不是可以一粗游庆步到“胃”的事情。

  3. 生成速度与思考能力

    Cursor 在 Claude 3.7 下的生成速度和思考能力确实强了不少。

    但 Cursor 也会写出“奇奇怪怪”的代码,如生成选项顺序错误等。

  4. agent 或 Thinking 模式

    在 Cursor 上开 agent 或者 Thinking 模式下整体效果会更好一些。

    但刚改了个开头就被强行结束的体验也很难接受。

四、总结与建议

  1. AI 工具的优势

    有了 Cursor 和 Trae 之后,对工作效率提升上还是很有帮助的。

    如多语言翻译、修复某些具体编译错误时,AI 给出的建议和自动化能力能很好提升开发体验。

  2. 使用 AI 工具的关键点

    要尽可能让 AI 理解你要修改的业务,虽然它理解能力有限。

    让 AI 改问题,最好不要只告诉他问题,尽可能告诉他解决的思路和方向。

    目前的 AI 能力有限,岩握尽可能拆分需求或者缩小 bug 范围。

  3. 其他 AI 工具的体验

    在找资料和具体问题建议上,DeepSeek 的深度思考不错,Grok 3 的体验也让我很惊喜。

    ChatGPT 的推理搜索虽然出结果很快,但答案的可用性并不是很好。

综上所述,Cursor 和 Trae 在 Flutter 开发中的 AI 真实体验上各有优缺点。虽然它们在某些方面能够帮助我们提高工作效率,但仍然存在不少需要手动修正和注意的地方。因此,在使用这些 AI 工具时,我们需要保持谨慎和审查的态度,以确保代码的正确性和项目的顺利进行。