AI आर्किटेक्चर तयार करण्याचा योग्य मार्ग

मला वाटायचे की माझ्या AI असिस्टंटला अधिक हुशार बनवण्यासाठी त्याच लूपमध्ये अधिक टूल्स जोडणे आवश्यक आहे. काही काळ ते काम करत होते. पण त्यानंतर माझ्या असिस्टंटला चॅटमधून एखादे काम पुढे नेणे, स्टेटसबद्दलचा प्रश्न विचारणे किंवा वर्कफ्लो लक्षात ठेवणे यांसारखी सामान्य युजर टास्क पूर्ण करणे आवश्यक झाले.

समस्या ही नव्हती की माझा असिस्टंट किती टूल्स वापरू शकतो, तर समस्या त्याच्या आर्किटेक्चरमध्ये होती. जुने आर्किटेक्चर साधे होते: युजर मेसेज -> असिस्टंट लूप -> टूल्स -> उत्तर. हे डेमोसाठी ठीक आहे, पण रेसिडेंट असिस्टंटसाठी नाही.

रेसिडेंट असिस्टंटला एखादा मेसेज नवीन टास्क आहे, फॉलो-अप आहे की कॅन्सेलेशन आहे, हे समजणे आवश्यक असते. त्याने दुसऱ्या टास्कचा डेस्कटॉप हिरावून घेणे टाळले पाहिजे आणि जुन्या ट्रान्सक्रिप्ट्सचा वापर न करता प्रक्रिया लक्षात ठेवल्या पाहिजेत.

म्हणून मी माझ्या असिस्टंटकडे एक एजंट म्हणून पाहणे थांबवले आणि त्याला एक लोकल कंट्रोल प्लेन (local control plane) म्हणून मानण्यास सुरुवात केली. आता माझे आर्किटेक्चर असे दिसते:

माझ्याकडे एक Observation Plane आणि एक Memory / Policy Plane देखील आहे. हे प्लेन्स माझ्या असिस्टंटला स्थिर राहण्यास आणि त्याच्या कामावर लक्ष केंद्रित करण्यास मदत करतात.

सर्वात मोठी सुधारणा तेव्हा झाली जेव्हा मी माझ्या असिस्टंटला रॉ लॉग्स (raw logs) ऐवजी ऑब्झर्व्हेशन्स (observations) वापरण्यास सुरुवात केली. यामुळे माझ्या असिस्टंटला मोठा ट्रान्सक्रिप्ट वाचण्याऐवजी "Task X च्या मंजुरीची प्रतीक्षा आहे" यासारखे संक्षिप्त तथ्य पाहण्यास मदत होते.

मी शिकलो की "लक्षात ठेवणे" म्हणजे प्रॉम्प्टमध्ये अधिक चॅट हिस्ट्री भरणे असे नाही. माझ्या असिस्टंटसाठी, मेमरी ही फाईल-आधारित आणि स्कोपड (scoped) आहे. ते एखादा वर्कफ्लो, तथ्य किंवा संदर्भ साठवू शकते आणि आवश्यकतेनुसार तो पुन्हा आठवू शकते.

जर तुम्ही अस्तित्वात असलेल्या टूल्सभोवती एजंट्स तयार करत असाल, तर तुम्ही सर्व काही एकाच लूपमध्ये टाकत आहात, की तुम्ही कंट्रोल, एक्झिक्यूशन, ऑब्झर्व्हेशन आणि मेमरी देखील वेगळे करण्यास सुरुवात केली आहे? Source: https://dev.to/codekingai/my-ai-assistant-needed-a-control-plane-not-a-bigger-loop-15aa Optional learning community: https://t.me/GyaanSetuAi