OpenAI Agents SDKમાં જોડાણક્ષમ કોડ અમલીકરણ

OpenAI Agents SDKની પ્રારંભિક ઍક્સેસ દર્શાવે છે કે જોડાણક્ષમ સેન્ડબોક્સ દૂરસ્થ પ્રદાતાઓમાં કોડનું અમલીકરણ કેવી રીતે સરળ બનાવે છે.

કાર્યકારી સારાંશ

  • હળવી કાર્યપ્રણાલીઓ અને કોડ ચલાવતા એજન્ટ ખુલ્લી પ્રકૃતિનાં કાર્યો માટે વધુ યોગ્ય છે, કારણ કે અત્યંત કડક સંકલન મોડલની કામગીરી મર્યાદિત કરી શકે છે.

  • આ સાથે, કોડનું અમલીકરણ અને સેન્ડબોક્સિંગ હવે એજન્ટ-આધારિત સિસ્ટમોની રચનાનાં મુખ્ય પાસાં બન્યાં છે.

  • અમારા પરીક્ષણોમાં Agents SDKએ કોડ ચલાવતા એજન્ટ બનાવવા માટે જરૂરી જટિલતા અને કોડમાં છ ગણા સુધીનો ઘટાડો કર્યો છે.

લાંબા સમય સુધી એજન્ટ સિસ્ટમોની પ્રગતિ બહેતર સંકલનથી થઈ: વધુ સારા પ્રોમ્પ્ટ, સાધનોનાં ઇન્ટરફેસ, સંદર્ભનું સંચાલન અને વધુ ચુસ્ત નિયંત્રણ પ્રવાહ. પરંતુ કોડિંગ એજન્ટ વધુ સક્ષમ બનતાં હવે આ સંતુલન બદલાવા લાગ્યું છે.

ઘણી ખુલ્લી કાર્યપ્રવાહોમાં હવે અવરોધ એજન્ટ લૂપ નહીં, પરંતુ અમલીકરણ સ્તર છે: એવું સેન્ડબોક્સ જ્યાં મોડલ કોડ લખે, આદેશો ચલાવે, પરિણામો તપાસે અને સુધારા કરતું રહે. કાર્ય-સ્તરનું વધુ રিজনિંગ આ વાતાવરણમાં ખસતાં, આસપાસનું સંકલન સરળ બનવું જરૂરી છે, જેથી મોડલ પોતાની સંપૂર્ણ ક્ષમતા દર્શાવી શકે.

Agents SDKનું નવું સંસ્કરણ બરાબર આ જ પરિવર્તન શક્ય બનાવે છે. પ્રારંભિક ઍક્સેસ દરમિયાનના અમારા પરીક્ષણમાં જણાયું કે ફ્રેમવર્કના તર્કનું વધુ એક સ્તર ઉમેરવાને બદલે તે અમલીકરણ સ્તરને વધુ મોડ્યુલર અને સંયોજ્ય બનાવે છે, જેથી બાકીની સિસ્ટમ હળવી રહી શકે.

પરિવર્તન

કાર્યપ્રણાલી ઇજનેરીમાં કાર્યપ્રણાલીને તેના લઘુતમ અસરકારક સ્વરૂપ સુધી ઘટાડવાનો વલણ વધ્યું છે. વ્યાપક રીતે કહીએ તો, કાર્યપ્રણાલી એટલે મોડલની આસપાસનું સૉફ્ટવેર: એવું સ્તર જે સંદર્ભ, સાધનો, નિયંત્રણ પ્રવાહ અને પ્રતિસાદ ચક્રોનું સંચાલન કરે છે, જેથી મોડલ વિશ્વસનીય રીતે કામ કરી શકે.

છેલ્લાં કેટલાંક વર્ષોમાં એજન્ટની કામગીરીમાં થયેલા ઘણા સુધારા આ સ્તરને મજબૂત બનાવવાથી આવ્યા હતા. વધુ સારાં સાધનો, બહેતર સ્મૃતિ અને માહિતી પુનઃપ્રાપ્તિ, વધુ સ્પષ્ટ કાર્યવિભાજન તથા ચુસ્ત સંકલનથી સિસ્ટમો ઘણી વાર વધુ વિશ્વસનીય અને સક્ષમ બની. આ અભિગમમાં પ્રગતિનો અર્થ મુખ્યત્વે મોડલની આસપાસના સૉફ્ટવેરમાં કાર્યનો વધુ તર્ક સમાવી લેવાનો હતો.

ઓછામાં ઓછું અમુક પ્રકારનાં ખુલ્લાં કાર્યો માટે હવે આ વલણ નબળું પડી રહ્યું છે. વધતી સંખ્યામાં પ્રોજેક્ટ અને સંશોધનપત્રો દર્શાવે છે કે કાર્યપ્રણાલી વધુ કડક નિર્દેશાત્મક બને ત્યારે કામગીરી હંમેશાં સુધરતી નથી. સહાયિત કોડિંગ, લાંબા સમય સુધી ચાલતાં કાર્યો, બ્રાઉઝરનો ઉપયોગ અને લાંબા સંદર્ભવાળાં કાર્યોમાં એક જ વલણ વારંવાર દેખાય છે: મોડલ પૂરતું બુદ્ધિશાળી બન્યા પછી આસપાસના સૉફ્ટવેરમાં કાર્યનું વધુ પડતું માળખું લાદવું લાભને બદલે અવરોધ બની શકે છે.

આથી કાર્યપ્રણાલીની ભૂમિકા બદલાઈ રહી છે. કડક સંકલન દ્વારા કાર્યનો અગાઉથી અંદાજ લગાવવાને બદલે, કાર્યપ્રણાલી હવે વધુને વધુ સ્વચ્છ અમલીકરણ આધાર પૂરો પાડે છે: એવું સેન્ડબોક્સ જ્યાં મોડલ સિસ્ટમની સ્થિતિ તપાસી શકે, કોડ ચલાવી શકે, ભૂલોમાંથી બહાર આવી શકે અને સિસ્ટમનાં ઇન્ટરફેસ તથા સુરક્ષા ઉપાયોની મર્યાદામાં રહીને પોતાનો અભિગમ અનુકૂળ બનાવી શકે. આ પરિવર્તન Andrej Karpathyએ સૉફ્ટવેર ઇજનેર 3.0માં વર્ણવેલા વિચારને મળતું આવે છે: અગાઉ સૉફ્ટવેરમાં રહેલો કેટલોક તર્ક ઉપરના સ્તરે, એટલે કે “પ્રોમ્પ્ટ”માં ખસે છે.

આનો અર્થ એવો નથી કે એજન્ટ સિસ્ટમોએ દરેક જગ્યાએથી માળખું દૂર કરવું જોઈએ. ઘણાં કાર્યોમાં હજી પણ સ્પષ્ટ કાર્યપ્રવાહ, વ્યવહારુ નિયમો અને નિશ્ચિત સુરક્ષા મર્યાદાઓ લાભદાયી છે, ખાસ કરીને જ્યારે કાર્ય મર્યાદિત કે મોટા પ્રમાણમાં થતું હોય અથવા સફળતાનો માપદંડ સ્પષ્ટ હોય. એજન્ટ-આધારિત સિસ્ટમની રચના માટેના વ્યવહારુ નિયમો વિશેની અમારી અગાઉની પોસ્ટમાં અમે જણાવ્યું હતું તેમ, વિશ્વસનીય તાર્કિક પ્રવાહ શક્ય અને ઇચ્છનીય હોય ત્યારે મજબૂત સંકલન હજી પણ મહત્ત્વનું છે.

ખુલ્લાં કાર્યો માટે હવે ધ્યાનનું કેન્દ્ર બદલાઈ રહ્યું છે. પડકાર વધુને વધુ જટિલ સંકલન સ્તરો રચવાનો નહીં, પરંતુ મોડલ અસરકારક રીતે કામ કરી શકે તેવાં સરળ, નિરીક્ષણક્ષમ અને પૂરતાં મોડ્યુલર અમલીકરણ વાતાવરણ બનાવવાનો છે.

કાર્યપ્રણાલીમાંથી જટિલતા અમલીકરણ સ્તર પર ખસેડવી

એજન્ટ ફાઇલો વાંચી શકે, કોડ લખી શકે, શેલ આદેશો ચલાવી શકે અને લાંબા સમય સુધી ચાલતાં કાર્યો શરૂ કરી શકે ત્યારે ઇજનેરી પડકાર બદલાઈ જાય છે. મુશ્કેલ બાબત હવે માત્ર પ્રોમ્પ્ટનું શ્રેષ્ઠીકરણ કે સાધનોનું યોગ્ય માર્ગનિર્ધારણ નથી. એજન્ટ હવે વાસ્તવિક સિસ્ટમ પર કામ કરે છે, તેથી તે ઘણો વધુ શક્તિશાળી બને છે. પરંતુ તે સુરક્ષા માટે વધુ સંવેદનશીલ પણ બને છે, કારણ કે જોખમનું ક્ષેત્ર વિસ્તરે છે. ઉદાહરણ તરીકે, કોડ ચલાવી શકતો એજન્ટ જો નબળી રીતે અલગ કરેલા વાતાવરણમાં હોય તો હાનિકારક પગલાં લઈ શકે છે. AISIનું સેન્ડબોક્સ બેન્ચ જુઓ.

આથી એજન્ટ ફ્રેમવર્કમાં સેન્ડબોક્સિંગ અત્યંત મહત્ત્વનું બની રહ્યું છે. અગાઉની સિસ્ટમોમાં અમલીકરણને ઘણી વાર વધારાની સુવિધા ગણાતું: કાર્યપ્રણાલી સાથે જોડેલું એક સાધન. પરંતુ અમલીકરણ સ્થિતિપૂર્ણ, લાંબા સમય સુધી ચાલતું કે દૂરસ્થ બને ત્યારે આ અભિગમ નિષ્ફળ થવા લાગે છે. સેન્ડબોક્સ, તેના જીવનચક્ર, સ્થિતિ અને ઇન્ટરફેસનું સંચાલન તથા તેને એજન્ટ લૂપ સાથે જોડવાનું કામ ઝડપથી એક અલગ સિસ્ટમ-રચના પડકાર બની જાય છે. આ એક કારણ છે કે હવે વધુ પ્રદાતાઓ કોડના અમલીકરણ માટે સંચાલિત વાતાવરણ આપે છે, જેમાં OpenAIનું Container API અને shell tool, Modal, Cloudflare, Daytona અને E2B વગેરેનો સમાવેશ થાય છે.

આ સીમા મહત્ત્વની છે, કારણ કે કોડના અમલીકરણ માટે બાકીની કાર્યપ્રણાલી કરતાં વધુ મજબૂત અલગીકરણ અને વધુ ચુસ્ત કાર્યકાલીન નિયંત્રણ જરૂરી છે. વ્યવહારમાં, ખરાબ રીતે અમલમાં મૂકેલા કોડ ચલાવતા એજન્ટ વ્યવસાય માટે ત્રણ ગંભીર જોખમ ઊભાં કરી શકે છે: ગણનાકીય ખર્ચ પર નિયંત્રણ ન રહેવું, આંતરિક સિસ્ટમોમાં વિનાશક પગલાં અને સંવેદનશીલ માહિતી જાહેર થવી. યોગ્ય કન્ટેનરીકરણ, અલગીકરણ અને કાર્યકાલીન સુરક્ષા ઉપાયોથી આ જોખમોને વાસ્તવિક ઉપયોગ માટે સ્વીકાર્ય સ્તર સુધી સીમિત કરી શકાય છે.

તેને સમજવાની એક રીત એ છે કે એજન્ટને આખી કચેરીની ચાવીઓ આપવાને બદલે તેનું પોતાનું સીલબંધ વર્કસ્પેસ આપવાની કલ્પના કરો. તે આ જગ્યામાં હજી પણ ઉપયોગી કામ કરી શકે છે, પરંતુ માત્ર સ્પષ્ટ રીતે નક્કી કરેલી મર્યાદાઓમાં. તે કેટલા ગણનાકીય સંસાધનો વાપરે તેની મર્યાદા મૂકી શકાય, તે કઈ સિસ્ટમો અને ફાઇલોને સ્પર્શી શકે તે નિયંત્રિત કરી શકાય અને શરૂઆતથી જ તેને કઈ માહિતી ઉપલબ્ધ હોય તે નક્કી કરી શકાય.

તેનાથી જોખમ સંપૂર્ણપણે દૂર થતું નથી, પરંતુ સમસ્યા “તમારા માળખામાં છૂટો ફરતો એજન્ટ”માંથી “નિયંત્રિત વાતાવરણમાં કામ કરતો એજન્ટ” બની જાય છે. જો આ સ્તર એજન્ટ સિસ્ટમોનો પ્રમાણભૂત ભાગ બનવાનું હોય, તો ફ્રેમવર્કમાં જ તેને પ્રથમ કક્ષાનો આધાર મળવો જરૂરી છે. આ સાથે સેન્ડબોક્સ એવું મોડ્યુલર અમલીકરણ સ્તર બને છે જેમાં સ્થાનાંતરયોગ્ય મૂળભૂત ઘટકો હોય છે. વિકાસકર્તાઓ તેને ઝડપથી અપનાવી, પ્રદાતાઓ વચ્ચે બદલી અને એજન્ટનો તર્ક વારંવાર બદલ્યા વિના વિસ્તારી શકે છે.

આ માટે એજન્ટ ફ્રેમવર્કનો વધુ સારો આધાર શા માટે જરૂરી છે

એજન્ટ કોડ ચલાવવા લાગે પછી સેન્ડબોક્સનું પણ સંકલન કરવું પડે છે. સ્થાનિક પ્રાયોગિક નમૂનામાંથી દૂરસ્થ અમલીકરણ, અનેક પાર્શ્વપ્રણાલીઓ કે લાંબા સમય સુધી ચાલતા સત્રો તરફ જતાં સંચાલનનો બોજ અનેક ગણો વધી જાય છે. વાતાવરણ બનાવવા, બંધ કરવા, થોભાવી ફરી શરૂ કરવા, સ્થિતિનો સ્નેપશોટ લેવા, પછીથી ફરી જોડાવા અને આ બધું વિવિધ પ્રદાતાઓમાં સંચાલિત કરવા માટે સુસંગત રીત જરૂરી છે.

વિચારની દૃષ્ટિએ આમાંથી કશું આકર્ષક નથી, પરંતુ વ્યવહારમાં તે મહત્ત્વનું છે. દરેક ટીમ જ્યારે એજન્ટ-આધારિત કાર્યપ્રવાહ શરૂઆતથી ફરી બનાવે ત્યારે આ જ પ્રકારનું માળખું પીડાદાયક બને છે, ખાસ કરીને જ્યારે તે એજન્ટ ફ્રેમવર્ક સાથે સંકલિત ન હોય.

અહીં જ ફ્રેમવર્કનો વધુ સારો આધાર મહત્ત્વનો બને છે. અમને નવા OpenAI Agents SDKની પ્રારંભિક ઍક્સેસ મળી અને અમે તેનો ઉપયોગ કરીને જાતે સેન્ડબોક્સવાળા એજન્ટ બનાવ્યા. રચનાત્મક ભારમાં આવેલું પરિવર્તન ખાસ ધ્યાન ખેંચે છે: SDK અમલીકરણને ગૌણ સાધન નહીં, પરંતુ પ્રથમ કક્ષાનું સ્તર ગણે છે. વ્યવહારમાં તેનો અર્થ એ છે કે ઓછા કોડથી તમે સેન્ડબોક્સવાળો એજન્ટ શરૂ કરી શકો, સેન્ડબોક્સનો સ્નેપશોટ લઈ શકો અથવા અમલીકરણ ફરી શરૂ કરી શકો છો. અમારા કેટલાક પરીક્ષણોમાં લગભગ છ ગણો ઓછો કોડ લાગ્યો. પછી આસપાસના એજન્ટ તર્કને ફરી લખ્યા વિના પાર્શ્વપ્રણાલી બદલી શકાય છે.

જવાબદારીઓનું આ વધુ સ્વચ્છ વિભાજન કાર્યપ્રણાલીને રિઝનિંગ, સંદર્ભ અને કાર્યપ્રવાહ પર કેન્દ્રિત રહેવા દે છે. અમલીકરણ સ્તર અલગીકરણ, સ્થાનાંતરક્ષમતા અને કાર્યકાલીન સ્થિતિ પર ધ્યાન આપી શકે છે. આ અમૂર્તીકરણ વધુ સક્ષમ અને સરળતાથી વિકસાવી શકાય એવા કોડિંગ એજન્ટ બનાવવાનું સહેલું કરે છે. આવા એજન્ટ સ્થાનિક અને દૂરસ્થ અમલીકરણ વચ્ચે ખસી શકે, લાંબા સમયનાં કાર્યો કરી શકે અને આખી સિસ્ટમ ફરી રચ્યા વિના અમલીકરણની પાર્શ્વપ્રણાલી બદલી શકે છે.

મુખ્ય તારણ

કાર્ય-સ્તરનો વધુ તર્ક કાર્યપ્રણાલીમાંથી મોડલમાં ખસે છે તેમ સિસ્ટમની કેટલીક જટિલતા પણ તેની સાથે અમલીકરણ સ્તરમાં નીચે ખસે છે. કોડનું અમલીકરણ અને સેન્ડબોક્સિંગ હવે એજન્ટ-આધારિત સિસ્ટમોની રચનાનાં મુખ્ય પાસાં છે, ખાસ કરીને વધુ કોડિંગવાળાં અને ખુલ્લાં કાર્યો માટે. એજન્ટ સુરક્ષિત અને વિશ્વસનીય રીતે લાંબા સમય સુધી કામ કરી શકે તેવું વાતાવરણ રચવું હવે એજન્ટ-આધારિત કાર્યપ્રવાહ રચવા જેટલું જ મહત્ત્વનું છે.

આ કારણે સેન્ડબોક્સવાળા અમલીકરણ માટે ઉચ્ચ-સ્તરીય અમૂર્તીકરણ મહત્ત્વનું છે. નવું OpenAI Agents SDK અમલીકરણને સિસ્ટમનું મોડ્યુલર સ્તર ગણીને આ દિશામાં આગળ વધે છે: વિવિધ પાર્શ્વપ્રણાલીઓ વચ્ચે સ્થાનાંતરયોગ્ય, લાંબા સમય સુધી ચાલતાં કાર્યોમાં સ્થિતિપૂર્ણ અને દરેક નવી ગોઠવણી માટે એ જ માળખું ફરી બનાવ્યા વિના વાપરી શકાય એટલું સરળ.

વ્યાપક તારણ એ છે કે એજન્ટ ફ્રેમવર્કની આગામી પેઢી કદાચ કેટલો સંકલન તર્ક ઉમેરે છે તેના કરતાં એજન્ટ વધુને વધુ આધાર રાખે છે તેવાં અમલીકરણ વાતાવરણને કેટલી સારી રીતે ગોઠવે છે તેના આધારે ઓળખાશે.

લેખક

Romain Bourboulou