LangGraph ಅನ್ನು ಕೇವಲ ಉದ್ದವಾದ ಚೈನ್ ಎಂದು ಪರಿಗಣಿಸಬೇಡಿ
LangGraph ಅನ್ನು ಹೆಚ್ಚಿನ ಹಂತಗಳನ್ನು ಹೊಂದಿರುವ LangChain ಎಂದು ನೋಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಆ ತಪ್ಪಿನಿಂದ ಏಜೆಂಟ್ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.
LangGraph ಎಂಬುದು state, branches, tool calls ಮತ್ತು ಮಾನವ ಅನುಮೋದನೆ (human approval) ಅಗತ್ಯವಿರುವ ವರ್ಕ್ಫ್ಲೋಗಳಿಗಾಗಿ ಮಾಡಲ್ಪಟ್ಟಿದೆ. ಇದು ತಪ್ಪುಗಳಿಂದ ಚೇತರಿಸಿಕೊಳ್ಳಲು (recover) ಮತ್ತು ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿಲ್ಲದ ಏಜೆಂಟ್ಗಳಿಗಾಗಿ ಬಳಕೆಯಾಗುತ್ತದೆ.
ನೀವು ಇದನ್ನು ಬಳಸುವುದಾದರೆ, ಮೊದಲು ಮೂರು ವಿಷಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕು: state, interrupts, ಮತ್ತು recovery.
ಮೊದಲ ಮಿತಿ: State Schema
ಒಂದೇ ಒಂದು ಪ್ರಾಂಪ್ಟ್ಗೆ, ಮಿತಿಯು ಪಠ್ಯವಾಗಿರುತ್ತದೆ (text). ಆದರೆ LangGraph ಗೆ, ಮಿತಿ State schema ಆಗಿರುತ್ತದೆ. ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನಿರ್ಧರಿಸಬೇಕು:
- ಯಾವ ಫೀಲ್ಡ್ಗಳು (fields) ನೋಡ್ಗಳ ನಡುವೆ ಚಲಿಸುತ್ತವೆ.
- ಯಾವ ಫೀಲ್ಡ್ಗಳನ್ನು ಒಂದು ನೋಡ್ ಅಪ್ಡೇಟ್ ಮಾಡುತ್ತದೆ.
- ಏಕಕಾಲಿಕ ಬ್ರಾಂಚ್ಗಳು (concurrent branches) ಮೌಲ್ಯಗಳನ್ನು ಹೇಗೆ ವಿಲೀನಗೊಳಿಸುತ್ತವೆ (merge).
- ಯಾವ ಮೌಲ್ಯಗಳು ಚೆಕ್ಪಾಯಿಂಟ್ಗೆ (checkpoint) ಪ್ರವೇಶಿಸುತ್ತವೆ.
- ಯಾವ ಮೌಲ್ಯಗಳು ಎಂದಿಗೂ ಉಳಿಯಬಾರದು (persist).
ಇಲ್ಲಿ Reducers ಬಹಳ ಮುಖ್ಯ. ಸಂದೇಶಗಳನ್ನು ಸೇರಿಸಲು (append) ನೀವು ಸರಿಯಾದ ನಿಯಮವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ನಿಮ್ಮ ಸಮಾಂತರ ಕೆಲಸವು (parallel work) ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳಬಹುದು.
ಸಣ್ಣದಾಗಿ ಪ್ರಾರಂಭಿಸಿ. ಒಂದು schema, ಒಂದು node ಮತ್ತು ಒಂದು reducer ಹೊಂದಿರುವ ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸಿ. ಅದನ್ನು ಮಾಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಹೆಚ್ಚಿನ ಟೂಲ್ಗಳನ್ನು (tools) ಸೇರಿಸುವುದು ಕೇವಲ ನಿಮ್ಮ ತಪ್ಪುಗಳನ್ನು ಮರೆಮಾಚುತ್ತದೆ ಅಷ್ಟೆ.
Runtime ಮಿತಿ
ನೀವು compile() ಅನ್ನು ಕರೆಯುವ ಮೊದಲು, ನಿಮ್ಮ ಗ್ರಾಫ್ ಕೇವಲ ಒಂದು ವಿವರಣೆಯಾಗಿರುತ್ತದೆ. compile() ನಂತರ, runtime ನಿಯಂತ್ರಣವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
ಗ್ರಾಫ್ ವಿಫಲವಾದಾಗ, ಕೇವಲ ನೋಡ್ ಅನ್ನು ಮಾತ್ರ ನೋಡಬೇಡಿ. ಈ ನಾಲ್ಕು ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ:
- State schema ಆ ನೋಡ್ ಆ ಕೀಯನ್ನು (key) ಬರೆಯಲು ಅನುಮತಿಸುತ್ತದೆಯೇ?
- ನೋಡ್ ಸರಿಯಾದ State ಫೀಲ್ಡ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆಯೇ?
- Reducer ಡೇಟಾವನ್ನು ಸರಿಯಾಗಿ ವಿಲೀನಗೊಳಿಸುತ್ತದೆಯೇ?
- ಕಂಡೀಷನಲ್ ಎಡ್ಜ್ (conditional edge) ಗೆ ನಿರ್ಗಮನ ಮಾರ್ಗ (exit path) ಇದೆಯೇ?
Human In The Loop
ಮಾನವ ಅನುಮೋದನೆಯನ್ನು ಕೇವಲ UI ಫೀಚರ್ ಎಂದು ಪರಿಗಣಿಸಬೇಡಿ. ಅದನ್ನು ಗ್ರಾಫ್ ಕಾಂಟ್ರಾಕ್ಟ್ (graph contract) ಎಂದು ಪರಿಗಣಿಸಿ.
ವಿಶ್ವಾಸಾರ್ಹ ಮಾದರಿಯು ಹೀಗಿರುತ್ತದೆ:
- ಮಾಡೆಲ್ ಒಂದು tool call ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸುತ್ತದೆ.
- ಗ್ರಾಫ್ ಒಂದು interrupt ಅನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
- ಮನುಷ್ಯ ಆ ಕ್ರಿಯೆಯನ್ನು ಅನುಮೋದಿಸುತ್ತಾನೆ ಅಥವಾ ತಿದ್ದುತ್ತಾನೆ.
- ಗ್ರಾಫ್ ಸರಿಯಾಗಿ ಅದೇ ಬಿಂದುವಿನಿಂದ ಪುನರಾರಂಭಿಸುತ್ತದೆ.
ಇದು ಏಜೆಂಟ್ಗಳನ್ನು ಕೇವಲ ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕವಾಗಿ (reactive) ಇರಿಸುವ ಬದಲು, ಚೇತರಿಸಿಕೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯವುಳ್ಳವನ್ನಾಗಿ (recoverable) ಮಾಡುತ್ತದೆ.
ನಿಮ್ಮ ಸ್ಮೋಕ್ ಚೆಕ್ಲಿಸ್ಟ್ (Smoke Checklist)
ನೀವು ಪ್ರೊಡಕ್ಷನ್ಗೆ ಹೋಗುವ ಮೊದಲು, ಈ ಪರೀಕ್ಷೆಯನ್ನು ಮಾಡಿ:
- ಪ್ರೊಡಕ್ಷನ್ ಡೇಟಾ ಇಲ್ಲದ ತಾತ್ಕಾಲಿಕ ಡೈರೆಕ್ಟರಿಯನ್ನು ಬಳಸಿ.
- ಕನಿಷ್ಠ (minimal) State ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
- ಕೇವಲ ಮಾನ್ಯವಾದ ಫೀಲ್ಡ್ಗಳನ್ನು ಹಿಂತಿರುಗಿಸುವ ಒಂದು ನೋಡ್ ಅನ್ನು ಬರೆಯಿರಿ.
- Append ಕ್ರಿಯೆಗಳಿಗಾಗಿ reducer ಬಳಸಿ.
- Tool ಕ್ರಿಯೆಯ ಮೊದಲು ಒಂದು interrupt ಅನ್ನು ಸೇರಿಸಿ.
- ಒಂದು checkpointer ಅನ್ನು ಸೇರಿಸಿ.
- ವಿಫಲತೆಯನ್ನು ಉಂಟುಮಾಡಿ ಮತ್ತು resume ವರ್ತನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.
ಈ ಹಾದಿ ವಿಫಲವಾದರೆ, ಹೆಚ್ಚಿನ ಟೂಲ್ಗಳನ್ನು ಸೇರಿಸಬೇಡಿ. ಸಮಸ್ಯೆ ನಿಮ್ಮ runtime ಮಿತಿಯಲ್ಲಿದೆ.
LangGraph ಎಂಬುದು ಕೇವಲ ಒಮ್ಮೆ ಮಾಡೆಲ್ ಕರೆಯಲು (one-off model calls) ಬಳಸುವ ಸಾಧನವಲ್ಲ. ನಿಮ್ಮ AI ಗೆ ಪರೀಕ್ಷಿಸಬಹುದಾದ (inspectable), ತಾತ್ಕಾಲಿಕವಾಗಿ ನಿಲ್ಲಿಸಬಹುದಾದ (pausable) ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದಾದ (reviewable) ಬಹು-ಹಂತದ ಕೆಲಸಗಳನ್ನು ಮಾಡಲು ಅಗತ್ಯವಿದ್ದಾಗ ಇದನ್ನು ಬಳಸಿ.
Optional learning community: https://t.me/GyaanSetuAi
