ಏಕೆ ಎರಡು-ಮೆದುರೆ (two-brain) ವಾಸ್ತುಶಿಲ್ಪ?

ಹೆಚ್ಚಿನ ಕೋಡ್-ಬರೆಯುವ ಸಹಾಯಕರು (code-writing assistants) ಏಕೈಕ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸುತ್ತವೆ, ಅದು ಏನನ್ನು ನಿರ್ಮಿಸಬೇಕು ಎಂದು ನಿರ್ಧರಿಸುವುದು ಮತ್ತು ಅದರ ಮೂಲ ಕೋಡ್ (source code) ಬರೆಯುವುದು ಎರಡನ್ನೂ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ದೀರ್ಘ ಅವಧಿಯ ಬಳಕೆಯ ಸಮಯದಲ್ಲಿ, ಮಾಡೆಲ್‌ನ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋ (context window) ತುಂಬಿಹೋಗುತ್ತದೆ, ಇದು "ಕಾಂಟೆಕ್ಸ್ಟ್ ಡ್ರಿಫ್ಟ್" (context drift) ಗೆ ಕಾರಣವಾಗುತ್ತದೆ – ಅಂದರೆ ಅದು ಹಿಂದಿನ ನಿರ್ಧಾರಗಳನ್ನು ಮರೆಯುತ್ತದೆ ಮತ್ತು ಪರಸ್ಪರ ವಿರೋಧಾಭಾಸವಿರುವ ಅಥವಾ ಪುನರಾವರ್ತಿತ ಕೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ. Cursor ಇದನ್ನು ಮಾನಸಿಕ ಶ್ರಮವನ್ನು ವಿಭಜಿಸುವ ಮೂಲಕ ಪರಿಹರಿಸುತ್ತದೆ:

  • ಪ್ಲಾನರ್ ಏಜೆಂಟ್‌ಗಳು (Planner agents) ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾದ ಮಾಡೆಲ್‌ಗಳ ಮೇಲೆ ಚಲಿಸುತ್ತವೆ (ಡ್ರಾಫ್ಟ್‌ನಲ್ಲಿ Opus 4.8 ಅಥವಾ Fable 5 ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ). ಅವು ಉನ್ನತ ಮಟ್ಟದ ವಿನಂತಿಯನ್ನು ಕಾರ್ಯದ ಶ್ರೇಣೀಕೃತ ರೂಪಕ್ಕೆ (task hierarchy) ವಿಂಗಡಿಸುತ್ತವೆ, ಅಸ್ಪಷ್ಟತೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತವೆ ಮತ್ತು ವಿನ್ಯಾಸದ ಆಯ್ಕೆಗಳನ್ನು ದಾಖಲಿಸುತ್ತವೆ.
  • ವರ್ಕರ್ ಏಜೆಂಟ್‌ಗಳು (Worker agents) ವೇಗವಾದ, ಹೆಚ್ಚಿನ ಥ್ರೂಪುಟ್ ಹೊಂದಿರುವ ಮಾಡೆಲ್‌ಗಳ ಮೇಲೆ ಚಲಿಸುತ್ತವೆ (Composer 2.5). ಅವು ಪ್ಲಾನರ್‌ಗಳಿಂದ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳನ್ನು ಪಡೆದು ಕೋಡ್ ಸ್ನಿಪ್ಪೆಟ್‌ಗಳನ್ನು (code snippets) ಸೃಷ್ಟಿಸುತ್ತವೆ.

"ಏನು" ಮತ್ತು "ಹೇಗೆ" ಎಂಬುದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸುವುದು ಏಕೈಕ ಮಾಡೆಲ್ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಕುಂಠಿತಗೊಳಿಸುವ ಓವರ್‌ಲೋಡ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಮಾಡೆಲ್ ತನ್ನ ಪಾತ್ರಕ್ಕೆ ಸರಿಹೊಂದುವ ಕಾಂಟೆಕ್ಸ್ಟ್ ಗಾತ್ರದಲ್ಲಿ ಇರುತ್ತದೆ, ಇದರಿಂದಾಗಿ ವಿನ್ಯಾಸಕರು ಪ್ರಾಂಪ್ಟ್‌ಗಳನ್ನು ಕತ್ತರಿಸಬೇಕಾಗುವ (truncate) ಟೋಕನ್-ಬಜೆಟ್ ಅತಿಯಾಗಿ ಹೆಚ್ಚಾಗುವ ಸಮಸ್ಯೆಯನ್ನು ತಪ್ಪಿಸಬಹುದು.

ಸ್ವಾರ್ಮ್ (swarm) ಅನ್ನು ವಿಸ್ತರಿಸುವುದು

Cursor ನ ಸ್ವಾರ್ಮ್‌ನ ಆರಂಭಿಕ ಆವೃತ್ತಿಗಳು ಗಂಟೆಗೆ ಸುಮಾರು ಒಂದು ಸಾವಿರ ಕಮಿಟ್‌ಗಳನ್ನು (commits) ಮಾಡುತ್ತಿದ್ದವು. split-brain ಮರುವಿನ್ಯಾಸದ ನಂತರ, ಈ ವ್ಯವಸ್ಥೆಯು ಸೆಕೆಂಡಿಗೆ ಸುಮಾರು ಒಂದು ಸಾವಿರ ಕಮಿಟ್‌ಗಳ ವೇಗವನ್ನು ತಲುಪಿತು. ಆ ವೇಗವು ಒಂದು ಹೊಸ ಅಡಚಣೆಯನ್ನು (bottleneck) ಎದುರಿಸಿತು: ವರ್ಷನ್-ಕಂಟ್ರೋಲ್ ಪರಿಕರಗಳನ್ನು ಅಂತಹ ಹೆಚ್ಚಿನ ಸಂಘರ್ಷಕ್ಕಾಗಿ (contention) ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿರಲಿಲ್ಲ. ಎರಡು ಪ್ಲಾನರ್‌ಗಳು ಒಂದಕ್ಕೊಂದು ಅತಿಕ್ರಮಿಸುವ ಸೂಚನೆಗಳನ್ನು ನೀಡಿದಾಗ, ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಪುನರಾವರ್ತಿತ ಲಾಜಿಕ್ ಉಂಟಾಗಬಹುದು – ಈ ಸಮಸ್ಯೆಯನ್ನು ತಂಡವು "ಸ್ಪ್ಲಿಟ್-ಬ್ರೈನ್ ಎರರ್ಸ್" (split-brain errors) ಎಂದು ಕರೆಯುತ್ತದೆ.

Cursor ಈ ಗೊಂದಲವನ್ನು ಮೂರು ಸುರಕ್ಷತಾ ಕ್ರಮಗಳೊಂದಿಗೆ ನಿಯಂತ್ರಿಸಿತು:

  1. ಹಂಚಿಕೆಯ ವಿನ್ಯಾಸ ದಾಖಲೆಗಳು (Shared design documents) – ಪ್ರತಿಯೊಬ್ಬ ಪ್ಲಾನರ್ ತನ್ನ ನಿರ್ಧಾರಗಳನ್ನು ಸೃಷ್ಟಿಸಲಾದ ಕೋಡ್‌ಗೆ ಲಿಂಕ್ ಮಾಡಲಾದ ಒಂದು ಕೇಂದ್ರ ದಾಖಲೆಗೆ ಬರೆಯುತ್ತಾನೆ. ವರ್ಕರ್ ಏಜೆಂಟ್‌ಗಳು ಆ ಲಿಂಕ್‌ಗಳನ್ನು ಅನುಸರಿಸುತ್ತಾರೆ, ಇದರಿಂದಾಗಿ ಒಂದೇ ವಿನ್ಯಾಸವನ್ನು ಬೇರೆಡೆ ಮತ್ತೆ ಸೃಷ್ಟಿಸುವುದನ್ನು ತಪ್ಪಿಸಬಹುದು.
  2. ಬಹು-ಕೋನ ವಿಮರ್ಶೆಗಳು (Multi-angle reviews) – ಮೂರು ಏಜೆಂಟ್‌ಗಳು ಕೆಲಸದ ವಿಭಿನ್ನ ಭಾಗಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತಾರೆ (ಪೂರ್ಣ ಟ್ರಾನ್ಸ್‌ಕ್ರಿಪ್ಟ್, ಕೇವಲ ಔಟ್‌ಪುಟ್, ಅಥವಾ ಕೇವಲ ಕೋಡ್). ಈ ಕ್ರಾಸ್-ಚೆಕಿಂಗ್ ಏಕೈಕ ದೃಷ್ಟಿಕೋನವು 놓ಕಬಹುದಾದ ಅಸಂಗತತೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ.
  3. ಸ್ವಯಂ-ನಿರ್ವಹಣೆಯ ಫೀಲ್ಡ್ ಗೈಡ್‌ಗಳು (Self-maintained field guides) – ಏಜೆಂಟ್‌ಗಳು ಆಶ್ಚರ್ಯಕರ ಸಂಶೋಧನೆಗಳು ಮತ್ತು ತಪ್ಪುಗಳ (pitfalls) ಬಗ್ಗೆ ಒಂದು "ಜ್ಞಾನ ಫೋಲ್ಡರ್" (knowledge folder) ಅನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತಾರೆ. ಹೊಸ ವರ್ಕರ್ ಪ್ರಾರಂಭವಾದಾಗ, ಅದು ತಿಳಿದಿರುವ ತಪ್ಪುಗಳನ್ನು ಪುನರಾವರ್ತಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ಆ ಫೋಲ್ಡರ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ, ಇದು ಸ್ವಾರ್ಮ್‌ನಾದ್ಯಂತ ಅಲ್ಪಾವಧಿಯ ನೆನಪನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಈ ಕ್ರಮಗಳು ಬದಲಾವಣೆಗಳ ಸುರಿಮಳೆಯ ನಡುವೆಯೂ ಕೋಡ್‌ಬೇಸ್ ಅನ್ನು ಸುಸಂಬದ್ಧವಾಗಿಡುತ್ತವೆ.

ಪ್ರಮುಖ ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳು (Benchmarks)

Cursor ತನ್ನ ಹೈಬ್ರಿಡ್ ಸ್ವಾರ್ಮ್ ಅನ್ನು ಸಂಪೂರ್ಣ SQLite ಮ್ಯಾನುಯಲ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸುವ ಮೂಲಕ ಪರೀಕ್ಷಿಸಿತು – ಇದು 835 ಪುಟಗಳ Rust ಅನುಷ್ಠಾನವಾಗಿದ್ದು, ನಿಖರತೆ ಮತ್ತು ಗಾತ್ರ ಎರಡನ್ನೂ ಪರೀಕ್ಷಿಸುವ ಕಠಿಣ ಕಾರ್ಯವಾಗಿದೆ. ಫಲಿತಾಂಶಗಳು ಸ್ಪಷ್ಟವಾಗಿದ್ದವು:

  • ನಿಖರತೆ (Accuracy) – ಹೈಬ್ರಿಡ್ ಕಾನ್ಫಿಗರೇಶನ್ (planner + Composer workers) 100% ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಿತು, ಇದು ಉಲ್ಲೇಖಿಸಲಾದ ಅತ್ಯಂತ ಸುಧಾರಿತ ಮಾಡೆಲ್‌ನ (GPT-5.5) ಏಕೈಕ ರನ್‌ಗಿಂತ ನಿರಂತರವಾಗಿ ಉತ್ತಮವಾಗಿತ್ತು.
  • ಕೋಡ್ ಗಾತ್ರ (Code size) – ಹೈಬ್ರಿಡ್ ಸ್ವಾರ್ಮ್ 9,908 ಸಾಲುಗಳ ಎಂಜಿನ್ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಿತು, ಆದರೆ ಹಳೆಯ, ಮೊನೊಲಿಥಿಕ್ ಸ್ವಾರ್ಮ್ 64,305 ಸಾಲುಗಳನ್ನು ಉತ್ಪಾದಿಸಿತ್ತು.
  • ವೆಚ್ಚ (Cost) – ಏಕೈಕ GPT-5.5 ಇನ್‌ಸ್ಟೆನ್ಸ್ ಅನ್ನು ರನ್ ಮಾಡಲು ಸುಮಾರು $10,565 ವೆಚ್ಚವಾಯಿತು. ಹೈಬ್ರಿಡ್ ವಿಧಾನವು ವರ್ಕರ್ ಫ್ಲೀಟ್‌ಗಾಗಿ ಕೇವಲ $411 ಖರ್ಚು ಮಾಡಿತು.

ಈ ವೆಚ್ಚದ ವ್ಯತ್ಯಾಸವು Composer 2.5 ನಿಂದ ಬರುತ್ತದೆ, ಇದು ಫ್ಲ್ಯಾಗ್‌ಶಿಪ್ ಮಾಡೆಲ್‌ಗಳಿಗೆ ಸಮಾನವಾದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ನೀಡುತ್ತಾ, ಪ್ರತಿ ಮಿಲಿಯನ್ ಟೋಕನ್‌ಗೆ ಕೇವಲ ಅಲ್ಪ ಪ್ರಮಾಣದ ಬೆಲೆಯನ್ನು ವಿಧಿಸುತ್ತದೆ ಎಂದು ಡ್ರಾಫ್ಟ್ ವಿವರಿಸುತ್ತದೆ. ಹೆಚ್ಚಿನ ಟೋಕನ್ ಬಳಕೆಯನ್ನು ಈ ಅಗ್ಗದ ಮಾಡೆಲ್‌ಗೆ ವರ್ಗಾಯಿಸುವ ಮೂಲಕ, ಸ್ವಾರ್ಮ್ ಗುಣಮಟ್ಟವನ್ನು ಬಲಿಕೊಡದೆ ಒಟ್ಟಾರೆ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಇರಿಸುತ್ತದೆ.

ಸಾರಾಂಶ (Bottom line)

  • ಶಕ್ತಿಯುತ ಪ್ಲಾನರ್ ಅನ್ನು ಅಗ್ಗದ ಎಕ್ಸಿಕ್ಯೂಟರ್‌ನೊಂದಿಗೆ ಜೋಡಿಸುವುದು ವೇಗ, ಕೋಡ್ ಸಂಕ್ಷಿಪ್ತತೆ ಮತ್ತು ವೆಚ್ಚದಲ್ಲಿ ಗಣನೀಯ ಸುಧಾರಣೆಯನ್ನು ನೀಡುತ್ತದೆ.
  • ಈ ವಿನ್ಯಾಸವು "ಏನು" ಎಂಬುದನ್ನು ಫ್ರಾಂಟಿಯರ್ ಮಾಡೆಲ್‌ಗಳಿಗೆ ಮತ್ತು "ಹೇಗೆ" ಎಂಬುದನ್ನು ಸ್ಪೆಷಲಿಸ್ಟ್ ಮಾಡೆಲ್‌ಗಳಿಗೆ ನಿಯೋಜಿಸುವ ಮೂಲಕ ಕಾಂಟೆಕ್ಸ್ಟ್ ಡ್ರಿಫ್ಟ್ ಅನ್ನು ಇಲ್ಲದಂತೆ ಮಾಡುತ್ತದೆ.
  • ಕಾರ್ಯಾಚರಣೆಯ ಹೊರೆ (Operational overhead) ಮತ್ತು ಮೂಲಸೌಕರ್ಯದ ಬೇಡಿಕೆಗಳು ವ್ಯಾಪಕ ಅಳವಡಿಕೆಗೆ ಇನ್ನೂ ದೊಡ್ಡ ಅಡೆತಡೆಗಳಾಗಿವೆ.