AI ਕੋਡ ਲਿਖਦਾ ਹੈ। ਇਸਨੂੰ ਸੰਦਰਭ (context) ਕੌਣ ਦਿੰਦਾ ਹੈ?
AI ਕੋਡ ਲਿਖ ਸਕਦਾ ਹੈ। ਪਰ ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ ਨਹੀਂ ਜਾਣਦਾ।
ਜਦੋਂ ਤੁਸੀਂ ਕੋਡਿੰਗ ਲਈ AI ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਪਹਿਲਾ ਜਵਾਬ ਸ਼ਾਇਦ ਹੀ ਸਭ ਤੋਂ ਵਧੀਆ ਹੁੰਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਸੰਦਰਭ (context) ਜੋੜਨਾ ਪਵੇਗਾ। ਤੁਹਾਨੂੰ ਗਲਤੀਆਂ ਨੂੰ ਸੁਧਾਰਨਾ ਪਵੇਗਾ। ਤੁਹਾਨੂੰ ਇਹ ਦੱਸਣਾ ਪਵੇਗਾ ਕਿ ਤੁਸੀਂ ਪਹਿਲਾਂ ਕੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਹੈ।
ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ context engineering ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ AI ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਇਹ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ।
AI ਪ੍ਰਮਾਣਿਕ ਲੱਗਣ ਵਾਲਾ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇਹ ਸਹੀ ਲੱਗਦਾ ਹੈ। ਇਹ ਟੈਸਟਾਂ ਵਿੱਚ ਵੀ ਪਾਸ ਹੋ ਸਕਦਾ ਹੈ। ਪਰ ਸਾਫਟਵੇਅਰ ਕਿਸੇ ਖਾਲੀ ਜਗ੍ਹਾ (vacuum) ਵਿੱਚ ਨਹੀਂ ਹੁੰਦਾ। ਇਸਨੂੰ ਤੁਹਾਡੀ ਖਾਸ ਦੁਨੀਆ ਦੇ ਅਨੁਕੂਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
AI ਨੂੰ ਆਪਣੇ ਆਪ ਤੁਹਾਡੀਆਂ ਇਹਨਾਂ ਚੀਜ਼ਾਂ ਬਾਰੇ ਪਤਾ ਨਹੀਂ ਲੱਗਦਾ:
- Architecture ਦੇ ਨਿਯਮ
- ਸੁਰੱਖਿਆ ਲੋੜਾਂ (Security needs)
- ਮੌਜੂਦਾ ਪੈਟਰਨ (Existing patterns)
- Domain logic
- ਤਕਨੀਕੀ ਫੈਸਲੇ (Technical decisions)
ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਸੰਦਰਭ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਸਮੱਸਿਆਵਾਂ ਖੜ੍ਹੀਆਂ ਕਰਦੇ ਹੋ।
ਇੱਕ ਵੱਡਾ ਖਤਰਾ ਡੁਪਲੀਕੇਸ਼ਨ (duplication) ਦਾ ਹੈ। AI ਨੂੰ ਨਹੀਂ ਪਤਾ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ validation helper ਜਾਂ ਕੋਈ ਖਾਸ error handler ਮੌਜੂਦ ਹੈ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਨਵਾਂ ਬਣਾ ਦੇਵੇਗਾ। ਹੁਣ ਤੁਹਾਡੇ ਸਿਸਟਮ ਕੋਲ ਇੱਕੋ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਦੇ ਦੋ ਤਰੀਕੇ ਹਨ। ਇਹ "ਆਪਣੇ ਆਪ ਨੂੰ ਨਾ ਦੁਹਰਾਉਣ" (not repeating yourself) ਦੇ ਨਿਯਮ ਨੂੰ ਤੋੜਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਰਫ਼ਤਾਰ ਲਈ ਆਪਟੀਮਾਈਜ਼ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣੇ ਭਵਿੱਖ ਨੂੰ ਹੌਲੀ ਕਰ ਰਹੇ ਹੋ। ਤੁਸੀਂ ਫੀਚਰਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲਾਂਚ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਤੁਹਾਡੇ ਸਿਸਟਮ ਵਿੱਚ ਬਦਲਾਅ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਵੇਗਾ।
ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਇੰਜੀਨੀਅਰਿੰਗ ਗਿਆਨ ਨਾਲ ਕੋਡ ਵਾਂਗ ਪੇਸ਼ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਨੂੰ ਇਹ ਚੀਜ਼ਾਂ ਚਾਹੀਦੀਆਂ ਹਨ:
- Versioned (ਵਰਜ਼ਨ ਅਨੁਸਾਰ)
- Reviewed (ਸਮੀਖਿਆ ਕੀਤੀ ਹੋਈ)
- Owned (ਮਾਲਕੀ ਵਾਲੀ)
- Kept current (ਅਪ-ਟੂ-ਡੇਟ ਰੱਖਣਾ)
ਸਿਰਫ਼ ਡਾਕੂਮੈਂਟੇਸ਼ਨ (Documentation) ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਪੁਰਾਣੀ ਡਾਕੂਮੈਂਟੇਸ਼ਨ ਖ਼ਤਰਨਾਕ ਹੁੰਦੀ ਹੈ। ਇਹ AI ਨੂੰ ਗਲਤ ਭਰੋਸਾ ਦਿੰਦੀ ਹੈ। ਇਹ ਮਾਡਲ ਨੂੰ ਉਹਨਾਂ ਪੁਰਾਣੇ ਪੈਟਰਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਦੀ ਹੈ ਜੋ ਤੁਹਾਡੀ ਟੀਮ ਹੁਣ ਵਰਤਦੀ ਨਹੀਂ ਹੈ।
ਵਧੀਆ ਟੀਮਾਂ ਸਿਰਫ਼ ਬਿਹਤਰ ਪ੍ਰੋਂਪਟ (prompts) ਨਹੀਂ ਲਿਖਦੀਆਂ। ਉਹ ਬਿਹਤਰ ਗਾਰਡਰੇਲ (guardrails) ਬਣਾਉਂਦੀਆਂ ਹਨ।
AI ਨੂੰ ਕਿਸੇ ਨਿਯਮ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਕਹਿਣ ਦੀ ਬਜਾਏ, ਉਸ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਆਟੋਮੇਟਡ ਟੈਸਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹਨਾਂ ਚੀਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ CI/CD ਦੀ ਵਰਤੋਂ ਕਰੋ:
- Static analysis ਗਲਤੀਆਂ
- ਸੁਰੱਖਿਆ ਕਮਜ਼ੋਰੀਆਂ (Security vulnerabilities)
- Architectural boundary ਦੀਆਂ ਉਲੰਘਣਾਵਾਂ
- Dependency ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ
AI ਕੋਡ ਬਣਾਉਣਾ ਸਸਤਾ ਕਰ ਦਿੰਦਾ ਹੈ। ਇਹ ਉਤਪਾਦ (product) ਨੂੰ ਸਮਝਣ ਦੀ ਮਹੱਤਤਾ ਨੂੰ ਘੱਟ ਨਹੀਂ ਕਰਦਾ। ਅਸਲ ਵਿੱਚ, ਸੰਦਰਭ (context) ਸਭ ਤੋਂ ਕੀਮਤੀ ਸਰੋਤ ਬਣ ਜਾਂਦਾ ਹੈ।
ਜੇਤੂ ਉਹ ਟੀਮਾਂ ਨਹੀਂ ਹੋਣਗੀਆਂ ਜੋ ਸਭ ਤੋਂ ਵੱਧ ਕੋਡ ਤਿਆਰ ਕਰਦੀਆਂ ਹਨ। ਉਹ ਉਹ ਟੀਮਾਂ ਹੋਣਗੀਆਂ ਜੋ ਸਭ ਤੋਂ ਸਪਸ਼ਟ ਨਿਰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨਗੀਆਂ ਕਿ ਵੱਖ-ਵੱਖ ਹਿੱਸੇ ਇੱਕ ਦੂਜੇ ਨਾਲ ਕਿਵੇਂ ਜੁੜਦੇ ਹਨ।
Source: https://dev.to/icetique/ai-can-write-the-code-who-gives-it-the-context-2l1b
Optional learning community: https://t.me/GyaanSetuAi