मेरा Mac mini मर गया। कोई नाटकीय अंत नहीं — बस वो ऐसी machine रह ही नहीं गई जिस पर भरोसा किया जा सके, और समझदारी इसी में थी कि drive wipe करके सब कुछ शुरू से install कर लिया जाए।
मैं यह सब कई बार कर चुका हूँ। Ritual कभी नहीं बदलता: OS दोबारा install करो, फिर एक पूरी शाम यह सब दोबारा install करने में लगाओ। Homebrew। Node। Python। एक दर्जन command-line tools जो याद भी नहीं रहता कि कब install किए थे। और फिर, तीन हफ़्ते बाद, अचानक वो एक tool याद आता है जो आप भूल गए थे — क्योंकि जो चीज़ पहले चलती थी, अब नहीं चल रही।
इस बार मैंने कुछ अलग करके देखा।
मैंने Chrome install किया, फिर Terminal में एक command चलाकर harness खुद install कर लिया। बस इतनी ही list थी। उसके बाद मैंने उसी से बाकी सब set up करने को कह दिया।
इस कहानी में Chrome कोई शोभा नहीं है। यह वो अकेली GUI application है जो मुझे सचमुच चाहिए, और यही वो browser भी है जिसे agent चलाता है जब किसी काम के लिए browser की ज़रूरत पड़े। Browser tooling harness config में बाकी सब की तरह declare होती है, हाथ से install नहीं की जाती।
असली चूक harness को लेकर थी, और मैं उसे नज़रअंदाज़ कर रहा था
पिछले दो साल से मैं AI coding tools के बारे में ज़्यादातर model के नज़रिए से सोचता रहा हूँ। कौन सा model सबसे अक्लमंद है, कौन सा सबसे सस्ता, कौन सा frontend code बेहतर लिखता है। इसी सवाल पर मैंने subscriptions cancel की हैं और एक बार से ज़्यादा इस पर लिखा भी है।
जिसे मैं कम आँक रहा था वो harness है — वो चीज़ जो असल में मेरे और machine के बीच बैठती है। बुद्धि model देता है। हाथ, मेरे काम करने के तरीके की याद, और interface — ये harness देता है।
इस rebuild में OpenCode harness था और DeepSeek V4.1 Flash model। लेकिन मैं अब यह मानना बंद कर चुका हूँ कि इनमें से कोई भी layer एक ही चुनाव पर टिकी रहे, क्योंकि दोनों बिल्कुल अलग आधारों पर चुने जाते हैं।
Models मैं चार चीज़ों पर चुनता हूँ: वो कितना अक्लमंद है, कितनी तेज़ी से generate करता है (tokens per second, जिसका फ़र्क़ मुझे उम्मीद से कहीं ज़्यादा महसूस होता है), उसकी कीमत क्या है, और मेरा भेजा हुआ data उसके साथ क्या होता है।
Cost को sticker price से आगे जाकर देखना चाहिए, क्योंकि sticker price वो नहीं है जो आप असल में चुकाते हैं। असली number cache hit rate है। जब harness एक स्थिर context बनाए रख पाता है, तो ज़्यादातर input cache से serve होता है और बिल ढह जाता है — मेरा DeepSeek cache hit rate आम तौर पर 99% से ऊपर रहता है। एक ही price per token वाले दो models, आपके असल ख़र्च में बहुत बड़ा फ़र्क़ डाल सकते हैं — यह इस पर निर्भर है कि आपका harness cache बनाए रख पाता है या नहीं।
इसीलिए अब मैं हर काम एक ही model से नहीं करवाता। अलग-अलग कामों के लिए अलग-अलग models बेहतर बैठते हैं, और किसी mechanical काम के लिए मुफ़्त वाला अक्सर काफ़ी होता है — उस पर frontier model ख़र्च करना सिर्फ़ बर्बादी है।
Harnesses मैं पसंद के आधार पर चुनता हूँ। Interface, और आदत। मैं OpenCode इस्तेमाल करता हूँ क्योंकि मेरी आदतें वहीं बसती हैं, और उसके साथ-साथ DeepSeek का अपना harness भी चलाता हूँ, क्योंकि मुझे दोनों में काम करना पसंद है। काम पर मैं एक और अलग harness इस्तेमाल करता हूँ — Antigravity CLI, जो Gemini 4 Argon या 3.8 Flash चलाता है — क्योंकि उस काम की बनावट अलग है: मैं उसे एक plan सौंपता हूँ और वो घंटों उस पर काम करता रहता है।
इनमें से कुछ भी किसी benchmark से तय नहीं होता, जैसे किसी model का होता है। आपको ख़ुद जानना होता है कि आपको क्या चाहिए, और उसी के हिसाब से चुनना होता है।
अगस्त में मैंने एक ही model और एक ही harness पर जाने के बारे में लिखा था, पर उस चीज़ का नाम नहीं लिया जो असल में मेरे लिए बदली थी। वो post इस नोट पर खत्म हुई थी कि अब मैं Flash ज़्यादा इस्तेमाल करूँगा, क्योंकि उस कीमत पर न करने की कोई वजह ही नहीं थी। यह वही है, बस एक सुधार के साथ: single ग़लत अंतर्ज्ञान था।
यह फ़र्क़ तब तक academic लगता है जब तक आप इसी के सहारे computer दोबारा न बनाओ। फिर यह academic रहना बहुत जल्दी बंद कर देता है। जो harness commands चला सकता है, files पढ़ और लिख सकता है, packages install कर सकता है और अपना काम खुद check करने की कोशिश कर सकता है — वो कोई autocomplete box नहीं है। वो एक operating layer के ज़्यादा करीब है — और एक बार वो मिल जाए, तो जो चीज़ें आप खुद install करते हैं उसकी list बहुत छोटी हो जाती है।
Workflow, step by step
Pattern हर बार एक ही था, और यह वो तरीका नहीं है जिससे मैं पहले काम करता था:
- Steps नहीं, outcome बताइए। "यह brew command है" नहीं, बल्कि "मुझे locally इस तरह की script चलानी है, इसे set up कर दो।"
- Agent को install और configure करने दीजिए, उस चीज़ को ठीक करने समेत जो उसने अभी-अभी तोड़ी है।
- Verify — यह हिस्सा आज भी मेरा है। Agent आपको ठीक-ठीक दिखा सकता है कि उसने क्या चलाया, और यही verifying को सस्ता बनाता है।
- जहाँ मैं verify नहीं कर सकता, वहाँ खुद करता हूँ। Service keys और SSH credentials — यही दो चीज़ें हैं जो मैंने हाथ से बनाईं और agent को नहीं सौंपीं।
- वो असल में क्या कर गया, यह पढ़िए — और मानिए कि एक दिन भरोसेमंद लगने वाला ग़लत जवाब भी मिलेगा। हर line नहीं — उतना, जितने से पता चले कि मेरी machine पर क्या बदला, और उतना, जितने से वो एक बदलाव पकड़ में आए जो सही लगता है और है नहीं।
पुरानी rebuilds से फ़र्क़ बताना आसान है, describe करना नहीं:
| मेरी पुरानी rebuilds | यह वाली | |
|---|---|---|
| हाथ से install हुआ | OS, फिर Homebrew, Node, Python और एक दर्जन CLI tools की पूरी शाम | Chrome, और harness के लिए एक command |
| बाकी सब | मैं, एक पूरी शाम में | Agent, कहने पर |
| State कहाँ रहती है | Local services, runtimes, container images | एक config file और एक connection, जिसे मैंने एक बार authorise किया |
| क्या जमा होता है | हर experiment से बची हुई परत | "बस एहतियात के लिए" install किया हुआ कुछ भी नहीं |
यह दो चीज़ों से मुमकिन होता है। पहली, harnesses अपना configuration ऐसी files में रखते हैं जिन्हें मैं पढ़ और edit कर सकता हूँ — मैं ठीक-ठीक देख सकता हूँ कि क्या किससे जुड़ा है और उसे बदल सकता हूँ। दूसरी, मेरे बढ़ते हुए MCP servers में से कई अब remote हैं। Supabase, Resend और Vercel ऐसे URLs हैं जिन्हें मैंने एक बार authorise किया, मेरी disk पर पड़ी services नहीं। Local वाले ज़रूरत पड़ने पर npx से चलते हैं, यानी जब तक मैं उन्हें इस्तेमाल न करूँ, वो install ही नहीं होते।
पहले मेरी machine पर services रहती थीं। अब उस पर एक config file और एक टोकन रहता है, और services कहीं और रहती हैं।
डिस्क खाली ही रही
मैंने इसे benchmark करने के इरादे से शुरू नहीं किया था, तो इसे माप नहीं, एक observation मानिए। लेकिन number को नज़रअंदाज़ करना मुश्किल है: अपनी पुरानी setup के मुकाबले, उसी machine पर अब मेरे पास करीब 60 GB ज़्यादा खाली जगह है।
जिस machine का SSD soldered हो, उसके लिए यह कोई मामूली फ़र्क़ नहीं है। Storage आधुनिक Mac में उन गिनी-चुनी चीज़ों में से है जिन्हें बाद में upgrade नहीं किया जा सकता, और उसकी कीमत भी वैसी ही है। साठ gigabytes वापस मिलना उस कीमत का एक ठोस हिस्सा है जो अगला tier ऊपर लेने पर लगती।
जगह कहाँ गई, इसे साबित करने से बताना आसान है। कुछ tools अब ज़रूरत पड़ने पर चलते हैं, हमेशा के लिए disk पर पड़े नहीं रहते, और चीज़ें पहले से install करने की आदत फीकी पड़ गई है, क्योंकि बाद में माँगना सस्ता पड़ता है।
Application-shaped से intent-shaped की ओर
बदलाव यह है, और मैं अब भी समझ नहीं पाया कि यह कितनी दूर तक जाता है।
मेरी ज़्यादातर computing life application-shaped रही है। मुझे कुछ करना होता है, तो मैं वो application ढूँढता हूँ जो वो काम करती है, उसे install करता हूँ, उसका interface सीखता हूँ, और उसकी राय के अंदर ही रहता हूँ। Application ही काम की इकाई है।
इस तरह काम करना intent-shaped है। मैं बताता हूँ कि मुझे क्या चाहिए। machine पर act कर पाने की क्षमता रखने वाली कोई चीज़ खुद निकालती है कि कौन-कौन से हिस्से चाहिए, उन्हें set up करती है, और कर देती है। Application एक implementation detail बन जाती है, और कभी-कभी ऐसी detail जिसे मैंने होश में install भी नहीं किया।
सिर्फ़ "AI मेरा code लिखता है" कहने से यह बदलाव कहीं बड़ा है। Coding कभी मेरी bottleneck नहीं थी; असली दिक़्क़त थी कुछ चाहने और उसे पा लेने के बीच की दूरी। वो दूरी अब बहुत कम है।
इसीलिए मैं आधे-मज़ाक में कहता भी रहता हूँ कि कहीं मैं Linux पर न पहुँच जाऊँ। सालों तक macOS पर रहने की वजह कभी operating system नहीं थी — वजह वो जमा हो चुकी setup थी जिसे मुझे दोबारा बनाना पड़ता। अगर आपका environment ज़्यादातर एक config file और एक क़ाबिल agent है, तो नीचे का platform पहले जितना मायने नहीं रखता। मैं इस हफ़्ते switch नहीं कर रहा। मुझे बस अब यक़ीन नहीं कि मुझे क्या रोकेगा।
मानना पड़ेगा, यह मुझे आता दिखा ही नहीं था। अगर पाँच साल पहले कोई कहता कि एक नया Mac, एक browser और एक agent — काम पर लौटने के लिए इतना ही काफ़ी होगा, तो मैं मान लेता कि आप किसी demo के बारे में बता रहे हैं, किसी शांत मंगलवार की शाम के बारे में नहीं।
जो मैं दावा नहीं कर रहा
कुछ ईमानदार caveats, क्योंकि इस पर मैंने उत्साह इतना पढ़ लिया है कि अपने ही उत्साह पर शक होने लगा है।
- अब lock-in harness है। Model चुनना बदलना आसान होता जा रहा है, पर मेरी आदतें, config और workflow harness में बस चुके हैं। यह एक असली निर्भरता है और मैं इसे देख रहा हूँ।
- "उसने सब install कर दिया" और "मैं अपनी machine समझता हूँ" एक बात नहीं है। जब मैंने सब हाथ से जोड़ा था, तब के मुकाबले अब मैं अपनी setup कम अच्छी तरह जानता हूँ। इसकी असली क़ीमत चुकानी पड़ती है, और ऊपर step पाँच इसी वजह से है।
- यह मुफ़्त नहीं है। पिछले 30 दिनों में करीब $60, और यह आँकड़ा सिर्फ़ मेरी coding नहीं है — इसमें production में चल रहे मेरे कुछ products के पीछे का DeepSeek API भी शामिल है। तुलना के लिए, यही आदत एक साल पहले मुझे महीने के करीब $200 पड़ती थी। (वो बदलाव मैंने अगस्त में लिखा था।)
अक्सर पूछे जाने वाले सवाल
AI coding में harness क्या होता है?
Harness वो program है जो एक model को असली environment से जोड़ता है। सोचना और तर्क करना model का काम है; harness उसे tools देता है — commands चलाना, files पढ़ना-लिखना, बाहरी services को call करना — और उनके आसपास की बातचीत और permissions manage करता है। OpenCode जानबूझकर model-agnostic है, इसीलिए मैं उसके नीचे model बदल सका और बाकी कुछ नहीं बदलना पड़ा। Claude Code और Codex भी harness हैं, हालाँकि हर एक अपने ही vendor के models के इर्द-गिर्द बना है। मेरा rule of thumb: model को capability, speed, cost और data handling के आधार पर चुनिए, और harness को इस आधार पर कि उसमें काम करना आपको सचमुच पसंद है या नहीं।
क्या सचमुच सिर्फ़ एक browser और एक AI agent से नया computer set up हो जाता है?
मेरी setup के लिए — यानी एक developer, जो मुख्य रूप से terminal और browser में काम करता है — काफ़ी हद तक हाँ, और बस एक command से, शून्य से नहीं। Model और internet तक पहुँचने के लिए आपको एक browser चाहिए, harness खुद install करने का कोई तरीक़ा चाहिए, और agent ने जो किया उसे verify करने की तैयारी भी चाहिए। मैं यह नहीं मानूँगा कि यही बात किसी designer या accountant की machine पर भी लागू होती है।
इस setup में disk इतनी कम क्यों लगती है?
मेरी पुरानी setup से करीब 60 GB कम, और इसकी तीन वजहें हैं। कुछ services अब remotely चलती हैं और locally install होने की जगह एक URL से पहुँचती हैं। कुछ tools हमेशा के लिए disk पर पड़े रहने की जगह ज़रूरत पड़ने पर चलते हैं। और चीज़ें "बस एहतियात के लिए" पहले से install करने की आदत धीमी पड़ जाती है, जब बाद में माँगना सस्ता हो।
अब भी हैरान हूँ कि "Chrome install करके देखते हैं क्या होता है" से एक चलता-फिरता computer बन गया।
शुभकामनाओं सहित, Chandler :P