ਪ੍ਰਾਂਪਟਿੰਗ ਹੁਣ ਇਕ ਚਲਾਕੀ ਤੋਂ ਇੰਜੀਨੀਅਰਿੰਗ ਹੁਨਰ ਵੱਲ ਬਦਲ ਰਹੀ ਹੈ। ਵੈਬ, ਬੈਕਐਂਡ ਅਤੇ ਮੋਬਾਈਲ ਐਪ ਲਈ ਪ੍ਰਯੋਗੀ ਪੈਟਰਨ, ਟੂਲਿੰਗ, ਟੈਸਟਿੰਗ ਅਤੇ ਟੀਮ ਵਰਕਫਲੋ ਸਿੱਖੋ।

ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ ਪ੍ਰਾਂਪਟਿੰਗ ਦਾ ਮਤਲਬ "AI ਨਾਲ ਗੱਲਬਾਤ" ਨਹੀਂ ਹੈ। ਇਹ ਉਹ ਕਿਰਿਆ ਹੈ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਇਕ ਸਮੀਖਿਆਯੋਗ ਇਨਪੁੱਟ ਦਿੰਦੇ ਹੋ ਜੋ ਅਸਿਸਟੈਂਟ ਨੂੰ ਇੱਕ ਨਿਰਧਾਰਿਤ, ਜਾਂਚਯੋਗ ਨਤੀਜੇ ਵੱਲ ਗਾਈਡ ਕਰਦਾ ਹੈ—ਉਸੇ ਤਰ੍ਹਾਂ ਜਿਵੇਂ ਤੁਸੀਂ ਇੱਕ ਟਿਕਟ, ਸਪੈੱਕ, ਜਾਂ ਟੈਸਟ ਪਲੈਨ ਲਿਖਦੇ ਹੋ।
ਇੱਕ ਚੰਗਾ ਪ੍ਰਾਂਪਟ ਆਮ ਤੌਰ 'ਤੇ ਛੋਟੇ ਪੈਕੇਜ ਵਿੱਚ ਹੁੰਦਾ ਹੈ:
ਅਸਲ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ, ਤੁਸੀਂ ਸਿਰਫ਼ "ਇੱਕ ਲੌਗਿਨ ਪੇਜ" ਨਹੀਂ ਲੈ ਰਹੇ। ਤੁਸੀਂ ਨਿਰਧਾਰਤ ਕਰ ਰਹੇ ਹੋ "ਇੱਕ ਲੌਗਿਨ ਫਾਰਮ ਜੋ ਸਾਡੇ design tokens ਨਾਲ ਮਿਲਦਾ ਹੈ, email ਫਾਰਮੈਟ ਚੈੱਕ ਕਰਦਾ ਹੈ, ਇਨਲਾਈਨ errors ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ validation ਅਤੇ submit states ਲਈ unit tests ਰੱਖਦਾ ਹੈ।" ਪ੍ਰਾਂਪਟ ਇੱਕ ٹھوس ਆਰਟੀਫੈਕਟ ਬਣ ਜਾਂਦਾ ਹੈ ਜੋ ਕਿਸੇ ਹੋਰ ਨੇ ਸਮੀਖਿਆ ਕਰ ਸਕਦਾ ਹੈ, ਸੋਧ ਸਕਦਾ ਹੈ, ਅਤੇ ਦੁਬਾਰਾ ਵਰਤ ਸਕਦਾ ਹੈ—ਅਕਸਰ ਕੋਡ ਦੇ ਨਾਲ ਰੇਪੋ ਵਿੱਚ ਚੈੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਇਹ ਪੋਸਟ ਦੁਹਰਾਏ ਜਾਣਯੋਗ ਅਭਿਆਸਾਂ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ: ਪ੍ਰਾਂਪਟ ਪੈਟਰਨ, ਵਰਕਫਲੋ, ਪ੍ਰਾਂਪਟ ਟੈਸਟਿੰਗ, ਅਤੇ ਟੀਮ ਰਿਵਿਊ ਅਭਿਆਸ।
ਇਹ ਹਾਈਪ ਅਤੇ "ਜਾਦੂਈ ਨਤੀਜੇ" ਤੋਂ ਬਚਦੀ ਹੈ। ਏਆਈ ਸਹਿਯੋਗ ਲਾਭਕਾਰੀ ਹੈ, ਪਰ ਸਿਰਫ਼ ਉਸ ਵੇਲੇ ਜਦੋਂ ਪ੍ਰਾਂਪਟ ਉਮੀਦਾਂ ਨੂੰ ਵਿਅਕਤ ਕਰਦਾ ਹੈ—ਅਤੇ ਜਦੋਂ ਇੰਜੀਨੀਅਰ ਆਉਟਪੁੱਟ ਦੀ ਉਸੇ ਢੰਗ ਨਾਲ ਪੜਤਾਲ ਕਰਦੇ ਹਨ ਜਿਵੇਂ ਉਹ ਮਨੁੱਖ-ਲਿਖੇ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ।
ਪ੍ਰਾਂਪਟਿੰਗ ਇੱਕ "ਚੰਗੀ-ਹੋਣਯੋਗ" ਚੀਜ਼ ਤੋਂ ਰੋਜ਼ਾਨਾ ਇੰਜੀਨੀਅਰਿੰਗ ਯੋਗਤਾ ਵੱਲ ਬਦਲ ਰਹੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਟੀਮਾਂ ਨੂੰ ਵਿਚਾਰ ਤੋਂ ਕਿਸੇ ਚੀਜ਼ ਤੱਕ ਜਲਦੀ ਲਿਆਉਣ ਦਾ ਤਰੀਕਾ ਬਦਲ ਦਿੰਦੀ ਹੈ।
AI-ਸਹਾਇਤ ਟੂਲ UI ਵੱਖ-ਵੱਖ ਵੈਰੀਅੰਟ ਡ੍ਰਾਫਟ ਕਰ ਸਕਦੇ ਹਨ, API ਸ਼ੇਪ ਸੁਝਾ ਸਕਦੇ ਹਨ, ਟੈਸਟ ਕੇਸ ਜਨਰੇਟ ਕਰ ਸਕਦੇ ਹਨ, ਜਾਂ ਲਾਗਜ਼ ਦਾ ਸਾਰ ਸੰਖੇਪ ਕਰ ਸਕਦੇ ਹਨ—ਇਹ ਗਤੀ ਵਾਸਤਵਿਕ ਹੈ। ਪਰ ਇਹ ਤਦ ਹੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਤੁਹਾਡੇ ਪ੍ਰਾਂਪਟ ਇੰਨਾਪੁੱਕੀ ਹੋਣ ਤਾਂ ਕਿ ਉਹ ਅਜਿਹੇ ਆਉਟਪੁੱਟ ਦੇਣ ਜੋ ਤੁਸੀਂ ਮੂਲਾਂਕਣ ਕਰ ਸਕੋ। ਇੰਜੀਨੀਅਰ ਜਿਹੜੇ ਧੂੰਧਲੇ ਇरਾਦੇ ਨੂੰ ਸਾਫ਼ ਹਦਾਇਤਾਂ ਵਿੱਚ ਤਬਦੀਲ ਕਰ ਸਕਦੇ ਹਨ, ਉਹ ਘੰਟੇ ਵਿੱਚ ਜ਼ਿਆਦਾ ਉਪਯੋਗੀ ਇਟਰੇਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ, ਅਤੇ ਇਹ ਸਪ੍ਰਿੰਟਾਂ ਵਿੱਚ ਜੋੜ ਬਣਾ ਦਿੰਦਾ ਹੈ।
ਹੋਰ ਕੰਮ ਕੁਦਰਤੀ-ਭਾਸ਼ਾ ਵਿੱਚ ਹੋਣ ਲੱਗੇ ਹਨ: ਆਰਕੀਟੈਕਚਰ ਨੋਟਸ, acceptance criteria, migration ਯੋਜਨਾਵਾਂ, ਰਿਲੀਜ਼ ਚੈਕਲਿਸਟ, ਅਤੇ ਇੰਸੀਡੈਂਟ ਰਿਕਾਰਡ। ਇਹ ਫਿਰ ਵੀ "ਸਪੈੱਕ" ਹੀ ਹਨ, ਭਾਵੇਂ ਉਹ ਪਰੰਪਰਾਗਤ ਸਪੈੱਕ ਵਰਗੇ ਨਾ ਲੱਗਣ। ਪ੍ਰਾਂਪਟਿੰਗ ਉਹ ਹੁਨਰ ਹੈ ਜੋ ਇਨ੍ਹਾਂ ਸਪੈੱਕਾਂ ਨੂੰ ਅੰਬਿਗਿਊਟੀ-ਰਹਿਤ ਅਤੇ ਟੈਸਟਯੋਗ ਬਣਾਉਂਦਾ ਹੈ: ਸੀਮਾਵਾਂ, ਏਜ-ਕੇਸ, ਸਫਲਤਾ ਮਾਪਦੰਡ, ਅਤੇ ਅਟਕੀ ਹੋਈ ਧਾਰਨਾਵਾਂ।
ਇੱਕ ਚੰਗਾ ਪ੍ਰਾਂਪਟ ਅਕਸਰ ਇੱਕ ਛੋਟੀ ਡਿਜ਼ਾਈਨ ਬ੍ਰੀਫ ਵਾਂਗ ਪੜ੍ਹਦਾ ਹੈ:
ਜਿਵੇਂ ਜਿਵੇਂ AI ਫੀਚਰ IDEs, pull requests, CI checks, ਅਤੇ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹੁੰਦੇ ਹਨ, ਪ੍ਰਾਂਪਟਿੰਗ ਕਈ ਵਾਰੀ ਚੈਟ ਤੋਂ ਬਾਹਰ ਨਿਕਲ ਕੇ ਰੋਜ਼ਾਨਾ ਇੰਜੀਨੀਅਰਿੰਗ ਫਲੋ ਦਾ ਹਿੱਸਾ ਬਣ ਜਾਂਦੀ ਹੈ। ਤੁਸੀਂ ਕੋਡ ਮੰਗੋਗੇ, ਫਿਰ ਟੈਸਟ ਮੰਗੋਗੇ, ਫਿਰ ਰਿਸਕ ਰਿਵਿਊ—ਹਰ ਕਦਮ ਇੱਕ ਹੀ consistent, reusable prompt structure ਤੋਂ ਲਾਭ ਉਠਾਂਦਾ ਹੈ।
ਡਿਜ਼ਾਈਨ, ਪ੍ਰੋਡਕਟ, QA, ਅਤੇ ਇੰਜੀਨੀਅਰਿੰਗ ਵੱਧ ਕੇ-ਵੱਧ ਸਾਂਝੇ AI ਟੂਲਾਂ ਰਾਹੀਂ ਮਿਲਕੇ ਕੰਮ ਕਰ ਰਹੇ ਹਨ। ਇਕ ਸਪਸ਼ਟ ਪ੍ਰਾਂਪਟ ਇਕ boundary object ਬਣ ਜਾਂਦਾ ਹੈ: ਹਰ ਕੋਈ ਇਸਨੂੰ ਪੜ੍ਹ ਸਕਦਾ, ਟਿਪਣੀ ਕਰ ਸਕਦਾ, ਅਤੇ "ਡਨ" ਦਾ ਮਤਲੱਬ ਸਪਸ਼ਟ ਕਰ ਸਕਦਾ। ਉਹ ਸਾਂਝੀ ਸਪਸ਼ਟਤਾ ਰੀਵਰਕ ਘਟਾਉਂਦੀ ਹੈ ਅਤੇ ਰਿਵਿਊਜ਼ ਨੂੰ ਤੇਜ਼ ਅਤੇ ਠੰਡਾ ਬਣਾਉਂਦੀ ਹੈ।
"build a login page" ਵਰਗੀ ਧੁੰਦਲੀ ਬੇਨਤੀ ਮਾਡਲ ਨੂੰ ਅਨੁਮਾਨ ਲਗਾਉਣ 'ਤੇ ਮਜਬੂਰ ਕਰਦੀ ਹੈ। ਇੱਕ ਟੈਸਟਯੋਗ ਪ੍ਰਾਂਪਟ ਜ਼ਿਆਦਾ ਮਿਨੀ-ਸਪੈੱਕ ਵਾਂਗ ਪੜ੍ਹਦਾ ਹੈ: ਇਹ ਇਨਪੁੱਟ, ਉਮੀਦਵਾਰ ਆਉਟਪੁੱਟ, ਏਜ ਕੇਸ, ਅਤੇ ਤੁਸੀਂ ਕਿਵੇਂ ਜਾਣੋਗੇ ਕਿ ਇਹ ਠੀਕ ਹੈ—ਇਹ ਦੱਸਦਾ ਹੈ।
ਸ਼ੁਰੂ ਕਰੋ ਨਾਲ ਕਿ ਸਿਸਟਮ ਨੂੰ ਕੀ ਮਿਲਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਕੀ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ।
ਉਦਾਹਰਨ ਲਈ, "make the form work" ਦੀ ਥਾਂ ਲਿਖੋ: “When the email is invalid, show an inline error message and disable submit; when the API returns 409, display ‘Account already exists’ and keep the entered values.”
ਸੀਮਾਵਾਂ ਤੁਹਾਡੀ ਹਕੀਕਤ ਨਾਲ ਆਉਟਪੁਟ ਨੂੰ ਅਨੁਕੂਲ ਰੱਖਣ ਦਾ ਤਰੀਕਾ ਹਨ।
ਇਹ ਸ਼ਾਮਲ ਕਰੋ ਜਿਵੇਂ:
ਕੇਵਲ ਕੋਡ ਮੰਗਣ ਦੀ ਥਾਂ, ਮਾਡਲ ਨੂੰ ਫੈਸਲਿਆਂ ਅਤੇ ਵਿਕਲਪਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਲਈ ਕਹੋ। ਇਸ ਨਾਲ ਰਿਵਿਊਜ਼ ਆਸਾਨ ਹੋ ਜਾਂਦੇ ਹਨ ਅਤੇ ਛੁਪੀਆਂ ਅਨੁਮਾਨ ਸਾਹਮਣੇ ਆਉਂਦੀਆਂ ਹਨ।
ਉਦਾਹਰਨ: “Propose two approaches, compare pros/cons for maintainability and performance, then implement the recommended option.”
ਉਦਾਹਰਨ ਅਨਿਸ਼ਚਿਤਤਾ ਘਟਾਉਂਦੀਆਂ ਹਨ; ਗੈਰ-ਉਦਾਹਰਨ ਗਲਤ ਫਰਤੀਆਂ ਰੋਕਦੀਆਂ ਹਨ।
ਕਮਜ਼ੋਰ ਪ੍ਰਾਂਪਟ: “Create an endpoint to update a user.”
ਮਜ਼ਬੂਤ ਪ੍ਰਾਂਪਟ: “Design PATCH /users/{id}. Accept JSON { displayName?: string, phone?: string }. Reject unknown fields (400). If user not found (404). Validate phone as E.164. Return updated user JSON. Include tests for invalid phone, empty payload, and unauthorized access. Do not change email.”
ਇੱਕ ਉਪਯੋਗ ਨਿਯਮ: ਜੇ ਤੁਸੀਂ ਪ੍ਰਾਂਪਟ ਤੋਂ ਕੁਝ ਟੈਸਟ ਕੇਸ ਨਹੀਂ ਲਿਖ ਸਕਦੇ, ਤਾਂ ਇਹ ਅਜੇ ਕਾਫੀ ਵਿਸਥਾਰਤ ਨਹੀਂ ਹੈ।
ਵੈਬ ਪ੍ਰਾਂਪਟਿੰਗ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਮਾਡਲ ਨੂੰ ਇਕ ਜੂਨੀਅਰ ਟੀਮਮੇਟ ਵਾਂਗ ਵਰਤਦੇ ਹੋ: ਉਸਨੂੰ ਸੰਦਰਭ, ਸੀਮਾਵਾਂ, ਅਤੇ "ਡਨ" ਦੀ ਪਰਿਭਾਸ਼ਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। UI ਕੰਮ ਲਈ ਇਹ ਮਤਲਬ ਹੈ ਡਿਜ਼ਾਈਨ ਨਿਯਮ, ਸਟੇਟ, ਪਹੁੰਚਯੋਗਤਾ, ਅਤੇ ਕੇਮ ਵੇਰਿਆ ਫਿਰ ਚੈੱਕ ਕਰਨ ਦਾ ਤਰੀਕਾ ਨਿਰਧਾਰਤ ਕਰਨਾ।
"Build a login form" ਦੀ ਥਾਂ ਡਿਜ਼ਾਈਨ ਸਿਸਟਮ ਅਤੇ ਏਜ ਕੇਸ ਸ਼ਾਮਲ ਕਰੋ:
ਉਦਾਹਰਨ ਪ੍ਰਾਂਪਟ: “Generate a React LoginForm using our Button/Input components. Include loading state on submit, inline validation, and accessible error messaging. Provide Storybook stories for all states.”
ਜਦੋਂ ਤੁਸੀਂ ਰੀਫੈਕਟਰ ਕਰ ਰਹੇ ਹੋ ਤਾਂ gardeRails ਦਿੱਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ:
“Refactor this component to extract UserCardHeader and UserCardActions. Keep existing props API stable, preserve CSS class names, and do not change visual output. If you must rename, provide a migration note.”
ਇਸ ਨਾਲ ਅਣਚਾਹੇ ਤੌਰ 'ਤੇ ਤੋੜ-ਮਰੋੜ ਘੱਟ ਹੁੰਦੀ ਹੈ ਅਤੇ ਨਾਮकरण ਅਤੇ ਸਟਾਇਲਿੰਗ ਸਥਿਰ ਰਹਿੰਦੀ ਹੈ।
ਮਾਈਕ੍ਰੋਕਾਪੀ ਅਤੇ ਸਟੇਟ ਕਾਪੀ ਵਿਸਥਾਰਤ ਤਰੀਕੇ ਨਾਲ ਮੰਗੋ, ਸਿਰਫ਼ ਮਾਰਕਅਪ ਨਹੀਂ:
“Propose microcopy for empty state, network error, and permission denied. Keep tone neutral and concise. Return copy + where it appears in the UI.”
ਫਰੰਟਐਂਡ ਬੱਗਾਂ ਲਈ, ਪ੍ਰਾਂਪਟ ਨੁਸਖੇ ਸਬੂਤ ਇਕੱਠੇ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ:
“Given these steps to reproduce, console logs, and the stack trace, propose likely causes, then rank fixes by confidence. Include how to verify in the browser and in a unit test.”
ਜਦੋਂ ਪ੍ਰਾਂਪਟਾਂ ਵਿੱਚ ਸੀਮਾਵਾਂ ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਉਹ UI ਆਉਟਪੁੱਟ ਪਾਉਂਦੇ ਹੋ ਜੋ ਜ਼ਿਆਦਾ ਸੰਗਤ, ਪਹੁੰਚਯੋਗ, ਅਤੇ ਸਮੀਖਿਆਯੋਗ ਹੁੰਦਾ ਹੈ।
ਬੈਕਐਂਡ ਕੰਮ ਏਜ ਕੇਸ ਭਰਪੂਰ ਹੁੰਦਾ ਹੈ: ਅੰਸ਼ਿਕ ਨਾਕਾਮੀਆਂ, ਅਸਪਸ਼ਟ ਡੇਟਾ, ਰੀਟ੍ਰਾਈਜ਼, ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆਵਾਂ। ਚੰਗੇ ਪ੍ਰਾਂਪਟ ਤੁਹਾਨੂੰ ਉਹ ਫੈਸਲੇ ਤੈਅ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ ਜਿਹੜੇ ਚੈਟ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਹੇਲ-ਵਾਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਪਰ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਮਹਿੰਗੇ ਸਬਿਤ ਹੋ ਸਕਦੇ ਹਨ।
"ਬਿਲਡ an API" ਦੀ ਬਜਾਏ, ਮਾਡਲ ਨੂੰ ਇਕ contract ਤਿਆਰ ਕਰਨ ਲਈ ਦੱਬੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਸਮੀਖਿਆ ਕਰ ਸਕੋ।
ਮੰਗੋ:
ਉਦਾਹਰਨ ਪ੍ਰਾਂਪਟ:
Design a REST API for managing subscriptions.
Return:
1) Endpoints with method + path
2) JSON schemas for request/response
3) Status codes per endpoint (include 400/401/403/404/409/422/429)
4) Pagination and filtering rules
5) Idempotency approach for create/cancel
Assume multi-tenant, and include tenant scoping in every query.
(ਉਪਰੋਕਤ ਕੋਡ ਫੇੰਸ ਬੰਦ ਹੈ; ਇਸਦਾ ਅੰਦਰਲਾ ਮਟਿਰੀਅਲ ਅਨੁਵਾਦ ਨਾ ਕਰੋ.)
ਸੰਘਣੀ ਵੈਧਤਾ ਅਤੇ ਸਥਿਰ "error shape" ਲਈ ਪ੍ਰਾਂਪਟ ਕਰੋ ਤਾਂ ਕਿ clients ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਪੇਸ਼ਗੀ ਤੌਰ 'ਤੇ ਹੀਲ ਕਰ ਸਕਣ।
ਉਪਯੋਗੀ ਸੀਮਾਵਾਂ:
ਮਾਡਲ ਆਮ ਤੌਰ 'ਤੇ ਠੀਕ ਪਰ ਧੀਮੀ ਕੋਡ ਜਨਰੇਟ ਕਰ ਦੇਂਦਾ ਹੈ ਜੇ ਤੁਸੀਂ ਖਾਸ ਤੌਰ 'ਤੇ ਪ੍ਰਦਰਸ਼ਨ ਚੋਣਾਂ ਨਾ ਮੰਗੋ। ਪ੍ਰਾਂਪਟ ਵਿੱਚ ਉਮੀਦਵਾਰ traffic, ਲੈਟੈਂਸੀ ਨਿਸ਼ਾਨੇ, ਅਤੇ ਡੇਟਾ ਆਕਾਰ ਦਿਓ, ਫਿਰ ਟਰੇਡ-ਆਫ ਮੰਗੋ।
ਚੰਗੀਆਂ ਸ਼ਾਮਿਲਾਵਾਂ:
ਫੀਚਰ ਦਾ ਹਿੱਸਾ ਵਜੋਂ observability ਨੂੰ ਮਾਨੋ। ਪ੍ਰਾਂਪਟ ਤੋਂ ਮੰਗੋ ਕਿ ਤੁਸੀਂ ਕੀ ਮਾਪੋਗੇ ਅਤੇ ਕਿੰਨ੍ਹਾਂ ਹਾਲਤਾਂ 'ਤੇ ਕਾਰਵਾਈ ਹੋਵੇਗੀ।
ਮਾਡਲ ਨੂੰ ਆਉਟਪੁੱਟ ਕਰਨ ਲਈ ਕਹੋ:
ਮੋਬਾਈਲ ਐਪ ਸਿਰਫ਼ "ਖਰਾਬ ਕੋਡ" ਕਰਕੇ ਨਹੀਂ ਫੇਲ੍ਹ ਹੁੰਦੇ। ਅਸਲ ਡਿਵਾਈਸ ਗੁੰਝਲਦਾਰ ਹੁੰਦੇ ਹਨ: ਨੈੱਟਵਰਕ ਡ੍ਰਾਪ ਹੁੰਦਾ ਹੈ, ਬੈਟਰੀ ਘੱਟ ਹੁੰਦੀ ਹੈ, ਬੈਕਗਰਾਊਂਡ execution ਸੀਮਤ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਛੋਟੀ UI ਗਲਤੀਆਂ ਪਹੁੰਚਯੋਗਤਾ ਰੁਕਾਵਟ ਬਣ ਜਾਂਦੀਆਂ ਹਨ। ਮੋਬਾਈਲ ਵਿਕਾਸ ਲਈ ਚੰਗੀ ਪ੍ਰਾਂਪਟਿੰਗ ਦਾ ਮਤਲਬ ਹੈ ਮਾਡਲ ਨੂੰ ਸੀਮਾਵਾਂ ਲਈ ਡਿਜ਼ਾਈਨ ਕਰਨ ਲਈ ਕਹਿਣਾ, ਸਿਰਫ਼ ਫੀਚਰ ਨਹੀਂ।
"Add offline mode" ਦੀ ਥਾਂ, ਇੱਕ ਯੋਜਨਾ ਮੰਗੋ ਜੋ ਟਰੇਡ-ਆਫ ਸਪਸ਼ਟ ਕਰੇ:
ਇਹ ਪ੍ਰਾਂਪਟ ਮਾਡਲ ਨੂੰ ਸਿਰਫ਼ ਖੁਸ਼-ਰਾਹ ਤੋਂ ਬਾਹਰ ਸੋਚਣ ਲਈ ਮਜਬੂਰ ਕਰਦੇ ਹਨ ਅਤੇ ਫੈਸਲੇ ਦਿੰਦੇ ਹਨ ਜੋ ਤੁਸੀਂ ਰਿਵਿਊ ਕਰ ਸਕਦੇ ਹੋ।
ਮੋਬਾਈਲ ਬੱਗ ਆਮ ਤੌਰ 'ਤੇ ਉਸ ਸਟੇਟ ਤੋਂ ਆਉਂਦੇ ਹਨ ਜੋ "ਜ਼ਿਆਦਾਤਰ ਠੀਕ" ਹੁੰਦੀ ਹੈ ਜਦ ਤੱਕ ਯੂਜ਼ਰ ਵਾਪਸ ਨਾ ਟੈੱਪ ਕਰ ਦੇਵੇ, ਡਿਵਾਈਸ ਘੁੰਮਾਵੇ, ਜਾਂ ਡੀਪ ਲਿੰਕ ਤੋਂ ਵਾਪਸ ਆਏ।
ਪਰਾਂਪਟਾਂ ਜੋ ਫਲੋਅਜ਼ ਦਾ ਵਰਣਨ ਕਰਦੀਆਂ ਹਨ ਉਹ ਇਸਨੂੰ ਘੱਟ ਕਰਦੀਆਂ ਹਨ:
“Here are the screens and events (login → onboarding → home → details). Propose a state model and navigation rules. Include how to restore state after process death, and how to handle duplicate taps and rapid back navigation.”
ਜੇ ਤੁਸੀਂ ਇੱਕ ਸਧਾਰਣ flow diagram ਜਾਂ route ਦੀ ਸੂਚੀ ਪੇਸਟ ਕਰਦੇ ਹੋ, ਮਾਡਲ ਟ੍ਰਾਂਜਿਸ਼ਨਾਂ ਅਤੇ ਫੇਲਿਊਰ ਮੋਡ ਦੀ ਚੈੱਕਲਿਸਟ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ।
ਸਾਧਾਰਨ UI ਸਲਾਹ ਦੇਣ ਦੀ ਥਾਂ ਪਲੇਟਫਾਰਮ-ਖਾਸ ਸਮੀਖਿਆ ਮੰਗੋ:
“Review this screen against iOS Human Interface Guidelines / Material Design and mobile accessibility. List concrete issues: touch target sizes, contrast, dynamic type/font scaling, screen reader labels, keyboard navigation, and haptics usage.”
Crash reports ਕਾਰਗਰ ਬਣ ਜਾਂਦੇ ਹਨ ਜਦੋਂ ਤੁਸੀਂ stack trace ਨਾਲ ਡਿਵਾਈਸ ਸੰਦਰਭ ਜੋੜਦੇ ਹੋ:
“Given this stack trace and device info (OS version, device model, app version, memory pressure, reproduction steps), propose the most likely root causes, what logs/metrics to add, and a safe fix with a rollout plan.”
ਇਹ ਢਾਂਚਾ "क्या ਹੋਇਆ?" ਨੂੰ "ਅਗਲਾ ਕੀ ਕਰਨਾਂ?" ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ—ਅਤੇ ਇਹੀ ਥਾਂ ਹੈ ਜਿੱਥੇ ਪ੍ਰਾਂਪਟਿੰਗ ਮੋਬਾਈਲ 'ਤੇ ਸਭ ਤੋਂ ਜ਼ਿਆਦਾ ਲਾਭ ਦਿੰਦੀ ਹੈ।
ਚੰਗੇ ਪ੍ਰਾਂਪਟ ਦੁਬਾਰਾ ਵਰਤਣਯੋਗ ਹੁੰਦੇ ਹਨ। ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰਾਂਪਟ ਇੱਕ ਛੋਟੇ ਸਪੈੱਕ ਵਾਂਗ ਪੜ੍ਹਦੇ ਹਨ: ਸਫ਼ ਨਿਰਦੇਸ਼, ਕਿਰਿਆ ਲਈ ਕਾਫੀ ਸੰਦਰਭ, ਅਤੇ ਇੱਕ ਜਾਂਚਯੋਗ ਆਉਟਪੁੱਟ। ਇਹ ਪੈਟਰਨ ਚਾਹੇ ਤੁਸੀਂ UI ਸੁਧਾਰ ਰਹੇ ਹੋ, API ਬਣਾਉਂਦੇ ਹੋ, ਜਾਂ ਮੋਬਾਈਲ ਬੱਗ Diagnoses ਕਰ ਰਹੇ ਹੋ—ਸਭ 'ਤੇ ਕੰਮ ਕਰਦੇ ਹਨ।
ਇੱਕ ਭਰੋਸੇਯੋਗ ਢਾਂਚਾ ਹੈ:
ਇਸ ਨਾਲ ਅਸਪਸ਼ਟਤਾ ਘੱਟ ਹੁੰਦੀ ਹੈ ਚਾਹੇ ਵੈੱਬ (a11y + browser support), ਬੈਕਐਂਡ (consistency + error contracts), ਜਾਂ ਮੋਬਾਈਲ (battery + device constraints) ਹੋਵੇ।
ਜਦੋਂ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਹੀ ਪਤਾ ਹੋ ਕਿ ਤੁਹਾਨੂੰ ਕੀ ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਸਿੱਧਾ ਆਉਟਪੁੱਟ ਮੰਗੋ: “Generate a TypeScript type + example payload.” ਇਹ ਤੇਜ਼ ਹੈ ਅਤੇ ਲੰਬੀਆਂ ਵਿਆਖਿਆਵਾਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।
ਜਦੋਂ ਫੈਸਲੇ ਮਹੱਤਵਪੂਰਨ ਹੋਣ, trade-offs ਅਤੇ ਛੋਟਾ reasoning ਮੰਗੋ: pagination ਰਣਨੀਤੀ, caching ਹੱਦਬੰਦੀ, ਜਾਂ flaky ਟੈਸਟ ਦੀ diagnosis। ਇੱਕ ਪ੍ਰਾਇਗਮੈਟਿਕ ਸਮਝੌਤਾ: “Briefly explain key assumptions and trade-offs, then give the final answer.”
ਪ੍ਰਾਂਪਟਾਂ ਨੂੰ ਛੋਟੀ contracts ਵਾਂਗ ਬਰਤੋ ਅਤੇ ਸੜੀਚ outputs ਮੰਗੋ:
{
"changes": [{"file": "", "summary": "", "patch": ""}],
"assumptions": [],
"risks": [],
"tests": []
}
ਇਸ ਨਾਲ ਨਤੀਜੇ ਰਿਵਿਊਯੋਗ, diff-friendly, ਅਤੇ schema checks ਨਾਲ validate ਕਰਨ ਯੋਗ ਬਣ ਜਾਂਦੇ ਹਨ।
ਗਾਰਡਰੇਲਸ ਸ਼ਾਮਲ ਕਰੋ:
ਜੇ ਤੁਹਾਡੀ ਟੀਮ AI ਨੂੰ ਰੋਜ਼ਾਨਾ ਵਰਤਦੀ ਹੈ, ਤਾਂ ਪ੍ਰਾਂਪਟ ਚੈਟ ਸੁਨੇਹਿਆਂ ਤੋਂ ਬਾਹਰ ਨਿਕਲ ਕੇ ਇੱਕ ਇੰਜੀਨੀਅਰਿੰਗ ਆਸੈਟ ਬਣ ਜਾਂਦੇ ਹਨ। ਪ੍ਰਾਂਪਟਾਂ ਨੂੰ ਉਹੀ ਦਰਜਾ ਦਿਓ ਜੋ ਤੁਸੀਂ ਕੋਡ ਨੂੰ ਦਿੰਦੇ ਹੋ: ਸਪਸ਼ਟ ਮਕਸਦ, ਸਥਿਰ ਢਾਂਚਾ, ਅਤੇ ਬਦਲਾਅ ਦਾ ਟ੍ਰੇਲ।
ਮਾਲਿਕੀ ਨਿਰਧਾਰਤ ਕਰੋ ਅਤੇ ਪ੍ਰਾਂਪਟਾਂ ਨੂੰ ਵਰਜ਼ਨ ਕੰਟਰੋਲ ਵਿੱਚ ਰੱਖੋ। ਜਦੋਂ ਇੱਕ ਪ੍ਰਾਂਪਟ ਬਦਲੇ, ਤੁਹਾਨੂੰ ਉੱਤਰ ਦੇ ਸਕਣਾ ਚਾਹੀਦਾ ਹੈ: ਕਿਉਂ, ਕੀ ਸੁਧਾਰ ਹੋਇਆ, ਅਤੇ ਕੀ ਟੁੱਟਿਆ। ਇੱਕ ਹਲਕਾ ਤਰੀਕਾ ਹੈ ਹਰ ਰੇਪੋ ਵਿੱਚ /prompts ਫੋਲਡਰ, ਹਰ ਵਰਕਫਲੋ ਲਈ ਇਕ ਫਾਇਲ (ਉਦਾਹਰਨ: pr-review.md, api-design.md). Pull requests ਵਿੱਚ ਪ੍ਰਾਂਪਟ ਬਦਲਾਅ ਦੀ ਸਮੀਖਿਆ ਕਰੋ, ਬਿਲਕੁਲ ਹੋਰ ਯੋਗਦਾਨਾਂ ਦੀ ਤਰ੍ਹਾਂ।
ਜੇ ਤੁਸੀਂ ਕਿਸੇ "vibe-coding" ਪਲੇਟਫਾਰਮ ਵਰਗਾ Koder.ai ਵਰਤ ਰਹੇ ਹੋ, ਤੱਤ ਇੱਕੋ ਜਹੀ ਪ੍ਰਿੰਸੀਪਲ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: ਚੈਟ-ਆਧਾਰਿਤ ਇੰਟਰਫੇਸ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਉਹ ਇਨਪੁੱਟ ਜਿਹੜੇ ਪ੍ਰੋਡਕਸ਼ਨ ਕੋਡ ਪੈਦਾ ਕਰਦੇ ਹਨ ਉਹਨਾਂ ਨੂੰ ਵਰਜ਼ਨ ਕੀਤਾ ਜਾਂਨਾ ਚਾਹੀਦਾ ਹੈ (ਜਾਂ ਘੱਟੋ-ਘੱਟ ਰੀਯੂਜ਼ਾਬਲ ਟੈਮਪਲੇਟ ਵਜੋਂ ਕੈਪਚਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ), ਤਾਂ ਜੋ ਟੀਮਾ ਨਤੀਜੇ ਹਰ ਸਪ੍ਰਿੰਟ ਵਿੱਚ ਦੁਹਰਾਏ ਜਾ ਸਕਣ।
ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ ਇੱਕੋ ਜਿਹਿਆਂ AI-ਸਹਾਇਤ ਕਾਰਜ ਦੁਹਰਾਉਂਦੀਆਂ ਹਨ: PR ਰਿਵਿਊਜ਼, ਇੰਸੀਡੈਂਟ ਸਮਰੀਜ਼, ਡੇਟਾ ਮਾਈਗ੍ਰੇਸ਼ਨ, ਰਿਲੀਜ਼ ਨੋਟਸ। ਪ੍ਰਾਂਪਟ ਟੈਮਪਲੇਟ ਬਣਾਓ ਜੋ ਇਨਪੁੱਟ (ਸੰਦਰਭ, ਸੀਮਾਵਾਂ, definition of done) ਅਤੇ ਆਉਟਪੁੱਟ (ਫਾਰਮੈਟ, ਚੈਕਲਿਸਟ, acceptance criteria) ਨੂੰ ਸਧਾਰਨ ਕਰਦੇ ਹਨ। ਇਸ ਨਾਲ ਇੰਜੀਨੀਅਰਾਂ ਦਰਮਿਆਨ variance ਘੱਟ ਹੁੰਦੀ ਅਤੇ ਨਤੀਜੇ ਵੈਰੀਫਾਈ ਕਰਨਾ ਆਸਾਨ ਹੁੰਦਾ ਹੈ।
ਇੱਕ ਚੰਗਾ ਟੈਮਪਲੇਟ ਆਮ ਤੌਰ 'ਤੇ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ:
ਜਿੱਥੇ ਮਨੁੱਖੀ ਅਪਰੂਵਲ ਲੋੜੀਂਦੇ ਹਨ ਉਹਨਾਂ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਰੱਖੋ—ਖਾਸ ਕਰਕੇ ਸੁਰੱਖਿਆ, ਅਨੁਕੂਲਤਾ, ਉਤਪਾਦਨ ਡੇਟਾਬੇਸ ਸੰਪਾਦਨ, ਅਤੇ auth ਜਾਂ payments ਨਾਲ ਸਬੰਧਤ ਕੋਈ ਵੀ ਚੀਜ਼। ਇਹ ਨਿਯਮ ਪ੍ਰਾਂਪਟ ਦੇ ਨਾਲ ਰੱਖੋ ਤਾਂ ਜੋ ਕੋਈ ਵੀ ਯਾਦ 'ਤੇ ਨਿਰਭਰ ਨਾ ਹੋਵੇ।
ਜਦੋਂ ਤੁਹਾਡਾ ਟੂਲਿੰਗ ਇਸਨੂੰ ਸਮਰਥਨ ਕਰਦੀ ਹੈ, “ਸੇਫ ਇਟਰੇਸ਼ਨ” ਮਕੈਨਿਕਸ ਵਰਕਫਲੋ ਵਿੱਚ ਹੀ ਕੈਪਚਰ ਕਰੋ। ਉਦਾਹਰਨ ਵਜੋਂ, Koder.ai ਜਿਹੇ ਪਲੇਟਫਾਰਮ snapshots ਅਤੇ rollback ਸਮਰਥਨ ਕਰਦੇ ਹਨ, ਜੋ generated changes ਪ੍ਰਭਾਵ ਨਾਲ ਟੈਸਟ ਕਰਨ, diff ਰਿਵਿਊ ਕਰਨ, ਅਤੇ ਜਰੂਰਤ ਪੈਣ 'ਤੇ ਵਾਪਸ ਮੋੜਨ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ।
ਜਦੋਂ ਪ੍ਰਾਂਪਟ ਪਹਿਲ-ਸ਼੍ਰੇਣੀ ਆਰਟੀਫੈਕਟ ਬਣ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਦੁਹਰਾਏ ਜਾਣ, ਆਡੀਟਯੋਗ, ਅਤੇ ਸੁਰੱਖਿਅਤ AI-ਸਹਾਇਤ ਡਿਲਿਵਰੀ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋ—ਬਿਨਾਂ ਟੀਮ ਦੀ ਗਤੀ ਘਟਾਉਣ ਦੇ।
ਪ੍ਰਾਂਪਟਾਂ ਨੂੰ ਕਿਸੇ ਹੋਰ ਇੰਜੀਨੀਅਰਿੰਗ ਆਸੈਟ ਦੀ ਤਰ੍ਹਾਂ ਵਰਤੋ: ਜੇ ਤੁਸੀਂ ਉਹਨਾਂ ਦੀ ਮੁਲਾਂਕਣ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਤਾਂ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਸੁਧਾਰ ਨਹੀਂ ਸਕੋਗੇ। "ਚਲਦਾ ਹੈ" ਨਜਿੱਠ ਸੁਥਰਾ ਨਹੀਂ—ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇੱਕੋ ਪ੍ਰਾਂਪਟ ਟੀਮ ਦੁਆਰਾ ਦੁਹਰਾਇਆ ਜਾਵੇ, CI ਵਿੱਚ ਚਲਾਇਆ ਜਾਵੇ, ਜਾਂ ਨਵੇਂ ਕੋਡਬੇਸ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਵੇ।
ਪ੍ਰਾਂਪਟਾਂ ਲਈ "ਪਛਾਣਯੋਗ ਇਨਪੁੱਟ → ਉਮੀਦਵਾਰ ਆਉਟਪੁੱਟ" ਦਾ ਇੱਕ ਛੋਟਾ ਸੂਟ ਬਣਾਓ। ਮੁੱਖ ਗੱਲ ਇਹ ਹੈ ਕਿ ਆਉਟਪੁੱਟ ਚੈੱਕ ਕਰਨਯੋਗ ਹੋਵੇ:
ਉਦਾਹਰਨ: ਇੱਕ ਪ੍ਰਾਂਪਟ ਜੋ API error contract ਪੈਦਾ ਕਰਦਾ ਹੈ, ਹਮੇਸ਼ਾ ਇੱਕੋ ਫੀਲਡਸ ਉਤਪੰਨ ਕਰੇ ਅਤੇ ਨਾਮਕਰਨ ਅਤੇ ਸਟੇਟਸ ਕੋਡ ਵਿੱਚ ਸਥਿਰ ਰਹੇ।
ਜਦੋਂ ਤੁਸੀਂ ਪ੍ਰਾਂਪਟ ਅਪਡੇਟ ਕਰੋ, ਨਵੇਂ ਨਤੀਜੇ ਦੀ ਤੁਲਨਾ ਪੁਰਾਣੇ ਆਉਟਪੁੱਟ ਨਾਲ ਕਰੋ ਅਤੇ ਪੁੱਛੋ: ਕੀ ਬਦਲਿਆ ਅਤੇ ਕਿਉਂ? diffs regressions ਨੂੰ ਸਪਸ਼ਟ ਕਰ ਦਿੰਦੇ ਹਨ (ਗਾਇਬ ਫੀਲਡ, ਵੱਖ-ਵੱਖ ਟੋਨ, ਬਦਲੀ ਕ੍ਰਮਬੱਧਤਾ) ਅਤੇ ਰਿਵਿਊਅਰਜ਼ ਨੂੰ ਰੁਝਾਨਾਂ ਦੀ ਬਜਾਏ ਵਰਤਾਰ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ।
ਪ੍ਰਾਂਪਟਾਂ ਨੂੰ ਉਹੀ ਅਨੁਸ਼ਾਸਨ ਨਾਲ ਟੈਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜਿਵੇਂ ਕੋਡ:
ਜੇ ਤੁਸੀਂ ਪੂਰੇ ਐਪਲਿਕੇਸ਼ਨ (ਵੈਬ, ਬੈਕਐਂਡ, ਜਾਂ ਮੋਬਾਈਲ) ਨੂੰ ਵੀ platform workflow ਰਾਹੀਂ ਜਨਰੇਟ ਕਰ ਰਹੇ ਹੋ—ਜਿਵੇਂ Koder.ai ਦਾ chat-driven build process—ਤਾਂ ਇਹ ਚੈੱਕਸ ਹੋਰ ਵੀ ਜ਼ਰੂਰੀ ਬਣ ਜਾਂਦੇ ਹਨ। ਤੇਜ਼ੀ ਸਰਗਰਮੀ ਵਧਾਓ, ਪਰ ਰਿਗਰ ਨਹੀਂ ਘਟਾਓ।
ਅਖੀਰ ਵਿੱਚ, ਟ੍ਰੈਕ ਕਰੋ ਕਿ ਪ੍ਰਾਂਪਟ ਵਾਸਤਵ ਵਿੱਚ ਡਿਲਿਵਰੀ ਨੂੰ ਕਿੰਨਾ ਸੁਧਾਰਦੇ ਹਨ:
ਜੇ ਇੱਕ ਪ੍ਰਾਂਪਟ ਕੁਝ ਮਿੰਟ ਬਚਾਉਂਦਾ ਹੈ ਪਰ ਰੀਵਰਕ ਵਧਾਉਂਦਾ ਹੈ, ਤਾਂ ਉਹ "ਚੰਗਾ" ਨਹੀਂ—ਸਿਰਫ਼ ਤੇਜ਼ ਹੈ।
LLM ਨੂੰ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ ਵਰਤਣ ਨਾਲ "safe by default" ਦਾ ਮਤਲੱਬ ਬਦਲ ਜਾਂਦਾ ਹੈ। ਮਾਡਲ ਇਹ ਨਹੀਂ ਜਾਣਦਾ ਕਿ ਕਿਹੜੇ ਵੇਰਵੇ ਗੁਪਤ ਹਨ, ਅਤੇ ਇਹ ਅਜਿਹਾ ਕੋਡ ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਵੇਖਣ ਵਿੱਚ ਠੀਕ ਲੱਗੇ ਪਰ ਚੁਪਚਾਪ ਖ਼ਤਰਨਾਕ ਹੋਵੇ। AI ਸਹਾਇਤਾ ਨੂੰ ਹੋਰ ਟੂਲਾਂ ਵਾਂਗ gardeRails ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ—ਜਿਵੇਂ CI, dependency scanning, ਜਾਂ ਕੋਡ ਰਿਵਿਊ।
ਮੰਨੋ ਕਿ ਤੁਸੀਂ ਜੋ ਕੁਝ ਵੀ ਚੈਟ ਵਿੱਚ ਪੇਸਟ ਕਰਦੇ ਹੋ ਉਹ ਸਟੋਰ, ਲੌਗ, ਜਾਂ ਰਿਵਿਊ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਕਦੇ ਵੀ API keys, access tokens, ਪ੍ਰਾਈਵੇਟ ਸਰਟੀਫਿਕੇਟ, ਗਾਹਕ ਡੇਟਾ, ਜਾਂ ਆਮ ਨਹੀਂ ਹੋਣ ਵਾਲੀਆਂ URLs ਸ਼ਾਮਲ ਨਾ ਕਰੋ। ਇਸਦੀ ਥਾਂ placeholders ਅਤੇ ਘੱਟੋ- ਘੱਟ, ਨਕਲੀ ਉਦਾਹਰਨ ਵਰਤੋ।
ਜੇ ਤੁਹਾਨੂੰ ਡਿਬੱਗ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਸਾਂਝਾ ਕਰੋ:
ਟੀਮ ਲਈ ਇਕ redaction ਵਰਕਫਲੋ ਬਣਾਓ (ਟੈਮਪਲੇਟ ਅਤੇ ਚੈਕਲਿਸਟ) ਤਾਂ ਜੋ ਲੋਕ ਸਮੇਂ ਦੀ ਘਾਟ ਵਿੱਚ ਆਪਣੇ ਆਪ ਨਿਯਮ ਨਾ ਵੀਖੜੇ।
AI-ਜਨਰੇਟ ਕੋਡ ਕਲਾਸਿਕ ਸਮੱਸਿਆਵਾਂ ਜੋੜ ਸਕਦਾ ਹੈ: injection risks, insecure defaults, missing authorization checks, unsafe dependencies, ਅਤੇ ਨਾਜੁਕ crypto। ਪ੍ਰਾਇਗਮੈਟਿਕ ਪ੍ਰਾਂਪਟ ਅਭਿਆਸ ਇਹ ਹੈ ਕਿ ਮਾਡਲ ਨੂੰ ਆਪਣੇ ਆਉਟਪੁੱਟ ਦੀ ਆਪ-ਸਮੀਖਿਆ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਵੇ:
Authentication, cryptography, permission checks, ਅਤੇ access control ਵਾਲੇ ਖੇਤਰਾਂ ਲਈ "security review prompts" ਤੁਹਾਡੇ definition of done ਦਾ ਹਿੱਸਾ ਬਣਾਓ। ਇਹਨਾਂ ਨੂੰ ਮਨੁੱਖੀ ਰਿਵਿਊ ਅਤੇ ਆਟੋਮੇਟਿਕ ਚੈੱਕਸ (SAST, dependency scanning) ਨਾਲ ਜੋੜੋ। ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਅੰਦਰੂਨੀ ਸਟੈਂਡਰਡ ਹਨ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਾਂਪਟ ਵਿੱਚ ਲਿੰਕ ਕਰੋ (ਉਦਾਹਰਨ: “Follow our auth guidelines in /docs/security/auth”).
ਮਕਸਦ AI ਨੂੰ ਮਨ ਰੋਕਣਾ ਨਹੀਂ—ਮਕਸਦ ਸੁਰੱਖਿਅਤ ਵਿਹਾਰ ਸਭ ਤੋਂ ਆਸਾਨ ਬਣਾਉਣਾ ਹੈ।
ਪ੍ਰਾਂਪਟਿੰਗ ਸਭ ਤੋਂ ਵਧੀਆ ਉਸ ਵੇਲੇ ਸਕੇਲ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਇਹ ਟੀਮ ਸਖਤ ਹੁਨਰ ਬਣ ਜਾਏ, ਵਿਅਕਤੀਗਤ ਚਾਲਾਕੀ ਨਹੀਂ। ਮਕਸਦ ਸਿਰਫ਼ “ਚੰਗੇ ਪ੍ਰਾਂਪਟ” ਨਹੀਂ—ਮਕਸਦ ਘੱਟ ਸਮਝ-ਬੂਝ, ਤੇਜ਼ ਰਿਵਿਊ, ਅਤੇ AI-ਸਹਾਇਤ ਕੰਮ ਤੋਂ ਜ਼ਿਆਦਾ ਪੇਸ਼ਗੋਈਯੋਗ ਨਤੀਜੇ ਹਨ।
ਕਿਸੇ ਨੇ ਵੀ ਪ੍ਰਾਂਪਟ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਸਵੀਕਾਰਿਆ ਹੋਇਆ definition of done ਤੇ ਸਹਿਮਤ ਹੋਵੋ। "ਇਹਨੂੰ ਬਿਹਤਰ ਬਣਾਓ" ਨੂੰ ਚੈਕਯੋਗ ਉਮੀਦਵਾਰਾਂ ਵਿੱਚ ਬਦਲੋ: acceptance criteria, coding standards, naming conventions, ਪਹੁੰਚਯੋਗਤਾ ਦੀਆਂ ਲੋੜਾਂ, ਪ੍ਰਦਰਸ਼ਨ ਬਜਟ, ۽ logging/observability ਲੋੜਾਂ।
ਵਿਵਹਾਰਿਕ ਤਰੀਕਾ: ਪ੍ਰਾਂਪਟਾਂ ਵਿੱਚ ਛੋਟਾ "output contract" ਸ਼ਾਮਲ ਕਰੋ:
ਜੇ ਟੀਮ ਇਹ ਲਗਾਤਾਰ ਕਰਦੀ ਹੈ, ਤਾਂ ਪ੍ਰਾਂਪਟ ਗੁਣਵੱਤਾ ਰਿਵਿਊਯੋਗ ਬਣ ਜਾਂਦੀ ਹੈ—ਬਿਲਕੁਲ ਕੋਡ ਵਾਂਗ।
Pair prompting pair programming ਵਰਗਾ ਹੈ: ਇੱਕ ਲੌਗ ਪ੍ਰਾਂਪਟ ਲਿਖਦਾ ਹੈ, ਦੂਜਾ ਇਸਦੀ ਸਮੀਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ assumptions 'ਤੇ probing ਕਰਦਾ ਹੈ। ਰਿਵਿਊਅਰ ਦੇ ਸਵਾਲ ਹੋ ਸਕਦੇ ਹਨ:
ਇਸ ਨਾਲ ਅਣਨਿਸ਼ਚਿਤਤਾ ਸ਼ੁਰੂ 'ਤੇ ਫੜੀ ਜਾਂਦੀ ਹੈ ਅਤੇ AI ਤੋਂ ਗਲਤ ਚੀਜ਼ਾਂ ਬਣਨ ਤੋਂ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਆਪਣੇ ਕੋਡਬੇਸ ਦੀਆਂ ਉਦਾਹਰਨਾਂ ਨਾਲ ਇਕ ਹਲਕੀ prompt playbook ਬਣਾਓ: “API endpoint template,” “frontend component refactor template,” “mobile performance constraint template,” ਆਦਿ। ਇਸਨੂੰ ਓਥੇ ਰੱਖੋ ਜਿੱਥੇ ਇੰਜੀਨੀਅਰ ਪਹਿਲਾਂ ਹੀ ਕੰਮ ਕਰਦੇ ਹਨ (wiki ਜਾਂ repo) ਅਤੇ PR ਟੈਮਪਲੇਟ ਵਿੱਚ ਲਿੰਕ ਕਰੋ।
ਜੇ ਤੁਹਾਡੀ ਸੰਗਠਨਾ ਇੱਕ ਕੇਂਦਰੀ ਪਲੇਟਫਾਰਮ ਵਰਤਦੀ ਹੈ ਜੋ ਕ੍ਰਾਸ-ਫੰਕਸ਼ਨਲ ਬਿਲਡਿੰਗ ਨੂੰ ਸਹਾਇਕ ਕਰਦੀ ਹੈ (product + design + engineering), ਤਾਂ ਉਹਨਾਂ ਟੈਮਪਲੇਟਾਂ ਨੂੰ ਉੱਥੇ ਵੀ Capture ਕਰੋ। ਉਦਾਹਰਨ ਵਜੋਂ, Koder.ai ਟੀਮਾਂ ਅਕਸਰ prompts ਨੂੰ planning mode (ਪਹਿਲਾਂ ਸਕੋਪ ਅਤੇ acceptance criteria 'ਤੇ ਸਹਿਮਤੀ) ਵਿੱਚ standardize ਕਰਦੀਆਂ ਹਨ, ਫਿਰ implementation steps ਅਤੇ tests ਜਨਰੇਟ ਕਰਦੀਆਂ ਹਨ।
ਜਦੋਂ ਕੋਈ ਬੱਗ ਜਾਂ ਇੰਸੀਡੈਂਟ ਅਸਪਸ਼ਟ ਪ੍ਰਾਂਪਟ ਨਾਲ ਜੁੜਦਾ ਹੈ, ਤਾਂ ਸਿਰਫ਼ ਕੋਡ ਠੀਕ ਨਾ ਕਰੋ—ਪ੍ਰਾਂਪਟ ਟੈਮਪਲੇਟ ਨੂੰ ਅਪਡੇਟ ਕਰੋ। ਸਮੇਂ ਦੇ ਨਾਲ, ਤੁਹਾਡੇ ਸਾਰੇ-ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰਾਂਪਟ ਸੰਗਠਨਾਤਮਕ ਯਾਦاشت ਬਣ ਜਾਂਦੇ ਹਨ, ਦੁਹਰਾਉਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਅਤੇ onboarding ਸਮਾਂ ਘਟਦੇ ਹਨ।
AI ਪ੍ਰਾਂਪਟਿੰਗ ਨੂੰ ਅਪਨਾਉਣਾ ਇੱਕ ਛੋਟੀ ਇੰਜੀਨੀਅਰਿੰਗ ਤਬਦੀਲੀ ਵਜੋਂ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਨਾ ਕਿ ਕੋਈ ਵਿਆਪਕ "AI ਉਪਕਰਮ"। ਇਸਨੂੰ ਕਿਸੇ ਹੋਰ ਉਤਪਾਦਕਤਾ ਅਭਿਆਸ ਵਾਂਗ ਠਹਿਰਾਓ: ਪੁਰਾ<|endoftext|>
ਇਹ ਉਹ ਹਨ ਸਮੀਖਿਆਯੋਗ ਇਨਪੁਟ ਜੋ ਇੱਕ ਅਸਿਸਟੈਂਟ ਨੂੰ ਇੱਕ ਨਿਰਧਾਰਿਤ, ਚੈੱਕ ਕਰਨਯੋਗ ਨਤੀਜੇ ਵੱਲ ਲੈ ਕੇ ਜਾਂਦੇ ਹਨ—ਜਿਵੇਂ ਕਿ ਇਕ ਟਿਕਟ, ਵਿਸ਼ਲੇਸ਼ਣ, ਜਾਂ ਟੈਸਟ ਪਲੈਨ। ਮੁੱਖ ਗੱਲ ਇਹ ਹੈ ਕਿ ਨਿਰੀਆਟੋਂ explicit constraints ਅਤੇ acceptance criteria ਦੇ ਖਿਲਾਫ ਮੁਲਾਂਕਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੋਵੇ, ਨਾ ਕਿ ਸਿਰਫ "ਚੰਗਾ ਲੱਗਦਾ ਹੈ"।
ਇੱਕ ਪ੍ਰਯੋਗੀ ਪ੍ਰਾਂਪਟ ਆਮ ਤੌਰ 'ਤੇ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ:
ਜੇ ਤੁਸੀਂ ਪ੍ਰਾਂਪਟ ਤੋਂ ਕੁਝ ਟੈਸਟ ਕੇਸ ਨਹੀਂ ਲਿਖ ਸਕਦੇ, ਤਾਂ ਉਹ ਸ਼ਾਇਦ ਅਜੇ ਵੀ ਬਹੁਤ vague ਹੈ।
ਢੱਜੇ ਪ੍ਰਾਂਪਟ ਮਾਡਲ ਨੂੰ ਤੁਹਾਡੇ ਪ੍ਰੋਡਕਟ ਨਿਯਮ, ਡਿਜ਼ਾਈਨ ਸਿਸਟਮ ਅਤੇ त्रੁੱਟੀ semantics ਬਾਰੇ ਅਨੁਮਾਨ ਲਗਾਉਣ 'ਤੇ ਮਜਬੂਰ ਕਰਦੇ ਹਨ। ਬੇਨਤੀ ਨੂੰ ਲੋੜਾਂ ਵਿੱਚ ਬਦਲੋ:
ਉਦਾਹਰਨ: ਇੱਕ 'ਤੇ ਕੀ ਹੋਇਆ, ਕਿਹੜੇ ਫੀਲਡ immutable ਹਨ, ਅਤੇ ਹਰ ਤਰ੍ਹਾਂ ਦੀ ਤਰੁੱਟੀ ਲਈ UI copy ਕੀ ਦਿਖੇਗੀ — ਇਹ ਸਪਸ਼ਟ ਕਰੋ।
Constraints “ਸੁੰਦਰ ਪਰ ਗਲਤ” ਜਵਾਬਾਂ ਨੂੰ ਰੋਕਦੀਆਂ ਹਨ। ਇਸ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕਰੋ:
ਬਿਨਾਂ constraints ਦੇ, ਮਾਡਲ ਭਰਵਾਂ ਅਨੁਮਾਨ ਭਰ ਦੇਵੇਗਾ ਜੋ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨਾਲ ਮੇਲ ਨਾ ਖਾਂਦੇ ਹੋਣ।
UI ਕੰਮ ਲਈ ਪਹਿਲੋਂ ਹੀ ਡਿਜ਼ਾਈਨ ਅਤੇ ਗੁਣਵੱਤਾ ਦੀਆਂ ਮੰਗਾਂ ਨਿਰਧਾਰਤ ਕਰੋ:
ਇਸ ਨਾਲ ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਸਿਸਟਮ ਤੋਂ drift ਘੱਟ ਹੁੰਦਾ ਅਤੇ "ਕੰਮ ਮੁਕੰਮਲ" ਦਾ ਮੂਲ ਸਪਸ਼ਟ ਹੋ ਜਾਂਦਾ ਹੈ।
ਇੱਕ ਰਿਵਿਊਯੋਗ contract ਲਈ ਦਬਾਅ ਬਣਾਓ, ਸਿਰਫ਼ ਕੋਡ ਦੀ ਬੇਨਤੀ ਨਾ ਕਰੋ:
ਅਜਿਹੇ ਟੈਸਟ ਮੰਗੋ ਜੋ invalid payloads, auth failures, ਅਤੇ empty updates ਵਰਗੇ ਏਜ ਕੇਸ ਢੱਕਨ।
ਮੋਬਾਈਲ ਲਈ ਹਕੀਕਤੀ ਡਿਵਾਈਸ ਸੀਮਾਵਾਂ ਅਤੇ ਫੇਲ੍ਹ ਮੋਡ ਸ਼ਾਮਿਲ ਕਰੋ:
ਮੋਬਾਈਲ ਪ੍ਰਾਂਪਟ ਫਲੋਅਜ਼ ਅਤੇ recovery paths ਦਾ ਵਰਣਨ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ, ਕੇਵਲ ਖੁਸ਼-ਰਾਹ ਨਹੀਂ।
ਜੇਕਰ ਕੰਮ ਬਹੁਤ ਵਿਆਖਿਆਤ ਹੈ (ਉਦਾਹਰਨ: “generate a TypeScript type + example payload”), ਤਾਂ direct output ਮੰਗੋ। ਜਦੋਂ ਫੈਸਲੇ ਮਹੱਤਵਪੂਰਨ ਹੋਣ, trade-offs ਅਤੇ ਛੋਟਾ reasoning ਮੰਗੋ।
ਇਕ ਵਿਆਵਹਾਰਿਕ ਤਰੀਕਾ: "مختصر assumptions ਅਤੇ pros/cons ਦਿਓ, ਫਿਰ final deliverable (code/contract/tests) ਦਿਓ।"
ਸੰਰਚਿਤ, lintable ਆਉਟਪੁੱਟ ਮੰਗੋ ਤਾਂ ਕਿ ਨਤੀਜੇ ਆਸਾਨੀ ਨਾਲ ਰਿਵਿਊ ਅਤੇ diff ਕੀਤੇ ਜਾ ਸਕਣ। ਉਦਾਹਰਨ:
changes, assumptions, risks, testsਸੰਰਚਿਤ ਆਉਟਪੁੱਟ ਅਸਪਸ਼ਟਤਾ ਘਟਾਉਂਦਾ ਹੈ, ਰਿਗ੍ਰੈਸ਼ਨ ਸਪੱਸ਼ਟ ਕਰਦਾ ਹੈ, ਅਤੇ CI ਵਿੱਚ schema validation ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
AI-ਸਹਾਇਤ ਕੋਡ ਖਤਰਨਾਕ ਚੀਜ਼ਾਂ ਜੋੜ ਸਕਦਾ ਹੈ: injection risks, insecure defaults, missing authorization checks ਆਦਿ। ਇਨ੍ਹਾਂ ਖਤਰਿਆਂ ਨੂੰ ਘਟਾਉਣ ਲਈ:
AI ਆਉਟਪੁੱਟ ਨੂੰ ਅਨਜਮਾਇਆ ਨਾ ਸਮਝੋ—ਉਸਨੂੰ ਵੀ ਰਿਵਿਊ ਅਤੇ ਵੇਰੀਫਾਈ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
409