Jarred Sumner ಅವರು Claude ಚಾಲಿತ, 'adversarial-review' (ವಿರೋಧಾತ್ಮಕ ವಿಮರ್ಶೆ) ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು Bun runtime ಅನ್ನು Zig ನಿಂದ Rust ಗೆ ಮರುಬರೆಯಲು ಬಳಸಿದರು. ಅವರು 6,778 ಕಮಿಟ್‌ಗಳ ಮೂಲಕ ಹತ್ತು ಲಕ್ಷಕ್ಕೂ ಹೆಚ್ಚು ಸಾಲುಗಳ ಕೋಡ್ ಅನ್ನು ಸಲ್ಲಿಕೆ ಮಾಡಿದರು ಮತ್ತು 16,000 ಕಂಪೈಲರ್ ದೋಷಗಳನ್ನು (compiler errors) ಸರಿಪಡಿಸಿದರು. ಈ ಪ್ರಯತ್ನವು 50 Claude Code ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ನಡೆಸಿತು, ಏಕಕಾಲದಲ್ಲಿ 64 Claude ಏಜೆಂಟ್‌ಗಳವರೆಗೆ ತಲುಪಿತು ಮತ್ತು ಬೃಹತ್ ಭಾಷಾ ವಲಸೆಗಳಿಗಾಗಿ (language migrations) ಪುನರಾವರ್ತಿಸಬಹುದಾದ ಒಂದು ಮಾರ್ಗಸೂಚಿಯನ್ನು (playbook) ಬಿಟ್ಟುಹೋಯಿತು.

ಈ ಮರುಬರೆಯುವಿಕೆ ಏಕೆ ಮುಖ್ಯ?

ಹಳೆಯ ಕೋಡ್ (legacy code) ಅಥವಾ ಕಾರ್ಯತಂತ್ರದ ಭಾಷಾ ಬದಲಾವಣೆಯೊಂದಿಗೆ ಹೋರಾಡುತ್ತಿರುವ ಯಾವುದೇ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ, "Sumner Method"ವು ಅಸ್ಪಷ್ಟ ಭರವಸೆಯ ಬದಲಿಗೆ ಒಂದು ನಿರ್ದಿಷ್ಟ ಮಾದರಿಯನ್ನು (template) ನೀಡುತ್ತದೆ.

AI ಅನ್ನು ಬದಲಾವಣೆಯ ಸಾಧನವನ್ನಲ್ಲದೆ, ಪಾಲುದಾರನನ್ನಾಗಿ ಪರಿವರ್ತಿಸಿದ ಕಾರ್ಯವಿಧಾನ

Sumner ಅವರ ಪ್ರಕ್ರಿಯೆಯು ಈ ಕೆಳಗಿನ ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

  1. ಕಾರ್ಯ ನಿಯೋಜನೆ (Task assignment) – ಏಜೆಂಟ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ವಲಸೆ ಕಾರ್ಯವನ್ನು ಪಡೆಯುತ್ತದೆ.
  2. ಅನುಷ್ಠಾನ (Implementation) – ಎರಡನೇ ಏಜೆಂಟ್ Rust ಕೋಡ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ.
  3. ವಿರೋಧಾತ್ಮಕ ವಿಮರ್ಶೆ (Adversarial review) – ಮೂರನೇ ಏಜೆಂಟ್ ಕೋಡ್ ತಪ್ಪಾಗಿದೆ ಎಂದು ಭಾವಿಸಿ, source files ಮತ್ತು tests ಬಳಸಿ ಪ್ರತಿಯೊಂದು ವಾದವನ್ನೂ ಸುಳ್ಳೆಂದು ಸಾಬೀತುಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
  4. ಸರಿಪಡಿಸುವಿಕೆ (Fixes) – ಅನುಷ್ಠಾನ ಏಜೆಂಟ್ ವಿಮರ್ಶಕನ ಸಂಶೋಧನೆಗಳನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುತ್ತದೆ.
  5. ಸ್ವಯಂಚಾಲಿತ ತಪಾಸಣೆಗಳು (Automated gates) – ಕಂಪೈಲರ್, ಟೆಸ್ಟ್ ಸೂಟ್ ಮತ್ತು ಸ್ಟ್ಯಾಟಿಕ್-ಅನಾಲಿಸಿಸ್ ಪರಿಶೀಲನೆಗಳು ಬದಲಾವಣೆಗಳನ್ನು ದೃಢೀಕರಿಸುತ್ತವೆ.

ಇಲ್ಲಿನ ಪ್ರಮುಖ ನಿಯಮವೆಂದರೆ ಬೇರ್ಪಡಿಕೆ (separation). ಬರೆಯುವವನು ವಿಮರ್ಶಕನ ತರ್ಕವನ್ನು ಎಂದಿಗೂ ನೋಡುವುದಿಲ್ಲ ಮತ್ತು ವಿಮರ್ಶಕನು ಬರೆಯುವವನ ಉದ್ದೇಶವನ್ನು ಎಂದಿಗೂ ನೋಡುವುದಿಲ್ಲ. ಪೂರ್ವಾಗ್ರಹವನ್ನು (bias) ತೆಗೆದುಹಾಕುವ ಮೂಲಕ, ಈ ವ್ಯವಸ್ಥೆಯು ವಿಮರ್ಶಕನು ಕೇವಲ "ನೋಡಲು ಚೆನ್ನಾಗಿದೆ" ಎಂದು ಹೇಳುವ ಬದಲು, ಅಡಗಿರುವ ದೋಷಗಳನ್ನು (bugs) ಹುಡುಕುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆ.

Rust ನ ಮಷಿನ್-ಚೆಕಬಲ್ ಫೀಡ್‌ಬ್ಯಾಕ್ ಸಾವಿರಾರು ಸಂಭಾವ್ಯ ಮಾನವ-ಓದಬಲ್ಲ ದೋಷಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದಾದ ಕ್ಯೂ (queue) ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಕಂಪೈಲರ್ ದೋಷ, borrow-checker ವೈಫಲ್ಯ ಅಥವಾ Clippy ಎಚ್ಚರಿಕೆಯು ವಿರೋಧಾತ್ಮಕ ವಿಮರ್ಶಕನು ನೇರವಾಗಿ ಗುರಿ ಮಾಡುವ ಕೆಲಸದ ಅಂಶವಾಗುತ್ತದೆ.

ಎಂಟು ಹಂತಗಳ ಮಾರ್ಗಸೂಚಿ (playbook)

Sumner ಅವರು ಕಾರ್ಯವಿಧಾನವನ್ನು ಎಂಟು ಅನುಕ್ರಮ ಹಂತಗಳಾಗಿ ವಿಂಗಡಿಸಿದ್ದಾರೆ, ಪ್ರತಿಯೊಂದೂ ತನ್ನದೇ ಆದ ಕಾರ್ಯದ ಸಾಲು (task queue), ಪೂರ್ಣಗೊಂಡಿಕೆಯ ವ್ಯಾಖ್ಯಾನ (definition of done), ವಿಮರ್ಶಾ ಪ್ರಾಂಪ್ಟ್‌ಗಳು ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ತಪಾಸಣೆಗಳನ್ನು ಹೊಂದಿದೆ:

  • ಹಂತ A – ಸತ್ಯಗಳ ಹೊರತೆಗೆಯುವಿಕೆ ಮತ್ತು ಮಾರ್ಗದರ್ಶಿಯ ರಚನೆ (Fact extraction & guide authoring) – ವಾಸ್ತುಶಿಲ್ಪದ ಸತ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ ವಲಸೆ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ತಯಾರಿಸುವುದು.
  • ಹಂತ B – ಯಾಂತ್ರಿಕ ಫೈಲ್ ಅನುವಾದ (Mechanical file translation) – Zig ಫೈಲ್‌ಗಳನ್ನು Rust ಸ್ಕೆಲೆಟನ್‌ಗಳಾಗಿ ಪರಿವರ್ತಿಸುವುದು.
  • ಹಂತ C – ಕಂಪೈಲ್-ದೋಷ ಪರಿಹಾರ (Compile-error remediation) – ಅನುವಾದದ ಸಮಯದಲ್ಲಿ ದಾಖಲಾದ 16,000 ಕಂಪೈಲರ್ ದೋಷಗಳನ್ನು ಪರಿಹರಿಸುವುದು.
  • ಹಂತ D – ರನ್‌ಟೈಮ್-ವರ್ತನೆ ಹೊಂದಾಣಿಕೆ (Runtime-behavior matching) – Rust ಔಟ್‌ಪುಟ್ Zig ನ ವರ್ತನೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸುವುದು.
  • ಹಂತ E – ಟೆಸ್ಟ್ ಸೂಟ್ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ (Test suite completion) – ಪ್ರತಿಯೊಂದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರೀಕ್ಷೆಯನ್ನು ಪಾಸು ಮಾಡುವುದು.
  • ಹಂತ F – ಕಾರ್ಯಕ್ಷಮತೆಯ ಮರುಪಡೆಯುವಿಕೆ (Performance recovery) – ಮರುಬರೆಯುವಿಕೆಯಿಂದ ಉಂಟಾದ ಯಾವುದೇ ವೇಗ ಕುಸಿತವನ್ನು ನಿವಾರಿಸುವುದು.
  • ಹಂತ G – ಕೋಡ್-ಗುಣಮಟ್ಟದ ಮೆರುಗು (Code-quality polishing) – ಐಡಿಯೋಮ್ಯಾಟಿಕ್ Rust ಮಾದರಿಗಳನ್ನು ಅನ್ವಯಿಸುವುದು ಮತ್ತು ಓದುವಿಕೆಗೆ ಅನುಕೂಲವಾಗುವಂತೆ ರಿಫ್ಯಾಕ್ಟರ್ ಮಾಡುವುದು.
  • ಹಂತ H – ಭದ್ರತಾ ಬಲವರ್ಧನೆ (Security hardening) – ಅನ್ ಸೇಫ್ (unsafe) ಆಡಿಟ್‌ಗಳನ್ನು ನಡೆಸಿ ಪತ್ತೆಯಾದ ಯಾವುದೇ ದುರ್ಬಲತೆಗಳನ್ನು ಸರಿಪಡಿಸುವುದು.

ಪ್ರತಿಯೊಂದು ಹಂತವು ಮುಂದಿನ ಹಂತಕ್ಕೆ ದಾರಿಯಾಗುತ್ತದೆ, ಇದರಿಂದ ಯಾವುದೇ ಹಂತವನ್ನು ಬಿಟ್ಟುಹೋಗದಂತೆ ಮತ್ತು ಹಿನ್ನಡೆಗಳನ್ನು (regressions) ಮೊದಲೇ ಪತ್ತೆಹಚ್ಚುವಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಮಾರ್ಗಸೂಚಿಯನ್ನು ಎಲ್ಲಿ ಪಡೆಯಬಹುದು?

Sumner ಅವರು ಸಂಪೂರ್ಣ ಟೆಂಪ್ಲೇಟ್‌ಗಳು, ಪ್ರಾಂಪ್ಟ್‌ಗಳು ಮತ್ತು ಹಂತದ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು https://github.com/Lumafy/sumner-method ನಲ್ಲಿ ಓಪನ್-ಸೋರ್ಸ್ ಮಾಡಿದ್ದಾರೆ. ಒಂದು ಸಹವರ್ತಿ ಲೇಖನವು Bun ವಲಸೆಯ ಬಗ್ಗೆ ವಿವರವಾಗಿ ವಿವರಿಸುತ್ತದೆ: https://dev.to/lumafy/the-sumner-method-what-buns-ai-assisted-zig-rust-rewrite-teaches-about-large-migrations-2gpo. ನಿರಂತರ ಚರ್ಚೆಗಾಗಿ ಟೆಲಿಗ್ರಾಮ್ ಸಮುದಾಯವು https://t.me/GyaanSetuAi ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.