𝗖𝗼𝗱𝗲𝘅 𝗙𝗶𝘅𝗶𝗻𝗴 𝗖𝗼𝗱𝗲𝘅: 𝗔 𝗖𝗼𝗻𝘀𝗲𝗻𝘀𝘂𝘀 𝗟𝗼𝗼𝗽

मी असा एक एजंट लूप (agent loop) तयार केला आहे जो केवळ कोड सुचवण्यापेक्षा अधिक काम करतो. तो कोड लिहितो, त्याचे पुनरावलोकन (review) करतो आणि स्वतःचे पुल रिक्वेस्ट (pull requests) मर्ज करतो.

त्याची चाचणी घेण्यासाठी, मी हा लूप codex CLI च्या एका फोर्कवर (fork) केंद्रित केला. मी एजंट्सना सॉफ्टवेअर स्वतःहून दुरुस्त करण्याचा प्रयत्न करू दिला. हा एक शुद्ध प्रयोग आहे. या फोर्कला कोणतेही वापरकर्ते किंवा स्टार्स नाहीत. हे उत्पादनाबद्दल नसून यंत्रणेबद्दल (mechanism) आहे.

हा लूप कसा काम करतो ते खालीलप्रमाणे आहे:

  • Intake (स्वीकृती): एखादा अपस्ट्रीम बग (upstream bug) फोर्कमधील इश्यू (issue) बनतो. हा लूप केवळ लहान आणि तांत्रिक बग्स निवडतो जे तो पूर्ण करू शकतो.
  • Solvers Argue (सोलव्हर्समधील वाद): अनेक एजंट्स वेगवेगळ्या सुधारणा सुचवतात. एक सोलव्हर सर्वात लहान बदल हवा असे म्हणतो. दुसरा स्वच्छ रचना (clean structure) हवा असे म्हणतो. तिसरा कोड वाढवण्याऐवजी तो काढून टाकण्यास सांगतो. त्यांच्यात मतभेद होतात.
  • Judge Arbitrates (जजद्वारे मध्यस्थी): एक जज (judge) या वादाचे वाचन करतो. जर सोलव्हर्समध्ये सहमती नसेल, तर जज त्यांना पुन्हा पुढील फेऱ्यांसाठी पाठवतो. जज काही कल्पना का नाकारल्या, याचे कारणही नोंदवतो.
  • Implement and Merge (अंमलबजावणी आणि मर्ज): एकदा का एकमत झाले की, लूप पॅच (patch) लिहितो, चाचण्या (tests) चालवतो आणि PR उघडतो. जर चाचण्या यशस्वी झाल्या, तर तो स्वतःहून मर्ज करतो.

तुम्ही हे issue #34 मध्ये प्रत्यक्ष पाहू शकता. एजंट्सनी 'concurrency bug' वर वाद घातला. निर्णय घेण्यापूर्वी त्यांनी मध्यस्थीच्या तीन फेऱ्या पूर्ण केल्या. मानवाने कोडची एक ओळही न लिहिता, या लूपने एक वास्तविक सुधारणा आणि रिग्रेशन टेस्ट (regression test) तयार केली.

PR #16 मध्ये एक मनोरंजक निकाल समोर आला. लूपला कळवलेला बग पुन्हा तयार करता आला नाही. बनावट सुधारणा करण्याऐवजी, त्याने केवळ त्या वर्तनावर (behavior) लक्ष ठेवण्यासाठी एक टेस्ट जोडली आणि थांबले. जो लूप कधी पॅच (patch) करू नये हे ओळखतो, तो नेहमी 'diff' तयार करणाऱ्या लूपपेक्षा अधिक उपयुक्त असतो.

या लूपने आतापर्यंत सुमारे 16 PRs मर्ज केले आहेत. तो UTF-8 हँडलिंग आणि कमांड फिक्सेस सारखी लहान कामे हाताळतो. तो संपूर्ण कोडबेस मेंटेन करत नाही, परंतु लहान आणि मर्यादित बग्स सुरुवातीपासून शेवटपर्यंत सोडवतो.

नियम मानवांद्वारेच ठरवले जातात आणि कामाचे पुनरावलोकनही मानवांद्वारेच केले जाते. आम्ही अजूनही प्रत्येक PR तपासतो. कोड स्वयंचलित आहे, परंतु लक्ष मानवी आहे.

तुम्ही संपूर्ण प्रक्रिया GitHub वर पाहू शकता. वाद पाहण्यासाठी issue #34 आणि PR #37 पहा.

Source: https://dev.to/nwnwnw413/codex-fixing-codex-a-consensus-loop-that-argues-judges-and-merges-its-own-prs-11bh

ऐच्छिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi