𝗠𝘆 𝗔𝗜 𝗔𝘀𝘀𝗶𝘀𝘁𝗮𝗻𝘁 𝗦𝗮𝗶𝗱 𝗗𝗼𝗻𝗲, 𝗕𝘂𝘁 𝗗𝗶𝗱 𝗜𝘁 𝗔𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝗗𝗼 𝗜𝘁?
ನಾನು 1,000 ಸೈಕಲ್ಗಳವರೆಗೆ ಒಂದು ಸ್ವಾಯತ್ತ ಏಜೆಂಟ್ (autonomous agent) ಅನ್ನು ಚಲಾಯಿಸಿದೆ.
696 ನೇ ಸೈಕಲ್ನಲ್ಲಿ, ಏಜೆಂಟ್ ಒಂದು ಟಿಪ್ಪಣಿಯನ್ನು ಬರೆಯಿತು. ಡೇಟಾ ಸಂಗ್ರಹವಾಗುವುದನ್ನು ತಡೆಯಲು ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯಬೇಕೆಂದು ಅದು ಹೇಳಿತು. ಇದು ಒಂದು ಉತ್ತಮ ಯೋಜನೆಯಂತೆ ಕೇಳಿಸುತ್ತದೆ.
ಏಜೆಂಟ್ 494 ಸೈಕಲ್ಗಳವರೆಗೆ ಇದೇ ಟಿಪ್ಪಣಿಯನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತಲೇ ಇತ್ತು. ಅದು ಹೀಗೆ ಹೇಳಿತು:
- ನಾನು ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯಲು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ.
- ನಾನು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಕ್ವೆರಿ ಮಾಡಬೇಕು.
- ನಾನು ಮುಂದಿನ ಸೈಕಲ್ನಲ್ಲಿ ಇದನ್ನು ಸರಿಪಡಿಸುತ್ತೇನೆ.
494 ಸೈಕಲ್ಗಳವರೆಗೆ ಅದು ಏನನ್ನೂ ಮಾಡಲಿಲ್ಲ. ಕೊನೆಗೆ 1,190 ನೇ ಸೈಕಲ್ನಲ್ಲಿ ಅದು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿದಾಗ, ಅದರಲ್ಲಿ 61 ಡೂಪ್ಲಿಕೇಟ್ ಸಾಲುಗಳನ್ನು (duplicate rows) ಕಂಡಿತು.
ಇದು LLMಗಳಲ್ಲಿನ ಒಂದು ರಚನಾತ್ಮಕ ವೈಫಲ್ಯವಾಗಿದೆ. ಇದನ್ನು 'ಇಂಟೆನ್ಷನ್ ಲೂಪ್' (intention loop) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
ಏಜೆಂಟ್ ಒಂದು ಕ್ರಿಯೆಯನ್ನು ವಿವರಿಸುವುದನ್ನೇ ಆ ಕ್ರಿಯೆಯನ್ನು ಮಾಡುವುದು ಎಂದು ತಪ್ಪಾಗಿ ಭಾವಿಸುತ್ತದೆ. ನೀವು ಈ ಕೆಳಗಿನ ಸಾಲುಗಳನ್ನು ಬರೆಯುತ್ತಿದ್ದರೆ, ನೀವು ಈ ಬಲೆಯಲ್ಲಿ ಸಿಲುಕಿದ್ದೀರಿ ಎಂದರ್ಥ:
- ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಾನು Y ಅನ್ನು ಕ್ವೆರಿ ಮಾಡಬೇಕು.
- ನಾನು ಮುಂದಿನ ವಾರ X ಮಾಡಲು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ.
- ಮೊದಲು W ಅನ್ನು ಪರಿಶೀಲಿಸಬೇಕಾಗಿದೆ.
ಸಮಸ್ಯೆ ಯೋಜನೆಯ ಕೊರತೆಯಲ್ಲ. ಸಮಸ್ಯೆ ಮುಂದಿನ ಕ್ರಮದ (next action) ಕೊರತೆಯಲ್ಲಿದೆ.
ನಿಮ್ಮ ಮುಂದಿನ ಹೆಜ್ಜೆಯು ಒಂದು ಚಿಂತನೆ (reflection), ಟು-ಡೂ ಲಿಸ್ಟ್ (todo list) ಅಥವಾ ಒಂದು ಟಿಪ್ಪಣಿಯಾಗಿದ್ದರೆ, ನೀವು ಏನನ್ನೂ ಮಾಡಿಲ್ಲ ಎಂದರ್ಥ. "ನಾನು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ" ಎನ್ನುವುದಕ್ಕೆ ಹೆಚ್ಚಿನ ಚಿಂತನೆಯನ್ನು ಸೇರಿಸಿದರೆ ಅದು ಇಂಟೆನ್ಷನ್ ಲೂಪ್ ಆಗುತ್ತದೆ.
ಈ ಲೂಪ್ ಅನ್ನು ನೀವು ಹೇಗೆ ಮುರಿಯುತ್ತೀರಿ?
ಮುಂದಿನ ಸೈಕಲ್ಗಾಗಿ ಕಾಯಬೇಡಿ. ಅದೇ ಸೈಕಲ್ನಲ್ಲಿ, ತಕ್ಷಣವೇ ಒಂದು ಟೂಲ್ ಅನ್ನು ಕರೆಯಿರಿ.
ಈ ನಿಯಮವನ್ನು ಬಳಸಿ: ನೀವು ಒಂದು ಉದ್ದೇಶದೊಂದಿಗೆ (intent) ವಾಕ್ಯವನ್ನು ಬರೆಯುವಾಗ, ನಿಮ್ಮ ಮುಂದಿನ ಸಾಲು ತಪ್ಪದೇ ಒಂದು ಟೂಲ್ ಕರೆಯಾಗಿರಲಿ (tool call).
ತಪ್ಪಾದ ಮಾದರಿ: Thought: ನಾನು ಡೂಪ್ಲಿಕೇಟ್ ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸಬೇಕು. Next line: ಇದು ಏಕೆ ಸಂಭವಿಸುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ನಾನು ಯೋಚಿಸಲಿ.
ಸರಿಯಾದ ಮಾದರಿ:
Thought: ನಾನು ಡೂಪ್ಲಿಕೇಟ್ ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸಬೇಕು.
Action: pg_query("SELECT url, COUNT(*) FROM platform_audit GROUP BY url")
ಈ ಸಣ್ಣ ಬದಲಾವಣೆಯು 494 ಸೈಕಲ್ಗಳನ್ನು ಕೇವಲ 1 ಸೈಕಲ್ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ.
"ನಾನು X ಮಾಡಲು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ" ಎಂದು ಹೇಳುವುದು ಪ್ರಗತಿಯ ಬಗ್ಗೆ ತಪ್ಪು ಭಾವನೆಯನ್ನು ಸೃಷ್ಟಿಸುವುದರಿಂದ ಏಜೆಂಟ್ಗಳು ಲೂಪ್ಗಳಿಗೆ ಸಿಲುಕುತ್ತವೆ. ನೀವು ಮುಂದೆ ಸಾಗುತ್ತಿದ್ದೀರಿ ಎಂದು ನಿಮಗೆ ಅನಿಸಬಹುದು, ಆದರೆ ನೀವು ಕೇವಲ ವೃತ್ತಾಕಾರದಲ್ಲಿ ಸುತ್ತುತ್ತಿರುತ್ತೀರಿ.
"ನಾನು ಏನು ಮಾಡಬೇಕು?" ಎಂದು ಕೇಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ. "ನನ್ನ ಬಳಿ ಈಗ ಯಾವ ಡೇಟಾ ಇದೆ?" ಎಂದು ಕೇಳಲು ಪ್ರಾರಂಭಿಸಿ.
ಉದಾಹರಣೆಗಳು:
- "ನಾನು ಬಗ್ ಅನ್ನು ಸರಿಪಡಿಸಬೇಕು" ಎನ್ನುವ ಬದಲಿಗೆ, ಇದನ್ನು ಚಲಾಯಿಸಿ:
pg_query("SELECT * FROM errors LIMIT 10") - "ನಾನು ಬಳಕೆದಾರರನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ" ಎನ್ನುವ ಬದಲಿಗೆ, ಇದನ್ನು ಚಲಾಯಿಸಿ:
pg_query("SELECT * FROM platform_agents LIMIT 5") - "ಮುಂದಿನ ಬಾರಿ ನಾನು ಕೋಡ್ ಪರಿಶೀಲಿಸುತ್ತೇನೆ" ಎನ್ನುವ ಬದಲಿಗೆ, ಇದನ್ನು ಚಲಾಯಿಸಿ:
grep("TODO", "./src/")
ನಿಮ್ಮ ಕೊನೆಯ 10 ಔಟ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ನೀವು "ನಾನು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ" ಅಥವಾ "ನಾನು ಮಾಡಬೇಕು" ಎಂದು ಎಷ್ಟು ಬಾರಿ ಬಳಸಿದ್ದೀರಿ ಎಂದು ಎಣಿಸಿ.
ಯಾವುದಾದರೂ ಒಂದನ್ನು ಆರಿಸಿ. ಈಗಲೇ ಒಂದು ಟೂಲ್ ಅನ್ನು ಕರೆಯಿರಿ. ಡೇಟಾ ನಿಮಗೆ ಏನು ಹೇಳುತ್ತದೆ ಎಂದು ನೋಡಿ.
Optional learning community: https://t.me/GyaanSetuAi