文章摘要
在YC Agents黑客马拉松中,团队尝试将Claude Code无头运行在一个无限循环中,结果一夜之间生成了1000多次提交,移植了六个代码库,并创建了一个名为RepoMirror的工具。这一灵感来源于Geoff Huntley提出的技术,团队通过类似while :; do cat prompt.md | amp; done的循环命令,成功将React库assistant-ui移植到Vue.js,展示了自动化编码代理的潜力。
文章总结
在YC Agents黑客马拉松期间,团队尝试了一种奇特的方式使用编码代理:将Claude Code置于无限循环中运行,结果令人惊讶。一夜之间,该代理完成了1000多次提交,移植了六个代码库,并创建了一个名为RepoMirror的工具。
实验过程
团队受到Geoff Huntley的启发,决定尝试在循环中运行编码代理。团队成员Simon是assistant-ui的创建者,他希望通过这种方式将React库移植到Vue.js。他们使用Claude Code进行循环操作,并设置了简单的提示,要求代理将assistant-ui从React移植到Vue,并在每次文件编辑后提交更改。
实验结果
团队在黑客马拉松期间还尝试将Browser Use从Python移植到TypeScript,并成功完成了大部分功能。此外,他们还尝试将Vercel AI SDK从TypeScript移植到Python,并添加了额外的功能,如Flask和FastAPI集成。
经验总结
- 早期停止:代理在完成任务后会自动停止,避免了无限循环的问题。
- 超额完成:代理在完成初始任务后,往往会添加额外功能。
- 提示简洁:简单的提示比复杂的提示更有效。
- 不完美:虽然代理完成了大部分工作,但仍需要人工干预进行最终调整。
成本与成果
团队在推理上花费了不到800美元,代理在所有项目中完成了约1100次提交。每个Sonnet代理运行一晚的成本约为10.50美元。
工具开发
为了方便操作,团队开发了一个简单的工具RepoMirror,用于设置源/目标代码库对,并生成脚本和提示。用户可以通过该工具进行单次循环或无限循环操作。
团队反思
团队成员对这次实验的感受复杂,既有对AGI的兴奋,也有对技术发展的担忧。他们认为目前正处于技术指数增长的初期。
感谢团队成员和Geoff Huntley的灵感。
评论总结
评论主要围绕一个自动化代码移植项目的效果、潜在问题及其对软件开发行业的影响展开。以下是主要观点和论据的总结:
1. 项目效果与幽默感
- 一些评论者认为项目效果令人惊讶,甚至带有幽默感,尤其是代理程序在陷入无限循环后自行终止的部分。
- "The agent terminating its own process was hilarious"(代理程序自行终止进程非常搞笑)
- "The alexandrian solution to the halting problem."(这是停机问题的亚历山大式解决方案)
2. 代码移植的可行性与局限性
- 评论者提到代码移植在某些情况下效果不错,但仍需人工干预,且存在“几乎成功”的代码问题。
- "The agent did remarkably well at doing a straight port from one imperative language to another."(代理程序在将一种命令式语言移植到另一种语言时表现非常出色)
- "There's a lot of 'it kind of worked' in here."(这里有很多“勉强可行”的情况)
3. 对软件开发行业的影响
- 评论者认为自动化工具将改变软件开发的工作方式,可能导致工程师的角色转变为“清理”自动生成的代码。
- "There will be a new kind of job for software engineers, sort of like a cross between working with legacy code and toxic site cleanup."(软件工程师将面临一种新的工作,类似于处理遗留代码和清理有毒场地的结合)
- "Lots of SaaS products are screwed. Not from this, but from this + 10 engineers in every midsized company."(许多SaaS产品将面临困境,不是因为这项技术,而是因为这项技术加上每个中型公司的10名工程师)
4. 提示词与工程实践的反思
- 评论者指出,提示词的复杂性与代理程序的表现成反比,并反思了当前工程实践中的“勉强可行”态度。
- "The agent immediately got slower and dumber. We went back to 103 words and it was back on track."(代理程序立即变得更慢、更笨。我们回到103个词的提示后,它又回到了正轨)
- "I am honestly surprised how we went from almost OCD TDD and type purism, to a 'it kinda works' attitude to software."(我真的很惊讶我们从近乎强迫症的TDD和类型纯粹主义,变成了对软件的“勉强可行”态度)
5. 经济与认知层面的影响
- 评论者认为,自动化工具虽然提高了效率,但可能导致开发者对代码的熟悉度下降,进而影响长期维护。
- "The 'agent' workflow dramatically alters the cognitive demands during the initial development process."(“代理”工作流程极大地改变了初始开发过程中的认知需求)
- "Most of the economic value of code is contingent on there being a set of human beings familiar with the code."(代码的大部分经济价值取决于有一群熟悉代码的人)
6. 对未来的担忧与讽刺
- 一些评论者表达了对未来技术失控的担忧,甚至讽刺了某些营销手段。
- "This business will get out of control. It will get out of control and we'll be lucky to live through it."(这项业务将失控,我们将幸运地活下来)
- "Apparently one of the lucky few who learned this special technique from Geoff just completed a $50k contract for $297."(显然,从Geoff那里学到这项特殊技术的少数幸运者之一刚刚以297美元完成了5万美元的合同)
总结:评论者对项目的效果表示惊讶,但也指出了其局限性和对行业的潜在影响。自动化工具虽然提高了效率,但也带来了新的挑战,如代码质量、开发者认知以及未来工作方式的转变。