अध्याय 8

स्वीकृतियाँ और भरोसा

यह तय करना कि एजेंट अपने आप क्या कर सकता है, क्या किसी इंसानी क्लिक का इंतज़ार करता है, और बाद में यह कैसे जाँचें कि असल में क्या हुआ।

सभी अध्याय

दो अलग-अलग सवाल

Olano में निगरानी दो स्वतंत्र सवालों का जवाब देती है, और उन्हें अलग-अलग रखने से सेटिंग्स को समझना बहुत आसान हो जाता है।

  1. किन कार्रवाइयों को स्वीकृति चाहिए? एक स्थायी, प्रति-एजेंट फ़ैसला, जो एक प्रोफ़ाइल, कुछ टॉगल, और वैकल्पिक टूल-स्तरीय ओवरराइड से बनता है।
  2. जब कोई सामने आए तो क्या होता है? अगर कोई इंसान बातचीत देख रहा हो तो एक इनलाइन कार्ड, या अगर वह मोड़ बिना निगरानी के चल रहा था तो स्वीकृति इनबॉक्स में एक कतारबद्ध आइटम।

भरोसे के स्तर 0-4

हर एजेंट के पास एक ट्रस्ट लेवल होता है जो बताता है कि उसे कितनी स्वायत्तता दी गई है। नए एजेंट के लिए डिफ़ॉल्ट लेवल 2 है।

लेवलनामयह क्या कर सकता है
0पर्यवेक्षकसिर्फ़ पढ़ना। यह देख सकता है और सुझा सकता है, पर बदलता कुछ नहीं।
1सहायकअपनी मेमोरी और लॉग में लिख सकता है। अपने बाहर अब भी कुछ नहीं छूता।
2सहयोगीवर्कस्पेस की फ़ाइलें बना और संपादित कर सकता है, और अपने कॉन्फ़िगर किए गए वातावरण में कमांड चला सकता है।
3स्वायत्तपूरे वर्कस्पेस तक पहुँच, और कम-जोखिम मानी गई कार्रवाइयाँ अपने आप मंज़ूर।
4डेवलपरसबसे व्यापक सेटिंग, जिसमें स्थानीय शेल एक्सेस भी शामिल है, और ज़्यादातर कार्रवाइयों को अपने आप मंज़ूर कर देता है। यह विकास के लिए है, ग्राहकों के सामने वाले एजेंट के लिए नहीं।
हमेशा लागू

जोख़िम भरे काम हर ट्रस्ट लेवल पर किसी इंसान की माँग करते हैं। लेवल 4 का मतलब यह नहीं कि “कभी कोई स्वीकृति नहीं” - वह बस यह बढ़ाता है कि क्या नियमित गिना जाए, न कि क्या ख़तरनाक गिना जाए।

श्रेणी-वार मंज़ूरी के गेट

वह निगरानी किसी एजेंट के Overview टैब पर मौजूद कार्ड एक मोडस्लाइडर से आधार तय करता है, और हर मोड स्वीकृति सेट में कार्रवाइयों की एक श्रेणी जोड़ता है:

मोडस्वीकृति के लिए रोका जाता है
भरोसेमंदवित्तीय कार्रवाइयाँ और सीक्रेट लिखना।
निगरानी मेंऊपर वाला सब, साथ ही बाहरी सिस्टम में लिखना, शेल कमांड, और सीक्रेट पढ़ना।
पूरी तरह बंदऊपर बताया गया सब कुछ, साथ ही फ़ाइल-सिस्टम में लेखन और किसी सबएजेंट को काम सौंपना।

आपने जो भी मोड चुना हो, उस पर दो टॉगल परत की तरह चढ़ते हैं: लेखन कार्रवाई से पहले पूछें बाहरी लेखन जोड़ता है, और शेल कमांड से पहले पूछें शेल जोड़ता है। इन्हें तब इस्तेमाल करें जब आपको भरोसेमंद प्रोफ़ाइल की सामान्य ढील चाहिए, लेकिन किसी एक ख़ास श्रेणी के लिए नहीं।

इन सबसे ऊपर हर-टूल आधारित ओवरराइड है। एजेंट के टूल्स -टैब में समेटा गया स्वीकृति ओवरराइड (एडवांस्ड) हिस्सा हर चुने गए टूल को उसकी असल स्थिति के साथ सूचीबद्ध करता है, और एक Default / हमेशा पूछें / कभी न पूछें नियंत्रण। यह सेटिंग प्रोफ़ाइल और टॉगल दोनों पर भारी पड़ती है - इसी से आप किसी और तरह से भरोसेमंद एजेंट में भी किसी एक ख़तरनाक टूल को हमेशा पूछने पर मजबूर कर सकते हैं - या उलटा, किसी ऐसे टूल के लिए जिसे आप सौ बार देख चुके हैं।

इसी कार्ड में स्कैनिंग टॉगल भी होते हैं: आने-जाने वाले टेक्स्ट में व्यक्तिगत जानकारी जाँचना, और उत्तरों से गुप्त जानकारी छुपाना। ये स्वीकृतियों से अलग, स्वतंत्र रूप से चलते हैं।

किसी स्वीकृति का जवाब देना

जब कोई इंसान देख रहा हो, तो अनुरोध बातचीत के भीतर ही एक कार्ड के रूप में दिखता है, जिस पर जोखिम-बैज और तीन बटन होते हैं: एक बार स्वीकार करें, सब स्वीकार करें (जो उस टर्न के बाक़ी हिस्से को अपने आप स्वीकृत कर देता है) और अस्वीकार करें। बिना जवाब वाला कार्ड समय सीमा के बाद अपने आप ख़ारिज मान लिया जाता है, इसलिए भुला दी गई बातचीत किसी कार्रवाई को अनंत काल तक लंबित नहीं छोड़ती।

चैट के हेडर में मोड वाली चिप एजेंट की स्थायी सेटिंग को उस एक बातचीत के लिए बदल देती है:

  • ऑटो - इस सत्र के हर टूल-कॉल को मंज़ूर करता है। कोई कार्ड नहीं।
  • मैनुअल - हर सीमा-बद्ध टूल से पहले पूछता है।
  • प्लान - एजेंट से पहले एक योजना बनवाता है। वह योजना एक स्वीकृत करें और चलाएँ बटन के साथ दिखती है; उसे और बेहतर बनाने के लिए, Plan में रहते हुए ही एक और संदेश टाइप कर दीजिए।
  • निष्पादन - सब कुछ मंज़ूर करता है, ताकि अभी-अभी स्वीकृत की गई योजना को चलाया जा सके।

जब आप किसी एजेंट को नतीजों वाला काम पहली कुछ बार सौंप रहे हों, तब Plan इस्तेमाल करने लायक़ मोड है। इससे पहले कि कुछ भी हो, आप तय क्रम को पढ़ सकते हैं।

स्वीकृति इनबॉक्स

हर टर्न पर कोई देख नहीं रहा होता। जब कोई निर्धारित रन, कोई स्वायत्त चरण, या किसी और एजेंट से सौंपा गया काम किसी सीमा-बद्ध टूल पर पहुँचता है, तो वह कार्रवाई टाल दी जाती है और स्वीकृतियाँ हिस्से में, जो अवलोकन स्क्रीन में जाकर रुक जाती है।

हर आइटम टूल का नाम बताता है, जोखिम-बैज दिखाता है, और यह पहचानता है कि कॉल किस एजेंट से आया और किस रास्ते से आया। स्वीकृत करें रुके हुए टर्न को फिर से चालू करता है; अस्वीकार करें उसे ख़त्म कर देता है। साइडबार के Overview आइटम पर एक लाइव गिनती दिखती है, और वही गिनती सूचना-घंटी को भी चलाती है, इसलिए लंबित स्वीकृति डैशबोर्ड के किसी भी हिस्से से दिख जाती है।

सावधान

इनबॉक्स के आइटम किसी टर्न को खुला रखे हुए होते हैं। अगर कोई इनबॉक्स नहीं देखता, तो रात में रिपोर्ट भेजने वाला काम चलने के बजाय वहीं पड़ा रह जाता है। इसे उसी नियमित आदत के हिस्से के रूप में जाँचिए जो आप रोज़ की मुख्य बातों के लिए अपनाते हैं।

ऑडिट इतिहास

कई सतहें यह दर्ज करती हैं कि क्या हुआ, हर एक अलग सवाल का जवाब देती है।

कहाँजवाब देता है
संशोधनकॉन्फ़िगरेशन और कार्यक्षेत्र के दस्तावेज़ों में क्या बदला, कब बदला, और किस एजेंट के टर्न ने बदलाव किया। किसी एक फ़ाइल पर फ़िल्टर लगाकर उसका इतिहास देखिए, और किसी भी संस्करण को ठीक वैसा ही देखिए जैसा वह था।
Insights कार्य-डायरीकिसी दिए गए दिन क्या किया गया, हर एजेंट के हिसाब से, एक लिखे हुए विवरण और हर-एजेंट इस्तेमाल के साथ।
एजेंट से एजेंटएजेंटों के बीच का हर संदेश, माँग, जवाब और उसमें लगे समय के साथ।
Scheduler इतिहासहर निर्धारित रन सफल रहा या नाकाम।
Cortex गतिविधिसुधार के इंजन ने अपने आप क्या किया, हर बदलाव पर एक-क्लिक अनडू के साथ।
लॉगकच्चा रनटाइम लॉग, स्तर के हिसाब से फ़िल्टर करने लायक़ - वह जगह जहाँ देखें जब कुछ शुरू ही न हुआ हो।

Revisions वह हिस्सा है जिसे ज़रूरत पड़ने से पहले ही जान लेना अच्छा है। यह अपने आप दर्ज करता रहता है, और एक अभी स्नैपशॉट लें बटन लंबित बदलावों को तुरंत दर्ज कर देता है, जब आपने अभी-अभी कुछ बदला हो और चाहते हों कि रिकॉर्ड बिल्कुल सटीक रहे।

उपयोग की सीमाएँ

तीन अलग-अलग सीमाएँ किसी एजेंट की खपत को क़ाबू में रखती हैं।

  • संदेश दर की सीमाएँ। हर एजेंट के लिए, और चाहें तो हर चैनल के लिए भी, प्रति-मिनट, प्रति-घंटा और प्रति-दिन की खिड़कियों में। पूरी तैनाती का डिफ़ॉल्ट यहाँ सेट करें कॉन्फ़िग और उसे किसी भी एक एजेंट पर उसके दर सीमाएँ कार्ड से कस सकते हैं। सीमा पार होने पर संदेश मॉडल तक पहुँचता ही नहीं, और भेजने वाले को बताया जाता है कि थोड़ी देर बाद फिर कोशिश करें। निर्धारित और स्वायत्त काम इससे मुक्त है।
  • प्रति-टर्न सीमाएँ। वह पहुँच और सुरक्षा कार्ड यह सीमित करता है कि एक टर्न कितनी देर तक काम करता रह सकता है - एक इटरेशन बजट, साथ ही दोबारा-कोशिश की सीमाएँ - ताकि अटका हुआ एजेंट लूप में फँसने के बजाय रुक जाए।
  • रोज़ का रीज़निंग बजट। Cortex के पास महँगे स्वायत्त रन के लिए हर दिन की अपनी सीमा है; जब वह ख़त्म हो जाए, तो स्वायत्त चरण किसी सस्ते मॉडल पर चलने के बजाय अगले दिन तक टल जाते हैं। देखें अध्याय 7.

प्रबंधित तैनाती में, क्रेडिट का बैलेंस Overview और Insights में दिखता है, यह बाँटकर दिखाया जाता है कि क्या शामिल है और क्या ख़रीदा गया है, साथ ही एक मासिक रीसेट मीटर भी होता है - इसलिए खपत ऐसी चीज़ है जिसे आप देखते रहते हैं, अचानक पता नहीं चलती।

क्रेडेंशियल वॉल्ट

किसी एजेंट के इस्तेमाल का हर गुप्त कोड इसी एन्क्रिप्टेड Vault वॉल्ट में रहता है, और सिर्फ़ वहीं। ख़ासकर चैनल टोकन वॉल्ट के फ़ील्ड होते हैं, कॉन्फ़िगरेशन के फ़ील्ड नहीं: एजेंट की कॉन्फ़िगरेशन फ़ाइल क्रेडेंशियल को किसी भी रूप में नहीं बताती। टीम खाते चालू होने पर वॉल्ट सिर्फ़ प्रशासकों के लिए होता है।

हर गुप्त कोड साझा हो सकता है या सीमित। एक साझा प्रविष्टि हर एजेंट इस्तेमाल करता है; उसी नाम का एक एजेंट-विशेष ओवरराइड किसी एक एजेंट को उसका अपना मान दे देता है - ठीक इसी तरह दस Telegram बॉट, दस गढ़े हुए नामों के बजाय एक ही जाना-पहचाना क्रेडेंशियल नाम इस्तेमाल कर लेते हैं। एजेंट के वेरिएबल Vault टैब अपने ओवरराइड ख़ुद सँभालता है और यह उस एजेंट के मालिक के साथ-साथ प्रशासकों को भी उपलब्ध रहता है, जबकि पूरी तैनाती वाला वॉल्ट सिर्फ़ प्रशासकों के लिए ही रहता है।

मान कभी मॉडल को नहीं दिखाए जाते और कभी लॉग नहीं होते। जब आप किसी एक को बदलते हैं, तो टूलकिट के क्रेडेंशियल एजेंट के अगले टर्न से लागू होते हैं, जबकि मॉडल प्रदाता कुंजियाँ और चैनल टोकन बूट के समय पढ़े जाते हैं और उन्हें पुनः चालू करने की ज़रूरत होती है।

ध्यान दें

अगर वॉल्ट बंद है, तो जिन कनेक्टरों को कोई क्रेडेंशियल चाहिए वे शुरू नहीं होते, और Overview पर एक सूचना यह बताती है। उसे खोलने से वे एजेंट फिर से जुड़ पाते हैं। बंद वॉल्ट कभी भी सहेजा हुआ मान नहीं खोता - वह बस अभी उसे पढ़ नहीं पाता।