ಒಂದು ಸ್ವಾಯತ್ತ AI ಏಜೆಂಟ್ ಸುಮಾರು ಇಪ್ಪತ್ತು ನಿಮಿಷಗಳಲ್ಲಿ ಸಂಪೂರ್ಣ Retrieval-Augmented Generation (RAG) ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ನಿರ್ಮಿಸಿತು ಮತ್ತು ಮನುಷ್ಯನ ಯಾವುದೇ ಕೋಡ್ ಇಲ್ಲದೆಯೇ ಒಂದು ಡ್ರಾಫ್ಟ್ ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ (pull request) ಅನ್ನು ತೆರೆಯಿತು.

"ಲೂಪ್" (loop) ಏಕೆ ಮುಖ್ಯ

ಒಂದು RAG ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ರಚಿಸುವುದು ಎಂದರೆ ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಸರ್ಚ್ ಇಂಜಿನ್, ಎಂಬೆಡ್ಡಿಂಗ್ ಮಾಡೆಲ್, ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಮತ್ತು ಗ್ಲೂ ಕೋಡ್ (glue code) ಅನ್ನು ಒಟ್ಟಿಗೆ ಜೋಡಿಸುವುದು ಎಂದರ್ಥ. ಡೆವಲಪರ್‌ಗಳು Helm ಚಾರ್ಟ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಲು, ಆಥೆಂಟಿಕೇಶನ್ (auth) ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲು ಮತ್ತು ಹೊಂದಾಣಿಕೆಯಿಲ್ಲದ ಮಾಡೆಲ್ ಹೆಸರುಗಳನ್ನು ಹುಡುಕಲು ಗಂಟೆಗಟ್ಟಲೆ ಸಮಯ ವ್ಯಯಿಸುತ್ತಾರೆ. ಈ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ಸ್ವಾಯತ್ತ ಏಜೆಂಟ್ ಯಾವುದೇ ಕೋಡ್ ಬರೆಯುವ ಮೊದಲು ಮನುಷ್ಯ ಮತ್ತು ಏಜೆಂಟ್ ನಡುವೆ ಒಪ್ಪಂದವನ್ನು ಏರ್ಪಡಿಸುವ ಐದು ಹಂತಗಳ ಲೂಪ್ ಅನ್ನು ಅನುಸರಿಸಿತು.

ಹಂತ ಏನಾಗುತ್ತದೆ
ಪ್ರಸ್ತಾವನೆ (Proposal) ಏಜೆಂಟ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಒಂದು ನಿರ್ದಿಷ್ಟ ಯೋಜನೆಯನ್ನು ಸಿದ್ಧಪಡಿಸುತ್ತದೆ, ಆದರೆ ಇನ್ನೂ ಕೋಡ್ ಅನ್ನು ರಚಿಸುವುದಿಲ್ಲ.
ಒಪ್ಪಂದ (Agreement) ಬಳಕೆದಾರರು ಯೋಜನೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತಾರೆ, ಅದನ್ನು ಅನುಮೋದಿಸುತ್ತಾರೆ ಅಥವಾ ಬದಲಾವಣೆಗಳನ್ನು ಕೇಳುತ್ತಾರೆ.
ಅನುಷ್ಠಾನ (Implementation) ಏಜೆಂಟ್ ಹೊಸ ಬ್ರಾಂಚ್‌ನಲ್ಲಿ ಫೀಚರ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ.
ಡ್ರಾಫ್ಟ್ ಗೇಟ್ (Draft Gate) ಏಜೆಂಟ್ ತನ್ನದೇ ಆದ ಲಿಂಟಿಂಗ್ ಮತ್ತು ಟೆಸ್ಟ್ ಸೂಟ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ತಾನು ಕಂಡುಕೊಂಡ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ.
ಡ್ರಾಫ್ಟ್ PR (Draft PR) ಕೋಡ್ ಅನ್ನು ಪುಶ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಅಂತಿಮ ಮನುಷ್ಯ ಪರಿಶೀಲನೆಗಾಗಿ ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ತೆರೆಯಲಾಗುತ್ತದೆ.

ಹೆಚ್ಚಿನ AI-ಸಹಾಯಿತ ಕೋಡಿಂಗ್ ಪರಿಕರಗಳು ನೇರವಾಗಿ ಅನುಷ್ಠಾನಕ್ಕೆ ಹೋಗುತ್ತವೆ, ಇದು ಹೆಚ್ಚಾಗಿ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶ ನೀಡದ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಒಂದು ಸ್ಪಷ್ಟವಾದ ಒಪ್ಪಂದದ ಹಂತವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ಈ ಲೂಪ್ ಕುರುಡು ಅನುಷ್ಠಾನವನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಕಮಿಟ್ (commit) ಆಗುವ ಮೊದಲು ಬಳಕೆದಾರರು ಯೋಜನೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಸಾಕಾರಗೊಂಡ ಸ್ಟ್ಯಾಕ್

ಇಪ್ಪತ್ತು ನಿಮಿಷಗಳಲ್ಲಿ ಏಜೆಂಟ್ ಪ್ರೊಡಕ್ಷನ್-ರೆಡಿ RAG ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಿತು:

  • ಹೈಬ್ರಿಡ್ ಸರ್ಚ್ (vector + keyword) ಗಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ OpenSearch 3.7.
  • ರಿಟ್ರಿவல்-ಆಗ್ಮೆಂಟೆಡ್ ಪ್ರತಿಕ್ರಿಯೆಗಳಿಗಾಗಿ ಜನರೇಟಿವ್ ಇಂಜಿನ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ Local Ollama LLM.
  • ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್‌ಗೆ ನಾಲ್ಕು ಕಸ್ಟಮ್ ಟೂಲ್‌ಗಳನ್ನು ಒದಗಿಸುವ FastMCP server.
  • ಕಂಟೇನರ್ ಬಿಲ್ಡ್‌ಗಳು, Kubernetes ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳು ಮತ್ತು ಸರ್ವಿಸ್ ನಿಯೋಜನೆಯನ್ನು (deployment) ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ Skaffold ಮತ್ತು Helm ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು.

ಪೈಪ್‌ಲೈನ್‌ನಲ್ಲಿ ಮೂವತ್ತು ಲೇಖನಗಳನ್ನು ಸೇರಿಸಲಾಗಿತ್ತು, ಇದು ಎಂಡ್-ಟು-ಎಂಡ್ ರಿಟ್ರಿವಲ್ ಮತ್ತು ಜನರೇಷನ್ ಅನ್ನು ತಕ್ಷಣವೇ ಪರೀಕ್ಷಿಸಲು ಅನುವು ಮಾಡಿಕೊಟ್ಟಿತು. ಒಬ್ಬ ಡೆವಲಪರ್ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರತಿಯೊಂದು ಘಟಕವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಪೂರ್ಣ ದಿನವನ್ನು ಕಳೆಯುತ್ತಾನೆ; ಈ ವೇಗವು ಗಮನಾರ್ಹವಾಗಿದೆ.

ಅದನ್ನು ವಿಫಲಗೊಳಿಸಬಲ್ಲಿದ್ದ ದೋಷಗಳು

ಸಾಮಾನ್ಯವಾಗಿ ಮನುಷ್ಯ ನಡೆಸುವ ನಿಯೋಜನೆಯನ್ನು (deployment) ಸ್ಥಗಿತಗೊಳಿಸಬಲ್ಲ ಐದು ವಿಭಿನ್ನ ವೈಫಲ್ಯಗಳಿಂದ ಏಜೆಂಟ್‌ನ ಆತ್ಮವಿಶ್ವಾಸವು ಪರೀಕ್ಷಿಸಲ್ಪಟ್ಟಿತು:

  1. OpenSearch ಕ್ರೆಡೆನ್ಶಿಯಲ್ ದೋಷಗಳು – ಏಜೆಂಟ್ ತಪ್ಪಾದ ಸೀಕ್ರೆಟ್ ಕೀಯನ್ನು ನೀಡಿತು, ಇದರಿಂದಾಗಿ ಕ್ಲಸ್ಟರ್ ಕನೆಕ್ಷನ್‌ಗಳನ್ನು ತಿರಸ್ಕರಿಸಿತು.
  2. URL ನಲ್ಲಿ Regex ಟೈಪೋ – ಒಂದು ತಪ್ಪಾದ ಅಕ್ಷರವು ಸರಿಯಾದ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಲಿಂಕ್ ಇಲ್ಲದ ಸ್ಥಿತಿಗೆ ತಂದು, ಡೇಟಾ ಲೋಡರ್ ಅನ್ನು ಹಾಳುಮಾಡಿತು.
  3. ಮಾಡೆಲ್ ಹೆಸರುಗಳ ಅಸಮತೋಲನ – ಕನೆಕ್ಟರ್ ವಿಭಿನ್ನ Ollama ಮಾಡೆಲ್ ಐಡೆಂಟಿಫೈಯರ್ ಅನ್ನು ನಿರೀಕ್ಷಿಸಿತ್ತು, ಇದು “model not found” ದೋಷಗಳಿಗೆ ಕಾರಣವಾಯಿತು.
  4. JVM ಮೆಮೊರಿ ಮಿತಿಗಳು – ಬಲ್ಕ್ ಇಂಡೆಕ್ಸಿಂಗ್ ಮಾಡಲಾಗಿದ್ದಾಗ Java heap ಖಾಲಿಯಾಯಿತು, ಇದು out-of-memory ಕ್ರ್ಯಾಶ್‌ಗಳಿಗೆ ಕಾರಣವಾಯಿತು.
  5. ಮಾಡೆಲ್ ಚಂಕ್‌ಗಳ ಅಕಸ್ಮಾತ್ ಅಳಿಸುವಿಕೆ – ಕ್ಲೀನಪ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅಗತ್ಯ ಫೈಲ್‌ಗಳನ್ನು ಡೂಪ್ಲಿಕೇಟ್‌ಗಳೆಂದು ತಪ್ಪಾಗಿ ಗುರುತಿಸಿ ಅಳಿಸಿತು, ಇದು ಇಡೀ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಅಪಾಯಕ್ಕೆ ತಳ್ಳಿತು.

ಏಜೆಂಟ್ ಸಿಲುಕಿಕೊಂಡಾಗ, “loop-police” ಮಧ್ಯಪ್ರವೇಶಿಸಿತು

loop-police ಎಂಬ ಸಹವರ್ತಿ ವಾಚ್‌ಡಾಗ್ (watchdog) ಲೂಪ್‌ನ ಆರೋಗ್ಯವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ಅಳಿಸುವಿಕೆಯ ದೋಷದ ಸಮಯದಲ್ಲಿ ಏಜೆಂಟ್ ಅಂತ್ಯವಿಲ್ಲದ ಚಕ್ರಕ್ಕೆ (non-terminating cycle) ಸಿಲುಕಿದಾಗ, loop-police ಸ್ಥಗಿತವನ್ನು ಪತ್ತೆಹಚ್ಚಿತು, ಪ್ರಸ್ತುತ ಬ್ರಾಂಚ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸಿತು ಮತ್ತು ಮತ್ತೆ 'ಒಪ್ಪಂದ' (Agreement) ಹಂತಕ್ಕೆ ಮರಳುವಂತೆ ಮಾಡಿತು. ನಂತರ ಏಜೆಂಟ್ ತನ್ನ ತಪ್ಪನ್ನು ಒಪ್ಪಿಕೊಂಡು, ದೋಷಪೂರಿತ ಸ್ಥಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ, ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಮೊದಲಿನಿಂದಲೇ ಮರುನಿರ್ಮಿಸಿತು. ಆರಂಭಿಕ ಯೋಜನೆಯ ಅನುಮೋದನೆಯ ನಂತರ ಯಾವುದೇ ಮಾನವ ಹಸ್ತಕ್ಷೇಪವಿಲ್ಲದೆ ಈ ಸೆಲ್ಫ್-ಹೀಲಿಂಗ್ (self-healing) ಚಕ್ರವು ಪೂರ್ಣಗೊಂಡಿತು.

ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಏನನ್ನು ಸೂಚಿಸುತ್ತದೆ

  • ನಿಯಂತ್ರಣವನ್ನು ಬಲಿಕೊಡದೆ ವೇಗ. ಲೂಪ್ ಎಂಜಿನಿಯರ್‌ಗಳಿಗೆ ತಮ್ಮ ಉದ್ದೇಶವನ್ನು ತಿಳಿಸಲು ಮತ್ತು ನಂತರ ಮನುಷ್ಯ ಅನುಮೋದಿಸಿದ ನೀಲನಕ್ಷೆಯನ್ನು ಅನುಸರಿಸುವ ಸ್ವಾಯತ್ತ ವ್ಯವಸ್ಥೆಗೆ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಹಸ್ತಾಂತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
  • ಸೇರಿಸಲಾದ ಸುರಕ್ಷತಾ ಜಾಲಗಳು. ಸ್ವಯಂಚಾಲಿತ ಲಿಂಟಿಂಗ್, ಟೆಸ್ಟಿಂಗ್ ಮತ್ತು ನಿಯಂತ್ರಣವಿಲ್ಲದೆ ಚಲಿಸುವ ಲೂಪ್ ಅನ್ನು ತಡೆಯಬಲ್ಲ ವಾಚ್‌ಡಾಗ್, ಮೌನ ವೈಫಲ್ಯಗಳ ಅಪಾಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
  • ಪ್ರವೇಶದ ಸುಲಭ ಅನುಕೂಲ. Helm, Kubernetes ಅಥವಾ vector-search ಬಗ್ಗೆ ಆಳವಾದ ಪರಿಣತಿ ಇಲ್ಲದ ತಂಡಗಳು ತಾವು ಏನು ಬಯಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಸರಳ ಭಾಷೆಯಲ್ಲಿ ವಿವರಿಸುವ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಬಹುದು.

ಈ ವಿಧಾನವು ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳಿಗೂ ಪರಿಹಾರವಲ್ಲ. ಅವಾಸ್ತವಿಕ ನಿರೀಕ್ಷೆಗಳು ಅಥವಾ ಭದ್ರತಾ ಕಾಳಜಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು 'ಒಪ್ಪಂದ' (Agreement) ಹಂತವು ಇನ್ನೂ ಜ್ಞಾನವುಳ್ಳ ವಿಮರ್ಶಕರನ್ನು ಬಯಸುತ್ತದೆ. ಲೂಪ್ ಡೊಮೇನ್ ಪರಿಣತಿಯನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ; ಇದು ಕೇವಲ ಪುನರಾವರ್ತಿತ ಕೆಲಸಗಳನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದಾದ ಮಾದರಿಯಲ್ಲಿ ಪ್ಯಾಕೇಜ್ ಮಾಡುತ್ತದೆ.