AI ಏಜೆಂಟ್‌ಗಳು Yjs ರೂಮ್‌ಗಳಿಗೆ ಸೇರಿದಾಗ, ಮೂರು ಕಲ್ಪನೆಗಳು ತಪ್ಪಾಗುತ್ತವೆ

LLM ಅನ್ನು ಮೊದಲ ದರ್ಜೆಯ Yjs ಪೀರ್ ಆಗಿ ಸೇರಿಸುವುದು ಒಂದು ಬುದ್ಧಿವಂತವಾದ ವಾಸ್ತುಶಿಲ್ಪದ ಕ್ರಮವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಇದು ನಿಮ್ಮ ಸಹಯೋಗದ ಸ್ಟ್ಯಾಕ್ (collaboration stack) ಪೀರ್ ಸಿಮೆಟ್ರಿ (peer symmetry) ಬಗ್ಗೆ ಹೊಂದಿರುವ ಮೌನ ಕಲ್ಪನೆಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.

ಹೆಚ್ಚಿನ ವ್ಯವಸ್ಥೆಗಳು ಎಲ್ಲಾ ಪೀರ್‌ಗಳು ಮಾನವನ ವೇಗದಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ಭಾವಿಸುತ್ತವೆ. ಒಂದು AI ಏಜೆಂಟ್ ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 3,000 ಪದಗಳನ್ನು ಸೃಷ್ಟಿಸಿದಾಗ, ಅದು ಮೂರು ಪ್ರಮುಖ ಕ್ಷೇತ್ರಗಳನ್ನು ಬಾಧಿಸುತ್ತದೆ: ಥ್ರೂಪುಟ್ (throughput), ಅಂಡೊ ಒनरಶಿಪ್ (undo ownership), ಮತ್ತು ಪ್ರೆಸೆನ್ಸ್ ಕ್ಯಾಡೆನ್ಸ್ (presence cadence).

ಅವುಗಳನ್ನು ಸರಿಪಡಿಸುವ ವಿಧಾನ ಇಲ್ಲಿದೆ.

  1. ರೈಟ್ ಸ್ಟಾರ್ವೇಶನ್ (Write Starvation) ಅನ್ನು ತಡೆಯಿರಿ

CRDT ಮಾಡೆಲ್‌ನಲ್ಲಿ, ಕ್ಲೈಂಟ್‌ಗಳ ವೇಗವನ್ನು ನಿಯಂತ್ರಿಸಲು (throttle) ಯಾವುದೇ ಕೇಂದ್ರ ಸರ್ವರ್ ಇರುವುದಿಲ್ಲ. ಏಜೆಂಟ್ ನಿರಂತರ ರೈಟ್‌ಗಳ ಮೂಲಕ ಸಿಂಕ್ ಸೈಕಲ್ ಅನ್ನು ತುಂಬಿಸಬಹುದು. ಇದು ಮಾನವ ಬಳಕೆದಾರರಿಗೆ ಸಿಗಬೇಕಾದ ಕನ್ವರ್ಜೆನ್ಸ್ ವಿಂಡೋ (convergence window) ಅನ್ನು ಕುಂಠಿತಗೊಳಿಸುತ್ತದೆ. ಇದು ಕರ್ಸರ್ ವಿಳಂಬ (cursor lag) ಮತ್ತು ಅಪ್‌ಡೇಟ್‌ಗಳು ಬಿಟ್ಟುಹೋಗಲು ಕಾರಣವಾಗುತ್ತದೆ.

ಇದರ ಪರಿಹಾರವು ಅಪ್ಲಿಕೇಶನ್ ಲೇಯರ್‌ನಲ್ಲಿರಬೇಕೇ ಹೊರತು ಟ್ರಾನ್ಸ್‌ಪೋರ್ಟ್ ಲೇಯರ್‌ನಲ್ಲಿಲ್ಲ. ಏಜೆಂಟ್‌ನ ವೇಗವನ್ನು ಮಿತಿಗೊಳಿಸಲು LLM ಸ್ಟ್ರೀಮ್ ಮತ್ತು Yjs ರೈಟ್ ನಡುವೆ ಟೋಕನ್ ಬಕೆಟ್ (token bucket) ಬಳಸಿ.

• ಕ್ಯೂ ಮಾಡಲಾದ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ (queued operations) ಸಾಮರ್ಥ್ಯವನ್ನು ನಿಗದಿಪಡಿಸಿ. • ಏಜೆಂಟ್‌ನ ವೇಗವು ಮಾನವ ಬಳಕೆದಾರರಿಗೆ ತೊಂದರೆಯಾಗದಂತೆ ಇರಲು ರಿಫಿಲ್ ರೇಟ್ (refill rate) ಅನ್ನು ನಿಗದಿಪಡಿಸಿ.

  1. ಅಂಡೊ ಇತಿಹಾಸವನ್ನು (Undo History) ಪ್ರತ್ಯೇಕಿಸಿ

ಏಜೆಂಟ್ ಬಳಕೆದಾರರೊಂದಿಗೆ ಒಂದೇ ಮೂಲವನ್ನು (origin) ಹಂಚಿಕೊಂಡರೆ, Ctrl+Z ಗೊಂದಲಮಯವಾಗುತ್ತದೆ. ಮಾನವನ ತಪ್ಪು ಮತ್ತು AI ಸಲಹೆಯ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ನೀವು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.

ಏಜೆಂಟ್‌ಗೆ ತನ್ನದೇ ಆದ ಮೂಲವನ್ನು ನೀಡಿ. ಏಜೆಂಟ್‌ಗಾಗಿ ಪ್ರತ್ಯೇಕ UndoManager ಬಳಸಿ.

• ಬಳಕೆದಾರರ UndoManager ಕೇವಲ ಮಾನವನ ಕ್ರಮಗಳನ್ನು ಮಾತ್ರ ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತದೆ. • ಏಜೆಂಟ್ UndoManager AI-ನಿರ್ದಿಷ್ಟ ಕ್ರಮಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. • ಇದನ್ನು ಡಿಫಾಲ್ಟ್ Ctrl+Z ಗೆ ಜೋಡಿಸುವ ಬದಲು, "Reject AI suggestion" ಅನ್ನು ಪ್ರತ್ಯೇಕ UI ಬಟನ್ ಆಗಿ ತೋರಿಸಿ.

  1. ಪ್ರೆಸೆನ್ಸ್ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಒಗ್ಗೂಡಿಸಿ (Coalesce Presence Updates)

ಒಬ್ಬ ಮಾನವನಿಗೆ ಕಾಣುವതിಗಿಂತ ವೇಗವಾಗಿ AI ಏಜೆಂಟ್ ಸ್ಥಾನ ಬದಲಾವಣೆಗಳನ್ನು (position changes) ಸೃಷ್ಟಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆಯನ್ನು ಪ್ರಸಾರ ಮಾಡುವುದು (broadcasting) ನಿಮ್ಮ ರೆಂಡರ್ ಸೈಕಲ್‌ನಲ್ಲಿ ಗೊಂದಲವನ್ನು (noise) ಉಂಟುಮಾಡುತ್ತದೆ.

ನೀವು ಏಜೆಂಟ್ ಪ್ರೆಸೆನ್ಸ್ ಅನ್ನು ವಿಭಿನ್ನವಾಗಿ ನಿರ್ವಹಿಸಬೇಕು:

• ಪ್ರತಿ ಕಾರ್ಯಾಚರಣೆಯ ಬದಲಾಗಿ ನಿಗದಿತ ಅಂತರದಲ್ಲಿ ಅವೇರ್ನೆಸ್ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು (awareness updates) ಒಗ್ಗೂಡಿಸಿ. • ಅವೇರ್ನೆಸ್ ಸ್ಟೇಟ್‌ಗೆ ಒಂದು type ಫೀಲ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ (ಉದಾಹರಣೆಗೆ, type: 'agent'). • ಕರ್ಸರ್ ಅನ್ನು ವಿಭಿನ್ನವಾಗಿ ಪರಿಗಣಿಸಲು ನಿಮ್ಮ ರೆಂಡರಿಂಗ್ ಲೇಯರ್‌ಗೆ ತಿಳಿಸಲು ಈ type ಅನ್ನು ಬಳಸಿ.

ಏಜೆಂಟ್-ಆಸ್-ಪೀರ್ (agent-as-peer) ಮಾದರಿಯು ನಿರ್ಮಿಸಲು ಸರಿಯಾದ ಮಾರ್ಗವಾಗಿದೆ. ನಿಮ್ಮ ಕಲ್ಪನೆಗಳನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುವುದು ಇಲ್ಲಿನ ಸವಾಲಾಗಿದೆ. ರೇಟ್ ಲಿಮಿಟಿಂಗ್ (rate limiting), ಅಂಡೊ ಐಸೊಲೇಶನ್ (undo isolation) ಮತ್ತು ಪ್ರೆಸೆನ್ಸ್ ಕೋಲೆಸಿಂಗ್ (presence coalescing) ಅನ್ನು ಕೇವಲ ಅಂಚಿನ ಪ್ರಕರಣಗಳಾಗಿ (edge cases) ಪರಿಗಣಿಸಬೇಡಿ. ಅವುಗಳನ್ನು ಪ್ರಮುಖ ಅವಶ್ಯಕತೆಗಳಾಗಿ (core requirements) ಪರಿಗಣಿಸಿ.

ಮೂಲ: https://dev.to/norfolkd/when-an-ai-agent-joins-your-yjs-room-three-assumptions-break-50h8