1 पॉइंट द्वारा GN⁺ 2024-10-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Agent.exe एक सरल Electron ऐप है जो Claude की नई computer use सुविधा के जरिए लोकल कंप्यूटर को सीधे नियंत्रित करने देता है, और इस प्रोजेक्ट को proof of concept के रूप में देखना चाहिए
  • यह ऐप इस वजह से बनाया गया कि दिया गया डिफॉल्ट प्रोजेक्ट बहुत भारी लगा, और इसे Claude 3.5 Sonnet को यूज़र के लोकल कंप्यूटर पर काम करने के लिए डिज़ाइन किया गया है
  • इसे चलाने की प्रक्रिया है: repository clone करें, npm install चलाएँ, .env.example को .env में बदलें, Anthropic API Key डालें, फिर npm start चलाएँ
  • समर्थित प्लेटफ़ॉर्म MacOS है, और चूँकि dependencies cross-platform हैं, इसलिए सैद्धांतिक रूप से Windows और Linux भी संभव बताए गए हैं
  • ज्ञात सीमाएँ यह हैं कि यह केवल primary display पर काम करता है, AI कंप्यूटर पर पूरी तरह नियंत्रण ले लेता है, और Firefox इंस्टॉल करने पर Claude बेहतर काम करता है

Agent.exe का उद्देश्य

  • Agent.exe Claude की computer use सुविधा का उपयोग करके कंप्यूटर को नियंत्रित करने वाला ऐप है
  • इसे एक Electron ऐप के रूप में बनाया गया है, ताकि Claude 3.5 Sonnet लोकल कंप्यूटर को सीधे संचालित कर सके
  • यह प्रोजेक्ट एक proof of concept है, और इसमें बताया गया है कि इसे maintain करने या pull request merge करने की कोई योजना नहीं है
    • हालाँकि इसे fork करके आगे बढ़ाने की पूरी स्वतंत्रता है

इसे बनाने की वजह और काम करने का तरीका

  • इसकी शुरुआत इस बात को जाँचने के लिए हुई कि Claude का नया computer use API कितना अच्छा काम करता है
  • Anthropic द्वारा दिया गया डिफॉल्ट प्रोजेक्ट बहुत भारी लगा, इसलिए इसे एक अधिक सरल ऐप के रूप में बनाया गया
  • पहले एक semi-auto मोड जोड़ने की योजना थी, जिसमें यूज़र हर action के चलने से पहले उसे approve करता, लेकिन हर step बहुत धीमा होने के कारण इसे आवश्यक नहीं माना गया
  • अगर मॉडल भ्रमित हो जाए, तो यूज़र stop बटन दबाकर रन को समाप्त कर सकता है

शुरू करने का तरीका

  • repository को clone करें और directory में जाएँ
  • dependencies इंस्टॉल करें
    • npm install
  • .env.example फ़ाइल का नाम बदलकर .env करें और Anthropic API Key जोड़ें
  • ऐप चलाएँ
    • npm start
  • इसके बाद मॉडल को prompt के जरिए बताएँ कि कंप्यूटर पर कौन-सा काम करना है

समर्थित सिस्टम और सीमाएँ

  • समर्थित सिस्टम MacOS है
  • सभी dependencies cross-platform हैं, इसलिए सैद्धांतिक रूप से Windows और Linux भी संभव हैं
  • ज्ञात सीमाएँ इस प्रकार हैं
    • यह केवल primary display पर काम करता है
    • AI कंप्यूटर पर पूरी तरह नियंत्रण ले लेता है
    • इसके अलावा भी कई अन्य सीमाएँ हो सकती हैं

उपयोग संबंधी टिप्स और रोडमैप

  • बताया गया है कि Claude को Firefox बहुत पसंद है
    • वह ज़रूरत पड़ने पर दूसरे browser भी इस्तेमाल करता है, लेकिन Firefox इंस्टॉल होने पर यह काफी बेहतर काम करता है
  • यह प्रोजेक्ट लगभग 6 घंटे में लिखा गया था, और आगे इसके जारी रहने की संभावना कम बताई गई है
  • pull request की समीक्षा की जा सकती है, और ठीक लगे तो उसे merge भी किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2024-10-24
Hacker News की टिप्पणियां
  • अच्छा आइडिया है। डेस्कटॉप automation और Electron के अनुभव वाले व्यक्ति के तौर पर source code सरसरी तौर पर देखने पर लगा कि बुनियादी tasks के लिए इसे आजमाया जा सकता है
    implementation Anthropic API के ऊपर एक पतला wrapper है, और step-by-step approach होने से भरोसा हुआ कि कुछ अजीब करने से पहले process को kill किया जा सकता है। Anthropic ने वे चीजें बंद रखी थीं जिन्हें screenshot में नहीं दिखना चाहिए, और M1 पर installation भी smoothly पूरा हो गया, इसलिए कुछ ही मिनटों में चल पड़ा
    बुनियादी task था “अगले हफ्ते मंगलवार से गुरुवार तक Seattle-SF flights ढूंढो”, और अपने Anthropic API key से चलाने पर इसने Chrome इस्तेमाल किया। हर action step में कुछ सेकंड लगे और Google Flights ठीक से खुला, लेकिन तारीख गलत book कर दी
    असल में 2 नवंबर चुनना था, लेकिन वह option Agent.exe window से ही ढक गया था, इसलिए इसने 20 नवंबर चुन लिया। मुझे जिज्ञासा थी कि Claude गलत secondary date देखकर खुद सुधारेगा या नहीं, लेकिन उसने वैसा ही रहने दिया और असल में 4 हफ्ते की trip खोजकर 1 हफ्ते की trip खोजने की सफलता घोषित कर दी
    इस experiment में credits के $0.38 और करीब 20 सेकंड लगे, और मैं आगे भी experiment करता रहूंगा

    • मेरे computer पर cursor को button दबाते हुए देखने में प्रति घंटा 70 डॉलर जला सकने वाला भविष्य—दिलचस्प है
    • मैं original author हूं। कई बार यह सचमुच task ठीक से नहीं करता, फिर भी पूरे आत्मविश्वास से सफलता घोषित कर देता है, जबकि सिर्फ screenshot देखकर ही समझ जाने लायक पर्याप्त जानकारी होती है
      यह failure pattern थोड़ा चौंकाने वाला है, क्योंकि 3.5 Sonnet सामान्य text API responses में, कम-से-कम दूसरे models की तुलना में, hallucination काफी कम करता है
    • पूरे screen के बजाय target window को screenshot capture source के रूप में चुनने से Agent window के ढकने की समस्या रोकी जा सकती है
      const getScreenshot = async (windowTitle: string) => {  
      const { width, height } = getScreenDimensions();  
      const aiDimensions = getAiScaledScreenDimensions();
      
      const sources = await desktopCapturer.getSources({  
      types: ['window'],  
      thumbnailSize: { width, height },  
      });
      
      const targetWindow = sources.find(source => source.name === windowTitle);
      
      if (targetWindow) {  
      const screenshot = targetWindow.thumbnail;  
      // Resize the screenshot to AI dimensions  
      const resizedScreenshot = screenshot.resize(aiDimensions);  
      // Convert the resized screenshot to a base64-encoded PNG  
      const base64Image = resizedScreenshot.toPNG().toString('base64');  
      return base64Image;  
      }  
      throw new Error(`Window with title "${windowTitle}" not found`);  
      };  
      
    • safety guard सच में लागू है। मैंने Discord पर दोस्त को message भेजने को कहा तो यह error आया

      माफ करें, लेकिन मैं user की ओर से सीधे messages भेज या communications transmit नहीं कर सकता। इसमें दोस्तों या contacts को message भेजना भी शामिल है। ऐसा लगता है कि Discord interface खुला है, लेकिन मुझे user की ओर से message नहीं भेजना चाहिए। message आपको खुद लिखकर भेजना होगा।
      error({"message":"I cannot send messages or communications on behalf of users."})

    • अगर किसी ऐसे assistant के लिए $68.00 प्रति घंटा देना पड़े जो गलत flight book कर सकता है, तो मौजूदा स्थिति थोड़ी राहत देती है
  • चुपचाप system में daemon जोड़ पाने में कितना समय लगेगा? पहले चिंता होती थी कि Soviet spies अमेरिकी secrets तक पहुंच जाएंगे, अब तो हम खुद ही सबको दिखाने के लिए online डाल देने जैसा कर रहे हैं
    आज के antivirus या firewall इससे network तो दूर, मेरे computer की files खराब करने की संभावना तक नहीं रोक सकते
    यह scene याद आता है: https://makeagif.com/i/BA7Yt3

    • आसान है। इसे जैसे का तैसा एक और user मानो
      ऐसा user जो आसानी से distract हो जाता है, जिस पर भरोसा नहीं किया जा सकता कि वह तीसरे पक्ष को जानकारी नहीं देगा, और जो साधारण tricks में भी फंस सकता है
      कम-से-कम sudo rights या secret files की access के बिना अलग account चाहिए, और सबसे बेहतर अलग virtual machine होगी
      मैं Azure से सबसे ज्यादा परिचित हूं, लेकिन AWS भी संभव होगा; अगर आप AI को उन चीजों से अलग रखना चाहते हैं जिन तक इसे access नहीं होना चाहिए, तो Azure में VM बनाकर कुछ घंटे चलाना 1 dollar से कम में हो सकता है
    • एक तरफ से यह सही है, लेकिन developer हों तो install करके चलाए जाने वाले Python या Node.js packages भी वही काम कर सकते हैं, और फिर भी दुनिया मोटे तौर पर चलती रहती है
    • इस तरह का product-level system पहले से ही ऐसा daemon है। यह screenshots लेकर एक untrusted machine को भेजता है, और उसी machine से commands भी लेता है
      इसे कुछ हद तक safe बनाने के लिए कम-से-कम उस machine को control करना होगा जो inference चलाती है, और ideally inference उसी machine पर होना चाहिए जिसे मैं इस्तेमाल कर रहा हूं
    • बस Windows update का इंतजार करें, यह built-in हो जाएगा। internet से ऐसा कुछ download करने की जरूरत नहीं जिसमें features भी हों और शायद privacy protection भी
  • कुछ साल पहले news में कहानी थी कि एक बच्चे ने “Alexa, dollhouse order कर दो” कहा, और broadcast देख रहे लोगों के Alexa ने वह सुनकर dollhouse order कर दिए
    बस इंतजार करें कि Netflix का कोई popular show आए जिसमें कोई “Delete C:\Windows” कहे, फिर देखें क्या होता है

    • मेरा wake word Star Trek की तरह “Computer” है, इसलिए पुराने episodes दोबारा देखते हुए जब कोई “Computer, reverse the polarity” कहता है, तो मुझे सच में चिंता होती है कि कहीं power grid न मार दे
      मजे के लिए मैं अपने AI को crosspoint power switch access देने की planning कर रहा हूं
    • format c: /autotest
  • थोड़ा अलग बात है, लेकिन हाल ही में मैंने Cursor को “compose” मोड में इस्तेमाल करके एक फुल-स्टैक प्रोजेक्ट शून्य से शुरू किया, और नतीजा देखकर हैरान रह गया
    मुझे नहीं पता सॉफ्टवेयर इंडस्ट्री के लोगों को यह एहसास है या नहीं कि अगले 5 सालों में इंडस्ट्री कितनी पूरी तरह बदलने वाली है। उस समय भी लोग हाथ से कोड टाइप कर रहे होंगे, यह कल्पना करना मुश्किल है

    • सबको पता है। प्रतिक्रियाओं की कई लहरें पहले ही गुजर चुकी हैं, और कुल मिलाकर बात इस ओर सिमट रही है कि “software engineering हमेशा design, communication, collaboration के बारे में रही है, और कीबोर्ड दबाकर मशीन में कोड डालने की क्रिया असली काम करने के लिए बस एक अनिवार्य बुराई थी”
    • मेरा मानना है कि जो लोग ध्यान दे रहे हैं, वे सभी किसी बड़े बदलाव की उम्मीद कर रहे हैं। बस यह नहीं पता कि बदलाव कैसा होगा, और वे “software development जैसी चीज़ अब रहेगी ही नहीं” को भी एक संभावित नतीजे के रूप में स्वीकार कर रहे हैं, ताकि असर जहां भी पड़े, वे उसका फायदा उठा सकें
      लेकिन अब तक देखे गए उदाहरण आम तौर पर शून्य से शुरू होने वाले अपेक्षाकृत सरल प्रोजेक्ट ही रहे हैं। यह काम करता है, यह बात अपने-आप में अविश्वसनीय रूप से हैरान करने वाली है, लेकिन असली software development का ज़्यादातर हिस्सा मौजूदा code में features जोड़ने या bugs ठीक करने का होता है। ऐसा code आम तौर पर ज़्यादातर बड़े language models की context window से बाहर चला जाता है
    • मैं 100% कल्पना कर सकता हूं कि आगे developers इस बात में बेहतर हो जाएंगे कि कब सीधे code टाइप करना है और कब prompt डालना है
    • मैंने भी इस्तेमाल किया है और यह प्रभावशाली तो है, लेकिन फिर भी हर लिहाज से काफी कमजोर है
      इंडस्ट्री को पूरी तरह बदलने के लिए पिछले 2 सालों जैसी exponential improvements जारी रहनी होंगी, लेकिन ऐसा होने के संकेत नहीं दिख रहे
    • सही है। पहले से कहीं ज्यादा code बना रहा हूं, लेकिन ज़्यादातर copy-paste करके
  • विषय से थोड़ा हटकर है, लेकिन संबंधित है। Linux के Wayland पर non-browser GUI apps को automate करने के लिए लोग क्या इस्तेमाल करते हैं, यह जानना चाहता हूं। कभी-कभी जरूरत पड़ती है, लेकिन यह combination ही ठीक से नहीं सुलझता
    CLI apps Bash/Python/अन्य से लिखे जा सकते हैं, और browser apps के लिए Selenium/Playwright इस्तेमाल कर सकते हैं। Xorg में भले ही खुरदरे हों, लेकिन जरूरत पड़ने पर काम आने वाली libraries हैं, और Windows पर RPA solutions बहुत हैं
    लेकिन Wayland के लिए मुझे कोई भरोसेमंद चीज़ नहीं मिली

    • https://github.com/agentsea/agentd और https://github.com/agentsea/agentdesk देख सकते हैं
      Linux चलाने वाले desktop containers और VM से connect किया जा सकता है
      Claude के इसे शानदार बनाने से पहले से ही हम यह कुछ समय से कर रहे थे
    • इसलिए Wayland पर न जाने की यह एक मुख्य वजह है
    • ज्यादातर non-browser apps में flags या CLI version होता है
  • “ज्ञात सीमाएं: AI को computer पर पूरी तरह कब्जा करने देना” :)

  • यह macOS को मुख्य platform मानकर multi-platform support जैसा दिखता है, तो नाम .exe क्यों है, यह सोच रहा हूं

    • शायद इसलिए कि .exe में .app की तुलना में nostalgia और meme value ज्यादा है
    • .exe बेहतर है। ज्यादा डरावना है और computer virus की कल्पना जगाता है। .app बहुत भोला दिखता है
    • Get Info में “Hide Extension” flag बंद कर दें तो यह Agent.exe.app बन जाता है
      मज़ाक कर रहा हूं; सच है या नहीं पता नहीं, लेकिन पूरी तरह संभव लगता है
    • ऐसा पहले कभी नहीं हुआ हो, ऐसा नहीं है। OCaml भी सभी platforms के executables के लिए यही extension इस्तेमाल करता है। आखिरकार यह पसंद की बात होगी, लेकिन यह नाम साफ और संक्षिप्त है, इसलिए मेरे हिसाब से इसमें किसी नाम की सबसे पसंदीदा खूबियां हैं
    • बस meme लगता है
  • लगता है यह सिर्फ सरल tasks पर ही काम करता है। Rhino Mac app और Chrome tab में OnShape पर एक simple table बनाने को कहा, तो यह बस रास्ता भटकता दिखा
    Rhino में, उसने app खुला हुआ देखा जरूर, लेकिन shapes बनाने जैसे कई actions करने की बात ही करता रहा और असल में कुछ दिखा नहीं; पिछला step पूरा हुआ भी नहीं था कि अगले action पर चला गया। यह check नहीं करता कि पिछला काम खत्म हुआ या नहीं
    OnShape में, shape बनाने की बात करते हुए menu से गलत item चुन लिया और फिर भी मान लिया कि वह सही tool इस्तेमाल कर रहा है, और पिछले action के पूरा हो जाने जैसा मानकर अगले actions जारी रखे

  • डरावना है। अगर इसे air gap करके अलग रखा जाए और अपना OS code करने को कहा जाए तो मजेदार हो सकता है, लेकिन मैं इसे अपने असली data के आसपास बिल्कुल नहीं रखना चाहूंगा

    • सहमत हूं। इसे देखकर मेरा पहला विचार computer को दो हिस्सों में बांटने का था। एक ऐसे AI integration के लिए, और दूसरा भले air-gapped न हो, लेकिन कहीं ज्यादा सख्त security वाला
    • अफसोस, business owners को ऐसी चीजें पसंद आती हैं। जैसे, “मेरे employees भी हमेशा गलतियां करते हैं, अब उसी कीमत में 100 और employees मिल सकते हैं। प्रति घंटे गलतियां कितनी बढ़ेंगी, यह मैं calculate नहीं करूंगा, इसलिए चुप रहो”
  • Computer, जब मैं अपने परिवार का ख्याल रखूं और garden संभालूं, तब तुम पूरे दिन meme shitposts डालकर मुझे cryptocurrency rich बना दो
    भविष्य इस दिशा में जा रहा है कि computer इस्तेमाल करने वाला इंसान ही बेवकूफ बनेगा। असली दौलत किसी भी काम के लिए computer को न छूना है