ego (lite) is just a browser, ego is your personal agent across devices.
Join waitlist
हिन्दी

Snapshot

Agent web page को structured snapshot की तरह कैसे पढ़ता है, और @N references कैसे काम करते हैं।

llms.txt

Snapshot ही वह तरीका है जिससे agent web page पढ़ता है। यह मौजूदा page को संक्षिप्त, संरचित text में बदल देता है, और बटन, input, link जैसे interactive elements को अस्थायी numbers (@1, @2, ...) देता है। Agent पूरा raw HTML पढ़ने या screen coordinates का अंदाज़ा लगाने के बजाय इस snapshot से तय करता है कि अगला कदम क्या होगा।

यह क्या हल करता है

व्यक्ति के लिए web page एक दृश्य interface है। Agent के लिए यह दसियों हज़ार token का HTML, scripts, styles और dynamic state है। उसे सीधे LLM में डालने पर दो आम लागतें होती हैं:

  • Token की लागत बहुत होती है। एक सामान्य admin page 30k token का हो सकता है, और हर action से पहले फिर से पढ़ना पड़ता है।
  • मुख्य बात पकड़ में नहीं आती। पूरे DOM का बड़ा हिस्सा (styles, scripts, hidden nodes) निर्णय से संबंधित नहीं होता, बल्कि उल्टा भ्रम पैदा करता है।

Snapshot browser के accessibility tree—यानी वह semantic view जो browser screen readers के लिए रखता है—पर आधारित है, और page को कुछ सौ token तक सिकोड़ देता है:

  • Page का title और मौजूदा URL।
  • दिखाई दे रहा text और मुख्य structure।
  • Clickable, fillable और selectable interactive elements, उनके roles और names के साथ।
  • हर interactive element के लिए एक अस्थायी @N

इतना काफ़ी है कि agent तय कर ले कि कौन-सा button दबाना है और किस field में क्या भरना है—raw HTML और screen coordinates के बिना।

@N references कैसे काम करते हैं

Snapshot में हर interactive element को एक अस्थायी नंबर मिलता है:

@1 [input]  "खोजें"
@2 [button] "जमा करें"
@3 [link]   "अगला पन्ना"

Agent इन्हीं नंबरों पर action करता है, जैसे await click('@2')

@N केवल मौजूदा snapshot के लिए मान्य होता है। Page बदलने पर (navigation, refresh, dialog, form submit, tab switch, dynamic re-render) पुराने नंबर शायद कहीं नहीं इशारा करते। भरोसेमंद आदत यह है कि बदलाव के बाद नया snapshot लें, पुराने @N को लंबे समय तक संभाल कर न रखें।

अगर किसी element को कई steps में स्थिर रूप से refer करना हो, तो snapshot output में आने वाले loc=... को stable selector की तरह इस्तेमाल करें, या सीधे CSS selector लिखें। देखें ego-browser

Snapshot आपको कब महसूस होगा

अधिकांश समय आप snapshot को हाथ नहीं लगाते—agent खुद पढ़ता है। दो स्थितियों में आप उसे देख सकते हैं:

  1. Agent कहे "snapshot दुबारा लो" या "page snapshot"—मतलब उसने page में बदलाव देखा है और मौजूदा state फिर से पढ़ रहा है।
  2. Task result में सबूत के तौर पर snapshot का कोई हिस्सा शामिल हो।

Agent को task कैसे बताएँ

Snapshot की वजह से agent page स्पष्ट देख पाता है, लेकिन task की सीमाएँ आप ही तय करते हैं। एक अच्छा task description इसमें होता है:

  • Target page या site।
  • क्या पढ़ना, भरना, click करना या download करना है।
  • क्या नहीं करना है (delete, publish, payment, email भेजना आदि)।
  • Captcha, payment, authorization मिलने पर रुकना है या नहीं।
  • अपेक्षित return form (table, summary, screenshot, local file path)।

उदाहरण:

मेरे GitHub Notifications खोलो, मेरी review का इंतज़ार कर रहे PR छाँटो, और repo name, title, link सूचीबद्ध करो।
Archive मत करो, read mark मत करो।
Backend के orders page पर जाओ, कल के orders filter करो, और CSV download करो।
Login verification या export confirmation आए तो रुक जाना, मुझे बताना और बताना कि file कहाँ saved है।

Agent के result की पुष्टि

Task पूरा होने पर इन संकेतों से अंदाज़ा लगाया जा सकता है कि agent ने सही किया या नहीं:

  • क्या उसने उन pages और मुख्य actions का ज़िक्र किया जो उसने किए?
  • क्या return में सत्यापन-योग्य information है (titles, IDs, links, amounts, time)?
  • Download वाले task में क्या local file path दिया गया?
  • Modify या submit वाले tasks में क्या अंतिम confirmation से पहले रुका?
  • क्या Space में संबंधित page अब भी खुला है ताकि देखा जा सके?

अगर result सही न लगे, agent से पिछले उत्तर के आधार पर अनुमान जारी रखने की बजाय मौजूदा page का snapshot दुबारा लेने को कहें।

आम सवाल

Agent क्यों कहता है कि reference अमान्य है?

पिछले snapshot के बाद page बदल चुका है। उसे एक नया snapshot लेने को कहें।

क्या Snapshot सब कुछ पढ़ सकता है?

ज़रूरी नहीं। पर्दे से बाहर का content, images में लिखा text, जटिल canvas, restricted cross-origin iframes snapshot में पूरी तरह नहीं आ सकते। ऐसे मामलों में agent को screenshot, text extraction या मानवीय पुष्टि के साथ मिलाना पड़ सकता है।

क्या Snapshot data बदलता है?

नहीं। Snapshot सिर्फ़ page की structure पढ़ता है। असल में page state बदलने वाले काम बाद में होते हैं—click, fill, submit, upload, delete वग़ैरह।

क्या मुझे @1, @2 याद रखने हैं?

नहीं। उन्हें "मौजूदा page के अस्थायी element numbers" समझिए। Agent उनका उपयोग करता है; आप goal और सीमाएँ साफ़ करते हैं।