Foreman લાર્જ-લેંગ્વેજ-મોડેલ (LLM) એજન્ટ્સને નેટિવ Kubernetes રિસોર્સિસમાં રૂપાંતરિત કરે છે, જે ટીમોને ખર્ચ અને સુરક્ષાને કડક નિયંત્રણમાં રાખીને પ્રોડક્શનમાં AI-જનરેટેડ કોડ ચલાવવાની મંજૂરી આપે છે.
આ વિચાર આજના ડેવ વર્કફ્લોમાં કેવી રીતે ફિટ થાય છે
એન્ટરપ્રાઇઝ કોડ લખી શકે તેવા LLMs સાથે પ્રયોગો કરી રહ્યા છે, પરંતુ મોટાભાગના અમલીકરણો મોડેલને એક વિશ્વાસપાત્ર 'બ્લેક બોક્સ' તરીકે ગણે છે. મોડેલ તરફથી મળતો એક સિંગલ “done” સિગ્નલ વણપરીક્ષિત ફેરફારોને સીધા રિપોઝિટરીમાં ધકેલી શકે છે, જે સુરક્ષા અને વિશ્વસનીયતા અંગેની ચિંતાઓ વધારે છે. સાથે સાથે, ક્લાઉડ પર AI સેવાઓ ચલાવવી ઝડપથી મોંઘી બની શકે છે, ખાસ કરીને જ્યારે CI પાઇપલાઇન્સમાંથી વારંવાર એક જ મોડેલને કોલ કરવામાં આવે છે.
Foreman નો ઉકેલ આખી કોડિંગ લૂપને Kubernetes ક્લસ્ટરની અંદર એમ્બેડ કરવાનો છે. Foreman Kubernetes રિસોર્સિસ તરીકે ચાલે છે.
આને શક્ય બનાવતા ચાર મુખ્ય ઓબ્જેક્ટ્સ
- Agent – વર્કરને વ્યાખ્યાયિત કરે છે. તે કયા LLM ને કોલ કરવા તે નામ આપે છે, મોડેલ કયા ટૂલ્સનો ઉપયોગ કરી શકે છે તેની યાદી આપે છે (દા.ત.,
file-writeઅથવાgit-push), અને મોડેલ કોલ્સ પર મર્યાદા મૂકવા માટે બજેટ સેટ કરે છે. અહીં રોલ્સ (Roles) જોડાય છે; એક કોડર એજન્ટ કોડ લખે છે, જ્યારે વેરિફાયર એજન્ટ તેને તપાસે છે. - Workload – યુઝર દ્વારા લખાયેલ કામનો એકમ. તે ઉચ્ચ-સ્તરનો હેતુ (દા.ત., “module X માટે યુનિટ ટેસ્ટ ઉમેરો”), ટાર્ગેટ રિપોઝિટરીનો સંદર્ભ, અને કામ સંભાળવા માટેના એજન્ટ્સની યાદી ધરાવે છે.
- AgenticTask – Workload દ્વારા બનાવવામાં આવતું ચોક્કસ કાર્ય. જેમ જેમ કામ આગળ વધે છે, તેમ દરેક AgenticTask સ્ટેટસ અપડેટ્સ રેકોર્ડ કરે છે, જેનાથી ઓપરેટર્સ રીઅલ-ટાઇમમાં પાઇપલાઇનને મોનિટર કરી શકે છે.
- FleetNode – એક Kubernetes નોડ જે ખરેખર કાર્યો ચલાવે છે. ઇન-બિલ્ટ શેડ્યુલર પેન્ડિંગ AgenticTasks ને એવા FleetNodes સાથે મેચ કરે છે જેની પાસે જરૂરી રોલ અને રિસોર્સિસ હોય.
વેરિફિકેશન અંધ વિશ્વાસનું સ્થાન લે છે
Foreman એવું માની લેતું નથી કે મોડેલનું આઉટપુટ સાચું છે. જ્યારે કોડર એજન્ટ તેનું કામ પૂરું કરે છે, ત્યારે તે અંતિમ પરિણામને બદલે વિનંતી (request) મોકલે છે. એક વેરિફાયર—જે સામાન્ય રીતે બીજું LLM નહીં પણ એક ડિટરમિનિસ્ટિક સ્ક્રિપ્ટ હોય છે—કોડને લિન્ટર્સ (linters), યુનિટ ટેસ્ટ અથવા ફૂલ બિલ્ડ્સ દ્વારા ચલાવે છે. જો આ ચેક્સ પાસ થાય તો જ Foreman નવી બ્રાન્ચને રિપોઝિટરીમાં પાછી લખે છે.
જો વેરિફાયર નિષ્ફળ જાય, તો કાર્યને રિજેક્ટેડ (rejected) તરીકે માર્ક કરવામાં આવે છે અને ફેરફારો ક્યારેય લાગુ પડતા નથી. આ અલગતા મોડેલને સર્જનાત્મક રીતે જનરેટ કરવા દે છે જ્યારે સેફ્ટી નેટ સંપૂર્ણપણે માનવ નિયંત્રણમાં રહે છે.
ક્લસ્ટર પર સ્ટેક ઇન્સ્ટોલ કરવું
- Helm સાથે LLMKube કોર ચાર્ટ ડિપ્લોય કરો.
- Foreman ચાર્ટ પણ Helm દ્વારા ડિપ્લોય કરો.
- એજન્ટ મોડને “native” પર સ્વિચ કરો જેથી અસલી રિક્વેસ્ટ-રિસ્પોન્સ લૂપ સક્રિય થાય.
- કામ હોસ્ટ કરશે તેવા FleetNodes ને રોલ્સ (coder, verifier) સોંપો.
બે ક્રેડેન્શિયલ સેટ્સ જરૂરી છે: ઇશ્યુઝ વાંચવા અને બ્રાન્ચિસ પુશ કરવા માટે git ક્રેડેન્શિયલ્સ, અને હોસ્ટેડ API અથવા સેલ્ફ-હોસ્ટેડ ઇન્ફરન્સ સર્વિસને કોલ કરવા માટે મોડેલ ક્રેડેન્શિયલ્સ.
ખર્ચ અને સુરક્ષા માટેના કંટ્રોલ જે તમે ખરેખર બદલી શકો છો
Foreman એજન્ટ ડેફિનેશનમાંથી ટૂલ્સ દૂર કરીને ઓપરેટર્સને મોડેલના અધિકારને મર્યાદિત કરવાની મંજૂરી આપે છે. “bash” અથવા “write_file” ને દૂર કરવાથી મોડેલને મનસ્વી શેલ કમાન્ડ્સ ચલાવતા અથવા નિર્ધારિત વર્કસ્પેસની બહાર લખતા અટકાવે છે.
ટર્ન લિમિટ (turn limit) દરેક કાર્ય દીઠ મોડેલ ઇન્વોકેશનની સંખ્યા મર્યાદિત કરે છે, જે સીધી રીતે ખર્ચને નિયંત્રિત કરે છે. કોન્ટેક્સ્ટ વિન્ડો (context window)—મોડેલ પ્રોમ્પ્ટનો કેટલો ભાગ જુએ છે—તેને એડજસ્ટ કરવાથી ટોકન વપરાશમાં વધુ ઘટાડો થાય છે. જ્યારે મોડેલ ઓન-પ્રેમિસ હાર્ડવેર પર લોકલી ચાલે છે, ત્યારે કોઈ ડેટા સંસ્થાની બહાર જતો નથી, જે કડક ડેટા-પ્રાઇવસી પોલિસીઓનું પાલન કરે છે.
પ્લેટફોર્મ ક્યાં શ્રેષ્ઠ કામ કરે છે, અને ક્યાં હજુ પણ મુશ્કેલી અનુભવે છે
Foreman મિકેનિકલ અને સારી રીતે સ્કોપ કરેલા કાર્યોમાં ઉત્કૃષ્ટ છે:
- ડોક્યુમેન્ટેડ બગને ઠીક કરવો.
- ખૂટતા ટેસ્ટ કેસ ઉમેરવા.
- સ્પષ્ટતા અથવા સ્ટાઇલ માટે ડોક્યુમેન્ટેશન અપડેટ કરવું.
આ કાર્યોમાં સફળતાના સ્પષ્ટ માપદંડો હોય છે જેને વેરિફાયર આપમેળે તપાસી શકે છે. સિસ્ટમ હજુ પણ ઉચ્ચ-સ્તરના આર્કિટેક્ચરલ રિડિઝાઇન અથવા અસ્પષ્ટ ફીચર વર્ક સાથે સંઘર્ષ કરે છે જ્યાં "સાચું હોવું" માનવ નિર્ણય પર આધારિત હોય છે.
મુખ્ય વાત
LLM-સંચાલિત કોડર્સને ફર્સ્ટ-ક્લાસ Kubernetes રિસોર્સિસ તરીકે ગણીને અને ડિટરમિનિસ્ટિક વેરિફિકેશન સ્ટેપ લાગુ કરીને, Foreman પ્રોડક્શન AI કોડ જનરેશન માટે એક વ્યવહારુ માર્ગ પ્રદાન કરે છે જે ખર્ચને પારદર્શક રાખે છે અને સુરક્ષાને નિયંત્રણમાં રાખે છે. તે તમામ ડેવલપમેન્ટ કામ માટે કોઈ જાદુઈ લાકડી નથી, પરંતુ પુનરાવર્તિત અને પરીક્ષણ કરી શકાય તેવા કાર્યો માટે તે એક ઓડિટેબલ વર્કફ્લો પ્રદાન કરે છે જે હાલના ક્લાઉડ-નેટિવ ઓપરેશન્સમાં કુદરતી રીતે ફિટ થાય છે.
