AI ನಿಮಗಾಗಿ ಯೋಚಿಸುವುದಿಲ್ಲ. ಮತ್ತು ಅದು ಒಳ್ಳೆಯ ವಿಷಯ.
ಅನೇಕ ಜನರು AI ಹಿರಿಯ ಸಾಫ್ಟ್ವೇರ್ ಎಂಜಿನಿಯರ್ನಂತೆ ವರ್ತಿಸಬೇಕೆಂದು ನಿರೀಕ್ಷಿಸುತ್ತಾರೆ. ಅದು ತಾನಾಗಿಯೇ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲಿ, ಅತ್ಯುತ್ತಮ ಪದ್ಧತಿಗಳನ್ನು (best practices) ಆರಿಸಲಿ ಮತ್ತು ಭದ್ರತೆಯನ್ನು ನಿರ್ವಹಿಸಲಿ ಎಂದು ಅವರು ಬಯಸುತ್ತಾರೆ.
ಈ ನಿರೀಕ್ಷೆಯು ತಪ್ಪಾಗಿದೆ.
ಒಂದು LLM ನಿಮ್ಮ ಪ್ರಾಂಪ್ಟ್ನ ಆಧಾರದ ಮೇಲೆ ಮುಂದಿನ ಟೋಕನ್ಗಳನ್ನು ಮುನ್ಸೂಚಿಸುತ್ತದೆ. ಅದು ನಿಮ್ಮ ಮಾರ್ಗದರ್ಶನವನ್ನು ಅನುಸರಿಸುತ್ತದೆ.
ನೀವು SOLID ತತ್ವಗಳಿಗಾಗಿ ಕೇಳದಿದ್ದರೆ, AI ಅವುಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ. ನೀವು Repository Pattern ಗಾಗಿ ಕೇಳದಿದ್ದರೆ, AI ಅದನ್ನು ರಚಿಸುವುದಿಲ್ಲ. ನೀವು ಸರಳವಾದ API ಗಾಗಿ ಕೇಳಿದರೆ, AI ಸಂಕೀರ್ಣವಾದ ಲೇಯರ್ಡ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದಿಲ್ಲ.
ನೀವು ಅಸ್ಪಷ್ಟವಾಗಿದ್ದಾಗ AI ವಿಷಯಗಳನ್ನು ಊಹಿಸುತ್ತದೆ. ಇಂತಹ ಊಹೆಗಳು ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತವೆ.
AI ನಿಮಗೆ ಇಷ್ಟವಿಲ್ಲದ ಲೈಬ್ರರಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಅದು ಅನಗತ್ಯ ಅವಲಂಬನೆಗಳನ್ನು (dependencies) ಸೇರಿಸಬಹುದು. ಇದು vendor lock-in ಗೆ ಕಾರಣವಾಗಬಹುದು.
ನೀವು ಕೇಳಿದ್ದನ್ನು ಮಾತ್ರ AI ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು.
ನಾನು ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ಗೆ logs ಸೇರಿಸಬೇಕೆಂದಾಗ, "Add logs" ಎಂದು ಹೇಳುವುದಿಲ್ಲ.
ನಾನು ಹೀಗೆ ಹೇಳುತ್ತೇನೆ: "Use Serilog. Follow the official documentation. Follow the library best practices. Match the existing project pattern."
ಈಗ AI ಗೆ ಸಂದರ್ಭ (context) ತಿಳಿದಿದೆ. ಅದಕ್ಕೆ ಲೈಬ್ರರಿ, ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಮತ್ತು ಪ್ಯಾಟರ್ನ್ ತಿಳಿದಿದೆ.
ಇದೇ ವಿಷಯ ಕೋಡ್ ಗುಣಮಟ್ಟಕ್ಕೂ ಅನ್ವಯಿಸುತ್ತದೆ. ನೀವು ಕೇವಲ ಹೊಸ ಫೀಚರ್ಗಳಿಗಾಗಿ ಕೇಳಿದರೆ, ತಾಂತ್ರಿಕ ಸಾಲ (technical debt) ಹೆಚ್ಚಾಗುತ್ತದೆ. ಇದು AI ನ ತಪ್ಪಲ್ಲ. ನಾನು ಕೋಡ್ ರಿವ್ಯೂ ಅಥವಾ ಪ್ರಾಜೆಕ್ಟ್ ಮರುಸಂಘಟನೆಗಾಗಿ ಕೇಳಿರಲಿಲ್ಲ.
ನನ್ನ ಪ್ರಾಜೆಕ್ಟ್ Tiny Theft Auto ನಲ್ಲಿ, ನಾನು ಬೆಳವಣಿಗೆಯನ್ನು ನಾನೇ ನಿರ್ವಹಿಸಿದೆ. ನಾನು ಒಂದು HTML ಫೈಲ್ನಿಂದ ಪ್ರಾರಂಭಿಸಿದೆ. ಅದು ಬೆಳೆದಂತೆ, ನಾನು ನಿರ್ದಿಷ್ಟ ಕಮಾಂಡ್ಗಳನ್ನು ನೀಡಿದೆ:
- Apply SRP.
- Separate classes into files.
- Reorganize the structure.
- Perform a code review.
- Find areas for improvement.
ನಿರ್ಧಾರಗಳನ್ನು ನಾನು ತೆಗೆದುಕೊಂಡೆ. ಕಾರ್ಯಗಳನ್ನು AI ನಿರ್ವಹಿಸಿತು.
ವೃತ್ತಿಪರ ವಾತಾವರಣದಲ್ಲಿ, ಕಂಪನಿಗಳು logs, testing ಮತ್ತು observability ಗಾಗಿ ನಿರ್ದಿಷ್ಟ ಪ್ಯಾಟರ್ನ್ಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. AI ಈ ಪ್ಯಾಟರ್ನ್ಗಳನ್ನು ಊಹಿಸಬೇಕೆಂದು ನಾನು ನಿರೀಕ್ಷಿಸುವುದಿಲ್ಲ. ನಾನು ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಅಥವಾ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತೇನೆ. ಇದು AI ಹೊಸ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳುವುದನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮಾನದಂಡಗಳನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ನಿಮ್ಮ ಮನಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸಿಕೊಳ್ಳಿ.
ನಿಮ್ಮ ಆಲೋಚನೆಯನ್ನು ಹೊರಗಿನವರಿಗೆ (outsource) ನೀಡಬೇಡಿ. ನಿಮ್ಮ ಶ್ರಮವನ್ನು ಮಾತ್ರ ಹೊರಗಿನವರಿಗೆ ನೀಡಿ.
ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ನೀವೇ ನಿರ್ಧರಿಸಿ. Scalability ಅನ್ನು ನೀವೇ ನಿರ್ಧರಿಸಿ. Best practices ಅನ್ನು ನೀವೇ ನಿರ್ಧರಿಸಿ. ಲೈಬ್ರರಿಗಳನ್ನು ನೀವೇ ನಿರ್ಧರಿಸಿ.
ಈ ನಿರ್ಧಾರಗಳನ್ನು ವೇಗವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು AI ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಇದು ಆಯ್ಕೆಗಳನ್ನು ಮಾಡುವ ಎಂಜಿನಿಯರ್ ಅಲ್ಲ. ಇದು ತಮಗೆ ಏನು ಬೇಕು ಎಂದು ತಿಳಿದಿರುವ ಜನರಿಗೆ ಉತ್ಪಾದಕತೆಯನ್ನು ಹೆಚ್ಚಿಸುವ ಸಾಧನವಾಗಿದೆ (productivity multiplier).
Source: https://dev.to/andredarcie/a-ia-nao-vai-pensar-por-voce-e-isso-e-uma-coisa-boa-5jj
Optional learning community: https://t.me/GyaanSetuAi
