Jarred Sumner, Claude மூலம் இயங்கும் ஒரு adversarial-review பணிப்பாய்வைப் பயன்படுத்தி, Bun runtime-ஐ Zig மொழியிலிருந்து Rust மொழிக்கு மாற்றினார். அவர் பத்து லட்சத்திற்கும் அதிகமான வரிகள் கொண்ட குறியீடுகளை (code), 6,778 commits மூலம் பதிவேற்றினார் மற்றும் 16,000 compiler பிழைகளைச் சரிசெய்தார். இந்த முயற்சியில் 50 Claude Code பணிப்பாய்வுகள் இயக்கப்பட்டன, ஒரே நேரத்தில் 64 Claude agents செயல்பட்டன, மேலும் இது பெரிய அளவிலான மொழி மாற்றங்களுக்கான (language migrations) ஒரு மறுஉருவாக்கக்கூடிய வழிகாட்டியையும் (reproducible playbook) விட்டுச் சென்றது.

இந்த மறுமாற்றத்தின் முக்கியத்துவம் என்ன

பழைய குறியீடுகளுடன் (legacy code) போராடும் அல்லது ஒரு மூலோபாய மொழி மாற்றத்தை (strategic language move) மேற்கொள்ளும் எந்தவொரு திட்டத்திற்கும், "Sumner Method" ஒரு தெளிவற்ற வாக்குறுதிக்கு பதிலாக ஒரு உறுதியான முன்மாதிரியை (template) வழங்குகிறது.

AI-ஐ ஒரு மாற்றாக இல்லாமல், ஒரு கூட்டாளியாக மாற்றிய பணிப்பாய்வு

Sumner-இன் செயல்முறை மிகத் துல்லியமாகச் சுழற்சி முறையில் இயங்குகிறது:

  1. பணி ஒதுக்கீடு (Task assignment) – ஒரு agent ஒரு குறிப்பிட்ட மாற்றப் பணியைப் பெறுகிறது.
  2. செயல்படுத்துதல் (Implementation) – இரண்டாவது agent Rust குறியீட்டை எழுதுகிறது.
  3. எதிரித்துவமான ஆய்வு (Adversarial review) – மூன்றாவது agent குறியீடு தவறானது என்று கருதி, மூலக் கோப்புகள் (source files) மற்றும் சோதனைகளைப் (tests) பயன்படுத்தி ஒவ்வொரு கூற்றையும் தவறென நிரூபிக்க முயற்சிக்கும்.
  4. சரிசெய்தல் (Fixes) – செயல்படுத்துபவர் (implementation agent) ஆய்வாளரின் கண்டுபிடிப்புகளைச் சேர்த்துச் சரிசெய்கிறார்.
  5. தானியங்கி வாயில்கள் (Automated gates) – compiler, test suite மற்றும் static-analysis சோதனைகள் மாற்றங்களைச் சரிபார்க்கின்றன.

இதில் மிக முக்கியமான விதி பிரிவினை (separation) ஆகும். எழுதுபவர் ஆய்வாளரின் காரணங்களை ஒருபோதும் பார்ப்பதில்லை, ஆய்வாளர் எழுதுபவரின் நோக்கத்தையும் ஒருபோதும் பார்ப்பதில்லை. பாரபட்சத்தைத் தவிர்ப்பதன் மூலம், இந்த அமைப்பு ஆய்வாளர் வெறும் "பார்க்க நன்றாக உள்ளது" (looks good) என்று கூறிவிட்டுச் செல்லாமல், மறைந்திருக்கும் பிழைகளைத் தேடத் தூண்டுகிறது.

Rust-இன் இயந்திரத்தால் சரிபார்க்கக்கூடிய பின்னூட்டம் (machine-checkable feedback), ஆயிரக்கணக்கான மனிதர்கள் படிக்கக்கூடிய பிழைகளை நிர்வகிக்கக்கூடிய வரிசையாக மாற்றுகிறது. ஒவ்வொரு compiler பிழை, borrow-checker தோல்வி அல்லது Clippy எச்சரிக்கையும், எதிரித்துவ ஆய்வாளர் நேரடியாக இலக்கு வைக்கக்கூடிய ஒரு பணிப் பொருளாக (work item) மாறுகிறது.

எட்டு கட்டங்களைக் கொண்ட வழிகாட்டி

Sumner இந்த பணிப்பாய்வை எட்டு தொடர்ச்சியான கட்டங்களாகப் பிரித்துள்ளார், ஒவ்வொன்றும் அதன் சொந்த பணி வரிசை (task queue), பணி நிறைவு வரையறை (definition of done), ஆய்வு தூண்டுதல்கள் (review prompts) மற்றும் தானியங்கி வாயில்களைக் கொண்டுள்ளது:

  • கட்டம் A – உண்மைத் தரவுப் பிரித்தெடுத்தல் மற்றும் வழிகாட்டி தயாரித்தல் – கட்டமைப்புத் தரவுகளைச் சேகரித்து ஒரு மாற்ற வழிகாட்டியை உருவாக்குதல்.
  • கட்டம் B – இயந்திரத்தனமான கோப்பு மொழிபெயர்ப்பு – Zig கோப்புகளை Rust skeletons-ஆக மாற்றுதல்.
  • கட்டம் C – compiler பிழைத் தீர்வு – மொழிபெயர்ப்பின் போது பதிவான 16,000 compiler பிழைகளைச் சரிசெய்தல்.
  • கட்டம் D – runtime செயல்பாட்டுப் பொருத்தம் – Rust வெளியீடு Zig-இன் செயல்பாட்டைப் பிரதிபலிக்கிறதா என்பதைச் சரிபார்த்தல்.
  • கட்டம் E – test suite நிறைவு – தற்போதுள்ள அனைத்துச் சோதனைகளையும் வெற்றிகரமாக முடித்தல்.
  • கட்டம் F – செயல்திறன் மீட்பு – மறுமாற்றத்தினால் ஏற்படும் எந்தவொரு வேகக் குறைவையும் நீக்குதல்.
  • கட்டம் G – குறியீட்டுத் தரத்தை மேம்படுத்துதல் – முறையான (idiomatic) Rust முறைகளைப் பயன்படுத்துதல் மற்றும் வாசிப்புத் திறனுக்காக (readability) மறுசீரமைத்தல் (refactor).
  • கட்டம் H – பாதுகாப்பு வலுப்படுத்துதல் – unsafe ஆய்வுகளை மேற்கொண்டு கண்டறியப்பட்ட பாதிப்புகளைச் சரிசெய்தல்.

ஒவ்வொரு கட்டமும் அடுத்த கட்டத்திற்குத் தேவையான தரவுகளை வழங்குகிறது, இதனால் எந்தப் படிநிலையும் விடுபடாமல் இருப்பதையும், பிழைகள் (regressions) ஆரம்பத்திலேயே கண்டறியப்படுவதையும் உறுதி செய்கிறது.

வழிகாட்டியை எங்கே கண்டறிவது

Sumner அனைத்து டெம்ப்ளேட்டுகள், தூண்டுதல்கள் மற்றும் கட்ட வரையறைகளையும் https://github.com/Lumafy/sumner-method என்ற முகவரியில் திறந்த மூலமாக (open-source) வெளியிட்டுள்ளார். Bun மாற்றத்தைப் பற்றிய விரிவான கட்டுரை இதோ: https://dev.to/lumafy/the-sumner-method-what-buns-ai-assisted-zig-rust-rewrite-teaches-about-large-migrations-2gpo. தொடர்ச்சியான விவாதங்களுக்கான Telegram சமூகம் இங்கே உள்ளது: https://t.me/GyaanSetuAi.