ባለፉት አምስት ወራት ውስጥ፣ ቡድናችን አንድ ሙከራ ሲያካሂድ ቆይቷል፦ 0 በእጅ የተጻፉ ኮድ መስመሮች ያሉት የሶፍትዌር ምርት ውስጣዊ ቤታን መገንባት እና መላክ።
ምርቱ ውስጣዊ ዕለታዊ ተጠቃሚዎች እና ውጭጫዊ የአልፋ ሞካሪዎች አሉት። ይላካል፣ ይሰማራል፣ ይሰበራል እንዲሁም ይስተካከላል። የተለየው ነገር እያንዳንዱ የኮድ መስመር—የመተግበሪያ ሎጂክ፣ ሙከራዎች፣ የCI ውቅር፣ ሰነዶች፣ ታዛቢነት እና ውስጣዊ መሳሪያዎች—በCodex የተጻፉ መሆናቸው ነው። ይህንን የገነባነው ኮዱን በእጅ ለመጻፍ በሚፈጅበት 1/10ኛ ጊዜ ውስጥ ነው ብለን እንገምታለን።
ሰዎች ይመራሉ። ወኪሎች ያስፈጽማሉ።
ይህን ገደብ የመርጥነው ሆን ብለን የምሕንድስና ፍጥነትን በከፍተኛ ደረጃ ለማሳደግ የሚያስፈልገውን ለመገንባት ነው። ሚሊዮን መስመሮች ሆኖ የተገኘውን ኮድ ለመላክ ሳምንታት ነበሩን። ይህን ለማድረግ የሶፍትዌር ምሕንድስና ቡድኖች ዋነኛ ሥራቸው ኮድ መጻፍ ሳይሆን፣ Codex ወኪሎች አስተማማኝ ሥራ እንዲሰሩ የሚያስችላቸውን አካባቢዎችን ዲዛይን ማድረግ፣ ዓላማዎችን መግለጽ እና የግብረመልስ ዑደቶችን መገንባት ሲሆን ምን ለውጥ እንደሚኖር መረዳት አስፈልጎን ነበር።
ይህ ልጥፍ ከወኪሎች ቡድን ጋር አዲስ ምርት በመገንባት የተማርነውን—ምን እንደተበላሸ፣ ምን እንደተባባሰ እና አንድ በጣም ትንሽ የሆነውን ሀብታችንን፦ የሰው ጊዜ እና ትኩረትን እንዴት ከፍ ማድረግ እንደሚቻልን የሚመለከት ይሆናል።
የመጀመሪያው ለባዶ ማከማቻ ቃል የገባንበት ቀን ኦገስት 2025 መጨረሻ ላይ ነበር።
የመጀመሪያው መሠረታዊ አሠራር—የማከማቻ መዋቅር፣ የCI ውቅር፣ የቅርጸት ደንቦች፣ የጥቅል አስተዳዳሪ ማዋቀር እና የመተግበሪያ ማዕቀፍ—GPT‑5 በመጠቀም በCodex CLI የሚመነጭ ሲሆን ይህም በትንሽ ነባር አብነቶች በመመራት ነው። ወኪሎች በማከማቻ ውስጥ እንዴት እንደሚሰሩ የሚመራው የመጀመሪያው የAGENS.md ፋይል እንኳን በCodex የተጻፈ ነው።
ስርዓቱ ሊመሰረትበት የሚችል ምንም አይነት በሰው የተጻፈ ኮድ አልነበረም። ከመጀመሪያው ጀምሮ፣ ማከማቻው የተቀረጸው በወኪል ነው።
ከአምስት ወራት በኋላ፣ ማከማቻው በመተግበሪያ ሎጂክ፣ በመሠረተ ልማት፣ በመሳሪያዎች፣ በሰነዶች እና በውስጣዊ የገንቢ መገልገያዎች ውስጥ በሚሊዮን የሚቆጠሩ የኮድ መስመሮችን መያዝ የቻለ ሆኗል። በዚያ ጊዜ ውስጥ፣ ወደ 1,500 የሚጠጉ pull request ተከፍተው Codexን ከሚያንቀሳቅሱ ሶስት መሐንዲሶች ቡድን ጋር ተዋህደዋል። ይህ በቀን እያንዳንዱ መሐንዲስ በአማካይ ወደ 3.5 PRs የማስተላለፊያ ዘዴ ማለት ሲሆን በሚያስደንቅ ሁኔታ ቡድኑ ወደ ሰባት መሐንዲሶች ሲያድግ የማስተላለፊያ ዘዴ ጨምሯል። ዋናው ነገር ይህ ውጤት ለምርት ጥቅም አልነበረም፦ የዕለት-ተዕለት የውስጥ ኃይል ተጠቃሚዎችን ጨምሮ፣ ምርቱ በውስጥ በመቶዎች በሚቆጠሩ ተጠቃሚዎች ጥቅም ላይ የዋለ ሆኗል።
በልማት ሂደቱ ወቅት፣ ሰዎች በቀጥታ ምንም አይነት ኮድ ያላበረከቱ ሆኗል። ይህም ለቡድኑ ዋና ፍልስፍና ሆኗል፦ ምንም በእጅ የተጻፈ ኮድ የለም።
የሰው እጅ ያለበት ኮዲንግ አለመኖር በስርዓቶች፣ በመሠረታዊ አሠራር እንዲሁም በቅልጥፍና እና ምርታማነት ላይ ያተኮረ የተለየ የምሕንድስና ሥራን አስተዋውቋል።
ቀደም ሲል ያለው እድገት እኛ ከጠበቅነው በላይ ቀርፋፋ የነበረ ሲሆን ይህም Codex አቅም ስለሌለው ሳይሆን አካባቢው በበቂ ሁኔታ ያልተገለጸ በመሆኑ ነበር። ወኪሉ ወደ ከፍተኛ ደረጃ ግቦች ለመድረስ የሚያስፈልጉትን መሳሪያዎች፣ ረቂቅ አገላለጾች እና ውስጣዊ መዋቅር አልነበሩትም። የምሕንድስና ቡድናችን ዋና ሥራ ወኪሎች ጠቃሚ ሥራ እንዲሰሩ ማስቻል ሆነ።
በተግባር፣ ይህ መጀመሪያ በጥልቀት መሥራት ማለት ነው፦ ትላልቅ ግቦችን ወደ ትናንሽ የግንባታ ብሎኮች (ዲዛይን፣ ኮድ፣ ግምገማ፣ ሙከራ፣ ወዘተ) መከፋፈል፣ ወኪሉ እነዚያን ብሎኮች እንዲገነባ መጠየቅ እና የበለጠ ውስብስብ ተግባራትን ለመክፈት እነሱን መጠቀም ማለት ነው። አንድ ነገር ሳይሳካ ሲቀር መፍትሔው ምንጊዜም "በተሻለ ሁኔታ መሞከር” አልነበረም። እድገት ለማድረግ ብቸኛው መንገድ Codex ሥራውን እንዲሰራ ማድረግ ስለነበር፣ የሰው መሐንዲሶች ሁልጊዜ ወደ ሥራው በመግባት “ምን አይነት አቅም ይጎድላል፣ እና ለተወካዩ እንዴት ሊነበብ እና ሊተገበር የሚችል ማድረግ እንችላለን?” ብለው ይጠይቁ ነበር።
ሰዎች ከስርዓቱ ጋር የሚገናኙት ሙሉ በሙሉ ማለት ይቻላል በጥያቄዎች አማካኝነት ይሆናል፦ መሐንዲስ አንድን ተግባር ይገልፃል፣ ወኪሉን ያካሂዳል ፣ እና pull request እንዲከፍት ያስችለዋል። PRን ለማጠናቀቅ፣ Codex የራሱን ለውጦች በራሱ እንዲገመግም፣ በአካባቢውም ሆነ በደመናው ውስጥ ተጨማሪ የተወሰኑ የወኪል ግምገማዎችን እንዲጠይቅ፣ ለተሰጠ ማንኛውም የሰው ወይም የወኪል ግብረመልስ ምላሽ እንዲሰጥ እንዲሁም ሁሉም የወኪል ገምጋሚዎች እስኪረኩ ድረስ በዑደት እንዲደጋግም የምናዝ ይሆናል (ይህ የRalph Wiggum ዑደት(በአዲስ መስኮት ውስጥ ይክፈታል) ነው)። Codex ሰዎች ወደ CLI ሳይገለብጡ እና ሳይለጥፉ አውድ ለመሰብሰብ መደበኛ የልማት መሳሪያዎቻችንን (gh፣ የአካባቢ ስክሪፕቶች እና በማከማቻ ውስጥ የተካተቱ ክህሎቶች) በቀጥታ የሚጠቀም ይሆናል።
ሰዎች pull request መገምገም ቢሆንም ነገር ግን ይህን ማድረግ የማይጠበቅባቸው ይሆናል። ከጊዜ በኋላ፣ ሁሉንም የግምገማ ጥረቶች ማለት ይቻላል ከወኪል-ወደ-ወኪል እንዲስተናገድ አድርገናል።
የኮድ ማስተላለፊያ ዘዴ እየጨመረ ሲሄድ፣ የእኛ ችግር የሰው ልጅ የጥራት ማረጋገጫ አቅም ሆነ። የተወሰነው ገደብ የሰው ልጅ ጊዜ እና ትኩረት ስለነበር እንደ የመተግበሪያ የተጠቃሚ በይነገጽ፣ ምዝግብ ማስታወሻዎች እና የመተግበሪያ መለኪያዎች ያሉ ነገሮችን በቀጥታ ለCodex እንዲነበቡ በማድረግ ለተወካዩ ተጨማሪ ችሎታዎችን ለመጨመር ሰርተናል።
ለምሳሌ፣ Codex በአንድ ለውጥ አንድ ቅጽበት ማስጀመር እና ማካሄድ እንዲችል መተግበሪያውን በ git worktree መንቃት እንዲችል አድርገኗል። እንዲሁም የChrome DevTools ፕሮቶኮልን ወደ ወኪል ማካሂጃ ጊዜ በማገናኘት ከDOM ቅጽበተ-ፎቶዎች፣ ቅጽበታዊ ገጽ እይታዎች እና አሰሳ ጋር ለመሥራት ክህሎቶችን ፈጥረናል። ይህ Codex ሳንካዎችን እንዲያባዛ፣ ጥገናዎችን እንዲያረጋግጥ እና ስለ የተጠቃሚ በይነገጽ ባህሪ በቀጥታ እንዲያመዛዝን አስችሎታል።

እኛም ለታዛቢነት መሣሪያዎች ተመሳሳይ ነገር አድርገናል። ምዝግብ ማስታወሻዎች፣ መለኪያዎች እና ዱካዎች ለማንኛውም የተወሰነ worktree ጊዜያዊ በሆነ የአካባቢ ታዛቢነት ቁልል አማካኝነት ለCodex የሚጋለጡ ይሆናል። Codex ሙሉ በሙሉ በተገለለ የመተግበሪያ ስሪት ላይ የሚሰራ ይሆናል—ይህም ተግባሩ ሲጠናቀቅ የሚፈርሱ ምዝግብ ማስታወሻዎቹን እና መለኪያዎቹን ይጨምራል ወኪሎች ምዝግብ ማስታወሻዎችን በLogQL እና መለኪያዎችን በPromQL መጠየቅ የሚችሉ ይሆናል። ይህ አውድ ሲኖር፣ “የአገልግሎት ጅምር ከ800ms በታች መጠናቀቁን ያረጋግጡ” ወይም “በእነዚህ አራት ወሳኝ የተጠቃሚ ጉዞዎች ውስጥ ምንም አይነት የጊዜ ክፍተት ከሁለት ሴኮንድ በላይ አለመኖሩን ያረጋግጡ” የሚሉ ጥያቄዎች ተግባራዊ ይሆናሉ።
በመደበኛነት አንድ Codex በአንድ ሥራ ላይ ከስድስት ሰዓት በላይ ሲሰራ እናያለን (አብዛኛውን ጊዜ ሰዎች ተኝተው ሳለ)።
የአውድ አስተዳደር ወኪሎችን በትልቅ እና ውስብስብ ተግባራት ውጤታማ ለማድረግ ከሚገጥሙ ትላልቅ ተግዳሮቶች ውስጥ አንዱ ነው። ከተማርናቸው የመጀመሪያ ትምህርቶች አንዱ ቀላል ነበር፦ ለCodex ካርታ መስጠት እንጂ 1,000 ገጽ ያለው መመሪያ መስጠት አያስፈልግም።
"አንድ ትልቅ AGENTS.md(በአዲስ መስኮት ውስጥ ይክፈታል) " የሚለውን አቀራረብ ሞክረን ነበር። ሊገመት በሚችል መንገድ ያልተሳካ ሆኗል፦
- አውድ እጅግ በጣም አናሳ የሆነ ሀብት ነው። አንድ ግዙፍ የመመሪያ ፋይል ተግባሩን፣ ኮዱን እና ተዛማጅ ሰነዶችን የሚያጨናንቅ ይሆናል—ስለዚህ ወኪሉ ቁልፍ ገደቦች ያመልጡታል ወይም ለተሳሳቱ ሰነዶች ማመቻቸት ይጀምራል።
- ከመጠን በላይ መምራት አለመምራትንያስከትላል። ሁሉም ነገር “አስፈላጊ” ሲሆን፣ ምንም ነገር አስፈላጊ አይሆንም። ወኪሎች በተወሰነ ዓላማ አሰሳ ከማድረግ ይልቅ በአካባቢያዊ ሁኔታ ንድፍ-ማመሳሰል የሚጀምሩ ይሆናል።
- ወዲያውኑ ይበሰብሳል። አንድ ወጥ የሆነ መመሪያ ወደ የአላስፈላጊ ደንቦች የመቃብር ስፍራ ይለወጣል። ወኪሎች ምን እውነት እንደሆነ ለማወቅ አይችሉም፣ ሰዎች መጠበቃቸውን ያቆማሉ እንዲሁም መዝገቡም ቀስ በቀስ የሚማርክ አስጨናቂ ጉዳይ እየሆነ ይመጣል።
- ማረጋገጥ ከባድ ነው። አንድ ነጠላ ጠብታ ለመካኒካዊ ፍተሻዎች (ሽፋን፣ ትኩስነት፣ ባለቤትነት፣ ተሻጋሪ አገናኞች) ራሱን ስለማይሰጥ ፈቀቅ ማለት የማይቀር ይሆናል።
ስለዚህ AGENTS.md እንደ ኢንሳይክሎፔዲያ ከመቁጠር ይልቅ፣ እንደ ይዘቱ ማውጫ አድርገን የምንቆጥረው ይሆናል።
የማከማቻው የእውቀት መሰረት እንደ የመዝገብ ስርዓት በሚቆጠር የተዋቀረ docs/ ማውጫ ውስጥ የሚኖር ይሆናል። አጭር AGENTS.md (በግምት 100 መስመሮች) ወደ አውድ ውስጥ የሚገባ ሲሆን በዋናነት ወደ ሌላ ጥልቅ የእውነት ምንጮች ጠቋሚዎች ያሉት ካርታ ሆኖ የሚያገለግል ይሆናል።
የዲዛይን ሰነዶች የተዘረዘሩ እና በመረጃ ጠቋሚ የተደረደሩ ሲሆን ይህም የማረጋገጫ ሁኔታን እና የወኪል-መጀመሪያ የአሠራር መርሆዎችን የሚገልጹ ዋና ዋና እምነቶችን የሚጨምር ይሆናል። የአርክቴክቸር ሰነዶች(በአዲስ መስኮት ውስጥ ይክፈታል) ከፍተኛ-ደረጃ የጎራዎች እና የጥቅል ንብርብር ካርታን የሚሰጥ ይሆናል። የጥራት ሰነድ እያንዳንዱን የምርት ጎራ እና የአርክቴክቸር ንብርብር ደረጃ የሚሰጥ ሲሆን ይህም በጊዜ ሂደት ክፍተቶችን እየተከታተለ የሚመዘግብ ይሆናል።
እቅዶች እንደ አንደኛ ደረጃ ቅርሶች ተደርገው የሚወሰዱ ይሆናል። ጊዜያዊ ቀላል ክብደት ያላቸው ዕቅዶች ለትናንሽ ለውጦች ጥቅም ላይ የሚውሉ ሲሆን ውስብስብ ሥራዎች ደግሞ ወደ ማከማቻው በሚገቡ በሂደት እና በውሳኔ ምዝግብ ማስታወሻዎች አፈፃፀም ዕቅዶች(በአዲስ መስኮት ውስጥ ይክፈታል) ውስጥ የሚካተቱ ይሆናል። ንቁ ዕቅዶች፣ የተጠናቀቁ ዕቅዶች እና የታወቁ የቴክኒክ ዕዳዎች ሁሉም የተቀረጹ እና አብረው የሚገኙ ሲሆኑ፣ ወኪሎች በውጫዊ አውድ ላይ ጥገኛ ሳይሆኑ እንዲሠሩ የሚያስችላቸው ይሆናል።
ይህ ተራማጅ ማሳወቅን የሚያስችል ይሆናል፦ ወኪሎች የሚጀምሩት በትንሽ እና በተረጋጋ የመግቢያ ነጥብ ሲሆን ከፊት ለፊት ከመጨነቅ ይልቅ ቀጥሎ የት ማየት እንዳለባቸው የሚማሩ ይሆናል።
ይህን በመካኒካዊ መንገድ የምናስፈጽም ይሆናል። የተወሰኑ የሊንተሮች እና የCI ሥራዎች የእውቀት መሰረቱ ወቅታዊ፣ እርስ በርስ የተገናኘ እና በትክክል የተዋቀረ መሆኑን የሚያረጋግጡ ይሆናል። በተደጋጋሚ የሚሰራ "የሰነድ ማሻሻያ" ወኪል ትክክለኛውን የኮድ ባህሪ የማያንፀባርቅ እና pull request የሚከፍት የቆየ ወይም ጊዜ ያለፈበት ሰነድን የሚቃኝ ይሆናል።
የኮድቤዝ እየተሻሻለ ሲሄድ የCodex የዲዛይን ውሳኔዎች ማዕቀፍም መሻሻል አስፈላጊ ሆኖ ተገኘ።
ማከማቻው ሙሉ በሙሉ በወኪል የሚመነጭ ስለሆነ፣ በመጀመሪያ ለCodex ተነባቢነት የተመቻቸ ነው። ቡድኖች ለአዳዲስ የምሕንድስና ሰራተኞች ኮዳቸውን የመዳሰስ ችሎታቸውን ለማሻሻል በሚጥሩበት መንገድ፣ የሰው መሐንዲሶቻችን ግብ አንድ ወኪል ስለ ሙሉ የንግድ ሥራ ጎራው በቀጥታ ከማከማቻው ራሱ ምክንያታዊ በመሆን እንዲያስብ ማድረግ ነበር።
ከወኪሉ እይታ አንጻር፣ ውጤታማ በሆነ መንገድ እየሄደ ሳለ በአውድ-ውስጥ ማግኘት የማይችለው ማንኛውም ነገር የለም። በGoogle Docs፣ በውይይት ጭብጦች ወይም በሰዎች አእምሮ ውስጥ የሚኖር እውቀት ለስርዓቱ ተደራሽ አይሆኑም። ሊያየው የሚችለው ማከማቻ-አካባቢያዊ፣ የተሻሻሉ ቅርሶች (ለምሳሌ፣ ኮድ፣ ማርክዳውን፣ የእቅድ ማውጣት ንድፎች፣ ሊተገበሩ የሚችሉ ዕቅዶች) ብቻ ነው።

እኛ ከጊዜ ወደ ጊዜ የበለጠ እና የበለጠ አውድ ወደ ማከማቻ ማስገባት እንዳለብን ተምረናል። ቡድኑን በአርክቴክቸር ንድፍ ላይ ያስቀመጠው Slack ውይይት? ለወኪሉ የማይገኝ ከሆነ፣ ከሶስት ወራት በኋላ የመጣ አዲስ ተቀጣሪ ሊያውቀው እንደማችለው፣ ልክ እንደዚሁም ማንበብ የማይቻል ይሆናል።
Codexን የበለጠ አውድ መስጠት ማለት አመልካቹ እንደ አስፈላጊነቱ ለተወሰነ ዓላማ የሚውል መመሪያዎችን ከማስተላለፍ ይልቅ ትክክለኛውን መረጃ ማደራጀት እና ማጋለጥ ማለት ነው። በተመሳሳይ መልኩ አዲስ የቡድን ጓደኛ በምርት መርሆዎች፣ በምሕንድስና ደንቦች እና በቡድን ባህል (የኢሞጂ ምርጫዎችን ጨምሮ) ላይ እንደሚያቀላቅሉት፣ ለወኪሉ ይህንን መረጃ መስጠት የተሻለ የተጣጣመ ውጤት የሚያስገኝ ይሆናል።
ይህ ማዕቀፍ ብዙ ልዩነቶችን ግልጽ ያደረገ ሆኗል። ሙሉ በሙሉ ውስጣዊ ሊሆኑ የሚችሉ እና በማከማቻ ውስጥ ሊብራሩ የሚችሉ ጥገኛነቶችን እና ረቂቅ ነገሮችን መርጣለን። ብዙውን ጊዜ "አሰልቺ" ተብለው የሚገለጹ ቴክኖሎጂዎች ወኪሎች በስልጠናው ስብስብ ውስጥ ባለው ለጣመር የሚችል፣ የapi መረጋጋት እና ውክልና ምክንያት ሞዴል ለማድረግ ቀላል ይሆናሉ። በአንዳንድ ሁኔታዎች ከሕዝብ ቤተ-መጻሕፍት ግልጽ ያልሆነ የበላይ ባህሪ ላይ ከመሥራት ይልቅ ወኪሉ ንዑስ ስብስቦችን እንደገና እንዲተገብር ማድረግ ርካሽ ነበር። ለምሳሌ፣ አጠቃላይ p-limit-style ጥቅል ከመሳብ ይልቅ፣ የራሳችንን የካርታ-ተመሳሳይነት አጋዥ ተግባራዊ አድርገናል፦ ከOpenTelemetry መሳሪያችን ጋር በጥብቅ የተዋሃደ፣ 100% የሙከራ ሽፋን ያለው እና የሥራ ጊዜያችን በሚጠብቀው መንገድ በትክክል የሚሰራ ነው።
ወኪሉ በቀጥታ ሊመረምር፣ ሊያረጋግጥ እና ሊያሻሽል ወደሚችልበት ሁኔታ ስርዓቱን የበለጠ መሳብ በቀጥታ አጠቃቀምን የሚጨምር ይሆናል—ለCodex ብቻ ሳይሆን በኮድቤዙ ላይ እየሰሩ ለሚገኙ ለሌሎች ወኪሎችም (ለምሳሌAardvark) የሚጨምር ይሆናል።
ሰነዶች ብቻ ሙሉ በሙሉ በወኪል የሚመነጭ ኮድቤዝን ወጥነት የማይሰጡት ይሆናል። አተገባበርን በጥቃቅን ደረጃ በማስተዳደር ሳይሆን የማይለዋወጡን በማስፈፀም ወኪሎች መሠረቱን ሳያደፈርሱ በፍጥነት እንዲልኩ እናደርጋለን። ለምሳሌ፣ Codex የውሂብ ቅርጾችን በወሰን ላይ እንዲተነትን(በአዲስ መስኮት ውስጥ ይክፈታል) የምንጠይቅ ሲሆን ነገር ግን ይህ እንዴት እንደሚሆን የሚገልጽ መመሪያ የማንሰጥ ይሆናል (ሞዴሉ Zodን የሚወድ ይመስላል፣ ግን ያንን የተወሰነ ቤተ-መጽሐፍት አልገለጽንለትም)።
ወኪሎች የበለጠ ውጤታማ የሚሆኑት ጥብቅ ወሰን እና ሊገመት የሚችል መዋቅር(በአዲስ መስኮት ውስጥ ይክፈታል) ባላቸው አካባቢዎች ስለሆነ መተግበሪያውን በጠንካራ የአርክቴክቸር ሞዴል ዙሪያ ሠራነው። እያንዳንዱ የንግድ ሥራ ጎራ በጥብቅ የተረጋገጠ ጥገኝነት አቅጣጫዎች እና የተወሰኑ የተፈቀዱ ጠርዞች ባላቸው በተወሰኑ ደረጃዎች የተከፋፈለ ነ። እነዚህ ገደቦች በመካኒካል የሚተገበሩት በተበጁ ሊንተሮች (በእርግጥም በCodex የሚመነጭ!) እና በመዋቅራዊ ሙከራዎች ይሆናል።
ከታች ያለው ዲያግራም ደንቡን ያሳያል፦ በእያንዳንዱ የንግድ ሥራ ጎራ ውስጥ (ለምሳሌ፣ የመተግበሪያ ቅንብሮች)፣ ኮድ "ወደፊት" ሊመሰረት የሚችለው በተወሰነ የንብርብሮች ስብስብ በኩል ብቻ ነው (አይነቶች → ውቅር → ማከማቻ → አገልግሎት → የማስኬጃ ጊዜ → የተጠቃሚ በይነገጽ)። የተለያዩ ጉዳዮች (ፍቃድ፣ ማያያዣዎች፣ ቴሌሜትሪ፣ የባህሪ ባንዲራዎች) በአንድ ግልጽ በይነገጽ በኩል የሚገቡ ይሆናል፦ አቅራቢዎች። ሌላ ማንኛውም ነገር የተከለከለ ሲሆን በመካኒካል መንገድ የሚተገበር ይሆናል።

ይህ ብዙውን ጊዜ በመቶዎች የሚቆጠሩ መሐንዲሶች እስኪኖሩዎ ድረስ የሚያቆዩት ዓይነት አርክቴክቸር ነው። የኮድ ወኪሎች ላይ ይህ ቅድመ ሁኔታ ነው፡- ፍጥነቱ እንዳይበላሽ ወይም አርክቴክቸር ፈቀቅ እንዳይል የሚያደርጉት ገደቦቹ ናቸው።
በተግባር፣ እነዚህን ደንቦች በብጁ ሊንተሮች እና በመዋቅራዊ ሙከራዎች እንዲሁም በትንሽ “የጣዕም የማይለዋወጡ” ስብስብ የምናስፈጽም ይሆናል። ለምሳሌ፣ የተዋቀረ ምዝግብ ማስታወሻ መያዝን፣ ለንድፎች እና ዓይነቶች የስያሜ ደንቦችን፣ የፋይል መጠን ገደቦችን እንዲሁም ከብጁ ሊንቶች ጋር ለመድረክ-የተወሰኑ አስተማማኝነት መስፈርቶችን በቋሚነት መንገድ የምናስፈጽም ይሆናል። ሊንቶች ብጁ ስለሆኑ፣ የማስተካከያ ትዕዛዞችን በወኪል አውድ ውስጥ ለማስገባት የስህተት መልዕክቶችን የምንጽፍ ይሆናል።
በሰው-መጀመሪያ የሥራ ሂደት ውስጥ፣ እነዚህ ደንቦች እንደ አላስፈላጊ ትናንሽ ደንቦች ወይም እንደ ገደብ ሆነው ሊታዩ ይችላሉ። ከወኪሎች ጋር፣ እነሱ ማባዣዎች ይሆናሉ፦ አንዴ ከተመዘገቡ በኋላ፣ በአንድ ጊዜ በሁሉም ቦታ የሚተገበሩ ይሆናል።
በተመሳሳይ ጊዜ፣ ገደቦች የት አስፈላጊ እንደሆኑ እና የት እንደማያስፈልጉ በግልፅ የምናሳውቅ ይሆናል። ይህ ትልቅ የምሕንድስና መድረክ ድርጅት መምራትን ይመስላል፦ ወሰኖችን በማዕከል ማስከበር፣ በአካባቢ ነፃነትን መፍቀድ። እርስዎ ስለ ወሰኖች፣ ትክክለኛነት እና ዳግም ሊደገም መቻል በጥልግድ ይሎታል። በእነዚህ ወሰኖች ውስጥ፣ ቡድኖች—ወይም ወኪሎች—መፍትሄዎችን እንዴት እንደሚገልጹ ጉልህ የሆነ ነፃነትን የሚሰጡ ይሆናል።
የተገኘው ኮድ ሁልጊዜ ከሰው የቅጥ ምርጫዎች ጋር ላይጣጣም የሚችል ቢሆንም እሱ ምንም ችግር የለውም። ውጤቱ ትክክለኛ፣ ሊቆይ የሚችል እና ለወደፊቱ ወኪል ሥራዎች የሚነበብ እስከሆነ ድረስ፣ ደረጃውን ያሟላል።
የሰው ጣዕም ያለማቋረጥ ወደ ስርዓቱ ተመላሽ ይሆናል። የግምገማ አስተያየቶች፣ pull request እንደገና ማስተካከል እና ለተጠቃሚ-የሚቀርቡ ሳንካዎች እንደ ሰነድ ዝመናዎች የሚያዙ ወይም በቀጥታ ወደ መሳሪያ የሚመዘገቡ ይሆናል። ሰነዶች ሲታጡ ደንቡን ወደ ኮድነት የምናሸጋግረው ይሆናል
የCodex የማስተላለፊያ ዘዴ እየጨመረ ሲሄድ፣ ብዙ የተለመዱ የምሕንድስና ደንቦች ተቃራኒ ውጤት የሚያስገኙ ሆኑ።
ማከማቻው በዝቅተኛ የማገጃ ውህደት በሮች የሚሰራ ይሆናል። Pull request አጭር ጊዜ የሚቆዩ ይሆናል። የፍተሻ ፍንጣቂዎች አብዛኛውን ጊዜ እድገትን ላልተወሰነ ጊዜ ከማገድ ይልቅ ክትትል በማድረግ መፍትሔ የሚገኝላቸው ይሆናል። የወኪል የማስተላለፊያ ዘዴ ከሰው ትኩረት በላይ በሆነበት ስርዓት ውስጥ፣ እርማቶች ርካሽ ሲሆኑ መጠበቅ ውድ ነው።
ይህ ዝቅተኛ የማስተላለፊያ ዘዴ ባለበት አካባቢ ኃላፊነት የጎደለው ይሆናል። እዚህ፣ አብዛኛውን ጊዜ ትክክለኛው መለዋወጫ ነው።
ኮድቤዝ የሚመነጨው በCodex ወኪሎች ነው ስንል፣ በኮድቤዝ ውስጥ ያለውን ሁሉ ማለታችን ነው።
ወኪሎች የሚያፈሩት፦
- የምርት ኮድ እና ሙከራዎች
- የCI ውቅር እና የልቀት መሣሪያዎች
- ውስጣዊ የገንቢ መሣሪያዎች
- የሰነድ እና የዲዛይን ታሪክ
- የግምገማ ማሠሪያዎች
- አስተያየቶችን እና ምላሾችን ይገመግማሉ
- ራሱ ማከማቻውን የሚያስተዳድሩ ስክሪፕቶች
- የምርት ዳሽቦርድ ትርጓሜ ፋይሎች
ሰዎች ሁልጊዜ ከሁኔታው ጋር የሚግባቡ ቢሆንም ቀድሞ ከነበረን በተለየ ረቂቅነት ደረጃ የምንሰራ ይሆናል። እኛ ለሥራ ቅድሚያ እንሰጣለን፣ የተጠቃሚ ግብረመልስን ወደ የተቀባይነት መስፈርቶች እንቀይራለን እንዲሁም ውጤቶችን የምናረጋግጥ ይሆናል። ወኪሉ ሲቸገር፣ እንደ ምልክት አድርገን የምንቆጥረው ይሆናል፦ የጎደለውን ነገር እንለያለን—መሣሪያዎች፣ መከላከያዎች፣ ሰነዶች—እናም ሁልጊዜ Codex ራሱ መፍትሄውን እንዲጽፍ በማድረግ ወደ ማከማቻው የምንመልስ ይሆናል።
ወኪሎች መደበኛ የልማት መሳሪያዎቻችንን በቀጥታ የሚጠቀሙ ይሆናል። እነሱ የግምገማ ግብረመልሶችን ያነሳሉ፣ በመስመር ውስጥ ምላሽ ይሰጣሉ፣ ዝመናዎችን ይገፋፋሉ እንዲሁም ብዙውን ጊዜ የራሳቸውን pull request ጨምቀው ያዋህዳሉ።
ተጨማሪ የልማት ዑደቶች በቀጥታ ወደ ስርዓቱ ሲገቡ—ሙከራ፣ ማረጋገጫ፣ ግምገማ፣ የግብረመልስ አያያዝ እና መልሶ ማግኛ—ማከማቻው Codex አዲስ ባህሪን ከጫፍ እስከ ጫፍ ሊያንቀሳቅስ የሚችልበትን ትርጉም ያለው ገደብ በቅርብ ጊዜ አልፏል።
አንድ ጥያቄ ከተሰጠው ወኪሉ አሁን የሚከተሉትን ማድረግ የሚችል ይሆናል፦
- የኮድቤዝ የአሁኑን ሁኔታ ማረጋገጥ
- የተዘገበ ሳንካን እንደገና መፍጠር
- ውድቀቱን የሚያሳይ ቪዲዮ መቅረጽ
- ማስተካከያ ተግባራዊ ማድረግ
- መተግበሪያውን በመጠቀም ጥገናውን ማረጋገጥ
- መፍትሄን የሚያሳይ ሁለተኛ ቪዲዮ መቅረጽ
- Pull request መክፈት
- ለተወካይ እና ለሰው ግብረመልስ ምላሽ መስጠት
- የግንባታ ውድቀቶችን መለየት እና ማስተካከል
- መወሰን ሲያስፈልግ ብቻ ወደ ሰው ማቅረብ
- ለውጡን ማዋሃድ
ይህ ባህሪ በአብዛኛው የተመካው በዚህ ማከማቻ ልዩ መዋቅር እና የመሳሪያ አሠራር ላይ ሲሆን ተመሳሳይ ኢንቨስትመንት ከሌለ አጠቃላይ እንዲሆን ተደርጎ ሊወሰድ አይገባም—ቢያንስ ለትንሽ ጊዜ።
ሙሉ የወኪል ነፃነትም አዳዲስ ችግሮችን ያመጣል። Codex በማከማቻው ውስጥ አስቀድሞ ያሉ ንድፎችን—ያልተስተካከሉ ወይም ዝቅተኛ ጥራት ያላቸውን ቅጦች እንኳን —የሚደግም ይሆናል። ከጊዜ በኋላ ይህ ፈቀቅ ወደማለት የሚመራ ይሆናል።
መጀመሪያ ላይ ሰዎች ይህን ችግር በእጅ ይፈቱት ነበር። ቡድናችን በየሳምንቱ አርብ (የሳምንቱን 20%) “የኤ.አይ ልቅ የሆነ ይዘትን” በማጽዳት ያሳልፍ ነበር። እንደተጠበቀው ይህ አልተሳካም።
በምትኩ፣ «ወርቃማ መርሆዎች» ብለን የምንጠራቸውን ነገሮች በቀጥታ ወደ ማከማቻው ውስጥ ማስገባት ጀመርን እና ተደጋጋሚ የጽዳት ሂደት ገንብተናል። እነዚህ መርሆዎች የኮድ ቤዙን ለወደፊት ወኪል ሥራዎች ለማንበብ እና ወጥነት እንዲኖረው የሚያደርጉ አስተያየት የተሰጣቸው፣ ሜካኒካል ደንቦች ናቸው። ለምሳሌ፦ (1) የማይለዋወጡትን ማዕከላዊ ለማድረግ በእጅ የሚሽከረከሩ ረዳቶችን ከመጠቀም ይልቅ የተጋሩ የመገልገያ ጥቅሎችን የምንመርጥ ይሆናል እንዲሁም (2) ውሂብን «YOLO-style» ወይም አንዴ ብቻ በመመልከት የማንመረምር ይሆናል—ወኪሉ በተገመቱ ቅርጾች ላይ በድንገት መገንባት እንዳይችል ወሰኖችን የምናረጋግጥ ወይም በተጻፉ SDKዎች ላይ የምንመካ ይሆናል። በመደበኛ እንቅስቃሴ ልዩነቶችን የሚቃኙ፣ የጥራት ደረጃዎችን የሚያዘምኑ እና የታለሙ የመልሶ ማደስ pull request የሚከፍቱ የጀርባ Codex ተግባራት አሉን። አብዛኛዎቹ እነዚህ በአንድ ደቂቃ ውስጥ ሊገመገሙ እና በራስ-ሰር ሊዋሃዱ ይችላሉ።
ይህ እንደ ቆሻሻ ስብስብ የሚያገለግል ይሆናል። ቴክኒካዊ ዕዳ እንደ ከፍተኛ ወለድ ብድር ነው፦ እንዲሰበሰብ ትተውት በሚያሳምም ሁኔታ ከመክፈል ይልቅ በየጊዜው በትንንሽ ጭማሪ መክፈል የተሻለ ይሆናል። የሰው ጣዕምን አንድ ጊዜ በመያዝ በእያንዳንዱ የኮድ መስመር ላይ በቀጣይነት የሚተገበር ይሆናል። ይህ ደግሞ መጥፎ ቅጦች ለቀናት ወይም ለሳምንታት በኮድ መሰረት እንዲሰራጩ ከማድረግ ይልቅ በየቀኑ እንድንይዝ እና እንድንፈታ የሚያስችለን ይሆናል።
ይህ ስትራቴጂ እስካሁን ድረስ በOpenAI ውስጣዊ ጅምር እና ተቀባይነት አማካኝነት በጥሩ ሁኔታ ሰርቷል። ለእውነተኛ ተጠቃሚዎች እውነተኛ ምርት መገንባት ኢንቨስትመንታችንን በእውነታው ላይ ለማተኮር እና ለረጅም ጊዜ ማቆየት እንድንችል ረድቶናል።
እስካሁን የማናውቀው ነገር ቢኖር ሙሉ በሙሉ በወኪል በሚፈጠር ስርዓት ውስጥ የአርክቴክቸር ወጥነት ለዓመታት እንዴት እንደሚሻሻል ነው። የሰው ውሳኔ ከፍተኛውን ጥቅም የሚጨምርበትን እና ያንን ውሳኔ ለማዋሃድ እንዴት መፃፍ እንደሚቻል አሁንም እየተማርን እንገኛለን። እንዲሁም ሞዴሎች በጊዜ ሂደት የበለጠ አቅም እያገኙ ሲሄዱ፣ ይህ ስርዓት እንዴት እንደሚሻሻል እኛም የማናውቅ ይሆናል።
ግልፅ የሆነው ነገር፦ ሶፍትዌር መገንባት አሁንም ዲሲፕሊን የሚጠይቅ ቢሆንም ዲሲፕሊኑ በኮዱ ውስጥ ሳይሆን በመሠረታዊ አሠራሩ ላይ የበለጠ የሚታይ ይሆናል። ኮድቤዙን ወጥነት ያለው የሚያደርጉ መሳሪያዎች፣ ረቂቆች እና የግብረመልስ ዑደቶች ከጊዜ ወደ ጊዜ አስፈላጊ እየሆኑ መጥተዋል።
አሁን በጣም አስቸጋሪ የሆኑ ተግዳሮቶቻችን የሚያተኩሩት አካባቢዎች፣ የግብረመልስ ዑደቶች እና የቁጥጥር ስርዓቶችን ዲዛይን ማውጣት ላይ ሲሆን እነዚህም ወኪሎች ግባችንን ለማሳካት፦ ውስብስብ እና አስተማማኝ ሶፍትዌርን በስፋት መገንባት እና ማቆየት፣ የሚረዱ ይሆናል።
እንደ Codex ያሉ ወኪሎች የሶፍትዌር የህይወት ዑደቱን ሰፋፊ ክፍሎች ስለሚወስዱ፣ እነዚህ ጥያቄዎች የበለጠ አስፈላጊ ይሆናሉ። አንዳንድ የመጀመሪያ ትምህርቶችን ማካፈል ጥረትዎን የት ላይ ማዋል እንዳለብዎ ለማመዛዘን ይረዳዎታል ብለን ተስፋ እናደርጋለን፣ ይህም ነገሮችን መገንባት የሚያስችሎ ይሆናልል።


