𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗦𝘆𝗻𝘁𝗵𝗲𝘁𝗶𝗰 𝗗𝗮𝘁𝗮
ਸਿੰਥੈਟਿਕ ਡੇਟਾ ਬਣਾਉਣ ਲਈ LLMs ਦੀ ਵਰਤੋਂ ਕਰਨਾ QA ਟੀਮਾਂ ਲਈ ਇੱਕ ਪ੍ਰਸਿੱਧ ਰਣਨੀਤੀ ਹੈ। ਤੁਸੀਂ ਸਕਿੰਟਾਂ ਵਿੱਚ ਸੈਂਕੜੇ ਗੁੰਝਲਦਾਰ ਰਿਕਾਰਡ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹੋ।
ਪਰ ਆਮ (generic) ਪ੍ਰੋਂਪਟ ਇੱਕ ਜਾਲ ਵਿੱਚ ਫਸਾ ਸਕਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ LLM ਨੂੰ "50 ਟੈਸਟ ਯੂਜ਼ਰ ਬਣਾਓ" ਕਹਿੰਦੇ ਹੋ, ਤਾਂ ਇਹ ਤੁਹਾਨੂੰ ਅਨੁਮਾਨਿਤ ਅਤੇ ਦੁਹਰਾਏ ਗਏ ਡੇਟਾ ਦਿੰਦਾ ਹੈ। ਇਹ ਕਵਰੇਜ ਦਾ ਇੱਕ ਝੂਠਾ ਅਹਿਸਾਸ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਬਹੁਤ ਸਾਰੇ ਅਜਿਹੇ ਰਿਕਾਰਡ ਮਿਲਦੇ ਹਨ ਜੋ ਸਿਰਫ਼ "happy path" ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ, ਜਦੋਂ ਕਿ ਮਹੱਤਵਪੂਰਨ edge cases ਅਤੇ ਬਿਜ਼ਨਸ ਲੌਜਿਕ ਰਹਿ ਜਾਂਦੇ ਹਨ।
ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਬੇਨਤੀ ਕਰਨ ਵਾਲੇ ਤੋਂ ਇੱਕ ਆਰਕੈਸਟਰੇਟਰ (orchestrator) ਬਣਨਾ ਪਵੇਗਾ। ਤੁਹਾਨੂੰ ਆਪਣੇ ਪ੍ਰੋਂਪਟ ਇੰਜੀਨੀਅਰਿੰਗ 'ਤੇ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਟੈਸਟਿੰਗ ਦੇ ਸਿਧਾਂਤਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਆਪਣੇ ਡੇਟਾ ਦੀ ਗੁਣਵੱਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨ ਲਈ ਇਹਨਾਂ ਤਿੰਨ ਪੈਟਰਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- Equivalence Partitioning ਅਤੇ Boundary Value Analysis ਡੇਟਾ ਮੰਗਣ ਦੀ ਬਜਾਏ, LLM ਨੂੰ ਪਹਿਲਾਂ ਟੈਸਟ ਕਲਾਸਾਂ ਦਾ ਨਕਸ਼ਾ ਤਿਆਰ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰੋ। Chain-of-Thought ਪ੍ਰੋਂਪਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਆਪਣੀ ਭੂਮਿਕਾ ਇੱਕ Senior QA Engineer ਵਜੋਂ ਨਿਰਧਾਰਤ ਕਰੋ।
- ਖਾਸ ਬਿਜ਼ਨਸ ਨਿਯਮ ਪ੍ਰਦਾਨ ਕਰੋ (ਜਿਵੇਂ ਕਿ ਕੂਪਨ ਸੀਮਾਵਾਂ ਜਾਂ ਘੱਟੋ-ਘੱਟ ਖਰਚ)।
- LLM ਨੂੰ ਇੱਕ ਟੇਬਲ ਵਿੱਚ ਸਾਰੀਆਂ ਵੈਧ (valid) ਅਤੇ ਅਵੈਧ (invalid) equivalence classes ਦੀ ਸੂਚੀ ਬਣਾਉਣ ਦਾ ਨਿਰਦੇਸ਼ ਦਿਓ।
- ਹਰੇਕ ਪਛਾਣੇ ਗਏ scenario ਲਈ ਸਿਰਫ਼ ਇੱਕ JSON payload ਦੀ ਮੰਗ ਕਰੋ।
ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਵਾਧੂ ਰਿਕਾਰਡਾਂ 'ਤੇ ਜਗ੍ਹਾ ਬਰਬਾਦ ਕੀਤੇ ਬਿਨਾਂ, ਸਹੀ transition points, ਜਿਵੇਂ ਕਿ $99.99 ਬਨਾਮ $100.00 ਦੀ ਜਾਂਚ ਕਰਦੇ ਹੋ।
- State Transition Testing ਪੇਮੈਂਟ ਫਲੋਅ ਜਾਂ ਆਰਡਰ ਮੈਨੇਜਮੈਂਟ ਵਰਗੇ ਸਿਸਟਮਾਂ ਲਈ, ਡੇਟਾ ਨੂੰ ਲਾਈਫਸਾਈਕਲ ਦੇ ਵੱਖ-ਵੱਖ ਪੜਾਵਾਂ ਨੂੰ ਦਰਸਾਉਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਸਾਰੀਆਂ ਸੰਭਵ ਸਥਿਤੀਆਂ (states) ਦੀ ਸੂਚੀ ਪ੍ਰਦਾਨ ਕਰੋ (ਜਿਵੇਂ ਕਿ Created, Paid, Shipped, Delivered)।
- LLM ਨੂੰ ਇੱਕ State Transition Matrix ਨੂੰ ਕਵਰ ਕਰਨ ਵਾਲੀ CSV ਤਿਆਰ ਕਰਨ ਲਈ ਕਹੋ।
- ਤਿੰਨ ਕਿਸਮਾਂ ਦੇ ਫਲੋਅ ਦੀ ਮੰਗ ਕਰੋ: Linear (ਵੈਧ), Exception (ਵਿਚਲਣ), ਅਤੇ Violation (ਅਵੈਧ transitions)।
- ਹਰੇਕ ਵਿਲੱਖਣ state combination ਲਈ ਸਿਰਫ਼ ਇੱਕ ਰੋਅ (row) ਤਿਆਰ ਕਰਨ ਦਾ ਨਿਯਮ ਸੈੱਟ ਕਰੋ।
ਇਹ ਡੁਪਲੀਕੇਟ ਰਿਕਾਰਡਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ ਅਤੇ negative test cases ਦੇ ਨਿਰਮਾਣ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ।
- Variance Control ਅਤੇ Negative Prompting LLMs ਅਕਸਰ ਇੱਕੋ ਜਿਹਾ (homogeneous) ਡੇਟਾ ਪੈਦਾ ਕਰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਇੱਕੋ ਖੇਤਰਾਂ ਜਾਂ ਉਮਰ ਸਮੂਹਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਇਸ ਨੂੰ ਰੋਕਣ ਲਈ Negative Prompting ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਲਈ ਸਪੱਸ਼ਟ ਲੋੜਾਂ ਸੈੱਟ ਕਰੋ (ਜਿਵੇਂ ਕਿ ਖਾਸ ਉਮਰ ਸੀਮਾਵਾਂ ਜਾਂ ਭੂਗੋਲਿਕ ਖੇਤਰ)।
- ਇੱਕ "PROHIBITIONS" ਸੈਕਸ਼ਨ ਜੋੜੋ।
- "John Doe" ਵਰਗੇ ਆਮ ਨਾਮਾਂ 'ਤੇ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਰੋਕ ਲਗਾਓ।
- ਵੇਰੀਏਬਲਜ਼ ਦੇ ਇੱਕੋ ਜਿਹੇ ਕੰਬੀਨੇਸ਼ਨਾਂ ਨੂੰ ਦੁਹਰਾਉਣ ਤੋਂ ਰੋਕੋ।
- ਲੜੀਵਾਰ ਜਾਂ ਇੱਕੋ ਜਿਹੇ ID ਨੰਬਰਾਂ 'ਤੇ ਰੋਕ ਲਗਾਓ।
ਇਹ ਪੱਖਪਾਤ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ ਅਤੇ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ backend ਵਿਭਿੰਨ ਅਤੇ ਯਥਾਰਥਵਾਦੀ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।
AI ਦੀ ਰਫ਼ਤਾਰ ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਮੁੱਲ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ ਜੇਕਰ ਤੁਹਾਡਾ ਡੇਟਾ ਜਾਣਬੁੱਝ ਕੇ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੋਵੇ। ਇੱਕ QA ਪ੍ਰੋਫੈਸ਼ਨਲ ਵਜੋਂ ਤੁਹਾਡੀ ਭੂਮਿਕਾ ਉਹਨਾਂ ਸੀਮਾਵਾਂ ਨੂੰ ਕੋਡ ਕਰਨਾ ਹੈ ਜੋ ਇਹਨਾਂ ਜਨਰੇਟਿਵ ਮਾਡਲਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੇ ਹਨ।
ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi