Coding agent को while loop में डालते ही एक रात में 6 repositories तैयार हो गईं
(github.com/repomirrorhq)- Headless तरीके से Claude Code को अनंत loop में चलाने पर 1000 से ज़्यादा commits और कई codebase porting के नतीजे बने
- इस तरीके से assistant-ui React project को Vue में, Python project को TypeScript में अपने-आप बदलने जैसे कई सफल porting अनुभव मिले
- यह भी पाया गया कि prompt को जितना सरल रखा जाए प्रदर्शन उतना बेहतर होता है, जबकि उसे जटिल बनाने पर अक्षमता बढ़ती है
- यह पूरी तरह परफेक्ट नहीं है, लेकिन source/target repository sync के लिए उपयोगी RepoMirror tool भी साथ में विकसित किया गया
- AI agent के self-termination, task जोड़ने जैसे अप्रत्याशित व्यवहार और सीख भी देखी गईं, जिससे आगे की automation की संभावनाएँ और सीमाएँ दोनों महसूस हुईं
प्रोजेक्ट का अवलोकन और उद्देश्य
- इस प्रोजेक्ट में AI coding agent को अनंत while loop में डालकर यह प्रयोग किया गया कि वह वास्तविक code porting काम को कैसे आगे बढ़ाता है
- Claude Code को headless मोड में लगातार input prompt दोहराते हुए अलग-अलग repositories पर स्वचालित conversion प्रक्रिया लागू की गई
- 1000 से अधिक commits, React से Vue, Python से TypeScript जैसे कई porting tasks के automation के परिणाम मिले
- इसी प्रक्रिया में porting automation support tool RepoMirror भी विकसित किया गया
अनंत loop आधारित agent संचालन
- Geoff Huntley द्वारा सुझाए गए तरीके के अनुसार coding agent prompt को shell में लगातार चलाने का रूप इस्तेमाल किया गया
- उदाहरण:
while :; do cat prompt.md | claude -p --dangerously-skip-permissions; done
- उदाहरण:
- assistant-ui के React को Vue में बदलने जैसे कामों में यह loop तरीका लागू किया गया
- हर file modification पर commit और push चलाया गया
- काम का history और plan
.agent/directory में दर्ज किया गया
अलग-अलग porting cases पर प्रयोग
-
Browser Use (Python से TypeScript में porting)
- simple prompt के साथ infinite loop चलाया गया
- GCP VM पर tmux के जरिए loop लगातार चलाया गया
- सुबह तक लगभग पूरी तरह काम करने वाला TypeScript port तैयार मिला
-
Vercel AI SDK TypeScript → Python porting पर भी यह लागू किया गया
- FastAPI/Flask auto adapter बनाया गया
- Python के अलग-अलग schema validator में conversion support भी जोड़ा गया
-
spec-आधारित code automation: Convex, Dedalus जैसे projects में documentation से सीधे code generation की भी कोशिश की गई
प्रयोग के दौरान दिखी घटनाएँ और सीख
agent द्वारा test लिखना और self-termination
- agent ने निर्देश के अनुसार test code भी लिखा
- कुछ मामलों में वह infinite loop में फँस गया या काम पूरा होने पर खुद
pkillसे process बंद कर दिया - task scope का सख्ती से पालन किया गया और TODO.md में completion level बार-बार दर्ज किया गया
अतिरिक्त उभरते हुए व्यवहार
- porting task खत्म होने के बाद, मूल JS version में न होने पर भी FastAPI/Flask integration, schema validator support जैसी अतिरिक्त सुविधाएँ agent ने अपने-आप जोड़ दीं
prompt को सरल रखने का महत्व
- छोटे और सरल prompt ने बेहतर प्रदर्शन दिखाया
- 103 अक्षरों के prompt को 1500 अक्षरों तक बढ़ाने पर गति धीमी हुई और accuracy घटी
- वास्तविक इस्तेमाल किए गए prompts की जानकारी prompts folder में देखी जा सकती है
पूरी automation की सीमाएँ
- प्रमुख समस्या: कई बार पूरी तरह काम न करने वाला ported code निकलता था (जैसे कुछ browser demo अधूरे रहे)
- prompt सुधार और interactive modification की जरूरत पड़ी
infrastructure/लागत और संचालन
- कुल लागत लगभग $800, कुल commits 1100, हर agent की लागत लगभग $10.50/घंटा रही
- कई source/target repositories के porting process के लिए तत्काल automation tool (RepoMirror) बनाया गया
- shadcn style open-box principle अपनाया गया, init चरण के बाद script और prompt customize करने योग्य folders बनाए गए
npx repomirror syncऔरsync-foreverसे बार-बार execution का समर्थन दिया गया
tool का उपयोग और इस्तेमाल का तरीका
npx repomirror initसे source/target directory और command देकर initialization किया जाता है- ex) React → Vue, gRPC → REST conversion जैसे नए निर्देश आसानी से लागू किए जा सकते हैं
- folder structure:
.repomirror/prompt.md, sync.sh, ralph.sh आदि शुरुआती files अपने-आप बनती हैं
- हर iteration में sync/sync-forever चलाकर AI porting loop ऑपरेट किया जाता है
- मुख्य examples, demo results और source code repo README में देखे जा सकते हैं
प्रयोग के बाद की प्रतिक्रिया और टीम feedback
AGI (सामान्य कृत्रिम बुद्धिमत्ता) का एहसास हुआ, और इसके साथ मुख्य रूप से उत्साह और हल्का डर भी था
सरलता प्रभावी होती है, यह बात सीधे अनुभव से समझ आई
अभी ऐसा लगता है कि हम exponential growth curve के बेहद शुरुआती चरण में हैं
- टीम के सदस्यों और idea देने वालों के प्रति आभार व्यक्त किया गया
निष्कर्ष
- अनंत loop आधारित AI coding agent के जरिए वास्तविक source code porting और synchronization कार्य को व्यवहारिक रूप में अनुभव किया गया
- सरल संरचना और प्रभावी prompt संचालन के महत्व पर जोर दिया गया
- automation के भविष्य की संभावनाएँ और सीमाएँ, दोनों स्पष्ट होकर सामने आईं
- संबंधित tool (RepoMirror) open source रूप में उपयोग और शोध के लिए उपलब्ध है
2 टिप्पणियां
Hacker News की राय
alter tableन करने के कारण पूरा नया table बना देना जैसी अक्षम स्थितियाँ देखी हैंagent/TODO.mdको लगातार update करके progress दर्ज करते रहे। एक agent ने यह भी पहचान लिया कि वह infinite loop में फँस गया है, औरpkillcommand से खुद को terminate कर दिया। कई मायनों में यह बहुत ही दिलचस्प घटना है। इस project को लेकर कुछ विचार हैं: 1.5 साल पहले भी इसी तरह की कोशिश हुई थी, लेकिन तब GPT-3.5/4 के आधार पर वह लगभग काम नहीं करती थी; इस बार नतीजे बहुत बेहतर थे। इतने simple prompt से इतना अच्छा चलना चौंकाता है। हो सकता है हम सब काम को ज़रूरत से ज़्यादा complicated समझ रहे थे। दूसरी तरफ copyright/IP के मुद्दे काफी जटिल होने वाले हैं। SaaS कंपनियों के लिए यह रुझान एक झटका है। यह तकनीक + किसी mid-sized company के 10 engineers मिल जाएँ, तो in-house development (=NIH syndrome) के लिए ठोस justification बन जाता हैpkillकरके बंद कर लिया—क्या यह AI की पहली ‘आत्महत्या’ तो नहीं थी, यह सोचकर जिज्ञासा होती हैpkillसे खुद को बंद करना कहीं Halting Problem को ही हल कर देना तो नहीं हैIMPLEMENTATION_PLAN.mdके काम चल सकता है या नहीं, यही सोच रहा थाforloop से हो जाएगा—पागलपन भरा project हैID.md,EGO.md,SUPEREGO.mdfiles जोड़ दो—यही मज़ाक हैमैं इस चिंता से सहमत हूँ कि LLM द्वारा लिखा गया कोड एक ब्लैक बॉक्स बन जाता है, लेकिन आखिरकार क्या हम उस कोड का विश्लेषण भी LLM से नहीं करवा सकते?