2 पॉइंट द्वारा GN⁺ 2024-11-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Codebuff एक CLI टूल है जो टर्मिनल में प्राकृतिक भाषा में काम दर्ज करने पर codebase को पढ़ता है और फ़ाइलों को modify या create भी करता है। npm i -g codebuff से install करने के बाद इसे बिना login gate के तुरंत इस्तेमाल किया जा सकता है
  • यह input flow को एक चरण तक घटाता है, ताकि user सिर्फ़ अपना काम लिखे और टूल request पूरी करने की प्रक्रिया में test चलाना, type checker चलाना और package install करना भी इस्तेमाल कर सके
  • अंदरूनी तौर पर यह tree-sitter से 11 भाषाओं में function, class नाम जैसे symbols को parse करके codebase map बनाता है, और Claude Haiku 3.5 prompt caching के साथ Claude/OpenAI calls का संयोजन करता है
  • agent संबंधित फ़ाइलों को context में डालने के बाद XML tag के रूप में tool calls से edit_file, terminal command execution, और अतिरिक्त फ़ाइल पढ़ने के अनुरोध संभालता है
  • सभी accounts को अधिकतम $20 के बराबर credits दिए जाते हैं, और अधिक credits मासिक $99 plan में मिलते हैं, लेकिन बड़ा context और महंगे LLM calls होने के कारण यह प्रतिस्पर्धी products से महंगा होने की बात कही गई है

टर्मिनल में प्राकृतिक भाषा से कोड संशोधित करना

  • Codebuff एक CLI टूल है जो “टर्मिनल के अंदर Cursor Composer” की तरह काम करता है
    • आप प्राकृतिक भाषा में मनचाहा बदलाव लिखकर Enter दबाते हैं, फिर यह codebase को देखकर फ़ाइलों में बदलाव करता है
    • यह मौजूदा source files को modify करने और नई files बनाने, दोनों में सक्षम है
    • request पूरी करने के लिए यह test, type checker, और package installation भी चला सकता है
  • install और शुरुआत npm i -g codebuff से की जा सकती है
    • इसे बिना login gate के तुरंत इस्तेमाल किया जा सकता है
    • सभी accounts को अधिकतम $20 के बराबर credits मिलते हैं
  • demo वीडियो: YouTube

शुरुआती प्रयोग से productization तक

  • शुरुआती विचार hackathon में Sonnet 3.5 को आज़माते हुए शुरू हुआ
    • पहली script एक बार में पूरा codebase context लाती थी, और दूसरे चरण में files को फिर से लिखती थी
    • यही 2-step process आज के Codebuff में भी बना हुआ है
    • शुरुआती demo उपयोगी code नहीं बना पाया था
  • codebase-विशेष ज्ञान को model तक पहुँचाते हुए knowledge.md का विचार आया
    • पिछली startup server में endpoint बनाने के लिए 3 खास files बदलनी पड़ती थीं, लेकिन model यह नहीं जानता था
    • जैसे किसी नए hire को समझाते हैं, वैसे codebase guide को Markdown file में लिखकर Sonnet 3.5 के system prompt में डालने पर code quality काफ़ी बेहतर हो गई
    • Codebuff आज भी हर request पर अपने-आप पढ़ी जाने वाली knowledge.md file का उपयोग करता है
  • YC interview से ठीक पहले file editing की reliability सबसे बड़ा bottleneck थी
    • कई prompt strategies से मूल file में string replacement की कोशिश की गई, लेकिन वह स्थिर रूप से काम नहीं कर पाई
    • interview से एक दिन पहले GPT-4o को fine-tune करके Claude द्वारा बनाए गए change sketch को git patch में बदला गया
    • यह अगले दिन काम करने लगा, और YC interview से ठीक पहले production में deploy कर दिया गया

codebase map और agent execution flow

  • run करते ही यह current directory और उसकी subdirectories की source files को scan करके codebase map बनाता है
    • tree-sitter से 11 भाषाओं में function, class नाम या उनसे मिलते-जुलते symbols को parse किया जाता है
    • file tree और symbol जानकारी को साथ में इस्तेमाल किया जाता है
    • Claude Haiku 3.5 को request भेजकर codebase context cache किया जाता है ताकि user input के response latency को कम किया जा सके
  • जब user message भेजता है, Claude पहले संबंधित files चुनता है
    • चुनी गई files को context में load करने के बाद agent जवाब देता है
    • tool calls XML tags में लिखे और parse किए जाते हैं
    • उदाहरण के लिए file modification tag <edit_file path="src/app.ts">…</edit_file> के रूप में होता है
    • दूसरे tags से terminal commands चलाना या अतिरिक्त files पढ़ने के अनुरोध भी संभव हैं

server architecture और infrastructure

  • server की संरचना Anthropic या OpenAI तक messages भेजने की है, और यह state store नहीं करता
    • client और server के बीच data transfer के लिए websocket का उपयोग होता है
    • पहले 3 महीनों तक बिना authentication या database के free install और अपनी API key के साथ requests process की गईं
  • बाद में product संचालन के लिए ज़रूरी components जोड़े गए
    • Postgres + Drizzle database
    • Bun server
    • Render hosting
    • Auth.js authentication
    • NextJS website
    • Stripe payment
    • BetterStack logging
    • Retool dashboard

pricing, use cases, SDK

  • pricing में सीमित free usage और मासिक $99 paid plan शामिल है
    • paid plan अधिक credits देता है
    • अधिक context और महंगे LLM calls के कारण इसे प्रतिस्पर्धी products से महंगा बताया गया है
  • वास्तविक use cases में Flutter app generation, unit test लिखना, iterative modification, और repetitive tasks का automation शामिल है
    • एक user ने दो Flutter apps को parallel में बनाते हुए $500 का bill बनाया, और generated code को सीधे देखे बिना Codebuff के साथ लंबी बातचीत के ज़रिए apps पूरे किए
    • कई users ने weekend के दौरान team या personal use के लिए वास्तविक apps बनाए
    • आम तौर पर अक्सर इस्तेमाल होने वाले काम हैं unit tests लिखना, tests pass होने तक code modification loop चलाना, OAuth flow setup करना, और API scaffolding tasks
  • अपने system में Codebuff इस्तेमाल करना चाहने वाले users के लिए alpha SDK भी उपलब्ध है
    • app उसी natural language interface को call कर सकती है और code edits प्राप्त कर सकती है
    • early access आवेदन लिंक: Retool form

1 टिप्पणियां

 
GN⁺ 2024-11-09
Hacker News राय
  • Codebuff के लॉन्च की बधाई, लेकिन यह Aider से बहुत मिलता-जुलता दिखता है। Aider open source है, और जब आप फ़ाइलें जोड़ने के लिए कहते हैं तो बस approval देना होता है। Aider commands भी चला सकता है। फर्क क्या है, यह जानना चाहता हूँ

  • डेमो हमेशा सिर्फ़ सरल प्रोजेक्ट्स पर लागू होते हैं, और वास्तविक जटिल प्रोजेक्ट्स के उदाहरण कम हैं। PR के कठिन हिस्सों को हल करने में मदद चाहिए। बहुत से tools शुरुआत में मदद करते हैं, लेकिन समस्या-समाधान में कमज़ोर पड़ते हैं

  • मैं SSH keys और clipboard को कई third parties के पास भेजने के लिए $20 नहीं देना चाहता। मैं ऐसा software खरीदना चाहूँगा जो network calls के बिना inline shell support दे। ऐसे products के बारे में मेरी सामान्य राय यही है

  • Codebuff को पहले manicode के नाम से जाना जाता था, और यह जटिल refactoring कामों में उपयोगी है। मैंने इसे एक Rust project में फ़ाइलों को module directories में अलग करने के लिए इस्तेमाल किया, और यह tests चला सकता है तथा compile errors भी जाँच सकता है। इस काम में लगभग 100 credits लगे

  • जानना चाहता हूँ कि क्या code server के ज़रिए भेजा जाता है। लगता है कि इसे local service के रूप में लागू करना बेहतर होगा। यह भी जानना चाहता हूँ कि क्या LLM को ऐसे commands दिए जा सकते हैं जो फ़ाइल loss का कारण बनें, और इसे कैसे रोका जाएगा

  • मानव review के बिना LLM का commands चलाना खतरनाक है और security के लिहाज़ से कमज़ोर है

  • पहले से ही AIDE, Continue, Cody, Aider, Cursor मौजूद हैं। सोच रहा हूँ कि यह tool क्यों इस्तेमाल करना चाहिए

  • मैंने यह tool इस्तेमाल किया है, और कुछ मामलों में यह CoPilot और Cursor से बेहतर है। खासकर CoPilot के साथ ऐसा नहीं लगता कि यह editor के साथ "प्रतिस्पर्धा" कर रहा है। security को लेकर चिंता है, और जानना चाहता हूँ कि यह sensitive files को कैसे संभालता है

  • code quality के लिहाज़ से यह Cursor से बेहतर है या नहीं, यह जानना चाहता हूँ। मैं Cursor इस्तेमाल कर रहा हूँ और फ़ाइलें copy करने में समय बचा रहा हूँ। फिर भी coding के लिए chatGPT/claude interface का इस्तेमाल करता हूँ

  • GPT-4o को fine-tune करके Claude के change sketches को git patches में बदला गया। training data देर रात तैयार किया गया था, और fine-tuning job सोते समय चली। training data की पूरी सामग्री क्या थी, और change sketches तथा git patches ने कैसे काम किया, यह जानना चाहता हूँ