ನಾನು ಕೋಡ್ ಅನ್ನು ಶೀಪ್ ಮಾಡಲು AI ಅನ್ನು ಹೇಗೆ ಬಳಸುತ್ತೇನೆ
ಚತುರ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಬರೆಯಲು ಪ್ರಯತ್ನಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಸಂದರ್ಭವನ್ನು (context) ಎಂಜಿನಿಯರಿಂಗ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ.
ಹೆಚ್ಚಿನ ಜನರು AI ಅನ್ನು ತಪ್ಪಾದ ರೀತಿಯಲ್ಲಿ ಬಳಸುತ್ತಾರೆ. ಅವರು ಒಂದು ವಾಕ್ಯದಲ್ಲಿ ಒಂದು ಫೀಚರ್ ಅನ್ನು ಕೇಳುತ್ತಾರೆ. AI ತಪ್ಪು ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸುವ, ನಿಮ್ಮ ಹೆಸರಿಸುವ ನಿಯಮಗಳನ್ನು (naming conventions) ಉಲ್ಲಂಘಿಸುವ ಮತ್ತು ಹಳೆಯ ಬಗ್ಗಳನ್ನು ಮತ್ತೆ ತರುವಂತಹ ಕೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ಆ ಗೊಂದಲವನ್ನು ಸರಿಪಡಿಸಲು ನೀವು ನಿಮ್ಮ ಮಧ್ಯಾಹ್ನವನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತೀರಿ.
ಸಂದರ್ಭವಿಲ್ಲದ (context ಇಲ್ಲದ) AI ಎಂಬುದು ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ ಅನ್ನು ಎಂದಿಗೂ ಓದದ ಜೂನಿಯರ್ ಡೆವಲಪರ್ ಇದ್ದಂತೆ. ಅದು ನಿನ್ನೆಯ ಎಲ್ಲವನ್ನೂ ಮರೆತುಬಿಡುತ್ತದೆ. ನೀವು ಹೊಸದಾಗಿ ಸೇರಿದ ಉದ್ಯೋಗಿಗೆ ಒಂದು ಸಾಲಿನ ಟಿಕೆಟ್ ನೀಡಿ ಪರಿಪೂರ್ಣ ಕೋಡ್ ನಿರೀಕ್ಷಿಸುವುದಿಲ್ಲ. ಬದಲಾಗಿ ನೀವು ಅವರಿಗೆ ಒಂದು ಆನ್ಬೋರ್ಡಿಂಗ್ ಡಾಕ್ಯುಮೆಂಟ್ ನೀಡುತ್ತೀರಿ.
ನಾನು ನನ್ನ ರೆಪೊ (repo) ನಲ್ಲಿ ಒಂದು ಪ್ರೊಜೆಕ್ಟ್ ಮೆಮೊರಿ ಫೈಲ್ ಅನ್ನು ಬಳಸುತ್ತೇನೆ. ಈ ಫೈಲ್ ಆನ್ಬೋರ್ಡಿಂಗ್ ಡಾಕ್ಯುಮೆಂಟ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು AI ಪ್ರತಿ ಬಾರಿಯೂ ಇದನ್ನು ಓದುತ್ತದೆ. ಇದು ಹೊರಗಿನವರಿಗೆ ತಿಳಿಯದ ಪ್ರೊಜೆಕ್ಟ್ಗೆ ಸಂಬಂಧಿಸಿದ ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ:
• ಕಡ್ಡಾಯ ನಿಯಮಗಳು (Non-negotiables): URLಗಳು ಹೇಗೆ ಇರಬೇಕು ಮತ್ತು ಸ್ಲಗ್ಗಳು (slugs) ಪ್ರೊಡಕ್ಷನ್ನೊಂದಿಗೆ ಹೇಗೆ ಹೊಂದಾಣಿಕೆಯಾಗಬೇಕು ಎಂಬ ನಿಯಮಗಳು. • ಲಾಜಿಕ್ ನಿಯಮಗಳು: ಸಂಖ್ಯೆಗಳನ್ನು ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡುವ ಬದಲು ಕಾನ್ಫಿಗರೇಶನ್ಗಳಿಂದ (configs) ಮೌಲ್ಯಗಳನ್ನು ಪಡೆಯುವುದು. • ಎಡ್ಜ್ ಕೇಸ್ಗಳು (Edge cases): ಸೈಲೆಂಟ್ ಬ್ರೇಕ್ಗಳನ್ನು ತಡೆಯುವ ನಿರ್ದಿಷ್ಟ CDN ಸೆಟ್ಟಿಂಗ್ಗಳು ಅಥವಾ ಫೈಲ್ ಪಾತ್ಗಳು.
ನಾನು ಮಾಡುವ ಪ್ರತಿಯೊಂದು ತಪ್ಪೂ ಈ ಫೈಲ್ನಲ್ಲಿ ಒಂದು ಸಾಲಾಗಿ ಸೇರುತ್ತದೆ. ಇದು ಈ ಫೈಲ್ ಅನ್ನು ಒಂದು ಬೆಳೆಯುವ ಆಸ್ತಿಯನ್ನಾಗಿ (compounding asset) ಪರಿವರ್ತಿಸುತ್ತದೆ. ನಾನು ಪದೇ ಪದೇ ಒಂದೇ ವಿಷಯವನ್ನು ಹೇಳುವುದನ್ನು ನಿಲ್ಲಿಸುವುದರಿಂದ, ಕಾಲಾನಂತರದಲ್ಲಿ AI ಔಟ್ಪುಟ್ನ ಗುಣಮಟ್ಟ ಸುಧಾರಿಸುತ್ತದೆ.
ನನ್ನ ವರ್ಕ್ಫ್ಲೋ ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ:
- ಸಂದರ್ಭವನ್ನು ಬೂಟ್ಸ್ಟ್ರಾಪ್ ಮಾಡಿ (Bootstrap the context): ನಿಮ್ಮ ಕೋಡ್ನಿಂದ ಮೆಮೊರಿ ಫೈಲ್ ಅನ್ನು ಡ್ರಾಫ್ಟ್ ಮಾಡಲು AI ಗೆ ಕೇಳಿ, ನಂತರ ನೀವು ಅದನ್ನು ಎಡಿಟ್ ಮಾಡಿ.
- ಕಾರ್ಯವನ್ನು ಮರುಹೇಳಿ: ಕೋಡ್ ಬರೆಯುವ ಮೊದಲು ಗುರಿಯನ್ನು ಸಾರಾಂಶಗೊಳಿಸಲು AI ಗೆ ಕೇಳಿ. ಇದು ತಪ್ಪುಗಳನ್ನು ಮೊದಲೇ ಪತ್ತೆಹಚ್ಚಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
- ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸುಧಾರಿಸಿ: ನಿಮ್ಮ ವಿನಂತಿಯಲ್ಲಿ ಅಸ್ಪಷ್ಟವಾಗಿರುವ ವಿಷಯಗಳೇನು ಎಂದು AI ಗೆ ಕೇಳಿ.
ಈ ಕೆಲಸಗಳಿಗಾಗಿ AI ಅನ್ನು ಬಳಸಿ:
- ಬಾಯ್ಲರ್ಪ್ಲೇಟ್ (boilerplate) ಮತ್ತು ಸ್ಕ್ಯಾಫೋಲ್ಡಿಂಗ್ ಬರೆಯಲು.
- ಪ್ಯಾಟರ್ನ್ ಅನುಸರಿಸುವ ರಿಫ್ಯಾಕ್ಟರ್ಗಳಿಗೆ (refactors).
- ಪರಿಚಯವಿಲ್ಲದ ಕೋಡ್ ಅನ್ನು ವಿವರಿಸಲು.
- ರೆಪೊಾದ್ಯಂತ ಮೆಕ್ಯಾನಿಕಲ್ ಸ್ವೀಪ್ಗಳನ್ನು ಮಾಡಲು.
- ಟೆಸ್ಟ್ಗಳು ಮತ್ತು ಫಿಕ್ಸ್ಚರ್ಗಳನ್ನು (fixtures) ಬರೆಯಲು.
ಈ ಕೆಲಸಗಳಿಗಾಗಿ AI ಬಳಕೆಯನ್ನು ತಪ್ಪಿಸಿ:
- ಹೊಸ ಆರ್ಕಿಟೆಕ್ಚರ್ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು.
- ಅಭಿರುಚಿ ಅಥವಾ ಉತ್ಪನ್ನದ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು.
- ತಪ್ಪು ಮಾಡಿದರೆ ದೊಡ್ಡ ನಷ್ಟವಾಗುವ ಯಾವುದೇ ಕೆಲಸಗಳಿಗೆ.
- ಭದ್ರತೆಗೆ ಸಂಬಂಧಿಸಿದ ವಿನ್ಯಾಸಗಳಿಗೆ (Security-critical design).
- ಶೀಪ್ ಮಾಡುವ ಮೊದಲು ಮಾಡುವ ಅಂತಿಮ ವಿಮರ್ಶೆಗಾಗಿ.
ಶಿಸ್ತು ಸರಳವಾಗಿದೆ:
- ಕಾರ್ಯಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಚಿಕ್ಕದಾಗಿಡಿ. "ಈ ಫೀಚರ್ ಅನ್ನು ನಿರ್ಮಿಸಿ" ಎಂದು ಹೇಳಬೇಡಿ. ಬದಲಾಗಿ "ಈ ನಿರ್ದಿಷ್ಟ ಬದಲಾವಣೆಯನ್ನು ಮಾಡಿ" ಎಂದು ಹೇಳಿ.
- ಮೊದಲೇ ಸಂದರ್ಭವನ್ನು (context) ನೀಡಿ.
- ಪ್ರತಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಬಿಲ್ಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ ಮತ್ತು ಡಿಫ್ (diff) ಅನ್ನು ಓದಿ.
- ಇದನ್ನು ಜೂನಿಯರ್ ಡೆವಲಪರ್ನ PR ನಂತೆ ವಿಮರ್ಶಿಸಿ. ಮನುಷ್ಯರು ಓದದೆಯೇ ಎಂದಿಗೂ ಕೋಡ್ ಕಮಿಟ್ ಮಾಡಬೇಡಿ.
- ಕಲಿತ ಪಾಠಗಳನ್ನು ನಿಮ್ಮ ಸಂದರ್ಭದ ಫೈಲ್ಗೆ (context file) ಸೇರಿಸಿ.
ಪ್ರಯೋಜನವು ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿಲ್ಲ. ನೀವು ನಿರ್ವಹಿಸುವ ಸಂದರ್ಭದಲ್ಲಿದೆ (context).
Optional learning community: https://t.me/GyaanSetuAi
