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

वह भंडारण की समस्या है, और इसे पहले हल करना होगा। आपको एक राज्य परत की आवश्यकता है जहां प्रत्येक एजेंट अवलोकन लिख सके और प्रत्येक एजेंट संदर्भ के लिए क्वेरी कर सके। तथ्यों को सत्रों, उपकरणों और मशीनों पर कायम रहना होगा। पुनर्प्राप्ति को इस बात की परवाह किए बिना काम करना होगा कि डेटा किस एजेंट ने लिखा है या कब लिखा है। [नियोटोमा](/पोस्ट/ट्रुथ-लेयर-एजेंट-मेमोरी) इसे हल करने के लिए मौजूद है: एक स्कीमा-अज्ञेयवादी सब्सट्रेट जो आपके संपूर्ण एजेंट स्टैक में सत्य को संग्रहीत करता है, परोसता है और आपको उससे पूछताछ करने देता है।

लेकिन एक बार जब भंडारण काम करने लगता है, तो आप दूसरी दीवार से टकराते हैं। जब एक एजेंट कोई नया अवलोकन लिखता है, तो अन्य एजेंटों को इसके बारे में तब तक पता नहीं चलता जब तक वे जाँच नहीं करते। "चेक" का अर्थ है मतदान: अंतराल पर, सत्र शुरू होने पर, या मैन्युअल ट्रिगर पर पुन: पूछताछ करना। उनमें से अधिकांश सर्वेक्षण कुछ भी नहीं लौटाते। जो मायने रखते हैं वे मिनटों या घंटों की देरी से पहुंचते हैं। "राज्य बदल गया" और "एजेंट नोटिस" के बीच का अंतर ख़त्म हो चुका है, और यह एक सीमा बनाता है कि एजेंट एक साथ क्या कर सकते हैं।

यह कोई पुनर्प्राप्ति समस्या नहीं है. डेटा वहाँ है. यह बुनियादी ढांचे के स्तर पर एक समन्वय समस्या है, और मैंने देखा है कि प्रत्येक होमब्रू मेमोरी सिस्टम इसे उसी तरह से संभालता है: ऐसा नहीं है।

## समन्वय छत

मतदान-आधारित समन्वय की तीन लागतें होती हैं जो पैमाने के साथ जुड़ती हैं।

**विलंबता।** किसी स्थिति में बदलाव और एजेंट को इसके बारे में पता चलने के बीच का अंतराल मतदान आवृत्ति द्वारा सीमित होता है। यदि कोई एजेंट हर पांच मिनट में जांच करता है, तो एक महत्वपूर्ण अवलोकन चार मिनट और उनसठ सेकंड तक किसी का ध्यान नहीं जा सकता है। समय-संवेदनशील स्थिति पर समन्वय करने वाले एजेंटों के लिए, जैसे कि एक बग रिपोर्ट जो अभी सबमिट की गई है या एक वित्तीय लेनदेन जिसमें समाधान की आवश्यकता है, वह विलंबता बाधा है।

**व्यर्थ गणना।** अधिकांश सर्वेक्षण कोई परिवर्तन नहीं लौटाते। एक एजेंट जो पूरे कार्यदिवस में हर तीस सेकंड में जांच करता है, लगभग एक हजार प्रश्न करता है, जिनमें से अधिकांश पुष्टि करते हैं कि कुछ भी नहीं हुआ। यह एक एजेंट के लिए सहनीय है. दस एजेंटों पर, यह एक कर है। सौ पर, यह बुनियादी ढांचा ओवरहेड है जो बिना किसी मूल्य के रैखिक रूप से बढ़ता है।

**समन्वय सीमा।** विलंबता और अपशिष्ट का संयोजन सहयोगी एजेंट व्यवहार पर एक व्यावहारिक सीमा बनाता है। पैटर्न जो घटना-संचालित जागरूकता के साथ स्वाभाविक होंगे, जैसे "एजेंट बी सेकंड के भीतर एजेंट ए के लेखन पर प्रतिक्रिया करता है," कस्टम गोंद की आवश्यकता होती है: टाइमर, वेबहुक हैक, मैनुअल ट्रिगर, या समर्पित पोलिंग डेमॉन जिन्हें स्वयं रखरखाव की आवश्यकता होती है। आप जो समन्वय पैटर्न चाहते हैं वह सीधा है। उन्हें मतदान के साथ काम कराने के लिए पाइपलाइन नहीं है।

यदि आपने मल्टी-एजेंट स्टैक बनाया है, तो आप इस दीवार से टकरा गए हैं। राज्य परत सत्य को विश्वसनीय रूप से संग्रहीत करती है। यह उस सत्य में परिवर्तन के बारे में चुप रहता है।

## सिग्नलिंग का क्या मतलब है

समाधान अवधारणा में सीधा है। प्रत्येक लेखन के बाद, राज्य परत एक संरचित घटना का उत्सर्जन करती है जो बताती है कि क्या परिवर्तन हुआ है। पंजीकृत उपभोक्ता, एजेंट, डेमॉन, सहकर्मी उदाहरण, घटना प्राप्त करते हैं और तय करते हैं कि इसके बारे में क्या करना है। राज्य परत संकेत भेजती है। उपभोक्ता प्रतिक्रिया तय करता है।

यह सिस्टम में एक मानक आदिम है जो बड़े पैमाने पर स्थिति को संभालता है। PostgreSQL वाल प्रविष्टियाँ उत्सर्जित करता है और सुनें/सूचित करें का समर्थन करता है। कोई भी यह दावा नहीं करता कि जब PostgreSQL ऐसा करता है तो वह "अभिनय" कर रहा होता है। यह अपने स्वयं के राज्य परिवर्तनों में अवलोकन प्रदान करता है। काफ्का जैसा संदेश दलाल एक अलग पैमाने पर एक ही काम करता है। राज्य प्रणाली रिपोर्ट करती है कि क्या हुआ। डाउनस्ट्रीम उपभोक्ता फ़िल्टर करते हैं, प्राथमिकता देते हैं और कार्य करते हैं। रिपोर्टिंग परत घटनाओं के बारे में तर्क नहीं करती. यह जलता है और भूल जाता है।

जैविक सादृश्य यहाँ उपयोगी है। तंत्रिका तंत्र संग्रह और संकेत दोनों करता है। मस्तिष्क स्मृति रखता है. संवेदी न्यूरॉन्स जो कुछ बदला है उसके बारे में जागरूकता संचारित करते हैं। कोई भी एक मांसपेशी को हिलाने का निर्णय नहीं लेता। मोटर प्रणाली कार्य करती है। एक राज्य परत जो सत्य को संग्रहीत करती है और परिवर्तनों का संकेत देती है वह मस्तिष्क और संवेदी तंत्रिकाएं हैं। एजेंट जो निर्णय लेते हैं कि उन संकेतों के बारे में क्या करना है वे मोटर सिस्टम हैं।

## जिस रेखा पर रहना है

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

उस लाइन को रहना होगा.

सिग्नलिंग क्या है:

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

सिग्नलिंग क्या नहीं है:

- **निर्णय लेने वाला नहीं।** सब्सट्रेट फ़िल्टर नहीं करता है कि कौन से ईवेंट भेजने लायक हैं। यह उन सभी को उत्सर्जित करता है। उपभोक्ता फ़िल्टर करते हैं.
- **एजेंट व्यवहार नहीं।** सब्सट्रेट अपनी स्वयं की घटनाओं की सदस्यता नहीं लेता है। यह लूप नहीं चलाता. इसका कोई मतलब नहीं है.
- **ऑर्केस्ट्रेशन नहीं।** कोई प्राथमिकता नहीं, कोई शेड्यूलिंग नहीं, कोई सशर्त रूटिंग नहीं। डेमॉन जो घटनाओं को संसाधित करते हैं और कार्रवाई करते हैं, वे ऑपरेशनल-लेयर उपभोक्ता हैं, सब्सट्रेट का हिस्सा नहीं।

परीक्षण साफ़ है. यदि घटना उत्सर्जन को हटाने का मतलब यह होगा कि सब्सट्रेट की अपनी अवस्था परिवर्तन में कम अवलोकन क्षमता है, तो यह एक सब्सट्रेट आदिम है। यदि इसे हटाने का मतलब यह होगा कि उपयोगकर्ता अनुस्मारक चूक गया या एजेंट समय सीमा चूक गया, तो यह रणनीति है।

## परिष्कृत सीमा

पुरानी सीमा: सब्सट्रेट सत्य को संग्रहीत करता है और परोसता है।

नई सीमा: सब्सट्रेट सत्य को संग्रहीत करता है, परोसता है और संकेत देता है। जब सत्य बदलता है, तो सब्सट्रेट परिवर्तन की रिपोर्ट करता है। आगे क्या होगा यह उपभोक्ता की जिम्मेदारी है।

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

शब्दावली मायने रखती है. "सूचित करें" या "चेतावनी" के बजाय "सिग्नल" और "उत्सर्जित करें"। अधिसूचना का तात्पर्य महत्व के बारे में निर्णय से है। चेतावनी का तात्पर्य तत्काल मूल्यांकन से है। सिग्नल न्यूट्रल है. सब्सट्रेट संकेत. उपभोक्ता व्याख्या करता है।

यह स्पष्ट होना ज़रूरी है कि इस तस्वीर में रणनीति कहाँ रहती है। योजनाएँ, स्थायी नियम, प्राथमिकताएँ और पूर्व निर्णय स्वयं राज्य हैं। वे किसी भी अन्य की तरह सब्सट्रेट में संग्रहीत इकाइयाँ हैं, पूछताछ की जाती है और कम की जाती है और उसी तरह संकेत दिया जाता है। वे किसी अलग परत में नहीं चल रहे हैं. सीमा "रणनीति किसी अन्य प्रणाली में रहती है" और "राज्य सब्सट्रेट में रहता है" के बीच नहीं है। यह "सब्सट्रेट भंडार और सिग्नल" और "उपभोक्ता जो पढ़ते हैं उस पर निर्णय लेते हैं और कार्य करते हैं" के बीच है। यह रणनीति कलाकृतियों को निरीक्षण योग्य, पुन: प्रयोज्य बनाए रखता है, और उन्हें पढ़ने वाले प्रत्येक उपभोक्ता के बीच साझा किया जाता है, बिना निर्णय लेने में सब्सट्रेट को खींचे।

## याददाश्त से लेकर तंत्रिका तंत्र तक

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

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

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

इसके विरुद्ध निर्णय करने का सही मानक राज्य की अखंडता है, न कि पुनर्प्राप्ति गुणवत्ता। मेमोरी का मूल्यांकन इस बात से किया जाता है कि आप इसे वापस क्वेरी कर सकते हैं या नहीं। तंत्रिका तंत्र का मूल्यांकन इस आधार पर किया जाता है कि क्या बाकी तंत्र उस समय परिवर्तन पर कार्य कर सकता है जब परिवर्तन टिकाऊ होता है, न कि मिनटों बाद जब कुछ पूछने के लिए आता है। ये अलग-अलग विफलता मोड वाली अलग-अलग समस्याएं हैं।

जैविक फ़्रेमिंग सटीक है, सजावटी नहीं। संवेदी तंत्रिकाओं के बिना एक मस्तिष्क यादों को पूरी तरह से संग्रहीत कर सकता है और फिर भी पर्यावरण पर प्रतिक्रिया करने में असमर्थ हो सकता है। गायब टुकड़ा भंडारण नहीं है. यह क्या बदला है और इसके बारे में क्या जानने की जरूरत है, के बीच का संकेत मार्ग है। यह वह टुकड़ा है जिसे आप हाथ से बनाते हैं, एक समय में एक पोलिंग लूप, जब तक कि यह स्पष्ट न हो जाए कि यह सब्सट्रेट में है।

## यह क्या खोलता है

यदि आप साझा स्थिति के विरुद्ध मल्टी-एजेंट स्टैक चला रहे हैं, तो विचार करें कि जब राज्य परत लिखने पर संकेत देती है तो क्या संभव हो जाता है।

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

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

**एजेंट जो सब्सट्रेट के माध्यम से एक दूसरे से बात कर सकते हैं।** एजेंट-टू-एजेंट संचार पहले से ही राज्य परत के माध्यम से काम करता है: वार्तालाप थ्रेडिंग, प्रेषक पहचान, मल्टी-पार्टी थ्रेड सिमेंटिक्स। जो चीज़ गायब है वह है धक्का। जब एजेंट ए एजेंट बी के लिए एक संदेश लिखता है, तो एजेंट बी को इसे खोजने के लिए मतदान नहीं करना चाहिए। सब्सट्रेट को लिखने पर संकेत देना चाहिए ताकि बातचीत प्रसंस्करण की गति से आगे बढ़े, न कि मतदान की गति से।

**एक्सेस नियंत्रण के साथ संरचित अतिथि सबमिशन।** किसी भी इकाई प्रकार, न कि केवल एक विशेष-केस प्रकार, को कॉन्फ़िगर करने योग्य एक्सेस नीतियों के साथ बाहरी सबमिशन के लिए खोला जा सकता है। एक ग्राहक का एजेंट संरचित फीडबैक प्रस्तुत करता है। एक भागीदार का स्वचालन समाधान के लिए डेटा प्रस्तुत करता है। सब्सट्रेट यह लागू करता है कि कौन क्या लिख ​​सकता है, बाहरी अभिनेता की उत्पत्ति को ट्रैक करता है, और अनुवर्ती बातचीत को थ्रेड करता है। सबमिशन टिकाऊ स्थिति है, कोई संदेश नहीं जो गायब हो जाए।

## अपने एजेंटों से परे

अब तक तो ऐसा लगता है जैसे सभी एजेंट आपके ही हैं। वे आपके संपादक, आपके क्रॉन जॉब्स, आपके लैपटॉप में बैठते हैं। यह आसान मामला है. यह पूरी तस्वीर नहीं है.

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

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

सिग्नलिंग से तस्वीर पूरी होती है. एक उपग्रह उदाहरण जो लिखने पर घटनाओं का उत्सर्जन करता है, आपके केंद्रीय उपभोक्ताओं को वही आदिम देता है जिस पर वे पहले से ही स्थानीय रूप से भरोसा करते हैं। आखिरकार, दो उदाहरण द्विदिश रूप से सिंक हो सकते हैं: जब कोई इकाई उदाहरण ए पर बदलती है, तो उदाहरण बी को सूचित किया जाता है और मैन्युअल हस्तक्षेप के बिना अद्यतन खींच सकता है। किसी सेंट्रल हब की आवश्यकता नहीं. कोई भी उदाहरण सहकर्मी हो सकता है.

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

## मैं क्या निर्माण कर रहा हूं

मैं इन क्षमताओं को क्रम से [नियोटोमा](/पोस्ट/ट्रुथ-लेयर-एजेंट-मेमोरी) में जोड़ रहा हूं, प्रत्येक भवन पिछले।

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

**सदस्यता और वेबहुक डिलीवरी।** एजेंट एक दायरे में रुचि दर्ज करते हैं और एक डिलीवरी एंडपॉइंट प्रदान करते हैं। सब्सट्रेट रजिस्ट्री को बनाए रखता है और वेबहुक कॉलबैक और एसएसई के माध्यम से ईवेंट वितरित करता है। उपभोक्ता तर्क रखता है. वेबहुक पहले आते हैं क्योंकि वे वीपीएस इंफ्रास्ट्रक्चर पर रिमोट एजेंटों, आपके लैपटॉप पर स्थानीय डेमॉन और साथियों के बीच क्रॉस-इंस्टेंस सिंक के लिए काम करते हैं। एसएसई और एमसीपी पुश नोटिफिकेशन एडिटिव हैं।

**सामान्यीकृत इकाई सबमिशन।** अभी, संरचित बाहरी सबमिशन (अतिथि पहुंच, पहुंच नीतियां, वार्तालाप थ्रेडिंग, बाहरी अभिनेता उत्पत्ति) मौजूद हैं लेकिन एक एकल इकाई प्रकार से जुड़े हुए हैं। अगला चरण इस इकाई-प्रकार-अज्ञेयवादी को बनाना है: किसी भी इकाई प्रकार को कॉन्फ़िगर करने योग्य पहुंच नीतियों, वैकल्पिक बाहरी दर्पण और वार्तालाप थ्रेडिंग के साथ अतिथि सबमिशन के लिए खोला जा सकता है। ग्राहक का एजेंट संरचित डेटा प्रस्तुत करता है। एक भागीदार का स्वचालन फीडबैक सबमिट करता है। सब्सट्रेट अभिगम नियंत्रण और उद्गम को संभालता है। ऑपरेटर कॉन्फ़िगर करता है कि क्या खुला है और क्या नहीं।

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

इनमें से कोई भी "तंत्रिका तंत्र" क्या हो सकता है इसका सबसे महत्वाकांक्षी संस्करण नहीं है। रूटिंग, फ़िल्टरिंग, ट्रांसफ़ॉर्मेशन, डिलीवरी गारंटी, डेड-लेटर कतारें: संदेश दलाल यह सब प्रदान करते हैं। मैं जानबूझकर इसका कोई निर्माण नहीं कर रहा हूं। सब्सट्रेट का काम संकेत देना है, व्यवस्थित करना नहीं। प्रत्येक विशेषता जो उस रेखा को पार करती है, राज्य परिवर्तन के तटस्थ रिपोर्टर के रूप में सब्सट्रेट को कम भरोसेमंद बनाती है।

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