ਰੁਚੀ ਹੈ ਕਿ AI ਐਪ ਬਿਲਡਰ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ? ਅਸਲ ਵਰਕਫਲੋ ਵੇਖੋ: ਲੋੜਾਂ, ਯੋਜਨਾ, ਕੋਡ ਜਨਰੇਸ਼ਨ, ਟੈਸਟਿੰਗ, ਸੁਰੱਖਿਆ ਚੈੱਕ, ਡਿਪਲੋਇਮੈਂਟ ਅਤੇ ਇਟਰੇਸ਼ਨ।

ਜਦੋਂ ਲੋਕ ਕਹਿੰਦੇ ਹਨ “AI ਐਪ ਬਣਾਉਂਦਾ ਹੈ,” ਉਹ ਆਮ ਤੌਰ ’ਤੇ ਇਹ ਦਰਸਾਉਂਦੇ ਹਨ ਕਿ ਇੱਕ AI ਸਿਸਟਮ ਪ੍ਰੌਂਪਟਾਂ ਅਤੇ ਕੁਝ ਉੱਪਰੀ-ਸਤਹ ਫੈਸਲਿਆਂ ਦੇ ਆਧਾਰ 'ਤੇ ਬਹੁਤਾ ਕੰਮ—ਸਕ੍ਰੀਨਾਂ, ਬੂਟਸਟ੍ਰੈਪ ਕੋਡ, ਡੇਟਾਬੇਸ ਟੇਬਲਾਂ, API ਐਂਡਪੌਇੰਟ ਅਤੇ ਇੱਥੋਂ ਤੱਕ ਕਿ ਟੈਸਟ ਵੀ—ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ।
ਇਸਦਾ ਇਹ ਮਤਲਬ ਨਹੀਂ ਕਿ ਤੁਸੀਂ ਇੱਕ ਧੁੰਦਲੀ ਸੋਚ ਦੱਸ ਕੇ ਇੱਕ ਪੂਰਨ, production-ਤਯਾਰ ਐਪ ਤੁਰੰਤ ਪਾ ਲਵੋਗੇ ਜਿਸ ਦਾ UX ਪਰਫੈਕਟ ਹੋਵੇ, ਕਾਰੋਬਾਰੀ ਨਿਯਮ ਸਹੀ ਹੋਣ, ਡੇਟਾ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸੰਭਾਲਿਆ ਜਾਵੇ ਅਤੇ ਕੋਈ ਰਖ-ਰਖਾਅ ਨਾ ਲੋੜ ਹੋਵੇ। AI ਤੇਜ਼ ਡਰਾਫਟ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਤੁਹਾਡੇ ਗਾਹਕਾਂ, ਨੀਤੀਆਂ, ਏਜ ਕੇਸਾਂ ਜਾਂ ਰਿਸਕ ਸਹਿਣਸ਼ੀਲਤਾ ਨੂੰ ਜਾਦੂਈ ਤਰੀਕੇ ਨਾਲ ਨਹੀਂ ਜਾਣਦਾ।
AI ਉਨ੍ਹਾਂ ਖੇਤਰਾਂ ਵਿੱਚ ਚਮਕਦਾ ਹੈ ਜੋ ਸਮਾਂ ਲੈਣ ਵਾਲੇ ਪਰ ਪੈਟਰਨ ਵਾਲੇ ਹੁੰਦੇ ਹਨ:
ਅਮਲ ਵਿੱਚ, ਜੇ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਹੀ ਪਤਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੀ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਹ ਸ਼ੁਰੂਆਤੀ ਸੈਟਅੱਪ ਦੇ ਹਫ਼ਤਿਆਂ ਨੂੰ ਘੰਟਿਆਂ ਜਾਂ ਦਿਨਾਂ ਵਿੱਚ ਘਟਾ ਸਕਦਾ ਹੈ।
ਮਨੁੱਖ ਜ਼ਿੰਮੇਵਾਰ ਰਹਿੰਦੇ ਹਨ:
AI ਪ੍ਰਸਤਾਵ ਰੱਖ ਸਕਦਾ ਹੈ; ਮਨੁੱਖ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।
“AI ਐਪ ਬਣਾਉਂਦਾ ਹੈ” ਨੂੰ ਇੱਕ ਇਕਾਈ ਕਰਵਾਈ ਦੀ ਬਜਾਏ ਇੱਕ ਪਾਈਪਲਾਈਨ ਸਮਝੋ: خیال → ਲੋੜਾਂ → ਵਿਸ਼ੇਸ਼ਣ → ਆਰਕੀਟੈਕਚਰ ਫੈਸਲੇ → ਜਨਰੇਟ ਕੀਤੀ ਸਕੈਫੋਲਡਿੰਗ ਅਤੇ ਡੇਟਾ ਮਾਡਲ → UI ਅਸੰਬਲੀ → ਆਥ/ਪਰਮੀਸ਼ਨ → ਇੰਟਿਗ੍ਰੇਸ਼ਨ → ਟੈਸਟਿੰਗ → ਸੁਰੱਖਿਆ ਸਮੀਖਿਆ → ਡਿਪਲੋਇਮੈਂਟ → ਇٽرੇਸ਼ਨ।
ਹੇਠਾਂ ਹਰ ਕਦਮ ਨੂੰ ਵੇਖਿਆ ਗਿਆ ਹੈ ਤਾਂ ਜੋ ਤੁਹਾਨੂੰ ਪਤਾ ਹੋਵੇ ਕਿ ਕੀ ਉਮੀਦ ਰੱਖਣੀ ਹੈ, ਕੀ ਵੈਰੀਫਾਈ ਕਰਨਾ ਹੈ ਅਤੇ ਕਿੱਥੇ ਹੱਥ-ਨਾਂਹੀਂ ਰਹਿਣਾ ਹੈ।
ਕੋਈ ਵੀ AI ਐਪ ਬਿਲਡਰ ਕੁਝ ਹੋਰ ਉਪਯੋਗੀ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਐਸੇ ਇਨਪੁਟ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਲੋੜਾਂ ਵਰਗੇ ਹੋਣ। ਇਸ ਕਦਮ ਨੂੰ ਸੋਚੋ ਜਿਵੇਂ “ਮੈਂ ਐਪ ਚਾਹੁੰਦਾ ਹਾਂ” ਨੂੰ “ਇਹਾ ਐਪ ਕੀ ਕਰੇਗਾ, ਕਿਸ ਲਈ ਅਤੇ ਕਿੱਥੇ ਚਲਾਏਗਾ” ਵਿੱਚ ਬਦਲਣਾ।
ਚਾਰ ਐਂਕਰਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ:
ਧੁੰਦਲਾ: “ਮੈਨੂੰ ਫਿਟਨੈਸ ਐਪ ਬਣਾਓ।”
ਸਪਸ਼ਟ: “ਬਿਨੈਰੀ ਰਨਰਾਂ ਲਈ ਮੋਬਾਇਲ ਐਪ ਬਣਾਓ। ਯੂਜ਼ਰ ਖਾਤੇ ਬਣਾਉਂਦੇ ਹਨ, 5K ਪਲਾਨ ਚੁਣਦੇ ਹਨ, ਦੌੜ ਲੌਗ ਕਰਦੇ ਹਨ ਅਤੇ ਸाप्तਾਹਿਕ ਪ੍ਰਗਟੀ ਵੇਖਦੇ ਹਨ। ਸਵੇਰੇ 7 ਵਜੇ ਪਸ਼ ਰੀਮਾਈਡਰ। ਐਡਮਿਨ ਪਲਾਨ ਸੋਧ ਸਕਦਾ ਹੈ। iOS + Android.”
ਧੁੰਦਲਾ: “Uber ਵਰਗਾ ਕੁਝ ਕਰੋ ਪਰ cleaners ਲਈ.”
ਸਪਸ਼ਟ: “ਦੋ-ਪਾਸਾ ਮਾਰਕੀਟਪਲੇਸ: ਗਾਹਕ ਸਫਾਈ ਦੀ ਬੁਕਿੰਗ ਕਰਦੇ ਹਨ, ਦਿਨ/ਟਾਈਮ ਚੁਣਦੇ ਹਨ, ਕਾਰਡ ਨਾਲ ਭੁਗਤਾਨ; cleaners ਨੌਕਰੀਆਂ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ, ਗਾਹਕਾਂ ਨਾਲ ਮੈਸੇਜ ਕਰਦੇ ਹਨ ਅਤੇ ਨੌਕਰੀਆਂ ਮੁਕੰਮਲ ਚਿੰਨ੍ਹਾਂ ਕਰਦੇ ਹਨ। ਪਲੇਟਫਾਰਮ: ਵੈੱਬ + ਮੋਬਾਇਲ। ਸਰਵਿਸ ਖੇਤਰ ਸਿਰਫ਼ ਲੰਡਨ ਤੱਕ ਸੀਮਤ।”
ਜ਼ਿਆਦਾਤਰ “ਘੱਟ ਰਹਿ ਗਈਆਂ ਫੀਚਰ” ਇੱਕੋ ਜਿਹੀਆਂ ਕੈਟੇਗਰੀਆਂ ਵਿੱਚ ਪੈਂਦੀਆਂ ਹਨ:
ਸਕੋਪ ਕ੍ਰੀਪ ਅਕਸਰ ਮਿਡ-ਬਿਲਡ “ਅਤੇ ਕੀ ਇਹ…” ਬੇਨਤੀ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ। ਇਸਨੂੰ ਰੋਕਣ ਲਈ ਪਹਿਲਾਂ ਇੱਕ MVP ਸੀਮਾ ਪਰਿਭਾਸ਼ਤ ਕਰੋ: ਕੀ ਅੰਦਰ ਹੈ, ਕੀ ਬਾਹਰ ਹੈ, ਅਤੇ ਕੀ “ਫੇਜ਼ 2” ਵਜੋਂ ਗਿਣਿਆ ਜਾਵੇਗਾ। ਜੇ ਫੀਚਰ ਮੁੱਖ ਲਕੜੀ ਨੂੰ ਸਹਾਰਾ ਨਹੀਂ ਦਿੰਦਾ ਤਾਂ ਇਸਨੂੰ ਪਾਰਕ ਕਰੋ—ਇਸ ਨੂੰ ਪਹਿਲੇ ਕਦਮ ਵਿੱਚ ਨਾ ਸਿੱਫੇੜੋ।
ਇੱਕ ਵਾਰ ਤੁਹਾਡਾ ਵਿਚਾਰ ਕੈਪਚਰ ਹੋ ਜਾਏ, ਅਗਲਾ ਕੰਮ “ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ” ਨੂੰ ਇੱਥੇ ਤਬਦੀਲ ਕਰਨਾ ਹੈ ਕਿ ਇੱਕ ਨਿਰਮਾਣਕ (ਮਨੁੱਖ ਜਾਂ ਮਸ਼ੀਨ) ਬਿਨਾਂ ਅਨੁਮਾਨ ਲਗਾਏ ਅਮਲ ਕਰ ਸਕੇ। ਇੱਥੇ ਲੋੜਾਂ ਇਕ ਬਣਤਰਯੋਗ ਵਿਸ਼ੇਸ਼ਣ ਬਣ ਜਾਂਦੀਆਂ ਹਨ।
AI ਆਮ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਲਕੜੀਆਂ ਨੂੰ ਯੂਜ਼ਰ ਸਟੋਰੀਜ਼ ਵਜੋਂ ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ: ਕੌਣ ਕਿਸ ਚੀਜ਼ ਦੀ ਲੋੜ ਹੈ, ਕੀ ਲੋੜ ਹੈ, ਅਤੇ ਕਿਉਂ। ਫਿਰ ਇਹ acceptance criteria ਜੋੜਦਾ ਹੈ—ਸਪਸ਼ਟ, ਟੈਸਟਬਲ ਬਿਆਨ ਜੋ “ਹੋ ਗਿਆ” ਦੀ ਪਰਿਭਾਸ਼ਾ ਕਰਦੇ ਹਨ।
ਉਦਾਹਰਣ ਲਈ, “ਯੂਜ਼ਰ ਅਪਾਇੰਟਮੈਂਟ ਬੁੱਕ ਕਰ ਸਕਦੇ ਹਨ” ਬਨ ਜਾਂਦਾ ਹੈ ਕ੍ਰਾਇਟੀਰੀਆ: ਯੂਜ਼ਰ ਤਾਰੀਖ/ਟਾਈਮ ਚੁਣ ਸਕਦਾ ਹੈ, ਉਪਲਬਧ ਸਲਾਟ ਵੇਖ ਸਕਦਾ ਹੈ, ਬੁਕਿੰਗ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਪੁਸ਼ਟੀ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
ਇੱਕ ਨਿਰਮਾਣਯੋਗ ਵਿਸ਼ੇਸ਼ਣ ਨੂੰ ਢਾਂਚਾ ਚਾਹੀਦਾ ਹੈ। AI ਨੂੰ ਹਰ ਫੀਚਰ ਨੂੰ ਇਹਨਾਂ ਵਿੱਚ ਮੈਪ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
ਇਹ ਮੈਪਿੰਗ ਬਾਅਦ ਵਿੱਚ ਅਚਾਨਕੀਅਤਾਂ ਨੂੰ ਰੋਕਦੀ ਹੈ ਜਿਵੇਂ, “ਅਸੀਂ ਕਦੇ ਨਹੀਂ ਦਿੱਤਾ ਕਿ ਇੱਕ ਅਪਾਇੰਟਮੈਂਟ ਵਿੱਚ ਕੀ ਜਾਣਕਾਰੀ ਹੋਵੇਗੀ,” ਜਾਂ “ਕੌਣ ਬੁਕਿੰਗ ਸੋਧ ਸਕਦਾ ਹੈ?”
ਚੰਗੇ AI ਕਾਰਜ-ਪ੍ਰਵਾਹ ਸਾਰਿਆ ਚੀਜ਼ਾਂ ਨੂੰ ਜਾਣਦਾ ਨਹੀਂ ਦਿਖਾਉਂਦੇ। AI ਨੂੰ ਗੈਰ-ਮੁਕੰਮਲ ਫੈਸਲਿਆਂ ਨੂੰ ਨੋਟ ਕਰਕੇ ਕੇਂਦਰਿਤ ਪ੍ਰਸ਼ਨ ਪੁੱਛਣੇ ਚਾਹੀਦੇ ਹਨ, ਜਿਵੇਂ:
ਇਹ ਪ੍ਰਸ਼ਨ ਬੇਕਾਰ ਨਹੀਂ—ਇਹ ਐਪ ਦੇ ਨਿਯਮ ਤੈਅ ਕਰਦੇ ਹਨ।
ਇਸ ਕਦਮ ਦੇ ਅਖੀਰ ਤੱਕ ਤੁਹਾਨੂੰ ਦੋ ਨਿਰਧਾਰਤ ਡਿਲਿਵਰੇਬਲ ਮਿਲਣੇ ਚਾਹੀਦੇ ਹਨ:
ਜੇ ਉਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਗੈਰ-ਮੌਜੂਦ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਅਨੁਮਾਨਾਂ ਨਾਲ ਬਿਲਡ ਸਮੇਂ ਵਿੱਚ ਜਾ ਰਹੇ ਹੋ।
ਲੋੜਾਂ ਸਪਸ਼ਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, AI ਐਪ ਬਿਲਡਰ ਨੂੰ ਪ੍ਰੋਜੈਕਟ “ਬਿਲਡੇਬਲ” ਬਣਾਉਣਾ ਪੈਂਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਆਮ ਤੌਰ 'ਤੇ ਐਪ ਕਿਸ ਕਿਸਮ ਦੀ ਹੋਵੇਗੀ, ਇੱਕ ਸਥਿਰ ਟੈਕ ਸਟੈਕ ਅਤੇ ਇੱਕ ਉੱਚ-ਸਤਹ ਆਰਕੀਟੈਕਚਰ ਚੁਣਨਾ ਹੁੰਦਾ ਹੈ ਜੋ LLM ਬਹੁਤ ਸਾਰਿਆਂ ਫਾਈਲਾਂ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਤਰੀਕੇ ਨਾਲ ਜਨਰੇਟ ਕਰ ਸਕੇ।
ਇਹ ਫੈਸਲਾ ਹਰ ਚੀਜ਼ 'ਤੇ ਪ੍ਰਭਾਵ ਪਾਂਦਾ ਹੈ: ਨੈਵੀਗੇਸ਼ਨ, ਪਤਾ-ਕ੍ਰਮ, ਆਫਲਾਈਨ ਵਿਹਾਰ, ਅਤੇ ਡਿਪਲੋਇਮੈਂਟ।
ਵੈੱਬ ਐਪ ਅਕਸਰ ਸਭ ਤੋਂ ਤੇਜ਼ ਰਾਹ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਇੱਕ ਕੋਡਬੇਸ ਕਿਸੇ ਵੀ ਬਰਾਉਜ਼ਰ 'ਤੇ ਚੱਲਦਾ ਹੈ। ਮੋਬਾਇਲ ਐਪ ਜ਼ਿਆਦਾ ਦੇਸੀ ਅਨుభਵ ਦੇ ਸਕਦੀ ਹੈ, ਪਰ ਇਸ ਨਾਲ ਜ਼ਿਆਦਾ ਜਟਿਲਤਾ ਆਉਂਦੀ ਹੈ (ਐਪ ਸਟੋਰ, ਡਿਵਾਈਸ ਟੈਸਟਿੰਗ, ਪੁਸ਼ ਨੋਟੀਫਿਕੇਸ਼ਨ)। “ਦੋਹਾਂ” ਆਮ ਤੌਰ 'ਤੇ ਅਰਥ ਹੁੰਦਾ ਹੈ:
AI ਸੋਫਟਵੇਅਰ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਟੀਮਾਂ ਇਹ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ ਕਿ ਕੋਈ ਮਿਲੀ-ਜੁਲੀ ਅਣਮੈਚ ਹੋ ਕੇ ਜਿਵੇਂ ਮੋਬਾਇਲ-ਓਨਲੀ ਜੈਸਟਚਰ ਡੈਸਕਟਾਪ-ਪਹਿਲੇ ਬਿਲਡ ਲਈ ਡਿਜ਼ਾਇਨ ਨਹੀਂ ਹੋਣੇ ਚਾਹੀਦੇ।
LLM ਕੋਡ ਜਨਰੇਸ਼ਨ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਸਟੈਕ ਭਰੋਸੇਯੋਗ ਹੋ। ਪੈਟਰਨ ਮਿਲਾ ਕੇ ਰੱਖਣ ਨਾਲ ਕੋਡ ਡ੍ਰਿਫਟ ਘੱਟ ਹੁੰਦਾ ਹੈ ਅਤੇ ਆਟੋਮੇਟਿਡ ਟੈਸਟਿੰਗ ਆਸਾਨ ਹੁੰਦੀ ਹੈ।
ਇੱਕ ਆਧੁਨਿਕ ਵੈੱਬ ਸਟੈਕ ਦੇ ਉਦਾਹਰਣ ਹੋ ਸਕਦੇ ਹਨ:
ਕੁਝ ਪਲੇਟਫਾਰਮ ਇਸਨੂੰ ਹੋਰ ਸਧਾਰਿਤ ਕਰਦੇ ਹਨ ਤਾਂ ਜੋ ਜਨਰੇਸ਼ਨ ਪੂਰੇ ਰੀਪੋ ਵਿੱਚ ਸਮਰੱਥਾ ਨਾਲ ਰਹੇ। ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ, Koder.ai ਇੱਕ ਸਥਿਰ ਸੈਟਅੱਪ—React ਫਰੰਟਐਂਡ, Go ਬੈਕਐਂਡ ਸੇਵਾਵਾਂ, ਅਤੇ PostgreSQL—ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਜੋ AI ਸਕ੍ਰੀਨਾਂ, ਐਂਡਪੌਇੰਟਸ ਅਤੇ ਮਾਈਗਰੇਸ਼ਨਾਂ 'ਤੇ ਬਿਨਾਂ ਟਕਰਾਅ ਦੇ ਜਨਰੇਟ ਅਤੇ ਰੀਫੈਕਟਰ ਕਰ ਸਕੇ।
ਘੱਟੋ-ਘੱਟ, ਤੁਸੀਂ ਸਪਸ਼ਟ ਸੀਮਾਵਾਂ ਚਾਹੁੰਦے ਹੋ:
ਕਈ ਟੀਮਾਂ ਇੱਕ ਸਧਾਰਨ API-ਪહਿਰਾਂਚਾ (REST ਜਾਂ GraphQL) ਅਪਣਾਉਂਦیاں ਹਨ। ਮੁੱਖ ਗੱਲ ਇਹ ਹੈ ਕਿ “ਲੋੜਾਂ ਤੋਂ ਕੋਡ” ਸਾਫ-ਸੁਥਰੇ ਤਰੀਕੇ ਨਾਲ ਮੈਪ ਹੋਣ: ਹਰ ਫੀਚਰ ਇੱਕ ਸੈੱਟ ਐਂਡਪੌਇੰਟਸ, UI ਸਕ੍ਰੀਨਾਂ ਅਤੇ ਡੇਟਾਬੇਸ ਟੇਬਲਾਂ ਦੀ ਬਣ ਜਾਂਦਾ ਹੈ।
ਰੇਪਤਾ ਵਿਰੁੱਧ ਲਚਕੀਲੇਪਣ ਹਰ ਵੇਲੇ ਟਨਸ਼ਨ ਹੁੰਦਾ ਹੈ। ਪ੍ਰਬੰਧਤ ਸੇਵਾਵਾਂ (auth ਪ੍ਰੋਵਾਈਡਰ, ਹੋਸਟਡ ਡੇਟਾਬੇਸ, ਸਰਵਰਲੈੱਸ ਡਿਪਲੋਇਮੈਂਟ) AI ਡਿਪਲੋਇਮੈਂਟ ਪਾਈਪਲਾਈਨ ਨੂੰ ਤੇਜ਼ ਕਰਦੀਆਂ ਹਨ, ਪਰ ਬਾਅਦ ਵਿੱਚ ਕਸਟਮਾਈਜ਼ੇਸ਼ਨ ਸੀਮਤ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਕਸਟਮ ਕੋਡ ਨਿਯੰਤਰਣ ਦਿੰਦਾ ਹੈ, ਪਰ ਇਸ ਨਾਲ ਰੱਖ-ਰਖਾਅ ਵਧਦਾ ਹੈ ਅਤੇ human-in-the-loop ਵਿਕਾਸ ਦੀ ਲੋੜ ਵੱਧ ਜਾਂਦੀ ਹੈ ਤਾਂ ਜੋ ਏਜ ਕੇਸ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਸਮੀਖਿਆ ਹੋ ਸਕੇ।
ਇੱਕ ਵਿਆਵਹਾਰਿਕ ਚੈੱਕਪੌਇੰਟ: ਲਿਖੋ “ਮਹੀਨੇ ਤੀਜੇ ਵਿੱਚ ਕੀ ਸੌਖਾ ਤਬਦੀਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ?” ਫਿਰ ਉਹ ਸਟੈਕ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਚੁਣੋ ਜੋ ਉਸ ਤਬਦੀਲੀ ਨੂੰ ਸਸਤਾ ਬਣਾਉਂਦਾ ਹੈ।
ਇੱਥੇ AI ਬੋਲਣਾ ਛੱਡਦਾ ਹੈ ਅਤੇ ਇੱਕ ਚਲਣਯੋਗ ਕੋਡਬੇਸ ਤਿਆਰ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਸਕੈਫੋਲਡਿੰਗ ਤੁਹਾਡੇ ਵਿਚਾਰ ਨੂੰ ਚਲਾਉਣਯੋਗ ਸਕੈਲਟਨ ਵਿੱਚ ਪਹਿਲੀ ਵਾਰੀ ਬਦਲਦੀ ਹੈ: ਫੋਲਡਰ, ਸਕ੍ਰੀਨ, ਨੈਵੀਗੇਸ਼ਨ ਅਤੇ ਤੁਹਾਡੇ ਡੇਟਾ ਦਾ ਪਹਿਲਾ ਸੰਸਕਰਣ।
ਜ਼ਿਆਦਾਤਰ ਟੂਲ ਇੱਕ ਭਰੋਸੇਯੋਗ ਪ੍ਰੋਜੈਕਟ ਸਰੰਚਨਾ ਬਣਾਉਣ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹਨ (ਕਿੱਥੇ UI, API ਅਤੇ ਸੰਰਚਨਾ ਰਹਿੰਦੀ ਹੈ), ਫਿਰ ਰੂਟਿੰਗ ਸੈੱਟ ਕਰਦੇ ਹਨ, ਅਤੇ ਆਖ਼ਿਰ ਵਿੱਚ ਇੱਕ UI ਸ਼ੈਲ (ਬੁਨਿਆਦੀ ਲੇਆਊਟ, ਹੈਡਰ/ਸਾਈਡਬਾਰ, ਖਾਲੀ ਸਥਿਤੀਆਂ) ਜਨਰੇਟ ਕਰਦੇ ਹਨ।
ਇਹ ਦਿੱਖੀ ਚੀਜ਼ਾਂ ਜੇ ਇਹ ਸਿਰਫ਼ ਸਤਹੀ ਲੱਗਦੀਆਂ ਹਨ, ਫਿਰ ਵੀ ਇਹ ਬੁਨਿਆਦੀ ਹਨ: ਰੂਟਿੰਗ ਫ਼ੈਸਲੇ URLs, ਡੀਪ ਲਿੰਕਸ ਅਤੇ ਕਿਵੇਂ ਸਕ੍ਰੀਨਾਂ ਸਾਂਝਾ ਸੰਦਰਭ (ਜਿਵੇਂ ਚੁਣਿਆ ਹੋਇਆ ਵਰਕਸਪੇਸ, ਗਾਹਕ, ਜਾਂ ਪ੍ਰੋਜੈਕਟ) ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਨ।
ਅਗਲੇ ਕਦਮ ਵਿੱਚ, AI ਤੁਹਾਡੇ ਡੋਮੇਨ ਨਾਉਂਸ ਨੂੰ ਟੇਬਲ/ਕਲੈਕਸ਼ਨ ਅਤੇ ਸੰਬੰਧਾਂ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਜੇ ਤੁਹਾਡੀ ਐਪ ਅਪਾਇੰਟਮੈਂਟਾਂ ਬਾਰੇ ਹੈ, ਤਾਂ ਤੁਸੀਂ entities ਜੋ ਵੇਖੋਗੇ ਉਹ ਹੋ ਸਕਦੇ ਹਨ: User, Appointment, Service, ਅਤੇ ਸ਼ਾਇਦ Location।
ਇਸ ਪੜਾਅ 'ਤੇ, ਦੋ ਵੇਰਵੇ ਬਾਅਦ ਵੱਡੇ ਪ੍ਰਭਾਵ ਪਾਉਂਦੇ ਹਨ:
Client ਬਣਾਮ Customer ਦੇ ਨਾਂ ਦੀ ਚੋਣ ਡੇਟਾਬੇਸ ਫੀਲਡਸ, API ਰੂਟਸ, UI ਲੇਬਲ, ਅਤੇ ਐਨਾਲਿਟਿਕਸ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗੀ।fullName ਫੀਲਡ ਬਣਾਮ firstName + lastName, ਜਾਂ status ਨੂੰ ਫ੍ਰੀ ਟੈਕਸਟ ਬਣਾਉਣਾ ਜਾਂ enum ਰੱਖਣਾ—ਇਸ ਨਾਲ ਵੈਲੀਡੇਸ਼ਨ, ਫਿਲਟਰਿੰਗ, ਅਤੇ ਰਿਪੋਰਟਿੰਗ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦੀ ਹੈ।ਜਦ ਮਾਡੇਲ ਮੌਜੂਦ ਹੁੰਦੇ ਹਨ, AI ਆਮ ਤੌਰ 'ਤੇ ਬੇਸਿਕ CRUD ਐਂਡਪੌਇੰਟ ਜਨਰੇਟ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਕ੍ਰੀਨਾਂ ਨਾਲ ਜੋੜਦਾ ਹੈ: ਲਿਸਟ, ਡੀਟੇਲ ਵੇਖੋ, ਅਤੇ ਫਾਰਮ।
ਇਹ ਵਾਇਰਿੰਗ ਉਹ ਥਾਂ ਹੈ ਜਿਥੇ ਜਲਦੀ ਹੀ ਅਸਮਰਥਤਾਵਾਂ ਦਿੱਸਦੀਆਂ ਹਨ: UI ਵਿੱਚ phoneNumber ਨਾਮੀ ਫੀਲਡ ਪਰ API ਵਿੱਚ phone ਹੋਵੇ ਤਾਂ ਬੱਗ ਅਤੇ ਵਾਧੂ glue ਕੋਡ ਬਣਦਾ ਹੈ।
ਹੁਣ ਮਾਡਲ ਨਾਂ, ਲਾਜ਼ਮੀ ਫੀਲਡ ਅਤੇ ਸੰਬੰਧਾਂ ਦੀ sameeksha ਕਰੋ—ਇਹ ਸਭ ਤੋਂ ਸਸਤਾ ਸਮਾਂ ਹੈ ਟਰਮੀਨਾਲੋਜੀ ਅਤੇ ਡੇਟਾ ਆਕਾਰ ਸੁਧਾਰਨ ਦਾ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ UI-ਭਾਰੇ ਕੰਮ ਵਿੱਚ ਜਾਵੋ।
ਜਦੋਂ ਡੇਟਾ ਮਾਡਲ ਅਤੇ ਸਕੈਫੋਲਡ ਹੋ ਜਾਂਦੇ ਹਨ, UI ਕੰਮ “ਕੁਝ ਸਕ੍ਰੀਨਾਂ ਬਣਾਉਣ” ਤੋਂ “ਇੱਕ ਲਗਾਤਾਰ ਜੁੜੇ ਪੰਨਿਆਂ ਦਾ ਸੈਟ ਅਸੈਮਬਲ” ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ AI ਟੂਲ ਯੂਜ਼ਰ ਫਲੋਜ਼ ਦੀ ਵਿਆਖਿਆ ਕਰਕੇ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਆਮ ਸਕ੍ਰੀਨ ਪੈਟਰਨ ਨਾਲ ਮੈਪ ਕਰਕੇ UI ਜਨਰੇਟ ਕਰਦੇ ਹਨ।
ਇੱਕ ਆਮ ਫਲੋ ਜਿਵੇਂ “ਗਾਹਕਾਂ ਦਾ ਪ੍ਰਬੰਧ” ਆਮ ਤੌਰ 'ਤੇ ਛੋਟੇ ਸਕ੍ਰੀਨਾਂ ਦੇ ਸੈਟ ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ:
ਬੈਕ-ਐਂਡ 'ਚ, AI ਮੁੱਖ ਤੌਰ 'ਤੇ ਰੀਪੀਟੇਬਲ ਬਿਲਡਿੰਗ ਬਲਾਕ ਸੈੱਟ ਅਪ ਕਰ ਰਿਹਾ ਹੁੰਦਾ ਹੈ: ਡੇਟਾ ਲਵੋ → ਕੰਪੋਨੈਂਟ ਰੇਂਡਰ ਕਰੋ → ਲੋਡਿੰਗ/ਏਰਰ ਹੈਂਡਲ ਕਰੋ → ਫਾਰਮ ਸਬਮਿਟ ਕਰੋ → ਸਫਲਤਾ ਦਿਖਾਓ → ਨੈਵੀਗੇਟ ਕਰੋ।
ਚੰਗੇ ਜਨਰੇਟਰ ਹਰ ਸਕ੍ਰੀਨ ਨੂੰ ਇੱਕ ਸਧਾਰਨ ਡਿਜ਼ਾਈਨ ਸਿਸਟਮ ਨਾਲ ਐਨਕਰ ਕਰਦੇ ਹਨ ਤਾਂ ਜੋ ਐਪ ਮਿਲਾਪ ਵਾਲਾ ਮਹਿਸੂਸ ਹੋਵੇ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਮਤਲਬ ਹੁੰਦਾ ਹੈ:
ਜੇ ਤੁਹਾਡਾ ਟੂਲ ਇਹ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਤਾਂ ਇਹ ਚੋਣਾਂ ਪਹਿਲਾਂ ਲਾਕ ਕਰਨ ਨਾਲ “ਕਰੀਬ-ਕਰੀਬ ਇੱਕੋ, ਪਰ ਥੋੜ੍ਹਾ ਵੱਖਰਾ” ਸਕ੍ਰੀਨਾਂ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਬਾਅਦ ਵਿੱਚ ਠੀਕ ਕਰਨ ਵਿੱਚ ਸਮਾਂ ਲੈਂਦੇ ਹਨ।
UI ਜਨਰੇਸ਼ਨ ਨੂੰ ਨਿਰੰਤਰ ਬੁਨਿਆਦੀ ਸੁਗਮਤਾ ਚੈੱਕ ਸ਼ਾਮਿਲ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ:
ਇਹ ਕੇਵਲ ਅਨੁਕੂਲਤਾ ਨੁਕਤਾ ਨਹੀਂ—ਇਹ ਸਪੋਰਟ ਟਿਕਟ ਅਤੇ ਯੂਜ਼ਰ ਅਨੁਭਵ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਘਟਾਉਂਦੇ ਹਨ।
ਸਟੈਂਡਰਡ CRUD ਸਕ੍ਰੀਨਾਂ, ਡੈਸ਼ਬੋਰਡ ਅਤੇ ਐਡਮਿਨ ਫਲੋਜ਼ ਲਈ ਟੈਮਪਲੇਟ ਵਰਤੋ—ਇਹ ਤੇਜ਼ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਵਿੱਚ ਆਸਾਨ ਹੁੰਦੇ ਹਨ। ਸਿਰਫ਼ ਉਹਥੇ ਕਸਟਮ ਬਣਾਓ ਜਿੱਥੇ UI ਉਤਪਾਦ ਮੁੱਲ ਦਾ ਹਿੱਸਾ ਹੋਵੇ (ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਵਿਲੱਖਣ ਆਨਬੋਰਡਿੰਗ ਫਲੋ ਜਾਂ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਵਿਜ਼ੂਅਲ ਵਰਕਫਲੋ)।
ਇੱਕ ਪ੍ਰਯੋਗਕ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਇਹ ਹੈ ਕਿ ਟੈਮਪਲੇਟ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਅਸਲ ਯੂਜ਼ਰਾਂ ਨਾਲ ਫਲੋ ਨੂੰ ਵੈਰੀਫਾਈ ਕਰੋ, ਫਿਰ ਸਿਰਫ਼ ਉਹਨਾਂ ਸਕ੍ਰੀਨਾਂ ਨੂੰ ਹੀ ਕਸਟਮਾਈਜ਼ ਕਰੋ ਜਿਹੜੇ ਅਸਲ ਵਿੱਚ ਲੋੜੀਂਦੇ ਹਨ।
ਜੇਕਰ AI ਐਪ ਬਿਲਡਰ “ਲੌਗਿਨ ਜੋੜਦਾ ਹੈ,” ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਕੁਝ ਸਕ੍ਰੀਨ, ਡੇਟਾਬੇਸ ਟੇਬਲ ਅਤੇ ਸਰਵਰ ਨਿਯਮ ਜਨਰੇਟ ਕਰਦਾ ਹੈ ਜੋ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਨ ਕਿ ਯੂਜ਼ਰ کون ਹੈ—ਅਤੇ ਉਹ ਕੀ ਕਰ ਸਕਦਾ/ਸਕਦੀ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਜਨਰੇਟਰ ਕੁਝ ਮਿਆਰੀ ਰਾਹ ਦਿੰਦੇ ਹਨ:
AI ਤਿੰਨੋਂ scaffold ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਫਿਰ ਵੀ ਤੁਹਾਨੂੰ ਇਹ ਚੁਣਨਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਯੂਜ਼ਰਾਂ ਅਤੇ ਅਨੁਕੂਲਤਾ ਦੀਆਂ ਲੋੜਾਂ ਲਈ ਕੀ ਢੰਗ ਹੈ।
ਪਹਿਚਾਣ ਤੋਂ ਬਾਅਦ ਅਥੋਰਾਈਜ਼ੇਸ਼ਨ ਆਉਂਦੀ ਹੈ। AI ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਰੋਲ ਮਾਡਲ ਬਣਾਉਂਦਾ ਹੈ ਜਿਵੇਂ:
ਰੋਲ-ਨਾਂ ਵਧੇਰੇ ਮੱਤਵਪੂਰਨ enforcement ਲੇਅਰ ਹੈ। ਇੱਕ ਵਧੀਆ ਬਿਲਡ ਬਰਕ-ਨੁਸੀਂ ਦੋ ਥਾਂ ਤੇ ਅਧਿਕਾਰ ਲਗਾਉਂਦਾ ਹੈ:
ਜਨਰੇਟ ਕੀਤੇ ਕੋਡ ਵਿੱਚ ਇਹ defaults ਲੱਭੋ (ਜਾਂ ਮੰਗੋ):
ਪ੍ਰਮਾਣਿਕਤਾ ਸੈਮਾਂ 'ਤੇ ਪੇਚੀਦਾ ਹੁੰਦੀ ਹੈ: ਖਾਤਾ ਲਿੰਕਿੰਗ (OAuth + ਈਮੇਲ), ਪਾਸਵਰਡ ਰੀਸੈੱਟ, ਟੀਮਾਂ ਲਈ ਨਿਯੋਤਾ ਫਲੋਜ਼, ਅਤੇ ਈਮੇਲ ਬਦਲਣ 'ਤੇ ਕੀ ਹੁੰਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਨੂੰ acceptance criteria ਵਜੋਂ ਮਾਨੋ ਅਤੇ ਜਲਦੀ ਟੈਸਟ ਕਰੋ—ਕਿ ਓਹ ਤੁਹਾਡੇ ਸਪੋਰਟ ਲੋਡ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ।
ਇਹ ਉਹ ਮੋੜ ਹੈ ਜਿੱਥੇ ਐਪ ਇੱਕ ਪਾਲਿਸ਼ਡ ਡੈਮੋ ਤੋਂ ਅਸਲੀ ਉਤਪਾਦ ਵਾਂਗ ਵਰਤਿਆ ਜਾਣ ਲੱਗਦਾ ਹੈ। ਇੰਟਿਗ੍ਰੇਸ਼ਨ ਤੁਹਾਡੇ ਸਕ੍ਰੀਨਾਂ ਅਤੇ ਡੇਟਾਬੇਸ ਨੂੰ ਉਹ ਸੇਵਾਵਾਂ ਜੋੜਦੀਆਂ ਹਨ ਜੋ ਤੁਸੀਂ ਖੁਦ ਬਣਾਉਣ ਨਹੀਂ ਚਾਹੁੰਦੇ—ਪੇਮੈਂਟ, ਈਮੇਲ, ਨਕਸ਼ੇ, ਐਨਾਲਿਟਿਕਸ, CRM, ਆਦਿ।
AI ਤੁਹਾਡੇ ਯੂਜ਼ ਕੇਸ ਦੇ ਅਨੁਸਾਰ ਆਮ ਇੰਟਿਗ੍ਰੇਸ਼ਨਾਂ ਦੀ ਸਿਫਾਰਿਸ਼ ਕਰ ਸਕਦਾ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਭੁਗਤਾਨ ਲਈ Stripe ਜਾਂ ਟ੍ਰਾਂਜ਼ੈਕਸ਼ਨਲ ਈਮੇਲ ਲਈ SendGrid)। ਪਰ ਤੁਹਾਨੂੰ ਉਹ ਜ਼ਰੂਰੀਆਂ ਪੁਸ਼ਟੀ ਕਰਨੀਆਂ ਪੈਂਦੀਆਂ ਹਨ ਜੋ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਨੂੰ ਬਦਲ ਦਿੰਦੇ ਹਨ:
ਇੱਥੇ ਛੋਟੇ ਜਵਾਬ ਵੱਡੇ ਤਫ਼ਰੀਕ ਵਾਲੇ API ਕਾਲ, ਡੇਟਾ ਫੀਲਡ ਅਤੇ ਅਨੁਕੂਲਤਾ ਲਿਆ ਸਕਦੇ ਹਨ।
ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਪਿੱਛੇ API ਕ੍ਰੈਡੇਂਸ਼ਲ ਸੁਰੱਖਿਅਤ ਅਤੇ ਪ੍ਰਵਾਨਗੀਯੋਗ ਤਰੀਕੇ ਨਾਲ ਜੋੜਣੀ ਪੈਂਦੀ ਹੈ:
ਇੰਟਿਗ੍ਰੇਸ਼ਨ ਅਕਸਰ ਤੁਹਾਡੇ ਡੇਟਾ ਮਾਡਲ ਨੂੰ ਬਦਲਦੇ ਹਨ: stripeCustomerId ਜੋੜਨਾ, webhook ਈਵੈਂਟਸ ਸਟੋਰ ਕਰਨਾ, ਜਾਂ ਈਮੇਲ ਡਿਲਿਵਰੀ ਸਥਿਤੀ ਟ੍ਰੈਕ ਕਰਨਾ।
ਜਦੋਂ ਫੀਲਡਸ ਵਿਕਸਿਤ ਹੁੰਦੀਆਂ ਹਨ, ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਸੁਰੱਖਿਅਤ, ਕ੍ਰਮਵਾਰ ਡੇਟਾਬੇਸ ਬਦਲਾਵ ਚਾਹੀਦੇ ਹਨ। ਚੰਗਾ ਵਰਕਫਲੋ ਇਹਨਾਂ ਨਾਲ ਰੋਕਥਾਮ ਕਰਦਾ ਹੈ:
ਇਥੇ webhook ਅਤੇ background jobs ਵੀ ਆਉਂਦੇ ਹਨ, ਤਾਂ ਜੋ ਅਸਲ-ਜਗਤ ਈਵੈਂਟ (ਭੁਗਤਾਨ, ਈਮੇਲ ਬਾਊਨਸ, ਨਕਸ਼ੇ ਲੁੱਕਅੱਪ) ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਭਰੋਸੇਯੋਗ ਤਰੀਕੇ ਨਾਲ ਅਪਡੇਟ ਕਰਨ।
ਜਦੋਂ AI ਕੋਡ ਜਨਰੇਟ ਕਰਦਾ ਹੈ, ਇਹ ਕੋਈ ਚੀਜ਼ ਛੋਡੀ ਹੋ ਸਕਦੀ ਹੈ ਜੋ ਚੱਲਦੀ ਹੈ ਪਰ ਏਜ ਕੇਸਾਂ ਵਿੱਚ ਫੇਲ ਹੋ ਜਾਂਦੀ ਹੈ, ਡੇਟਾ ਨੂੰ ਗਲਤ ਹੇਂਡਲ ਕਰਦੀ ਹੈ, ਜਾਂ ਇੱਕ ਛੋਟੇ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਟੁੱਟ ਜਾਂਦੀ ਹੈ। ਟੈਸਟਿੰਗ ਉਹ ਸੁਰੱਖਿਆ ਜਾਲ ਹੈ ਜੋ “ਇੱਕ ਵਾਰੀ ਚੱਲ ਗਿਆ” ਨੂੰ “ਇਹ ਲਗਾਤਾਰ ਚੱਲਦਾ ਰਹੇ” ਵਿੱਚ ਬਦਲਦਾ ਹੈ।
Unit tests ਇੱਕ ਛੋਟੇ ਹਿੱਸੇ ਨੂੰ ਅਲੱਗ-ਅਲੱਗ ਚੈੱਕ ਕਰਦੇ ਹਨ—ਜਿਵੇਂ “ਕੀ ਇਹ ਪ੍ਰਾਈਸ ਕੈਲਕੁਲੇਟਰ ਸਹੀ ਕੁੱਲ ਦਿੰਦਾ ਹੈ?” ਇਹ ਤੇਜ਼ ਹਨ ਅਤੇ ਸਾੱਫ਼ ਦੱਸਦੇ ਹਨ ਕਿ ਕਿੱਥੇ ਟੁੱਟ ਹੈ।
Integration tests ਜਾਂਚਦੇ ਹਨ ਕਿ ਭਾਗ ਇਕਠੇ ਕੰਮ ਕਰਦੇ ਹਨ—ਜਿਵੇਂ “ਜਦ ਅਸੀਂ ਆਰਡਰ ਸੇਵ ਕਰਦੇ ਹਾਂ, ਕੀ ਇਹ ਡੇਟਾਬੇਸ ਵਿੱਚ ਲਿਖਦਾ ਹੈ ਅਤੇ ਉਮੀਦ ਮੁਤਾਬਕ ਪ੍ਰਤਿਕ੍ਰਿਆ ਦਿੰਦਾ ਹੈ?” ਇਹ ਵਾਇਰਿੰਗ ਸਮੱਸਿਆਵਾਂ ਅਤੇ ਡੇਟਾ ਅਣਮੈਚਾਂ ਨੂੰ ਫੜਦੇ ਹਨ।
End-to-end (E2E) tests ਇੱਕ ਅਸਲ ਯੂਜ਼ਰ ਰਸਤਾ ਨੁਕਲਾਰੇ—ਜਿਵੇਂ “ਸਾਈਨ ਅਪ → ਲੌਗਿਨ → ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ → ਸਾਥੀ ਨਿਯੋਤਾ ਦਿਓ।” ਇਹ ਧੀਰੇ ਹੁੰਦੇ ਹਨ, ਪਰ ਉਹ ਉਹ ਫੇਲਯਰ ਦਿਖਾਉਂਦੇ ਹਨ ਜੋ ਯੂਜ਼ਰ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ।
AI ਟੂਲ ਆਮ ਤੌਰ 'ਤੇ ਚੰਗਾ ਹੁੰਦਾ ਹੈ:
ਪਰ ਜਨਰੇਟ ਕੀਤੇ ਟੈਸਟ ਅਕਸਰ ਅਸਲ-ਜਗਤ ਵਿਹਾਰ ਨੂੰ ਛੱਡ ਦਿੰਦੇ ਹਨ: ਗੰਦੇ ਇਨਪੁਟ, ਟਾਈਮਆਉਟ, ਪਰਮੀਸ਼ਨ ਐਰਰ, ਅਤੇ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਉਤਪਾਦ ਵਿੱਚ ਅਜੀਬ ਡੇਟਾ।
ਉੱਚ ਪ੍ਰਤੀਸ਼ਤ ਦੀ ਪਿੱਛੇ ਨਹੀਂ ਭੱਜਣਾ—ਬਲਕਿ ਨੀਮਾਂ ਤੇ ਧਿਆਨ ਦੇਵੋ:
ਛੋਟੀ ਐਪ ਵੀ ਇੱਕ ਸਧਾਰਨ CI ਪਾਈਪਲਾਈਨ ਤੋਂ ਲਾਭ ਉਠਾ ਸਕਦੀ ਹੈ: ਹਰ push ਇੱਕੋ ਜਿਹੀਆਂ ਜਾਂਚਾਂ ਆਟੋਮੈਟਿਕ ਰੂਪ ਵਿੱਚ ਚਲਦੀ ਹੈ। ਇੱਕ ਆਮ ਸੈਟਅੱਪ:
ਇਥੇ AI ਫਾਇਦਾ ਦਿੰਦਾ ਹੈ: ਇਹ ਮੂਲ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਅਤੇ CI ਕਾਨਫ਼ਿਗ ਡਰਾਫਟ ਕਰ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਤੁਸੀਂ ਫੈਸਲਾ ਕਰੋ ਕਿ ਕਿਹੜੀਆਂ ਫੇਲਯਰਜ਼ ਮਹੱਤਵਪੂਰਨ ਹਨ ਅਤੇ suite ਨੂੰ ਅਸਲ ਵਰਤੋਂ ਅਨੁਸਾਰ ਅਨੁਕੂਲ ਰੱਖੋ।
ਸੁਰੱਖਿਆ ਸਮੀਖਿਆ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ “ਚੱਲਦਾ ਹੈ” ਨੂੰ “ਇਹ ਨੁਕਸਾਨ ਤੋਂ ਬਚ ਸਕਦਾ ਹੈ” ਨਾਲ ਪਰਖਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ AI ਤੇਜ਼ੀ ਨਾਲ ਕੋਡ ਜਨਰੇਟ ਕਰਦਾ ਹੈ, ਇਹ ਆਮ ਗ਼ਲਤੀਆਂ ਵੀ ਤੇਜ਼ੀ ਨਾਲ ਨਕਲ ਕਰ ਸਕਦਾ ਹੈ—ਖ਼ਾਸ ਕਰਕੇ ਟਰੱਸਟ ਬਾਊਂਡਰੀਜ਼, ਅਥੋਰਾਈਜ਼ੇਸ਼ਨ, ਅਤੇ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਦੀ ਹੈਂਡਲਿੰਗ ਵਿੱਚ।
Injection ਅਜੇ ਵੀ ਸਭ ਤੋਂ ਆਮ ਹੈ: SQL injection, command injection, ਅਤੇ prompt injection ਜਦੋਂ ਤੁਸੀਂ ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਨੂੰ ਕਿਸੇ LLM ਟੂਲ ਨੂੰ ਭੇਜਦੇ ਹੋ। ਜੇ ਯੂਜ਼ਰ ਇਨਪੁਟ ਕਿਸੇ ਕਵੈਰੀ, ਫਾਈਲ ਪਾਥ ਜਾਂ ਦੂਜੇ ਸਿਸਟਮ ਨੂੰ ਦਿਸ਼ਾ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਸਮਝੋ ਕੋਈ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ।
Broken access control ਅਕਸਰ ਇਸ ਤਰ੍ਹਾਂ ਦਿੱਸਦਾ ਹੈ: “UI ਬਟਨ ਲੁਕਦਾ ਹੈ, ਤਾਂ ਇਹ ਸੁਰੱਖਿਅਤ ਹੈ।” ਐਸਾ ਨਹੀਂ। ਹਰ API ਰੂਟ ਨੂੰ ਸਰਵਰ-ਸਾਈਡ 'ਤੇ ਪਰਮੀਸ਼ਨ ਲਾਗੂ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ, ਅਤੇ ਹਰ ਆਬਜੈਕਟ-ਸਤ੍ਹਰਾ ਕਾਰਵਾਈ (view/edit/delete) ਲਈ ownership ਜਾਂ role ਚੈੱਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
Secrets leaks ਉਹਦੋਂ ਹੁੰਦੇ ਹਨ ਜਦੋਂ API ਕੁੰਜੀਆਂ ਹਾਰਡ-ਕੋਡ ਹੋਣ, ਲੌਗ ਹੋ ਜਾਣ, ਜਾਂ ਗਲਤੀ ਨਾਲ commit ਹੋ ਜਾਣ। AI ਕੁਝ ਅਸੁਰੱਖਿਅਤ ਉਦਾਹਰਣਾਂ ਨੂੰ ਆਪਣੀ ਟ੍ਰੇਨਿੰਗ ਡੇਟਾ ਤੋਂ ਨਕਲ ਵੀ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ tokens ਨੂੰ localStorage ਵਿੱਚ ਰੱਖਣਾ ਜਾਂ ਡਿੱਬੱਗ ਲੌਗ ਵਿੱਚ secrets ਪ੍ਰਿੰਟ ਕਰਨਾ।
AI ਕੋਡ ਦੇ ਪੈਟਰਨ ਨੂੰ ਸਕੈਨ ਕਰ ਸਕਦਾ ਹੈ (unsafe string concatenation in queries, missing auth checks, overly broad IAM permissions) ਅਤੇ ਸੁਧਾਰ ਸੁਝਾ ਸਕਦਾ ਹੈ। ਇਹ ਚੈੱਕਲਿਸਟ ਅਤੇ ਬੇਸਿਕ ਖਤਰਾ ਮਾਡਲ ਵੀ ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ।
ਪਰ ਇਹ ਅਕਸਰ ਸੰਦਰਭ ਨੂੰ ਨਾ ਸਮਝਕੇ ਮੁੱਦੇ ਛੱਡ ਦਿੰਦਾ ਹੈ: ਕਿਹੜੇ ਐਂਡਪੌਇੰਟ public ਹਨ, ਕਿਹੜੇ ਫੀਲਡ ਸੰਵੇਦਨਸ਼ੀਲ ਹਨ, “admin” ਦਾ ਅਰਥ ਤੁਹਾਡੇ ਵਪਾਰ ਵਿੱਚ ਕੀ ਹੈ, ਜਾਂ ਤੀਜੇ-ਪੱਖ ਤੇ ਇੰਟਿਗ੍ਰੇਸ਼ਨ ਗਲਤੀਆਂ 'ਤੇ ਕਿਵੇਂ ਦਾ ਵਰਤਾਓ ਕਰਦਾ ਹੈ। ਸੁਰੱਖਿਆ ਸਿਸਟਮ ਦੇ ਵਿਹਾਰ ਬਾਰੇ ਹੁੰਦੀ ਹੈ, ਸਿਰਫ਼ ਕੋਡ ਦੇ ਅੰਦਾਜ਼ ਬਾਰੇ ਨਹੀਂ।
Input validation ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ: ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਕਿ “ਵੈਧ” ਕਿਸੇ ਚੀਜ਼ ਦਾ ਕੀ ਮਤਲਬ ਹੈ (ਟਾਈਪ, ਰੇਂਜ, ਫਾਰਮੈਟ) ਅਤੇ ਬਾਕੀ ਨੂੰ ਰੱਦ ਕਰੋ। Web UI ਲਈ output encoding ਜੋੜੋ تاکہ XSS ਘਟੇ।
ਸੁਰੱਖਿਆ-ਸੰਬੰਧੀ ਕਾਰਵਾਈਆਂ ਲਈ audit logs ਲਗਾਓ (ਲੌਗਿਨ, ਪਰਮੀਸ਼ਨ ਬਦਲਾਅ, ਐਕਸਪੋਰਟ, ਡਿਲੀਟ)। ਲੌਗ ਇਹ ਦਰਸਾਉਣੇ ਚਾਹੀਦੇ ਹਨ ਕਿ ਕੌਣ, ਕੀ, ਅਤੇ ਕਦੋਂ—ਬਿਨਾਂ ਪਾਸਵਰਡ, ਟੋਕਨ ਜਾਂ ਪੂਰੀ ਭੁਗਤਾਨ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕੀਤੇ ਬਿਨਾਂ।
ਨਿਰੰਤਰ CI ਵਿੱਚ dependencies ਅਪਡੇਟ ਰੱਖੋ ਅਤੇ ਆਟੋਮੈਟਿਕ ਨੁਕਸਾਨ ਸਕੈਨਿੰਗ ਵਰਤੋ। ਬਹੁਤ ਸਾਰੇ ਹਕੀਕਤੀ ਡੇਰ breach outdated libraries ਕਾਰਨ ਹੁੰਦੇ ਹਨ—ਨ ਕਿ ਕੋਈ ਰਹਸਮਈ ਹਮਲਾ।
Data minimization ਅਪਣਾਓ: ਸਿਰਫ਼ ਉਹੀ ਸੰਗ੍ਰਹਿ ਕਰੋ ਜੋ ਲੋੜੀਦਾ ਹੈ, ਘੱਟ ਤੋਂ ਘੱਟ ਸਮੇਂ ਲਈ ਰੱਖੋ, ਅਤੇ “ਸ਼ਾਇਦ ਲਾਗੂ ਹੋਵੇ” ਲਈ raw ਡੇਟਾ ਨਾ ਰੱਖੋ। ਸੰਵੇਦਨਸ਼ੀਲ ਰਿਕਾਰਡਾਂ ਲਈ ਪਹੁੰਚ ਲੌਗਿੰਗ ਜੋੜੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਜਵਾਬ ਦੇ ਸਕੋ: ਇਸ ਗਾਹਕ ਦੇ ਡੇਟਾ ਨੂੰ ਕਿਸਨੇ ਅਤੇ ਕਿਉਂ ਵੱਖਿਆ?
ਜਦੋਂ ਐਪ ਤੁਹਾਡੇ ਮਸ਼ੀਨ 'ਤੇ ਚੱਲਦੀ ਹੈ, ਫਿਰ ਵੀ ਇਹ ਅਸਲ ਯੂਜ਼ਰਾਂ ਲਈ ਤਿਆਰ ਨਹੀਂ ਹੁੰਦੀ। ਡਿਪਲੋਇਮੈਂਟ ਇੱਕ ਨਿਯੰਤਰਿਤ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜੋ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਇੱਕ ਚਲਦੀ ਸੇਵਾ ਵਿੱਚ ਬਦਲ ਦੇਂਦੀ—ਅਤੇ ਅਪਡੇਟਸ ਦੇ ਨਾਲ ਇਸਨੂੰ ਸਥਿਰ ਰੱਖਦੀ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ ਇੱਕ ਡਿਪਲੋਇਮੈਂਟ ਪਾਈਪਲਾਈਨ ਵਰਤਦੀਆਂ ਹਨ (ਅਕਸਰ ਆਟੋਮੇਟਿਕ) ਤਾਂ ਜੋ ਰਿਲੀਜ਼ ਦੁਹਰਾਉਣਯੋਗ ਹੋਣ। ਮੁਕੱਦਮਾ ਤੌਰ 'ਤੇ:
ਜਦੋਂ AI ਇੱਥੇ ਮਦਦ ਕਰਦਾ ਹੈ, ਇਹ ਪਾਈਪਲਾਈਨ configs, deployment ਸਕ੍ਰਿਪਟ ਅਤੇ ਚੈੱਕਲਿਸਟ ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ—ਪਰ ਤੁਸੀਂ ਇੱਕ ਮਨੁੱਖ ਨੂੰ ਇਹ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਕੀ ਚਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ ਅਤੇ ਕਿਹੜੇ ਅਧਿਕਾਰ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ।
ਜੇ ਤੁਸੀਂ ਕਿਸੇ end-to-end ਪਲੇਟਫਾਰਮ ਵਰਗਾ Koder.ai ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਮੰਚ ਅਕਸਰ ਡਿਪਲੋਇਮੈਂਟ ਅਤੇ ਹੋਸਟਿੰਗ ਨੂੰ ਵਰਕਫਲੋ ਦਾ ਹਿੱਸਾ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਜਦੋਂ ਚਾਹੋ ਸੋర్స్ ਕੋਡ ਐਕਸਪੋਰਟ ਵੀ ਕਰ ਸਕਦੇ ਹੋ।
ਵਾਤਾਵਰਨ ਖ਼ਤਰੇ ਘਟਾਉਂਦੇ ਹਨ:
ਅਕਸਰ ਗਲਤੀ staging ਸਕਿਪ ਕਰਨਾ ਹੁੰਦੀ ਹੈ—ਇਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਜਾਂਚੋ ਕਿ “ਇਹ ਚੱਲਦਾ ਹੈ” ਸੱਚਮੁੱਚ “ਇਹ ਅਸਲੀ settings ਨਾਲ ਚੱਲਦਾ ਹੈ” ਵੀ ਹੈ।
ਐਪ ਨੂੰ API keys, DB passwords, ਈਮੇਲ credentials ਅਤੇ ਤੀਜੇ-ਪੱਖ ਟੋਕਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਰੀਪੋ ਵਿੱਚ ਹਾਰਡ-ਕੋਡ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ। ਆਮ ਤਰੀਕੇ environment variables ਜਾਂ secrets vault ਹਨ। ਚੰਗੀ ਪ੍ਰਥਾ ਵਿੱਚ rotation (ਕੁੰਜੀ ਬਦਲਣਾ) ਅਤੇ ਪਹੁੰਚ ਸੀਮਿਤ ਕਰਨਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, ਤਾਂ ਕਿ leaked key ਪੂਰੇ breach ਨਾ ਬਣੇ।
ਰਿਲੀਜ਼ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਸ਼ੁਰੂਆਤੀ ਚੇਤਾਵਨੀ ਸੰਕੇਤ ਚਾਹੀਦੇ ਹਨ:
ਮਾਨੀਟਰਿੰਗ deployment ਨੂੰ ਇੱਕ ਇੱਕ-ਵਾਰੀ ਘਟਨਾ ਤੋਂ ਲਗਾਤਾਰ ਫੀਡਬੈਕ ਲੂਪ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਤੁਰੰਤ ਕਾਰਵਾਈ ਕਰ ਸਕਦੇ ਹੋ।
ਲਾਂਚ ਕਰਨ ਤੇ ਅਸਲ ਕੰਮ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ: ਯੂਜ਼ਰ ਮੁੱਦੇ ਰਿਪੋਰਟ ਕਰਦੇ ਹਨ, ਤਰਜੀحات ਬਦਲਦੀਆਂ ਹਨ, ਅਤੇ “ਛੋਟੇ ਸੋਧ” ਨਵੇਂ ਫੀਚਰ ਬਣ ਜਾਂਦੇ ਹਨ। AI ਐਪ ਬਿਲਡਰ ਨਾਲ, ਇਟਰੈਸ਼ਨ ਤੇਜ਼ ਹੋ ਸਕਦੀ ਹੈ—ਪਰ ਸਿਰਫ਼ ਜੇ ਤੁਸੀਂ ਬਦਲਾਅ ਉੱਤੇ ਗਾਰਡਰੇਲ ਲਗਾਓ।
ਜ਼ਿਆਦਾਤਰ ਅੱਪਡੇਟ ਇੱਕ ਛੋਟੀ ਸੁਨੇਹੇ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ: “checkout ਬਟਨ ਕਦੇ-ਕਦੇ fail ਕਰਦਾ ਹੈ” ਜਾਂ “ਕੀ ਅਸੀਂ tags ਜੋੜ ਸਕਦੇ ਹਾਂ?” AI ਤੇਜ਼ੀ ਨਾਲ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ, ਪਰ ਤੇਜ਼ ਫਿਕਸ ਆਸਨੀ ਨਾਲ ਨੇੜਲੇ ਵਿਹਾਰ ਨੂੰ ਤੋੜ ਸਕਦੇ ਹਨ।
ਹਰ ਬਦਲਾਅ—bug fix, copy edit, ਜਾਂ ਨਵਾਂ ਫੀਚਰ—ਨੂੰ ਇੱਕ ਛੋਟੀ ਪ੍ਰਾਜੈਕਟ ਸਮਝੋ ਜਿਸ ਦਾ ਇੱਕ ਸਪਸ਼ਟ ਲਕੜੀ ਅਤੇ تصدیق ਕਰਨ ਦਾ ਤਰੀਕਾ ਹੋਵੇ।
ਲੰਮੇ ਸਮੇਂ ਵਾਲੀਆਂ ਐਪਸ ਫੈਸਲਿਆਂ ਨੂੰ ਇਕੱਠਾ ਕਰਦੀਆਂ ਹਨ: naming conventions, ਏਜ ਕੇਸ, ਯੂਜ਼ਰ ਰੋਲ, ਇੰਟਿਗ੍ਰੇਸ਼ਨ, ਅਤੇ ਪਿਛਲੇ ਸਮਝੌਤੇ। ਜੇ ਤੁਹਾਡਾ AI ਉਹਨਾਂ ਫੈਸਲਿਆਂ ਨੂੰ ਭਰੋਸੇਯੋਗ ਤਰੀਕੇ ਨਾਲ ਯਾਦ ਨਹੀਂ ਰੱਖਦਾ, ਤਾਂ ਇਹ ਪੁਰਾਣੇ ਬੱਗ ਮੁੜ ਲਿਆ ਸਕਦਾ ਹੈ, ਲਾਜ਼ਿਕ ਨਕਲ ਕਰ ਸਕਦਾ ਹੈ, ਜਾਂ conflicting refactors ਕਰ ਸਕਦਾ ਹੈ।
ਹੱਲ ਹੋਰ prompting ਨਹੀਂ—ਇੱਕ ਸਚਾਈ ਸਰੋਤ ਹੈ ਜਿਸਨੂੰ AI ਨੂੰ ਫਾਲੋ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ (spec, architecture notes, API contracts, ਅਤੇ ਟੈਸਟ ਉਮੀਦਾਂ)। ਉਹ ਟੂਲ ਜੋ ਸੰਗਠਿਤ ਯੋਜਨਾ ਮੋਡ ਸਮਰਥਨ ਕਰਦੇ ਹਨ, ਉਹ ਸਮੇਂ ਦੇ ਨਾਲ ਸਥਿਰਤਾ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ।
ਇੱਕ ਸਧਾਰਨ ਰੁਟੀਨ ਵਰਤੋ:
ਇਹ ਉਹ ਖੇਤਰ ਵੀ ਹਨ ਜਿਥੇ Koder.ai ਵਰਗੇ ਪਲੇਟਫਾਰਮ ਖਤਰੇ ਘਟਾਉਂਦੇ ਹਨ: snapshots ਅਤੇ rollback ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ “ਸੁਰੱਖਿਅਤ ਇਟਰੈਸ਼ਨ” ਦੀ ਆਦਤ ਨੂੰ ਪ੍ਰੋਤਸਾਹਿਤ ਕਰਦੀਆਂ ਹਨ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਤੁਸੀਂ LLM ਨੂੰ ਬਹੁਤ ਸਾਰੀਆਂ ਫਾਈਲਾਂ ਬਦਲਣ ਦਿੰਦੇ ਹੋ।
ਨਿਯੰਤਰਣ ਰੱਖਣਾ ਕੋਡ ਲਿਖਣ ਬਾਰੇ ਘੱਟ ਹੈ ਅਤੇ ਦਿੱਖ, ਦੁਹਰਾਉਣਯੋਗ ਚੈੱਕ ਅਤੇ ਆਸਾਨ ਏਸਕੇਪ ਹੈਚ ਬਾਰੇ ਜ਼ਿਆਦਾ।
ਜੇ ਤੁਸੀਂ AI ਐਪ ਬਿਲਡਰ ਦਾ ਮੂਲਾਂਕਣ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਡੈਮੋ ਦੇ ਪਿੱਛੇ ਦੇਖੋ ਅਤੇ ਪੁੱਛੋ ਕਿ ਪੂਰੀ ਪਾਈਪਲਾਈਨ ਕਿਵੇਂ ਹੱਲ ਹੁੰਦੀ ਹੈ: ਲੋੜ-ਤੱਕ-ਕੋਡ ਟਰੇਸਬਿਲਟੀ, ਇੱਕਸਾਰ ਆਰਕੀਟੈਕਚਰ, ਟੈਸਟ ਜਨਰੇਸ਼ਨ, ਸੁਰੱਖਿਆ Defaults, ਅਤੇ ਅਸਲੀ rollback ਰਾਹ। ਇਹੇ ਥਾਂ ਹੈ ਜਿੱਥੇ “AI ਐਪ ਬਣਾਉਂਦਾ ਹੈ” ਇਕ ਦੁਹਰਾਉਣਯੋਗ ਇੰਜਨੀਅਰਿੰਗ ਵਰਕਫਲੋ ਬਣ ਜਾਂਦਾ ਹੈ—ਨਾ ਕਿ ਇੱਕ ਵਾਰੀ-ਕੋਡ dump।
(ਅਤੇ ਜੇ ਤੁਸੀਂ ਇੱਕ ਹੱਥ-ਉੱਪ ਮਿਸਾਲ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ Koder.ai ਦਾ free tier ਇੱਕ ਵਿਆਵਹਾਰਿਕ ਤਰੀਕਾ ਹੈ ਵੇਖਣ ਲਈ ਕਿ vibe-coding ਤਕ ਕਿੱਥੇ ਤਕ ਪਹੁੰਚਦਾ ਹੈ—planning mode ਤੋਂ ਲੈ ਕੇ deployment ਤੱਕ—ਫਿਰ ਤੁਸੀਂ ਫੈਸਲਾ ਕਰੋ ਕਿ ਕਿਸ ਹੱਦ ਤੱਕ ਤੁਸੀਂ ਕਸਟਮਾਈਜ਼ ਜਾਂ export ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ)।
It usually means an AI can generate a first draft of the app: project structure, basic screens, CRUD endpoints, a starter data model, and sometimes tests.
You still need to define requirements, confirm edge cases, review security/privacy, and iterate on UX and correctness before it’s production-ready.
Provide four anchors:
The more specific you are about workflows and rules, the less the AI has to guess.
A clear prompt names:
If you can turn the idea into a few concrete user journeys, the generated output improves dramatically.
Commonly missed categories include:
Define an MVP boundary before generation:
When a new idea appears mid-build, park it in phase 2 unless it directly supports the core goal.
A buildable spec typically includes:
If any of these are missing, you’ll get guesswork in the generated code.
Consistency reduces code drift. Pick one primary approach for each layer:
Avoid mixing multiple state managers, competing component libraries, or inconsistent naming—AI-generated code stays coherent when the rules are stable.
Review these early:
Customer vs impacts DB, APIs, UI labels, and analyticsAt minimum, enforce permissions in two places:
Also verify secure defaults like hashed passwords, sensible session expiry, and rate limiting for login/reset endpoints.
Treat deployment as a repeatable pipeline:
Even if AI generates the scripts/config, you should review what permissions are granted and what runs automatically.
Add these to the spec early to avoid late surprises.
ClientfullName vs firstName/lastName, enums vs free textFixing naming and shape later causes cascading refactors across endpoints, forms, and tests.