ದೊಡ್ಡ ಭಾಷಾ ಮಾದರಿಗಳು (Large language models) ಏಕಕಾಲದಲ್ಲಿ ಅತಿಯಾದ ಕೆಲಸಗಳನ್ನು ಮಾಡಲು ಕೇಳಿದಾಗ ತಪ್ಪು ಮಾಡಬಹುದು. ಒಂದು ಐವತ್ತು ಪುಟಗಳ PDF ಅನ್ನು ಚಾಟ್ ವಿಂಡೋಗೆ ಹಾಕಿ, ಒಂದೇ ಸಮನೆ ರಚನಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆ, ಅಪಾಯದ ಮೌಲ್ಯಮಾಪನ ಮತ್ತು ಕಾರ್ಯನಿರ್ವಾಹಕ ಸಾರಾಂಶವನ್ನು ಕೇಳಿದರೆ, ಅದರ ಫಲಿತಾಂಶವು ಸಾಮಾನ್ಯವಾಗಿ ಅಸ್ಪಷ್ಟವಾಗಿ, ಗೊಂದಲಮಯವಾಗಿ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ತಪ್ಪಾಗಿರುತ್ತದೆ. ಇದಕ್ಕಿಂತ ಉತ್ತಮವಾದ ವಿಧಾನವೆಂದರೆ ಕೆಲಸವನ್ನು ಹಂತ ಹಂತವಾಗಿ ವಿಂಗಡಿಸುವುದು. ಮೊದಲ ಹಂತದ ಫಲಿತಾಂಶವನ್ನು ನೇರವಾಗಿ ಎರಡನೇ ಹಂತಕ್ಕೆ ನೀಡುವುದು, ಮತ್ತು ಹೀಗೆ ಮುಂದುವರಿಯುವುದು. Anthropic ಇದನ್ನು 'prompt chaining' ಎಂದು ಕರೆಯುತ್ತದೆ, Google ಇದನ್ನು 'sequential pipeline' ಎಂದು ಕರೆಯುತ್ತದೆ. ಇವೆರಡೂ ಒಂದೇ ವಿಷಯವನ್ನು ವಿವರಿಸುತ್ತವೆ: ಪ್ರತಿ ಘಟಕವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಬದಲಾವಣೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಅಸೆಂಬ್ಲಿ ಲೈನ್ (assembly line).
ಇದು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಹೇಗಿರುತ್ತದೆ
ಒಂದು ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್ಗೆ ಬದಲಾಗಿ, ನೀವು ಸಣ್ಣ ಮತ್ತು ಕೇಂದ್ರೀಕೃತ ಹಂತಗಳ ಸರಣಿಯನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ. ವೆಂಡರ್ ಭದ್ರತಾ ಮೌಲ್ಯಮಾಪನಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಒಂದು ಅನುಸರಣಾ ತಂಡವನ್ನು (compliance team) ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಮೊದಲ ಹಂತವು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ PDF ನಿಂದ ಪಠ್ಯವನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ. ಎರಡನೇ ಹಂತವು ಎನ್ಕ್ರಿಪ್ಶನ್ ಮಾನದಂಡಗಳು ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳ ಬಗ್ಗೆ ಇರುವ ಪ್ರತಿಯೊಂದು ಉಲ್ಲೇಖವನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಮೂರನೇ ಹಂತವು ಆ ಸಂಶೋಧನೆಗಳನ್ನು ಆಂತರಿಕ ಪರಿಶೀಲನಾ ಪಟ್ಟಿಯೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ನಾಲ್ಕನೇ ಹಂತವು ಭದ್ರತಾ ಮುಖ್ಯಸ್ಥರಿಗಾಗಿ ಒಂದು ಸಣ್ಣ ಮೆಮೊವನ್ನು ಸಿದ್ಧಪಡಿಸುತ್ತದೆ. ಒಂದು ಏಜೆಂಟ್ PDF ಅನ್ನು ಪಠ್ಯವಾಗಿ ಬದಲಾಯಿಸುತ್ತದೆ. ಮುಂದಿನ ಏಜೆಂಟ್ ಆ ಪಠ್ಯದಿಂದ ನಿರ್ದಿಷ್ಟ ಡೇಟಾವನ್ನು ಪಡೆಯುತ್ತದೆ. ಅಂತಿಮ ಏಜೆಂಟ್ ಆ ಡೇಟಾ ಆಧಾರದ ಮೇಲೆ ಸಾರಾಂಶವನ್ನು ಬರೆಯುತ್ತದೆ. ಈ ಹಂತಗಳಲ್ಲಿ ಯಾವುದೂ ಅತಿಯಾದ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಯಾವುದೂ ಏಕಕಾಲದಲ್ಲಿ ಹಲವು ಕೆಲಸಗಳನ್ನು ಮಾಡುವುದಿಲ್ಲ. ಪ್ರತಿಯೊಂದು ಭಾಗವು ಒಂದು ಕೆಲಸವನ್ನು ಉತ್ತಮವಾಗಿ ಮಾಡುತ್ತದೆ.
ಇದೇ ಕಾರಣಕ್ಕೆ ಅಸೆಂಬ್ಲಿ ಲೈನ್ ಉದಾಹರಣೆಯು ಇಲ್ಲಿ ಅನ್ವಯಿಸುತ್ತದೆ. ಕಾರ್ಖಾನೆಯಲ್ಲಿ ಒಬ್ಬನೇ ಕೆಲಸಗಾರ ಇಡೀ ಕಾರನ್ನು ಜೋಡಿಸುವುದಿಲ್ಲ. ವಿಶೇಷೀಕರಣವು (Specialization) ಗುಣಮಟ್ಟವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ತಪ್ಪುಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಇದೇ ತರ್ಕವು ಭಾಷಾ ಮಾದರಿಗಳಿಗೂ ಅನ್ವಯಿಸುತ್ತದೆ. ಕೇವಲ JSON ಎಕ್ಸ್ಟ್ರಾಕ್ಷನ್ ಅನ್ನು ಮಾತ್ರ ಕೇಳುವ ಪ್ರಾಂಪ್ಟ್, ಅದೇ ಸಮಯದಲ್ಲಿ ಅಭಿಪ್ರಾಯ ಮತ್ತು ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಕೇಳುವ ಪ್ರಾಂಪ್ಟ್ಗಿಂತ ಕಡಿಮೆ ತಪ್ಪುಗಳನ್ನು (hallucinate) ಮಾಡುತ್ತದೆ.
ಊಹೆಗಳಲ್ಲ, ಗೇಟ್ಗಳನ್ನು (Gates) ನಿರ್ಮಿಸಿ
ಯಾವುದೇ ಚೈನ್ನಲ್ಲಿ ಅತ್ಯಂತ ದುರ್ಬಲವಾದ ಭಾಗವೆಂದರೆ ಹ್ಯಾಂಡ್ಆಫ್ (handoff). ಮಾದರಿಯು ವಿನಯಪೂರ್ವಕ ನಿರಾಕರಣೆಯನ್ನು ನೀಡಬಹುದು, JSON ಬದಲಿಗೆ ಮಾರ್ಕ್ಡೌನ್ ತುಣುಕನ್ನು ನೀಡಬಹುದು ಅಥವಾ ಅಪೂರ್ಣ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡಬಹುದು. ಅಂತಹ ತಪ್ಪು ಮಾಹಿತಿ ಎರಡನೇ ಹಂತಕ್ಕೆ ಹೋದರೆ, ಇಡೀ ಚೈನ್ ಕುಸಿಯುತ್ತದೆ. ಇದಕ್ಕೆ ಪರಿಹಾರವೆಂದರೆ 'ಗೇಟ್' (gate).
ಗೇಟ್ ಎನ್ನುವುದು ಕೇವಲ ಮಾದರಿಯ ಕರೆಯಲ್ಲ (model call). ಇದು ಒಂದು ಸರಳ ಕೋಡ್. ಹಂತಗಳ ನಡುವೆ ಚಲಿಸುವ ಒಂದು ಸಣ್ಣ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನೀವು ಬರೆಯುತ್ತೀರಿ. ಇದು ಔಟ್ಪುಟ್ ಖಾಲಿ ಇಲ್ಲದಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಅದರ ಉದ್ದವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ಅಥವಾ ಮೂರನೇ ಹಂತಕ್ಕೆ ಬೇಕಾದ ಕೀಗಳು ಸರಿಯಾಗಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು JSON schema validation ಅನ್ನು ನಡೆಸಬಹುದು. ಮುಂದಿನ ಪ್ರಾಂಪ್ಟ್ ಸಿದ್ಧಪಡಿಸುವ ಮೊದಲೇ ಇಮೇಲ್ ವಿಳಾಸ ಅಥವಾ ದಿನಾಂಕ ಕ್ಷೇತ್ರವು ನಿಜವಾಗಿಯೂ ಇದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು regex ಬಳಸಬಹುದು. ಇದು ತಪ್ಪು ಔಟ್ಪುಟ್ಗಳ ಮೇಲೆ ಹಣ ವ್ಯಯಿಸುವ ಮೊದಲೇ ತಪ್ಪುಗಳನ್ನು ತಡೆಯುತ್ತದೆ. ಒಂದು ಗೇಟ್ಗೆ ಕೇವಲ ಕೆಲವು ಮೈಕ್ರೋಸೆಕೆಂಡ್ಗಳ ಕಂಪ್ಯೂಟಿಂಗ್ ಸಮಯ ಬೇಕಾಗುತ್ತದೆ. ಆದರೆ ವಿಫಲವಾದ LLM ಕರೆಯು ಟೋಕನ್ಗಳು, ವಿಳಂಬ (latency) ಮತ್ತು ನಿಮ್ಮ ಸಮಯವನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ.
ಇದನ್ನು ಕಾರ್ಖಾನೆಯ ಗುಣಮಟ್ಟ ಪರಿಶೀಲನಾ ಕೇಂದ್ರವೆಂದು ಭಾವಿಸಿ. ವಸ್ತುಗಳನ್ನು ಎಣಿಸಲು ನಿಮಗೆ AI ಅಗತ್ಯವಿಲ್ಲ, ನಿಮಗೆ ಒಂದು ಅಳತೆಪಟ್ಟಿ (ruler) ಬೇಕು.
ಯಾವಾಗ ಚೈನಿಂಗ್ ಮಾಡಬೇಕು ಮತ್ತು ಯಾವಾಗ ನಿಲ್ಲಿಸಬೇಕು
ಪ್ರಾಂಪ್ಟ್ ಚೈನಿಂಗ್ ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳಿಗೂ ಸೂಕ್ತವಲ್ಲ. ಕೆಲಸವು ಸ್ಥಿರವಾದ ಮತ್ತು ಪುನರಾವರ್ತಿತ ಹಂತಗಳನ್ನು ಹೊಂದಿದ್ದಾಗ ಇದನ್ನು ಬಳಸಿ. ಮಾಸಿಕ ಹಣಕಾಸು ವರದಿಗಳು, ಪ್ರಮಾಣೀಕೃತ ಒಪ್ಪಂದದ ವಿಮರ್ಶೆ ಮತ್ತು ಲಾಗ್ ವಿಶ್ಲೇಷಣಾ ಪೈಪ್ಲೈನ್ಗಳು ಇದಕ್ಕೆ ಉತ್ತಮ ಉದಾಹರಣೆಗಳು. ನೀವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಚೆಕ್ಲಿಸ್ಟ್ ಆಗಿ ಬರೆಯಬಲ್ಲರೆ, ನೀವು ಅದನ್ನು ಚೈನ್ ಮಾಡಬಹುದು. ಸಂಕೀರ್ಣ ಕೆಲಸಗಳಿಗೆ ಹೆಚ್ಚಿನ ನಿಖರತೆ ಬೇಕಾದಾಗಲೂ ನೀವು ಚೈನಿಂಗ್ ಅನ್ನು ಬಳಸಬಹುದು. ಸಮಸ್ಯೆಯನ್ನು ಹಂತಗಳಾಗಿ ವಿಂಗಡಿಸುವುದು ಮಾದರಿಯು ಒಂದೇ ಬಾರಿಗೆ ಒಂದು ತಾರ್ಕಿಕ ಹಂತವನ್ನು ನಿರ್ವಹಿಸುವಂತೆ ಮಾಡುತ್ತದೆ. ಅಂತಿಮವಾಗಿ, ಏಕರೂಪದ (monolithic) ಪ್ರಾಂಪ್ಟ್ಗಳಿಗಿಂತ ಚೈನ್ಗಳನ್ನು ಡಿಬಗ್ ಮಾಡುವುದು ಸುಲಭ. ಸಾರಾಂಶ ತಪ್ಪಾಗಿದ್ದರೆ, ನೀವು ಎಕ್ಸ್ಟ್ರಾಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ಎಕ್ಸ್ಟ್ರಾಕ್ಷನ್ ತಪ್ಪಾಗಿದ್ದರೆ, ನೀವು ಮೂಲ ಪಠ್ಯವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ನಿಮ್ಮ ಬಳಿ ಪರಿಶೀಲಿಸಲು ಮಧ್ಯಂತರ ದಾಖಲೆಗಳಿರುತ್ತವೆ.
ಹಂತಗಳನ್ನು ಮೊದಲೇ ತಿಳಿಯದಿದ್ದಾಗ ಪ್ರಾಂಪ್ಟ್ ಚೈನಿಂಗ್ ಅನ್ನು ತಪ್ಪಿಸಿ. ಅನ್ವೇಷಣಾತ್ಮಕ ಸಂಶೋಧನೆ (Exploratory research), ಮುಕ್ತ ಮೆದುಳು ಚಟುವಟಿಕೆ (brainstorming) ಅಥವಾ ತನಿಖಾ ಕಾರ್ಯಗಳು ನೇರ ಹಾದಿಯಲ್ಲಿ ಇರುವುದಿಲ್ಲ. ವೇಗವು ನಿಮ್ಮ ಏಕೈಕ ಆದ್ಯತೆಯಾಗಿದ್ದಾಗಲೂ ಇದನ್ನು ಬಿಟ್ಟುಬಿಡಿ. ಚೈನ್ಗಳು ಸರಣಿ (serial) ಕ್ರಮದಲ್ಲಿರುತ್ತವೆ; ಮೊದಲ ಹಂತ ಮುಗಿಯುವವರೆಗೆ ಎರಡನೇ ಹಂತ ಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ. ನಿಮ್ಮ ಹಂತಗಳು ಒಂದಕ್ಕೊಂದು ಅವಲಂಬಿತವಾಗಿಲ್ಲದಿದ್ದರೆ, ಅವುಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ಚಲಾಯಿಸಿ. ಒಂದೇ ದಾಖಲೆಯ ಮೂರು ಸ್ವತಂತ್ರ ಅನುವಾದಗಳನ್ನು ಚೈನ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ.
ಬಿಗಿತದ ಬಲೆ (The Rigidity Trap)
ಈ ಎಲ್ಲಾ ರಚನೆಯ ಬೆಲೆ ಎಂದರೆ ಬಿಗಿತ (rigidity). ಸ್ಥಿರವಾದ ಚೈನ್ ಹೊಸ ಸಂದರ್ಭಗಳಿಗೆ ಹೊಂದಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ. ಒಂದು ವೆಂಡರ್ ಆರು ಫೀಲ್ಡ್ ಇರುವ ಫಾರ್ಮ್ ಕಳುಹಿಸಿದರೆ ಮತ್ತು ನಿಮ್ಮ schema validation ಗೇಟ್ ಐದು ಫೀಲ್ಡ್ಗಳನ್ನು ನಿರೀಕ್ಷಿಸಿದರೆ, ಕೆಲಸ ನಿಂತುಹೋಗುತ್ತದೆ. ಬಳಕೆದಾರರು PDF ಬದಲಿಗೆ Word ದಾಖಲೆಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿದರೆ, ಮೊದಲ ಹಂತವು ವಿಫಲವಾಗುತ್ತದೆ ಮತ್ತು ಉಳಿದ ಚೈನ್ಗೆ ಏನೂ ಸಿಗುವುದಿಲ್ಲ.
ಅದಕ್ಕಿಂತ ಕೆಟ್ಟದೇನೆ, ತಪ್ಪುಗಳು ಹರಡುತ್ತವೆ. ಆರಂಭದಲ್ಲಿ ಸಂಭವಿಸುವ ತಪ್ಪು ಇಡೀ ಚೈನ್ ಮೂಲಕ ಹರಿಯುತ್ತದೆ. PDF ಎಕ್ಸ್ಟ್ರಾಕ್ಟರ್ ಹಣಕಾಸಿನ ಅಂಕಿಅಂಶದಿಂದ ಮೈನಸ್ (-) ಚಿಹ್ನೆಯನ್ನು ಬಿಟ್ಟರೆ, ಮುಂದಿನ ಎಲ್ಲಾ ಹಂತಗಳು ಆ ತಪ್ಪಾದ ಸಂಖ್ಯೆಯನ್ನು
