人工智能辅助编码将继续存在。Cursor、V0 和 Lovable 等工具极大地降低了进入门槛——现在可以在很短的时间内完成构建仪表板、管道或整个应用程序。

我每天都使用这些工具,它们确实让我更快了。但随着代码库变得越来越复杂,权衡变得清晰起来:神秘的错误、纠缠不清的逻辑以及我无法真正理解的调试代码损失了数小时。

人工智能工具很棒——尤其是对于初学者来说——但它们的成本很低。 你越是让人工智能承担重担,你就越没有机会磨砺你的直觉,因为你在与复杂性搏斗时产生的直觉。

是的,人工智能将加快您的工作流程,但您也将跳过获得技术智慧的形成步骤。

“Vibe 编码”——以最少的计划快速拼凑代码——非常适合演示或实验。但是,对于更深层次的技术增长或构建具有有意义的复杂性的系统,氛围编码是不够的。这篇热门的 Reddit 帖子完美地总结了这一点:如果不加以控制,氛围编码会产生比它解决的问题更多的问题。

按 Enter 键或单击以查看大图

Reddit 帖子

在这篇文章中,我将分享有关如何明智地使用人工智能辅助工具的技巧,以及为什么为开源做出贡献可能是真正提升技术技能的最被低估的方式。

我使用 Cursor 进行编码的经验

和许多开发人员一样,我从 VS Code(使用 GitHub Copilot)切换到 Cursor,目前订阅了 Cursor 的 Pro 计划(20 美元/月)。

我最依赖的功能是 Cursor 的集成 AI 聊天功能,它让我可以直接与整个代码库进行交互。它的代理可以快速浏览多个文件,甚至可以处理图像——在浏览大型、不熟悉的存储库时非常有用。它还可以发现 linter 错误并在直接编辑文件时自动更正它们。

最初,Cursor 极大地提高了我的工作效率,尤其是对于更简单的任务。它感觉很强大,几乎是神奇的。但随着事情变得复杂,我注意到了一些裂缝。Cursor 有时会生成意大利面条代码,在目录中混合同名文件,偶尔还会难以遵循复杂的逻辑流程。

Vibe 编码可以在几分钟内为您提供数千行代码,但如果没有对您正在构建的内容的强大心理模型,您最终可能会遇到臃肿、过度设计的系统。

Cursor 在调试时缩小搜索空间方面做得不错。但是让它进行未经检查的编辑确实引入了比它解决的更多的错误。

除了“写出更好的提示”的通常建议之外,我发现特别有帮助的一个策略是告诉 Cursor 不要进行直接编辑。(它对此出奇地听话!

相反,我明确要求它首先在聊天界面中提出更改建议。然后,我会审查每个建议,决定哪些编辑有意义,并有选择地应用它们——手动或通过 Cursor。与 ChatGPT 不同,Cursor 最大的优势在于它对整个代码库的上下文感知,并且它能够通过将冗长的文件(超过 5k 行代码)处理成可管理的块来解析它们。

为开源做出贡献

那么,如何才能在技术上变得更强呢?有两种方式脱颖而出:副项目和开源贡献。

副业项目非常适合探索新技术或深入研究您热衷或好奇的事物。想知道 AI 代理是如何工作的或对 MCP 感到好奇?仅仅构建一个简单的周末项目,教给您的不仅仅是数小时的教程或文档。由于开源,工具和资源可以免费访问,为每个人提供公平的竞争环境。

但单独项目也有缺点。很容易失去动力——我自己的许多副业项目从未见过曙光。

此外,您可能会发现自己处于回声室中:您的代码有效,但您不确定它是否遵循最佳实践或行业标准。如果你处于职业生涯的早期并且缺乏指导,你怎么知道你是否走在正确的轨道上?

这正是开源填补空白的地方。开源项目不仅适用于编码向导;它们适合所有人。您最喜欢的库(如 Pandas、Matplotlib、TensorFlow 和 Keras)在很大程度上依赖于社区参与。

为什么要费心做出贡献?

开源可以让您产生成千上万开发人员使用的真正影响,而不仅仅是没人看到的玩具项目。您将精通版本控制(您好,GitHub!),提高驾驭复杂代码库的技能,掌握最佳实践,并建立一个可以在重要时刻为您担保的人员网络。

还有职业福利。它将增加您的投资组合和个人品牌,并且您在加入新团队时会更快地提升。

但是,出于正确的理由做出贡献。如果您唯一的动机是找到工作,请不要做出贡献! 开源不是找到工作的门票——它需要真正的兴趣和承诺。这表明您对建设充满热情,对于许多从开源项目开始的初创公司来说,这就是他们找到第一批员工的方式。

选择您关心的开源项目

开始似乎令人生畏。许多流行的存储库都有庞大的代码库、可能过时的文档或一堆不清楚的问题。那么你如何选择呢?

首先,选择一个您真正关心的项目。 这听起来可能很明显,但它是至关重要的——而且被低估了。

选择您实际使用的东西,无论是在工作中还是在副业项目中。使用不熟悉的技术跳入一个不熟悉的项目简直是让人不知所措,而且你很快就会失去动力。

就我个人而言,我既是 PostHog 的用户,也是 PostHog 的忠实粉丝——一个专门为开发人员构建的产品分析平台——所以我开始在那里做出贡献。他们的文档全面且结构良好,这使其成为一个很棒的起点。(不,他们没有付钱让我说这句话!

贡献什么?

您可以做很多事情。这是我发现有帮助的方法。

  1. 找到您需要的功能或改进您使用的功能。
    缩小对您真正关心的功能的贡献范围可以提供清晰度和动力。最好的代码来自解决您个人面临的问题。
  2. 设置本地环境。分
    叉项目,在本地克隆它,然后让它运行。了解日志的位置以及如何测试更改。掌握项目的基本结构和编码风格。
  3. 从小处着手,通过实践
    来学习许多存储库标记了适合初学者的问题(例如“好的第一个问题”)。选择这些开始。了解并复制错误;如果您遇到困难,请随时发表评论。打开 PR 时,请确保您的更改通过所有 linting 和测试。

学习导航代码库至关重要。你不需要阅读每一行——这几乎是不可能的。掌握了高级结构后,潜入其中。从小处着手,熟悉生成、部署和 PR 评审过程。编写清晰的提交消息和 PR 描述。查看最近合并的 PR,查看成功的示例或有见地的讨论。

结束语

为开源做出贡献需要耐心——流行的存储库很大,学习需要时间。成为一个持续的、有价值的贡献者至少需要几个月的时间,所以不要因为最初的挫折而气馁。如果你的 PR 被拒绝,或者你遇到了一个棘手的错误,这是完全正常的——这都是学习过程的一部分。

如果您是开源新手并想聊天,请随时联系。虽然我在这里没有深入探讨技术细节(快速的 Google 或 ChatGPT 搜索可以指导您),但我希望这能为您提供入门的大局视角。开源对我来说是有益的——我希望对你来说也是如此。

Logo

更多推荐