मी १,००० ओळींचा Python कोड ५०० शब्दांच्या प्रॉम्प्टने बदलला
माझे डॉक्युमेंटेशन विकी (documentation wiki) पूर्णपणे विस्कळीत होते. पानांना कोणतेही टॅग्स नव्हते. पुस्तके चुकीच्या कपाटांमध्ये ठेवली होती. मेटाडेटा (Metadata) जुना झाला होता. मी नियम लिहिण्याचा प्रयत्न केला, पण ते लागू करण्यासाठी माझ्याकडे वेळ नव्हता.
हे सुधारण्यासाठी मी एक AI एजंट तयार करण्याचा प्रयत्न केला.
व्हर्जन १ (Version 1) ही एक Python सर्व्हिस होती. मी १,००० ओळींचा कोड लिहिला. मी एक रूल इंजिन (rule engine), API wrapper आणि retry logic तयार केले. ते अपयशी ठरले. प्रत्येक वेळी ते रन झाल्यावर पैसे खर्च होत होते. इतकेच नाही तर, त्याने माझ्या स्वतःच्या कोडमध्येच बग्स (bugs) लपवले.
मला जाणवले की मी अशी साधने पुन्हा तयार करत होतो ज्यासाठी मी आधीच पैसे दिले होते.
व्हर्जन २ (Version 2) वेगळे आहे. मी एक साधा Kubernetes CronJob वापरतो. कंटेनर (container) एक कमांड-लाइन AI टूल चालवतो. सर्व लॉजिक ५०० शब्दांच्या प्रॉम्प्टमध्ये आहे.
ही मांडणी अधिक चांगली काम करते कारण:
• प्रत्येक रनसाठी शून्य खर्च येतो. महागड्या API keys ऐवजी ते माझ्या सध्याच्या सबस्क्रिप्शनचा वापर करते. • हे अधिक चांगल्या प्रकारे निर्णय घेते. गोंधळात टाकणारे बदल करण्याऐवजी, ते संभाव्य समस्यांकडे माझे लक्ष वेधते. • याचे व्यवस्थापन करणे सोपे आहे. माझा कोड १,००० ओळींवरून फक्त ५० ओळींच्या shell script मध्ये रूपांतरित झाला.
AI ला सुरक्षितपणे write access कसे द्यावे:
- दोन स्तरांची (lanes) कृती वापरा. टियर १ (Tier 1) हा स्पेलिंगच्या चुका सुधारण्यासारख्या स्पष्ट दुरुस्त्यांसाठी आहे. टियर २ (Tier 2) हा निर्णयात्मक कामांसाठी आहे. टियर २ साठी, एजंट फक्त बदलाचा सल्ला देतो. तो डेटाला कधीही स्पर्श करत नाही.
- स्व-पुनरावलोकनासाठी (self-review) भाग पाडा. प्रॉम्प्ट एजंटला विचारण्यास सांगतो: "या बदलाला एखादा माणूस विरोध करेल का?" जर उत्तर 'हो' असेल, तर एजंट थांबतो.
- 'Undo' बटणांवर अवलंबून राहा. ही पद्धत फक्त व्हर्जन हिस्ट्री (version history) असलेल्या सिस्टमवरच वापरा. जर एजंटकडून चूक झाली, तर एका क्लिकवर ती सुधारता येते. कडक परवानग्यांपेक्षा (strict permissions) बदल पूर्ववत करण्याची क्षमता (reversibility) अधिक महत्त्वाची आहे.
शिकलेले धडे:
- प्रॉम्प्ट्स हे कोड आहेत. तुमच्या प्रॉम्प्टला सॉफ्टवेअर मॉड्यूलप्रमाणे माना. ते Git मध्ये ठेवा आणि नियमितपणे त्याचे पुनरावलोकन करा.
- गुंतागुंतीच्या ऑर्केस्ट्रेशनचा (orchestration) विचार सोडून द्या. जर तुमचा कोड फक्त retries आणि routing हाताळत असेल, तर तुम्ही फक्त एक साचा (harness) तयार करत आहात. त्याऐवजी एक प्रॉम्प्ट आणि एक वेळापत्रक (schedule) वापरा.
- अर्थशास्त्र तुमच्या डिझाइनमध्ये बदल घडवते. जेव्हा रन करणे मोफत असते, तेव्हा लहान बदल ट्रॅक करण्यासाठी तुम्हाला गुंतागुंतीच्या कोडची गरज नसते. तुम्ही फक्त सर्व काही पुन्हा स्कॅन करू शकता.
विकी आता स्वच्छ आहे. लायब्रेरियन (librarian) कधीही झोपत नाही आणि मला कधीही बिल पाठवत नाही.
Source: https://dev.to/saltxd/i-replaced-1000-lines-of-python-with-a-500-word-prompt-29ao
Optional learning community: https://t.me/GyaanSetuAi
