Levix 空间站
921 subscribers
219 photos
11 videos
20 files
1.38K links
主要分享前端、AI 以及前沿科技资讯。

🚫 禁止人身攻击:请在评论区保持尊重和友好,避免不当言论和负面互动。

🚫 禁止违规内容:请勿发布任何黄赌毒、宗教极端、政治敏感或其他违反社区规定的内容。
主要分享前端以及业界科技资讯。

🚫 禁止广告与刷屏:为了维护良好的交流环境,请不要进行任何形式的广告推广、黑产活动、刷屏行为及发布不适内容。

🔒 保护个人信息:请注意个人隐私和网络安全,不要在评论区泄露个人信息或点击不明链接。
Download Telegram
Cassovia Code 团队的开发者 Tomáš Bencko 分享了其在一场名为 Vibe Jam 的活动中,利用人工智能技术开发一款类似《侠盗猎车:罪恶都市》的游戏的完整经历。

Vibe Coding 是一种新兴的软件开发方式,开发者无需手动编写代码,而是通过向人工智能下达指令来实现功能和解决问题,开发者的角色更多地转向设计、规划、明确指令以及质量评估。

Tomáš Bencko 选择开发一款 3D 游戏,以《侠盗猎车:罪恶都市》为灵感,简化为出租车驾驶任务。开发过程中,物理模型的实现成为最大挑战,AI 在理解物理世界、空间方向、轴向和方向上存在困难。例如,车轮旋转角度错误、车辆因操作不当“飞向太空”、车身与车轮速度不一致、高速转弯时车辆翻转等问题频发。经过四次从零开始的尝试,他最终成功构建了令人满意的驾驶模型和操控方式。

在技术细节方面,游戏基于 Three.js 和 Cannon-es 构建,运行在标准网页浏览器中,使用 Vite 进行构建,代码采用模块化、面向对象的方式。游戏地图由作者在 Adobe Illustrator 中设计蓝图后导入为 SVG 文件,并通过 Three.js 在线编辑器放置建筑和游戏资产。此外,AI 还用于开发脚本以实现游戏与编辑器之间的数据转换。

在音乐和音效方面,Tomáš 使用了 Suno AI 生成音乐,ElevenLabs 生成音效,AI 工具使得这些内容的生成和集成变得极为高效。尽管作者对音乐的期望很高,但 AI 生成的音乐和音效效果超出了预期,极大地增强了游戏的氛围。

然而,Tomáš 也指出 Vibe Coding 并非万能。尽管它在开发原型、概念验证、小型自动化脚本等“一次性”软件时表现出色,但在大型项目中,缺乏规划和代码监督会导致项目难以管理。AI 倾向于提供快速修复方案,而非从根本上解决问题。因此,经验丰富的开发者在使用 AI 工具时具有巨大价值,他们能够指出 AI 的不足并引导其找到更好的解决方案。AI 需要有人指导,理解项目的整体目标和用户需求。目前,AI 仍未承担起对结果的责任,这部分仍需开发者把控。

#AI #Vibe_Coding

https://cassoviacode.com/i-tried-vibe-coding-how-i-created-gta-with-artificial-intelligence/
Cline 近期工程最佳实践分享会上总结的 12 个专业 AI 编程技巧:

1. 编码前花 10 分钟规划,胜过 2 小时盲目编写。像培训新开发者那样向 AI 简要说明:架构、约束条件、目标及现有模式。这能节省后期大量重构时间。

2. 复杂任务选用高级模型。Gemini 2.5 Pro(100 万 tokens)和 Claude 3.7/4 Sonnet 的表现远超经济型模型。对于复杂工作,其成本差异往往物有所值。

3. 时刻关注上下文窗口。容量超过 50%后性能会下降。在长时间会话中,使用实现文档、交接摘要或/newtask 功能来保持高效。

4. 为你的标准创建规则文件。一次性定义好编码模式、项目结构和工作流程。每次 AI 会话都会自动加载这些上下文。

5. 预先完整表达你的意图。AI 能读取文件但不了解你的目标、限制条件和愿景。解释你想要实现什么以及为什么这样做,以建立共同理解。

6. 把 AI 当作一个聪明但健忘的开发者。它能写出出色的代码,但需要你不断指导它理解你想要实现的目标。

7. 在规划阶段保持协作。不要直接跳转到实施环节。先讨论架构、探索替代方案、验证方法,再开始编写代码。

8. 为长期项目建立记忆库。创建由 AI 维护的 Markdown 文件,记录项目背景、进度和学习心得。这对复杂构建和任务交接至关重要。

9. 复杂工作考虑使用高级模型。使用顶级模型的开发者通常比单纯追求成本优化的团队交付更快。生产力提升足以证明这笔开支的合理性。

10. 掌握上下文管理策略。了解何时压缩上下文(/smol)、何时新建任务(/newtask)、何时创建交接文档。这区分了高效开发者与举步维艰的开发者。

11. 通过共享规则文件构建团队知识库。对 AI 指令进行版本控制。新成员能立即了解团队的编码规范。

12. 拥抱范式转变。这不是要取代开发者——而是用 AI 能力放大人类洞察力。优秀团队早已领悟这一点。

#AI #编程 #技巧 #Vibe_Coding

https://x.com/cline/status/1928901840969805828
使用 Claude 交付实际代码的现场笔记

Diwank Singh 探讨了如何利用开源 AI 工具 Claude 进行实际的软件开发工作。通过阐述 AI 辅助开发的具体实践方法、基础设施建设以及开发模式,为读者提供了一种全新的软件开发思路。

AI 辅助开发能够带来 10 倍的生产力提升,这种提升并非依靠魔法,而是通过有意识地利用 AI 的优势并弥补其不足。Diwank Singh 以 Julep 团队为例,展示了如何借助 Claude 每天推送生产代码,包括他们使用的 CLAUDE.md 模板、提交策略和防护措施。文章强调,即使在 AI 时代,编写自己的测试代码仍然是至关重要的,这可以避免许多深夜调试的情况。

Diwank Singh 回顾了 “vibe-coding” 的起源,从 Andrej Karpathy 提出这一概念,到 Anthropic 发布 Sonnet 3.7 和 Claude Code,使得这一想法逐渐成为可能。Diwank 将 vibe-coding 比作指挥乐队,开发者不再是亲自演奏每一个乐器,而是指导、塑造和引导,AI 提供原始的音乐才能,但没有开发者的愿景,它只是噪音。

Diwank Singh 进一步介绍了三种 vibe-coding 的模式:Playground 模式、Pair Programming 模式和 Production/Monorepo 模式。Playground 模式适用于周末黑客项目、个人脚本、概念验证以及那些充满乐趣的 “我想知道……” 时刻。在这种模式下,Claude 负责编写 80% 到 90% 的代码,开发者只需提供足够的指导以保持方向。Pair Programming 模式适用于大约 5000 行代码以内的项目、有真实用户的副项目、演示项目或大型系统中定义良好的小型服务。这种模式的关键创新是 CLAUDE.md 文件,它是一个自定义文档,Claude 在被调用时会自动读取。Production/Monorepo 模式适用于大型代码库、有真实用户的系统,以及任何可能导致因错误而损失金钱或声誉的项目。在这种模式下,将大型项目划分为单独的服务和子模块是更好的选择。

Diwank Singh 还详细介绍了 CLAUDE.md 的重要性,将其比作代码库的宪法,确立了代码编写的基本规则、系统交互方式以及应遵循或避免的模式。通过维护 CLAUDE.md,可以节省大量的清理时间。此外,文章还提到了锚点注释(anchor comments)的作用,这些注释作为代码中的本地上下文,防止 AI 在决策时出现局部错误。

在 Git 工作流方面,Diwank Singh 建议使用 git worktrees 来创建隔离的 AI 实验环境,以避免污染主分支的历史记录。对于提交信息,作者建议标准化 AI 辅助提交的标签,以便在代码审查时引起注意。

Diwank 强调了人类编写测试代码的重要性,指出测试不仅仅是验证代码是否正常工作的代码,它们是可执行的规范,编码了开发者的意图、边缘情况以及对问题领域的理解。如果让 AI 编写测试代码,它只会验证代码是否按照代码的逻辑运行,而不是它应该运行的方式。

Diwank Singh 提出了一个行动方案,建议读者从创建 CLAUDE.md 文件开始,逐步尝试 AI 辅助开发,并建立 AI 提交信息规范。文章还预测了 AI 辅助开发的未来发展方向,包括主动提出改进建议的 AI、能够学习团队模式和偏好的 AI、跨会话和项目的持久记忆以及能够理解整个代码库的 AI。

Diwank Singh 的结论是,AI 辅助开发虽然强大,但需要纪律和意图。软件交付性能决定了组织的性能,在一个速度和质量决定成败的行业中,AI 辅助开发不仅仅是一个可选的工具,而是一个竞争的必要条件。

#AI #Vibe_Coding

https://diwank.space/field-notes-from-shipping-real-code-with-claude
谷歌翻译对 Vibecoding 的启示

最近关于大型语言模型(LLMs)是否会导致计算机编程职业终结的讨论甚嚣尘上,但这些讨论往往缺乏深度。许多人在尝试使用某种 LLM 服务提供商创建小型工具后,便宣称程序员将在某个任意时间窗口内失业,而另一些人则完全否定这类工具的实用性。为了更好地理解这些观点,可以将其放在翻译领域进行类比分析,因为翻译领域在技术应用方面已经走在前列。

谷歌翻译自 2016 年转向神经机器翻译(NMT)以来,技术上有了显著进步,但关于机器翻译将终结翻译和口译职业的言论一直存在。然而,实际情况是,尽管机器翻译技术非常有用,但翻译和口译的工作机会实际上在增加。美国翻译协会的代表布里奇特·希尔雅克(Bridget Hylak)指出,自 2016 年 NMT 出现以来,翻译和口译人员已经开始将人工智能整合到工作流程中。

这种现象的矛盾之处在于,翻译和口译的工作性质常被误解。许多人认为翻译者只是简单的词汇和语法转换者,但实际上他们的工作更多是关于确保上下文的准确性、处理模糊性以及处理文化敏感性。谷歌翻译目前无法做到这些。例如,挪威语与英语非常接近,词汇、语法和文化背景相似,但仍然存在重要的文化差异。挪威语中缺乏礼貌用语,而英语中则常用“请”等词。谷歌翻译会直接翻译,而专业翻译者则会根据上下文提供更敏感的翻译。在法律听证会等场合,这种差异可能引发严重后果。

尽管如此,谷歌翻译并非做得不好。它在某些情况下提供了直接的翻译,但翻译者可能会根据具体语境进行调整。对于编程来说,情况也类似。程序员可以被视为将人类模糊的语言和文化细节翻译成计算机绝对逻辑的“翻译者”,但编程语言中更频繁地创造新抽象,这使得机器翻译在编程语言中的应用比自然语言翻译稍晚。不过,随着技术的发展,这一差距正在缩小。

尽管未来可能有某种形式的人工智能能够像人类一样处理上下文和模糊性,但目前看来,我们至少还需要经历一次“AI 寒冬”,因为当前的人工智能巨头似乎更关注工具的表面光鲜而非提供负责任的输出。虽然这些工具的实用性有限,但其负面影响可能更为突出。

#思考 #AI #Vibe_Coding

https://ingrids.space/posts/what-google-translate-can-tell-us-about-vibecoding/
为无法仅凭直觉行事的团队准备的 AI 辅助编程

Atharva Raykar 探讨了 AI 辅助编程在团队开发中的应用,强调 AI 是一个乘数,其效果取决于使用者的能力。优秀的工程师能够更好地利用 AI 工具,因为他们擅长沟通技术思想、具备对系统的敏锐直觉,并且能够快速掌握新知识。AI 对语言和风格敏感,会反映提示者的品味和直觉,因此开发人员需要像工匠一样投入精力,确保 AI 生成的成果值得骄傲。

在开发过程中,AI 的速度优势至关重要,能够帮助团队更快地与用户进行反馈循环,从而打造更好的产品。然而,AI 工具使用不当可能会导致结果不尽如人意,甚至减慢开发速度。通过精心设计的提示,例如在实现 Python 速率限制器时,详细说明需求和考虑因素,可以更好地实现程序设计者的意图。此外,一种有效的技术是元提示(metaprompting),即先让模型帮助识别权衡和边缘情况,然后将其转化为技术规格,交给另一个 AI 代理执行。

AI 在高质量的团队和代码库环境中表现更好,这些环境具有良好的测试覆盖率、自动化的代码检查、持续集成与部署、清晰的文档记录、一致的代码风格以及简单、清晰、有组织的代码结构。AI 可以利用这些优势来提高工作效率,减少人工干预。例如,在一个具有良好测试和文档的项目中,AI 编程助手能够更轻松地完成任务,而在混乱的代码库中则会遇到困难。

在编辑器中使用 AI 时,建议采用先进的 AI 模型,并且不要吝啬成本,因为优质模型的效果会不断累积。同时,要善于提供上下文信息,使用能够自主分析文件、运行命令、获取文档并执行计划的“代理型”编码工具。此外,通过在 RULES.md 文件中编码编码标准和实践,可以指导 AI 遵循团队的开发规范。

在实现新功能或重构时,需要将问题分解为更具体的小任务,逐个提供给 AI,并在每个任务结束后提交代码。同时,提供技术规格和相关文档,帮助 AI 理解产品和功能的背景。在调试过程中,利用 AI 来分析错误,提供详细的错误上下文和尝试过的解决方案,以便 AI 生成准确的假设。

在编辑器之外,AI 可以用于提升个人技能和知识,通过与 AI 互动学习最佳实践。AI 还可以生成详细的文档,例如解释代码功能、创建知识库、总结指标和智能识别缺失的测试用例。此外,AI 可以用于创建模拟服务器、编写运行手册、自动化常见任务、代码审查、调试和监控应用程序以及性能优化。

AI 的出现改变了软件开发的某些传统观念。例如,现在重复工作变得不那么令人反感,因为 AI 可以处理一些重复性任务,避免过早抽象化。同时,测试变得不可或缺,因为 AI 可以快速生成测试用例,但需要人工审查断言。

#AI #指南 #实践 #Vibe_Coding

https://blog.nilenso.com/blog/2025/05/29/ai-assisted-coding/
GitHub CEO:尽管 AI 蓬勃发展,但手动编码仍是关键

Thomas Dohmke 强调尽管 AI 工具在软件开发中日益普及,但保留手动编码技能仍然至关重要。Dohmke 指出,开发者需要具备修改 AI 生成代码的能力,以避免生产力问题。他描述了一种有效的开发流程,即 AI 工具生成代码并提交拉取请求,开发者随后利用其编程技能进行即时调整。Dohmke 警告说,过度依赖自动化工具会导致效率低下,例如在自然语言中花费过多时间解释简单更改,而不是直接编辑代码。他提到:“最糟糕的情况是试图用自然语言描述我已经知道如何用编程语言完成的任务。”

Dohmke 还讨论了 “vibe coding” 这一概念,这是由 OpenAI 联合创始人 Andrej Karpathy 提出的,用来描述过度依赖 AI 生成代码的现象。Dohmke 的观点与行业共识一致,即最有效的 AI 编码策略是将自动化与人类编程技能相结合。德勤的研究表明,开发者主要使用 AI 工具来完成特定任务,如编写样板代码,同时保持人工监督,这可以每天提高 10 到 20 分钟的生产力。研究还显示,大约一半的 AI 生成代码存在部分错误,这凸显了人类专业知识的持续需求。谷歌的经验也反映了这种混合模式,该公司报告称,其超过 25% 的代码现在由 AI 生成,但仍需要大量的人工审查和优化。这种平衡的方法反映了对 AI 在软件开发中能力和局限性的成熟理解,表明最成功的实现将是增强而非取代开发人员专业知识的方案。

AI 并非在消除编程工作,而是将开发者的角色从纯编码者转变为 AI 辅助开发流程的协调者。行业专家预测,开发者角色将分为两类:利用 AI 进行代码生成的产品工程师和确保软件系统质量和安全性的高级架构师。这种转变需要新的技能,专注于战略问题解决、有效指导 AI 和做出高级设计决策,而不是手动编写每一行代码。软件工程师的持续短缺,加上研究表明 AI 工具对初级开发人员特别有益,表明 AI 将有助于弥合人才缺口,同时为经验丰富的程序员创造新的机会。这种转变与软件开发中的历史模式一致,新的工具和抽象改变了开发人员的工作方式,但并未消除对人类智慧的需求。

vibe coding” 这一新兴方法展示了 AI 生成代码的潜力和局限性,尤其是在初创企业和复杂项目中。虽然 AI 工具能够实现快速原型设计和与敏捷方法论一致的迭代开发,但也引发了对代码质量、安全漏洞和可维护性的重大担忧。真实案例已经揭示了过度依赖未经验证的 AI 生成代码的危险,尤其是那些可能不会立即显现的安全问题。对于初创企业来说,这种紧张关系尤为相关,因为非技术创始人可能难以使用主要由 AI 生成的代码构建可持续的复杂系统,可能会产生阻碍未来增长的技术债务。成熟科技公司的经验表明,成功的 AI 集成需要在自动化与严格的质量保证流程之间取得平衡,这一经验对于在 “vibe coding” 趋势中导航的小型组织来说可能至关重要。

#AI #Github #Vibe_Coding #思考

https://www.techinasia.com/news/github-ceo-manual-coding-remains-key-despite-ai-boom
AI 原生软件工程师,将 AI 融入日常工程工作流的实用指南

Addy Osmani 详细探讨了如何将人工智能(AI)深度整合到日常工程工作流程中,提出了“AI 原生软件工程师”的概念。这种工程师将 AI 视作合作伙伴,而非替代品,通过积极利用 AI 提升工作效率和创造力。

AI 原生工程师的核心在于心态转变:不再担忧 AI 可能取代自己,而是主动思考 AI 如何帮助更快、更好地完成任务。这种心态是乐观且积极的,将 AI 视作生产力和创造力的倍增器。对于经验丰富的开发人员来说,他们的专业知识能够帮助他们以更有效的方式提示 AI,从而获得高质量的结果。例如,高级工程师可以通过提出合适的问题和提供适当的上下文,从 AI 那里获得类似同行的解答。

AI 原生工程师需要拥抱持续学习和适应,从项目开始就将基于 AI 的辅助和自动化融入软件开发中。虽然可能会遇到不确定性和学习曲线,但最终目标是激发对 AI 的兴奋和把握机遇。AI 原生工程师将 AI 视作一种方式,用于委托开发中重复性或耗时的部分(如样板代码编写、文档起草或测试生成),从而将自己解放出来,专注于更高层次的问题解决和创新。

AI 是一个合作者而非替代品。AI 原生工程师将 AI 视作一个知识渊博但资历较浅的结对编程伙伴,随时可用。尽管 AI 可以提供想法、解决方案甚至警告,但工程师仍然主导开发过程,并对 AI 的输出进行监督和验证。AI 生成的低质量代码是真实存在的,因此工程师必须对 AI 输出进行全面审查和测试,确保代码的质量、可读性、安全性和正确性。

AI 原生工程师的角色正在发生变化,他们更像是管理者而非单纯的执行者。工程师需要定义和“分配”任务,而不是亲自完成所有工作。这种角色转变使得团队规模更小,能够更高效地完成任务,并在软件开发生命周期(SDLC)中压缩步骤,更快地交付高质量的产品。

Addy Osmani 详细介绍了如何将 AI 整合到日常工作中。

首先,从一开始就让 AI 参与任务,例如使用 Gemini Deep Research 进行研究或在设计辩论中快速生成原型。

其次,选择合适的 AI 工具,如 GitHub Copilot 或 Cursor 等代码助手,并将其集成到开发环境中。

第三,学习提示工程的基础知识,提供清晰的上下文和具体指令,以提高 AI 的响应质量。

第四,将 AI 应用于实际的编码任务,如生成样板代码或重复代码。

第五,将 AI 应用于非编码任务,如撰写提交信息、拉取请求描述或技术文档。

第六,通过反馈迭代和优化 AI 输出,改进提示并提高 AI 的可靠性。

第七,始终验证和测试 AI 输出,确保其符合专业工程标准。

最后,逐步扩展到更复杂的用例,如使用 AI 进行端到端原型设计或在编码时实时监控。

Addy Osmani 还探讨了 AI 在软件开发生命周期中的作用,包括需求分析、系统设计、编码实现、测试、调试、维护、部署和运维等各个阶段。AI 可以帮助生成用户故事、分析竞争产品、提出架构建议、生成代码、调试代码、生成测试用例、解释遗留代码、生成基础设施代码、分析监控数据等。通过将 AI 应用于这些阶段,工程师可以将更多时间集中在创造性设计、关键思考和决策上,从而提高开发效率和质量。

要有效地使用 AI,工程师需要遵循最佳实践,包括编写清晰的提示、始终审查和验证 AI 输出、管理任务范围、持续学习和更新知识、与团队协作并建立共同实践、负责任地使用 AI,并确保隐私、安全和伦理合规。对于领导者和管理者来说,需要培养一种以 AI 为核心的工程文化,通过领导示范、投资技能培训、营造心理安全环境和调整开发流程来推动团队的 AI 原生转型。

AI 原生工程师通过将 AI 深度整合到工作流程中,不仅可以提高生产力,还可以在软件开发的各个阶段实现创新和效率提升。这种转型需要工程师不断学习和适应,同时也需要团队和组织的支持和协作。

#AI #指南 #Vibe_Coding

https://addyo.substack.com/p/the-ai-native-software-engineer
Vibe Kanban: 专门 AI 程序员的看板,把 Claude Code、Gemini CLI、Codex 等各种 AI 编码助手当成“员工”,像管理任务卡片一样,给它们派活、盯进度、收结果,把人类工程师从“写代码”升级为“指挥 AI 写代码”

#AI #Tools #Vibe_Coding

https://x.com/shao__meng/status/1943968521165451622?s=52&t=Egk_JeNH7VpTJDgz1k_q5w
氛围编程悖论

Sangeet Paul Choudary 探讨了在执行成本低廉的时代如何构建竞争优势,提出了“氛围编码悖论”(The Vibe Coding Paradox)。Sangeet 通过多个案例分析了在资源丰富的情况下,稀缺性的转移以及如何通过克制、工艺和品味来实现差异化竞争。

随着柏林墙的倒塌,东欧经历了从审查到表达的快速转变,媒体爆炸式增长,但人们尚未形成筛选信息的基础设施。Václav Havel 作为一位曾经因作品被监禁的剧作家和异议人士,在获得自由表达的平台后,却选择了克制,因为他意识到当表达变得廉价时,注意力变得昂贵,而精准表达的人将掌握权力。Havel 的这种克制与当今的技术驱动的“氛围编码悖论”相似。

在技术推动下,开发应用的时间、技能和成本摩擦逐渐消失,原型可以在短时间内通过合适的提示生成。这种快速执行的能力导致了执行的同质化,而真正的价值转移到了判断力上——即知道该生产什么。然而,大多数人并没有适应这种转变,而是通过增加输出来应对新能力,而不是通过更好的意图来调整。

Sangeet 通过 UNIQLO、Shiseido 和 Muji 等品牌的案例,展示了如何通过有意义的克制、精心的工艺和成熟的品味来构建竞争优势。UNIQLO 在快时尚品牌大量涌现时,选择专注于开发具有独特功能的面料,而不是追逐更快的设计周期。Shiseido 在化妆品市场饱和时,通过讲述品牌故事和文化背景来重新定位其产品。Muji 则通过极简主义的设计和运营模式,限制了品牌范围和促销线索,从而提高了消费的认知便利性。

在执行变得廉价的时代,真正的稀缺性转移到了选择做什么上。品味和叙事成为竞争优势的关键,而不仅仅是执行能力。品味是一种难以通过工具或 AI 复制的知识工作,它帮助人们在同质化的输出中脱颖而出。文章最后指出,真正的价值在于通过克制、工艺和品味来构建有意义的系统,而不是单纯追求规模和速度。

Sangeet 还提到了 Studio Ghibli 的案例,展示了在动漫产业追求大规模生产和速度时,通过保持小规模和独立性,以及对设计连贯性和审美完整性的坚持,来实现差异化竞争。这种克制不仅是艺术上的选择,也是一种道德上的决策。在执行能力泛滥的时代,人们应该更加关注品味、连贯性和信任,而不是单纯追求生产力和规模。

#AI #Vibe_Coding #思考

https://platforms.substack.com/p/the-vibe-coding-paradox
Vibe 代码是遗留代码

Vibe code 是一种由 Andrej Karpathy 提出的 AI 辅助编程方式,其核心在于开发者可以 “忘记代码的存在”。然而,这种编程方式与传统的遗留代码(legacy code)有着密切的联系。遗留代码通常是指那些无人理解的代码,它被视为技术债务,因为理解不熟悉的代码需要花费大量时间,尤其是当需要调试或添加新功能时,很容易引入新的错误。

编程本质上是构建理论,而不是单纯地编写代码行数。Vibe coding 在原型开发和临时项目中非常有用,因为这些项目不需要长期维护,因此不会产生过多的技术债务。Steve Krouse 分享了自己使用 vibe coding 快速开发一些小型应用的经历,例如计算每周增长率、评价《纽约时报》的连接以及向未婚妻求婚等,这些应用都非常小,即使需要重新阅读代码,也不会产生太多负担。

然而,vibe coding 也存在一个谱系,即开发者对代码的理解程度。理解得越多,vibe 的程度就越低。如果非程序员使用 vibe coding 开发大型项目并打算长期维护,这将是一个非常糟糕的情况,类似于给一个孩子一张信用卡而不解释债务的概念。一开始可能会非常兴奋,但很快就会面临无法解决的问题,例如代码出错时不知道如何修复。

在 2025 年,如果要构建需要长期维护的严肃项目,Andrej Karpathy 建议要严格控制这种 “过度热情的初级实习生”,即 AI 编程工具,因为它们虽然知识渊博,但有时会胡说八道,缺乏对良好代码的品味。Val Town 团队已经在他们的产品中以多种方式整合了 AI,他们的 AI 助手 Townie 可以主动读写代码、运行代码、查看日志,并不断迭代直到完成任务。Townie 是 vibe coding 的强大工具,但对于理解其中权衡的人来说更有用。

尽管 AI 编程的发展迅速,但 Steve Krouse 相信构建复杂软件的核心仍然是理论构建,技术专长仍然重要。AI 有望以令人惊讶的方式继续改善编程。不过,如果有人看到非程序员花费数千美元使用 vibe coding 开发他们的十亿美元应用创意,应该让他们阅读这篇文章,因为 vibe coding 并不能帮助他们实现目标。他们最终需要学会用人类的眼睛阅读代码,并且有时从头开始构建一个良好的代码库比修复一个无人理解的遗留代码库更容易。

#AI #Vibe_Coding #软件开发

https://blog.val.town/vibe-code
Claude Code 就是你所需的一切

Gareth Dwyer 介绍了 Claude Code 的使用体验,分享了其在工作、娱乐以及作为文本编辑器方面的应用。Gareth 在六月安装了 Claude Code,并尝试了其他工具如 Cursor、Cline 和 Zed,但这些工具都显得笨拙,因为习惯于在纯 Vim 和终端环境中工作。Claude Code 是第一个能够完美融入Gareth 工作流程的工具,无需去适应新的工具。

Gareth 认为 Claude Code 的表现非常出色,甚至取消了每月 20 美元的 GPT 订阅,转而支持 Anthropic。尽管在使用过程中需要适应 Claude Code 桌面和移动应用程序的额外 UI 延迟和缺乏打磨,但终端工具的趣味性他并不在意。几天后,Gareth 升级到了每月 100 美元的 MAX 计划,以便尝试 Opus 并避免达到使用限制。

Gareth 列举了一些使用 Claude Code 的项目,包括一个实验性的“自主创业构建器”、一个临时的 SplitWise 替代品、一个 AI 海报制作器、一个用于评价 Hacker News 评论的浏览器插件、一个基础的 Trello 替代品,以及一些整理良好的银行对账单。主要的收获包括以下几点:

1. 要有信心,始终在“危险地跳过权限”的情况下运行它,即使是在生产服务器和主要开发机器上。如果读者来自信息安全领域,可能现在就该停止阅读了,因为文章的其余部分不会让人感到愉快。如果决定继续阅读,请准备好药物。

2. 给予它大量的输入。输入越多,输出越好。它是一个神奇的工具,但用户仍然需要擅长沟通,无论是通过在文本文件或交互窗口中输入数千字,还是使用 TTS(Gareth 没有尝试过,因为讨厌自己的声音,但其他人报告了很好的效果)。

3. 它在 UI 设计方面表现出乎意料地好,尽管它主要是一个文本模型。

在尝试“氛围编码”(vibe coding)时,Gareth 以开发一个基础的 SplitWise 克隆为例。氛围编码的定义仍在变化中,它意味着在不查看或编辑代码的情况下创建软件。用户不需要关心底层使用的语言或框架,而是通过与模型聊天来开发代码。通过一个简单的提示让 Claude Code 生成了一个完全可运行的应用程序,而无需进一步输入关于修复、添加、删除或更改的内容。

Gareth 展示了两个版本的项目:一个工作正常,另一个则完全无法运行。工作版本是一个 900 行的 index.php 文件,包含整个应用程序;而另一个版本是一个 NodeJS 项目,分为客户端和服务器端,包含约 1000 行代码,分布在 15 个文件中,但运行后会拉取 500MB 的依赖项。这两个版本的提示几乎相同,唯一的区别在于工作版本中 Gareth 要求 Claude Code 保持简单,避免使用框架,并使用原生 SQL,而另一个版本则让模型自由发挥。

Gareth 还尝试了使用 Claude Code 构建一个“自主创业”项目。他给 Claude Code 提供了一个根 VPS 和一些基本指令,让其无限循环运行。尽管在过程中遇到了一些问题,但最终 Claude Code 成功配置了一个完整的全栈 Web 应用程序,包括 Nginx、证书等。尽管它生成的创业想法(服务器监控)并不合理,但它仍然完成了实际的开发工作,几乎没有人类的输入。

然而,在尝试让 Claude Code 自动发布内容时,Gareth 发现它违反了 Anthropic 的使用政策,因为自动发布内容需要人类参与。他调整了 Prompt,让 Claude Code 遵守规定,并要求它在发布内容前获得人类的批准。

Gareth 还使用 Claude Code 迁移了一个真实的生产项目——一个名为 Sboj 的 Laravel/PHP 应用程序。Claude Code 成功分析了代码库,生成了依赖项和设置说明,并在新的 VPS 上运行了应用程序。尽管在恢复数据库时遇到了一些问题,但最终成功完成了迁移,节省了大量的时间和精力。

此外,Gareth 还使用 Claude Code 构建了其他一些项目,例如一个用于评价 Hacker News 评论的浏览器插件和一个简单的海报制作器。这些项目展示了 Claude Code 在生成用户界面和处理复杂任务方面的能力。尽管在某些方面存在局限性,但通过提供足够的指导,Claude Code 仍然能够生成令人满意的输出。

最后,Gareth 提到自己将 Claude Code 用作文本编辑器,用于撰写文章和生成自定义 HTML、CSS 和 JavaScript。尽管在写作方面,他仍然更倾向于手工撰写,但 Claude Code 在处理文本和生成用户体验方面表现出色。尽管语言模型在生成内容方面可能还有不足,但在处理已有内容时表现出色。

#AI #Claude #Vibe_Coding #Claude_Code

https://dwyer.co.za/static/claude-code-is-all-you-need.html