ਸਿੱਖੋ ਕਿ LLM ਨੀਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸਮਝਦੇ ਹਨ, ਵਰਕਫਲੋ ਸਥਿਤੀ ਟ੍ਰੈਕ ਕਰਦੇ ਹਨ ਅਤੇ ਪ੍ਰੰਪਟ, ਟੂਲ, ਟੈਸਟ ਤੇ ਮਨੁੱਖੀ ਸਮੀਖਿਆ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫੈਸਲਿਆਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ—ਸਿਰਫ਼ ਕੋਡ ਨਹੀਂ।

ਜਦੋਂ ਲੋਕ ਪੁੱਛਦੇ ਹਨ ਕਿ ਕੀ ਇੱਕ LLM "ਕਾਰੋਬਾਰੀ ਨਿਯਮਾਂ ਬਾਰੇ ਤਰਕ ਕਰ ਸਕਦਾ ਹੈ," ਉਹ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਦੀ ਗੱਲ ਕਰ ਰਹੇ ਹੁੰਦੇ ਹਨ ਜੋ ਸਿਰਫ਼ if/else ਲਿਖਣ ਤੋਂ ਕਾਫ਼ੀ ਜ਼ਿਆਦਾ ਮੰਗੀਦਾ ਹੈ। ਕਾਰੋਬਾਰੀ ਨਿਯਮ-ਤਰਕ ਦਾ ਅਰਥ ਹੈ ਨੀਤੀਆਂ ਨੂੰ ਲਗਾਤਾਰ ਲਾਗੂ ਕਰਨਾ, ਫੈਸਲਿਆਂ ਦੀ ਵਿਆਖਿਆ ਕਰ ਸਕਣਾ, ਐਕਸਪਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣਾ ਅਤੇ ਮੌਜੂਦਾ ਵਰਕਫਲੋ ਕਦਮ ਦੇ ਨਾਲ ਸੰਰੇਖਿਤ ਰਹਿਣਾ—ਖ਼ਾਸ ਕਰਕੇ ਜਦੋਂ ਇਨਪੁਟ ਅਧੂਰੇ, ਗੰਦੇ ਜਾਂ ਬਦਲ ਰਹੇ ਹੋਣ।
ਕੋਡ ਬਣਾਉਣਾ ਮੁੱਖ ਰੂਪ ਵਿੱਚ ਟਾਰਗਿਟ ਭਾਸ਼ਾ ਵਿੱਚ ਵੈਧ ਸਿੰਟੈਕਸ ਉਤਪਨ ਕਰਨ 'ਤੇ ਧਿਆਨ ਦਿੰਦਾ ਹੈ। ਨਿਯਮ-ਤਰਕ ਦਾ ਮਕਸਦ ਭਾਵਨਾਤਮਕ ਇਰਾਦੇ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣਾ ਹੈ।
ਇੱਕ ਮਾਡਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੈਧ ਕੋਡ ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ ਪਰ ਫਿਰ ਵੀ ਗਲਤ ਕਾਰੋਬਾਰੀ ਨਤੀਜਾ ਦੇ ਸਕਦਾ ਹੈ ਕਿਉਂਕਿ:
ਇਸਦਾ ਸਾਰ ਹੈ: ਸਹੀਅਤ ਦੀ ਪਰਿਭਾਸ਼ਾ "ਕਿਆ ਇਹ ਕੰਪਾਇਲ ਹੁੰਦਾ ਹੈ?" ਨਹੀਂ ਹੈ। ਸਹੀਅਤ ਹੈ "ਕੀ ਇਹ ਹਰ ਵਾਰੀ ਕੰਪਨੀ ਦੇ ਫੈਸਲੇ ਦੇ ਮੇਲ ਖਾਂਦੀ ਹੈ, ਅਤੇ ਕੀ ਅਸੀਂ ਇਸ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੇ ਹਾਂ?"
LLMs ਨੀਤੀਆਂ ਨੂੰ ਸਾਂਢੇ ਰੂਪ ਵਿੱਚ ਤਬਦੀਲ ਕਰਨ, ਫੈਸਲੇ ਦੇ ਰਸਤੇ ਸੁਝਾਉਣ ਅਤੇ ਮਨੁੱਖਾਂ ਲਈ ਵਿਆਖਿਆਵਾਂ ਦਾ ਮਸੋਦਾ ਬਣਾਉਣ 'ਚ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ। ਪਰ ਉਹ ਆਪ-ਅਪਣੇ ਹੀ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਕਿਹੜਾ ਨਿਯਮ ਅਧਿਕਾਰਕ ਹੈ, ਕਿਹੜਾ ਡੇਟਾ ਸੋਰਸ ਭਰੋਸੇਯੋਗ ਹੈ, ਜਾਂ ਮਾਮਲਾ ਇਸ ਸਮੇਂ ਕਿਸ ਕਦਮ 'ਤੇ ਹੈ। ਬਿਨਾਂ ਪਾਬੰਦੀਆਂ ਦੇ, ਉਹ ਬਹੁਤ ਯਕੀਨੀ ਤਰੀਕੇ ਨਾਲ ਕੋਈ ਪ੍ਰਸਿੱਧ ਜਵਾਬ ਚੁਣ ਸਕਦੇ ਹਨ ਬਜਾਏ ਕਿ ਸਰਕਾਰੀ ਜਾਂ ਨਿਰਧਾਰਤ ਜਵਾਬ ਚੁਣਨ ਦੇ।
ਇਸ ਲਈ ਮਕਸਦ ਇਹ ਨਹੀਂ ਕਿ "ਮਾਡਲ ਨੂੰ ਫੈਸਲਾ ਕਰਨ ਦਿਓ," ਬਲਕਿ ਇਹ ਹੈ ਕਿ ਇਸਨੂੰ ਢਾਂਚਾ ਅਤੇ ਚੈਕ ਦਿਓ ਤਾਂ ਜੋ ਇਹ ਭਰੋਸੇਯੋਗ ਮਦਦ ਕਰ ਸਕੇ।
ਇਕ ਵਿਹਾਰਕ ਢਾਂਚਾ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਪਾਈਪਲਾਈਨ ਵਰਗਾ ਹੁੰਦਾ ਹੈ:
ਇਹ ਅੰਤਰ ਇੱਕ ਚੁਸਤ ਕੋਡ ਸਨਿੱਪਟ ਅਤੇ ਉਸ ਸਿਸਟਮ ਵਿਚਕਾਰ ਹੈ ਜੋ ਅਸਲ ਕਾਰੋਬਾਰੀ ਫੈਸਲਿਆਂ ਦਾ ਸਹਾਰਾ ਦੇ ਸਕਦਾ ਹੈ।
LLM ਦੇ "ਤਰਕ" ਬਾਰੇ ਗੱਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਦੋ ਚੀਜ਼ਾਂ ਨੂੰ ਵੱਖਰਾ ਕਰਨਾ ਫਾਇਦਿਮੰਦ ਹੁੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਟੀਮਾਂ ਅਕਸਰ ਇਕੱਠੇ ਕਰ ਦਿੰਦੀਆਂ ਹਨ: ਕਾਰੋਬਾਰੀ ਨਿਯਮ ਅਤੇ ਵਰਕਫਲੋਜ਼।
ਕਾਰੋਬਾਰੀ ਨਿਯਮ ਉਹ ਫੈਸਲੇਬਾਜ਼ ਬਿਆਨ ਹਨ ਜੋ ਤੁਹਾਡੀ ਸੰਸਥਾ ਲਗਾਤਾਰ ਲਾਗੂ ਕਰਵਾਉਣਾ ਚਾਹੁੰਦੀ ਹੈ। ਇਹ ਨੀਤੀਆਂ ਅਤੇ ਤਰਕਾਂ ਵਜੋਂ ਨਜ਼ਰ ਆਉਂਦੇ ਹਨ ਜਿਵੇਂ:
ਨਿਯਮ ਆਮ ਤੌਰ 'ਤੇ "IF X, THEN Y" ਦੀ ਸ਼ਕਲ ਵਿੱਚ ਹੁੰਦੇ ਹਨ (ਕਈ ਵਾਰੀ ਅਪਵਰਤੀ ਰੂਪ ਵਿੱਚ), ਅਤੇ ਇਹ ਸਪੱਸ਼ਟ ਨਤੀਜਾ ਦੇਣੇ ਚਾਹੀਦੇ ਹਨ: ਮਨਜ਼ੂਰ/ਅਨਮੰਜੂਰ, ਕੀਮਤ A/ਕੀਮਤ B, ਹੋਰ ਜਾਣਕਾਰੀ ਮੰਗੋ ਆਦਿ।
ਵਰਕਫਲੋ ਉਹ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜੋ ਕੰਮ ਨੂੰ ਸ਼ੁਰੂ ਤੋਂ ਅਖੀਰ ਤੱਕ ਲੈ ਜਾਂਦੀ ਹੈ। ਇਹ ਇਸ ਗੱਲ ਨੂੰ ਜ਼ਿਆਦਾ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਅਗਲਾ ਕਦਮ ਕੀ ਹੈ ਨਾ ਕਿ ਕੀ ਚੀਜ਼ ਮਨਜ਼ੂਰ ਹੈ। ਵਰਕਫਲੋਅਮ ਅਕਸਰ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ:
ਇੱਕ ਰੀਫੰਡ ਬੇਨਤੀ ਦੀ ਕਲਪਨਾ ਕਰੋ।
ਨਿਯਮ ਟੁਕੜਾ: "ਖਰੀਦ ਤੋਂ 30 ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਰੀਫੰਡ ਆਮ ਤੌਰ 'ਤੇ ਈਜ਼ਾਜ਼ਤ ਹੈ। ਛੂਟ: ਡਿਜੀਟਲ ਡਾਊਨਲੋਡ ਇੱਕ ਵਾਰੀ ਐਕਸੈੱਸ ਹੋਣ 'ਤੇ ਨਾਨ-ਰੀਫੰਡੇਬਲ ਹਨ। ਛੂਟ: ਚਾਰਜਬੈਕ ਨੂੰ ਐਸਕਲੇਸ਼ਨ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।"
ਵਰਕਫਲੋ ਟੁਕੜਾ:
ਨਿਯਮ ਤਬ ਮੁਸ਼ਕਿਲ ਹੋ ਜਾਂਦੇ ਹਨ ਜਦੋਂ ਉਹ ਟਕਰਾਉਂਦੇ ਹਨ ("VIP ਗ੍ਰਾਹਕਾਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਰੀਫੰਡ ਮਿਲਦੇ ਹਨ" ਬਨਾਮ "ਡਿਜੀਟਲ ਡਾਊਨਲੋਡ ਕਦੇ ਨਹੀਂ"), ਸੰਦੇਹਜਨਕ ਪ੍ਰਸੰਗ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦੇ ਹਨ (ਕੀ ਡਾਊਨਲੋਡ ਦੀ ਪਹੁੰਚ ਹੋਈ ਸੀ?), ਜਾਂ ਐਜ ਕੇਸ ਛੁਪੇ ਹੋਏ ਹੁੰਦੇ ਹਨ (ਬੰਡਲ, ਅੰਸ਼ਿਕ ਰੀਫੰਡ, ਖੇਤਰੀ ਕਾਨੂੰਨ)। ਵਰਕਫਲੋ ਇਸ 'ਤੇ ਹੋਰ ਤੇਜ਼ੀ ਨਾਲ ਪ੍ਰਭਾਵ ਪਾਉਂਦਾ ਹੈ: ਫੈਸਲੇ ਨੇ ਸਥਿਤੀ, ਪਹਿਲੇ ਕਾਰਵਾਈਆਂ ਅਤੇ ਡੈਡਲਾਈਨ ਨਾਲ ਮਿਲਦੇ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
LLMs insaan ਵਾਂਗ ਨਹੀਂ ਸਮਝਦੇ; ਉਹ ਵੱਡੀ ਮਾਤਰਾ ਟੈਕਸਟ ਤੋਂ ਸਿੱਖੇ ਪੈਟਰਨਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਅਗਲਾ ਸਭ ਤੋਂ ਸੰਭਾਵੀ ਸ਼ਬਦ ਜਨਰੇਟ ਕਰਦੇ ਹਨ। ਇਸੀ ਲਈ ਇੱਕ LLM ਸ਼ੱਕੀ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਯਕੀਨੀ ਲੱਗ ਸਕਦਾ ਹੈ ਜਾਂ ਜਦੋਂ ਇਹ ਅੰਧੇਰੇ ਜਾਣਕਾਰੀ ਨੂੰ ਖੁਦ-ਭਰ ਦਿੰਦਾ ਹੈ।
ਇਹ ਸੀਮਿਤਤਾ ਵਰਕਫਲੋ ਅਤੇ ਫੈਸਲਾ-ਲਾਜਿਕ ਲਈ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ। ਮਾਡਲ ਇੱਕ ਐਸਾ ਨਿਯਮ ਲਗਾ ਸਕਦਾ ਹੈ ਜੋ "ਸਹੀ ਲੱਗਦਾ ਹੈ" ("ਕਰਮਚਾਰੀਆਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਮੈਨੇਜਰ ਮਨਜ਼ੂਰੀ ਚਾਹੀਦੀ ਹੈ") ਪਰ ਹਕੀਕਤ ਵਿੱਚ ਨੀਤੀ ਵਿੱਚ ਛੂਟ ਹੋ ਸਕਦੀ ਹੈ ("ਕੇਵਲ $500 ਤੋਂ ਉੱਪਰ" ਜਾਂ "ਸਿਰਫ਼ ਠੇਕੇਦਾਰਾਂ ਲਈ"). ਇਹ ਆਮ ਫੇਲ-ਮੋਡ ਹੈ: ਯਕੀਨੀ ਪਰ ਗਲਤ ਨਿਯਮ ਲਾਗੂ ਕਰਨਾ।
ਅਸਲੀ "ਸਮਝ" ਨਾ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਜਦੋਂ ਤੁਸੀਂ ਮਾਡਲ ਨੂੰ ਇੱਕ ਸੰਰਚਿਤ ਸਹਾਇਕ ਵਜੋਂ ਵਰਤਦੇ ਹੋ ਤਾਂ ਇਹ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ:
ਕੁੰਜੀ ਇਹ ਹੈ ਕਿ ਮਾਡਲ ਨੂੰ ਇਸ ਢਾਂਚੇ ਵਿੱਚ ਰੱਖਿਆ ਜਾਵੇ ਤਾਂ ਜੋ ਇਹ ਆਸਾਨੀ ਨਾਲ ਪ੍ਰਸਤਾਵਾਂ 'ਤੇ ਡ੍ਰਿਫਟ ਨਾ ਕਰੇ।
ਅਸਪਸ਼ਟਤਾ ਘਟਾਉਣ ਦਾ ਇੱਕ ਪ੍ਰਯੋਗਾਤਮਕ ਤਰੀਕਾ ਹੈ ਸੀਮਿਤ ਆਉਟਪੁੱਟ: LLM ਨੂੰ ਇੱਕ ਫਿਕਸਡ ਸਕੀਮਾ ਜਾਂ ਟੈmplੇਟ ਵਿੱਚ ਜਵਾਬ ਦੇਣਾ ਲਾਜ਼ਮੀ ਕਰੋ (ਜਿਵੇਂ ਖਾਸ ਫੀਲਡਾਂ ਵਾਲਾ JSON ਜਾਂ ਲਾਜ਼ਮੀ ਕਾਲਮ ਵਾਲੀ ਟੇਬਲ)। ਜਦੋਂ ਮਾਡਲ ਨੂੰ rule_id, conditions, exceptions, ਅਤੇ decision ਭਰਨਾ ਪੈਂਦਾ ਹੈ, ਉਹ ਖ਼ਾਮੀਆਂ ਨੂੰ ਉੱਠਾਉਣਾ ਅਤੇ ਆਟੋਮੇਟਿਕ ਤਰੀਕੇ ਨਾਲ ਵੈਰੀਫਾਈ ਕਰਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
ਸੀਮਿਤ ਫਾਰਮੈਟ ਇਹ ਸਾਫ਼ ਵੀ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਮਾਡਲ ਨਹੀਂ ਜਾਣਦਾ—ਜੇ ਕੋਈ ਜ਼ਰੂਰੀ ਫੀਲਡ ਗਾਇਬ ਹੈ ਤਾਂ ਤੁਸੀਂ ਫਾਲੋਅੱਪ ਸਵਾਲ ਲਈ ਜ਼ਬਰਦਸਤੀ ਕਰਵਾ ਸਕਦੇ ਹੋ।
ਨਤੀਜਾ: LLM "ਤਰਕ" ਨੂੰ ਪੈਟਰਨ-ਅਧਾਰਤ ਜਨਰੇਸ਼ਨ ਵਜੋਂ ਦੇਖੋ ਜੋ ਢਾਂਚੇ ਨਾਲ ਉਤਰੇ ਹੋਏ ਹੋਵੇ—ਨੀਤੀਆਂ ਨੂੰ ਆਯੋਜਿਤ ਅਤੇ ਕ੍ਰਾਸ-ਚੈੱਕ ਕਰਨ ਲਈ ਲਾਭਦਾਇਕ ਪਰ ਜੇ ਇਸਨੂੰ ਅਖੀਰਲਾ ਅਥਾਰਟੀ ਮੰਨ ਲਈਦਾ ਜਾਵੇ ਤਾਂ ਖਤਰਾ ਹੈ।
ਨੀਤੀ ਦਸਤਾਵੇਜ਼ ਮਨੁੱਖਾਂ ਲਈ ਲਿਖੇ ਜਾਂਦੇ ਹਨ: ਉਹ ਇੱਕੋ ਪੈਰਾ ਵਿੱਚ ਹਦਫ, ਛੂਟ ਅਤੇ "ਆਮ-ਸਮਝ" ਮਿਲਾ ਦਿੰਦੇ ਹਨ। ਇੱਕ LLM ਇਸ ਲਿਖਤ ਨੂੰ ਸਾਰ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਉਹ ਜ਼ਿਆਦਾ ਨਿਰਭਰਤਾਪੂਰਵਕ ਤਰ੍ਹਾਂ ਸੰਚਾਲਿਤ ਹੋਵੇਗਾ ਜਦੋਂ ਤੁਸੀਂ ਨੀਤੀ ਨੂੰ ਸਪਸ਼ਟ, ਟੈਸਟ-ਯੋਗ ਇਨਪੁੱਟਸ ਵਿੱਚ ਤਬਦੀਲ ਕਰ ਦਿਓ।
ਅਚਛੀਆਂ ਨਿਯਮ ਪ੍ਰਤੀਨਿਧੀਆਂ ਦੋ ਗੁਣ ਸਾਂਝੀਆਂ ਕਰਦੀਆਂ ਹਨ: ਉਹ ਅਸਪਸ਼ਟ ਨਹੀਂ ਹੁੰਦੀਆਂ ਅਤੇ ਉਹ ਚੈੱਕ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।
ਟੈਸਟ ਕਰਨ ਯੋਗ ਬਿਆਨਾਂ ਵਜੋਂ ਨਿਯਮ ਲਿਖੋ:
ਨੀਯਮ ਮਾਡਲ ਨੂੰ ਕਈ ਰੂਪਾਂ ਵਿੱਚ ਦਿੱਤੇ ਜਾ ਸਕਦੇ ਹਨ:
ਅਸਲ ਨੀਤੀਆਂ ਟਕਰਾਅ ਕਰਦੀਆਂ ਹਨ। ਜਦੋਂ ਦੋ ਨਿਯਮ ਵਿਰੋਧ ਕਰਦੇ ਹਨ, ਮਾਡਲ ਨੂੰ ਸਪਸ਼ਟ ਪ੍ਰਾਥਮਿਕਤਾ ਸਖਤ ਚਾਹੀਦੀ ਹੈ। ਆਮ ਤਰੀਕੇ:
ਟਕਰਾਅ ਨੀਤੀ ਸਿੱਧਾ ਬਿਆਨ ਕਰੋ ਜਾਂ ਇਸਨੂੰ ਕੋਡ ਵਿੱਚ ਐਨਕੋਡ ਕਰੋ (ਜਿਵੇਂ priority: 100)—ਨਹੀਂ ਤਾਂ LLM ਨਿਯਮਾਂ ਨੂੰ "ਅਸਰ-ਜੋੜ" ਕਰ ਸਕਦਾ ਹੈ।
ਅਸਲ ਨੀਤੀ ਲਿਖਤ:
"ਸਾਲਾਨਾ ਯੋਜਨਾਵਾਂ ਲਈ 30 ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਰੀਫੰਡ ਉਪਲਬਧ ਹਨ। ਮਹੀਨਾਵਾਰ ਯੋਜਨਾਵਾਂ 7 ਦਿਨਾਂ ਬਾਅਦ ਨਾਨ-ਰੀਫੰਡੇਬਲ ਹਨ। ਜੇ ਖਾਤੇ 'ਤੇ ਧੋਖਾਧੜੀ ਜਾਂ ਵੱਧ ਚਾਰਜਬੈਕ ਹਨ, ਰੀਫੰਡ ਨਾ ਜਾਰੀ ਕਰੋ। ਉੱਘੇ ਗਾਹਕਾਂ ਲਈ $5,000 ਤੋਂ ਵੱਧ ਰੀਫੰਡ ਲਈ ਫਾਇਨੈਂਸ ਦੀ ਮਨਜ਼ੂਰੀ ਲਾਜ਼ਮੀ ਹੈ।"
ਸੰਰਚਿਤ ਨਿਯਮ (YAML):
rules:
- id: R1
statement: \"IF plan_type = annual AND days_since_purchase <= 30 THEN refund MAY be issued\"
priority: 10
- id: R2
statement: \"IF plan_type = monthly AND days_since_purchase > 7 THEN refund MUST NOT be issued\"
priority: 20
- id: R3
statement: \"IF fraud_flag = true OR chargeback_rate = excessive THEN refund MUST NOT be issued\"
priority: 100
- id: R4
statement: \"IF customer_tier = enterprise AND refund_amount > 5000 THEN finance_approval MUST be obtained\"
priority: 50
conflict_resolution: \"Higher priority wins; MUST NOT overrides MAY\"
ਹੁਣ ਮਾਡਲ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਇਹ ਸੋਚਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ ਕਰ ਰਿਹਾ ਕਿ ਕੀ ਮਹੱਤਵਪੂਰਨ ਹੈ—ਇਹ ਇੱਕ ਨਿਯਮ ਸੈੱਟ ਲਗਾ ਰਿਹਾ ਹੈ ਜੋ ਤੁਸੀਂ ਸਮੀਖਿਆ, ਟੈਸਟ ਅਤੇ ਵਰਜ਼ਨ ਕਰ ਸਕਦੇ ਹੋ।
ਵਰਕਫਲੋ ਸਿਰਫ ਇੱਕ ਨਿਯਮਾਂ ਦਾ ਸੈੱਟ ਨਹੀਂ ਹੈ; ਇਹ ਘਟਨਾਵਾਂ ਦੀ ਲੜੀ ਹੈ ਜਿੱਥੇ ਪਹਿਲੇ ਕਦਮ ਅਗਲੇ ਕਦਮ ਨੂੰ ਬਦਲ ਦੇਂਦੇ ਹਨ। ਉਹ "ਯਾਦ" ਹੈ—ਮਾਮਲੇ ਬਾਰੇ ਮੌਜੂਦਾ ਤੱਥ (ਕਿਸਨੇ ਕੀ ਦਿੱਤਾ, ਕੀ ਪਹਿਲਾਂ ਮਨਜ਼ੂਰ ਹੋ ਚੁੱਕਾ ਹੈ, ਕੀ ਬਕਾਇਆ ਹੈ, ਕਿਹੜੀਆਂ ਡੈਡਲਾਈਨ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ)। ਜੇ ਤੁਸੀਂ ਸਥਿਤੀ ਨੂੰ ਖੁਲ੍ਹੇ ਤੌਰ 'ਤੇ ਟ੍ਰੈਕ ਨਹੀਂ ਕਰਦੇ, ਵਰਕਫਲੋ ਜਾਣੇ-ਪਛਾਣੇ ਢੰਗਾਂ ਨਾਲ ਭੰਗ ਹੋ ਜਾਂਦੇ ਹਨ—ਡੁਪਲਿਕੇਟ ਮਨਜ਼ੂਰੀਆਂ, ਜ਼ਰੂਰੀ ਚੈੱਕ ਛੱਡਣਾ, ਫੈਸਲਿਆਂ ਨੂੰ ਉਲਟਣਾ, ਜਾਂ ਗਲਤ ਨੀਤੀ ਲਾਗੂ ਕਰਨਾ ਕਿਉਂਕਿ ਮਾਡਲ ਪਿਛਲੇ ਕਦਮਾਂ ਨੂੰ ਭੁੱਲ ਗਿਆ।
ਸਟੇਟ ਨੂੰ ਵਰਕਫਲੋ ਦਾ ਸਕੋਰਬੋਰਡ ਸੋਚੋ। ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ: ਅਸੀਂ ਹੁਣ ਕਿੱਥੇ ਹਾਂ? ਕੀ ਕੀਤਾ ਚੁੱਕਿਆ ਹੈ? ਅਗਲੇ ਲਈ ਕੀ ਮਨਜ਼ੂਰ ਹੈ? LLM ਲਈ ਇੱਕ ਸਪੱਸ਼ਟ ਸਥਿਤੀ ਸੰਖੇਪ ਇਹ ਰੋਕਦਾ ਹੈ ਕਿ ਉਹ ਪਿਛਲੇ ਕਦਮਾਂ 'ਤੇ ਦੁਬਾਰਾ ਵਿਚਾਰ ਕਰੇ ਜਾਂ ਅਨੁਮਾਨ ਲਗਾਏ।
ਜਦੋਂ ਤੁਸੀਂ ਮਾਡਲ ਨੂੰ ਕਾਲ ਕਰੋ, ਤਾਂ ਉਨ੍ਹਾਂ ਦੀ ਬੇਨਤੀ ਨਾਲ ਨਾਲ ਇੱਕ ਸੰਖੇਪ ਸਟੇਟ ਪੇਲੋਡ ਸ਼ਾਮਲ ਕਰੋ। ਲਾਭਕਾਰੀ ਫੀਲਡ ਹਨ:
manager_review: approved, finance_review: pending)ਹਰ ਐਤਿਹਾਸਿਕ ਸੁਨੇਹੇ ਨੂੰ dump ਕਰਨ ਤੋਂ ਬਚੋ। ਬਦਲ ਵਿੱਚ ਮੌਜੂਦਾ ਸਟੇਟ ਅਤੇ ਕੁਝ ਚਾਬੀ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ ਆਡੀਟ ਟਰੇਲ ਦਿਓ।
ਵਰਕਫਲੋ ਇੰਜਣ (ਡੇਟਾਬੇਸ, ਟਿਕਟ ਸਿਸਟਮ ਜਾਂ ਆਰਕੈਸਟਰੇਟਰ) ਨੂੰ ਇੱਕਲੌਤਾ ਸਰੋਤ-ਸੱਚ ਮਨੋ। LLM ਨੂੰ ਉਸ ਸਿਸਟਮ ਤੋਂ ਸਟੇਟ ਪੜ੍ਹਕੇ ਅਗਲਾ ਕਾਰਵਾਈ ਸੁਝਾਉਣੀ ਚਾਹੀਦੀ ਹੈ, ਪਰ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ ਦਰਜ ਕਰਨ ਦੀ ਅਧਿਕਾਰਤਾ ਸਿਸਟਮ ਦੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਹ "ਸਟੇਟ ਡ੍ਰਿਫਟ" ਘਟਾਉਂਦਾ ਹੈ ਜਿੱਥੇ ਮਾਡਲ ਦੀ ਕਥਾ ਹਕੀਕਤ ਤੋਂ ਹਟ ਜਾਂਦੀ ਹੈ।
{
"request_id": "TRV-10482",
"workflow": "travel_reimbursement_v3",
"current_step": "finance_review",
"step_status": {
"submission": "complete",
"manager_review": "approved",
"finance_review": "pending",
"payment": "not_started"
},
"actors": {
"employee_id": "E-2291",
"manager_id": "M-104",
"finance_queue": "FIN-AP"
},
"amount": 842.15,
"currency": "USD",
"submitted_at": "2025-12-12T14:03:22Z",
"last_state_update": "2025-12-13T09:18:05Z",
"flags": {
"receipt_missing": false,
"policy_exception_requested": true,
"needs_escalation": false
}
}
ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਸਨੈਪਸ਼ਾਟ ਨਾਲ, ਮਾਡਲ ਲਗਾਤਾਰ ਰਹਿ ਸਕਦਾ ਹੈ: ਇਹ ਫਿਰੋਂ ਮੈਨੇਜਰ ਮਨਜ਼ੂਰੀ ਨਹੀਂ ਮੰਗੇਗਾ, ਫਾਇਨੈਂਸ ਚੈੱਕਾਂ 'ਤੇ ਧਿਆਨ ਦੇਵੇਗਾ, ਅਤੇ ਆਪਣੀ ਵਿਆਖਿਆ ਮੌਜੂਦਾ ਫਲੈਗਾਂ ਅਤੇ ਕਦਮ ਦੇ ਅਨੁਸਾਰ ਦੇਵੇਗਾ।
ਇੱਕ ਚੰਗਾ ਪ੍ਰੰਪਟ ਸਿਰਫ਼ ਇੱਕ ਜਵਾਬ ਨਹੀਂ ਮੰਗਦਾ—ਇਹ ਇਹ ਵੀ ਸੈੱਟ ਕਰਦਾ ਹੈ ਕਿ ਮਾਡਲ ਤੁਹਾਡੇ ਨਿਯਮ ਕਿਵੇਂ ਲਾਗੂ ਕਰੇ ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਕਿਵੇਂ ਰਿਪੋਰਟ ਕਰੇ। ਮਕਸਦ ਦੁਹਰਾਏ ਜਾਣਯੋਗ ਫੈਸਲੇ ਹਨ, ਨਾ ਕਿ ਰਚਨਾਤਮਕ ਰਚਨਾ।
ਮਾਡਲ ਨੂੰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਭੂਮਿਕਾ ਦਿਓ ਜੋ ਤੁਹਾਡੇ ਪ੍ਰਕਿਰਿਆ ਨਾਲ ਜੁੜੀ ਹੋਵੇ। ਤਿੰਨ ਰੋਲ ਇੱਕਠੇ ਚੰਗੇ ਕੰਮ ਕਰਦੇ ਹਨ:
ਤੁਸੀਂ ਇਨ੍ਹਾਂ ਨੂੰ ਕ੍ਰਮਵਾਰ ਚਲਾ ਸਕਦੇ ਹੋ ("analyst → validator → agent") ਜਾਂ ਇੱਕ ਸੰਰਚਿਤ ਜਵਾਬ ਵਿੱਚ ਸਾਰੇ ਤਿੰਨੇ ਅੰਸ਼ ਮੰਗ ਸਕਦੇ ਹੋ।
"ਚੇਨ-ਆਫ-ਥਾਟ" ਮੰਗਣ ਦੀ ਥਾਂ, ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਕਦਮ ਅਤੇ ਆਰਟਿਫੈਕਟ ਨਿਰਧਾਰਤ ਕਰੋ:
ਇਹ ਮਾਡਲ ਨੂੰ ਗਠਿਤ ਰੱਖਦਾ ਹੈ ਅਤੇ ਡਿਲਿਵਰੇਬਲ 'ਤੇ ਧਿਆਨ ਰੱਖਦਾ ਹੈ: ਕਿਸ ਨਿਯਮ ਵਰਤੇ ਗਏ ਅਤੇ ਅਗਲਾ ਨਤੀਜਾ ਕੀ ਹੈ।
ਫ੍ਰੀ-ਫਾਰਮ ਵਿਆਖਿਆਵਾਂ ਡ੍ਰਿਫਟ ਕਰਦੀਆਂ ਹਨ। ਇੱਕ ਸੰਖੇਪ ਵਾਜਬੀ ਮੰਗੋ ਜੋ ਸਰੋਤਾਂ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰੇ:
ਇਸ ਨਾਲ ਸਮੀਖਿਆ ਤੇ ਡਿਬੱਗਿੰਗ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ।
ਹਰ ਵੇਰ ਜਾਂ ਟਾਈਮ 'ਤੇ ਇੱਕ ਫਿਕਸਡ ਟੈਮਪਲੇਟ ਵਰਤੋ:
ਟੈਮਪਲੇਟ ਅਸਪਸ਼ਟਤਾ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਮਾਡਲ ਨੂੰ ਗੈਰ-ਜਵਾਬੱਦਹ ਪੱਧਰ 'ਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਗੈਪਾਂ ਸੁਪਰਪਾੜਨ ਲਈ ਉਤਸ਼ਾਹਤ ਕਰਦਾ ਹੈ।
ਇੱਕ LLM ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਜਵਾਬ ਲਿਖ ਸਕਦਾ ਹੈ ਭਾਵੇਂ ਇਹ ਜ਼ਰੂਰੀ ਤੱਥਾਂ ਤੋਂ ਵੰਨ੍ਹ ਹੋਵੇ। ਇਹ ਡਰਾਈਵ-ਡ੍ਰਾਫਟ ਲਈ ਲਾਭਦਾਇਕ ਹੈ, ਪਰ ਕਾਰੋਬਾਰੀ-ਨਿਯਮ ਫੈਸਲਿਆਂ ਲਈ ਖ਼ਤਰਨਾਕ। ਜੇ ਮਾਡਲ ਨੂੰ ਕਿਸੇ ਖਾਤੇ ਦੀ ਸਥਿਤੀ, ਗ੍ਰਾਹਕ ਦੀ ਰੈਂਕ, ਖੇਤਰੀ ਟੈਕਸ ਦਰ, ਜਾਂ ਇਹ ਕਿ ਕਿਸੀ ਸੀਮਾ ਤੱਕ ਪਹੰਚ ਚੁੱਕੀ ਹੈ ਬਾਰੇ ਅਨੁਮਾਨ ਲਗਾਉਣਾ ਪਵੇਗਾ, ਤਾਂ ਤੁਸੀਂ ਯਕੀਨੀ-ਦਾ-ਦਿੱਖੇ ਗਲਤੀਆਂ ਪਾਵੋਗੇ।
ਟੂਲ ਇਹ ਸਮੱਸਿਆ ਨੂੰ ਦੋ ਕਦਮ ਬਣਾਉਂਦੇ ਹਨ: ਪਹਿਲਾਂ ਸਬੂਤ ਲੈਓ, ਫਿਰ ਫੈਸਲਾ ਕਰੋ।
ਨੀਯਮ ਅਤੇ ਵਰਕਫਲੋ-ਭਾਰ ਸਿਸਟਮਾਂ ਵਿੱਚ ਕੁਝ ਸਧਾਰਨ ਟੂਲ ਬਹੁਤ ਕੁਝ ਕਰ ਲੈਂਦੇ ਹਨ:
ਕੰਜੀ ਇਹ ਹੈ ਕਿ ਮਾਡਲ ਕਾਰਯਕਾਰੀ ਤੱਥ "ਪੇਸ਼" ਨਹੀਂ ਕਰ ਰਿਹਾ—ਇਹ ਉਹਨਾਂ ਨੂੰ ਮੰਗ ਰਿਹਾ ਹੈ।
ਭਾਵੇਂ ਤੁਸੀਂ ਸਾਰੀਆਂ ਨੀਤੀਆਂ ਸੈਂਟਰਲ ਸਟੋਰ ਵਿੱਚ ਰੱਖੋ, ਤੁਸੀਂ ਅਕਸਰ ਸਾਰੀ ਲਿਖਤ ਨੂੰ ਪ੍ਰੰਪਟ ਵਿੱਚ ਪੇਸਟ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ। ਰੀਟਰੀਵਲ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਸਿਰਫ਼ ਉਸ ਸਮੇਂ ਲਈ ਮਹੱਤਵਪੂਰਨ ਫਰੈਗਮੈਂਟਸ ਚੁਣੇ ਜਾਣ—for example:
ਇਸ ਨਾਲ ਵਿਦਵੰਸ ਵਿਰੋਧ ਘਟਦੇ ਹਨ ਅਤੇ ਮਾਡਲ ਪੁਰਾਣੇ ਨੀਯਮ ਦੀ ਅਗਿਆਤਪੂਰਵਕ ਪਾਲਣਾ ਕਰਨ ਤੋਂ ਰੁਕਦਾ ਹੈ।
ਇੱਕ ਭਰੋਸੇਯੋਗ ਪੈਟਰਨ ਇਹ ਹੈ ਕਿ ਟੂਲ ਨਤੀਜੇ ਨੂੰ ਉਹ ਸਬੂਤ ਠਹਿਰਾਓ ਜਿਨ੍ਹਾਂ ਨੂੰ ਮਾਡਲ ਆਪਣੇ ਫੈਸਲੇ ਵਿੱਚ ਉਧਰਣ ਦੇ ਕੇ ਦਰਸਾਏ। ਉਦਾਹਰਨ:
get_account(account_id) → status="past_due", plan="Business", usage_this_month=12000retrieve_policies(query="overage fee Business plan") → returns rule: “Overage fee applies above 10,000 units at $0.02/unit.”calculate_overage(usage=12000, threshold=10000, rate=0.02) → $40.00ਹੁਣ ਫੈਸਲਾ ਅਨੁਮਾਨ ਨਹੀਂ ਰਹਿੰਦਾ: ਇਹ ਖਾਸ ਇਨਪੁੱਟਾਂ 'ਤੇ ਆਧਾਰਿਤ ਨਤੀਜਾ ਹੈ ("past_due", "12,000 units", "$0.02/unit")। ਜੇ ਬਾਅਦ ਵਿਚ ਤੁਸੀਂ ਆਡੀਟ ਕਰੋ, ਤੁਹਾਨੂੰ ਪਤਾ ਚੱਲੇਗਾ ਕਿ ਕਿਹੜੇ ਤੱਥ ਅਤੇ ਕਿਸ ਨੀਤੀ ਵਰਜ਼ਨ ਨੇ ਇਹ ਨਤੀਜਾ ਦਿੱਤਾ—ਅਤੇ ਜੇ ਕੁਝ ਗਲਤ ਹੋਵੇ ਤਾਂ ਤੁਸੀਂ ਠੀਕ ਹਿੱਸਾ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ।
ਫ੍ਰੀ-ਫਾਰਮ ਟੈਕਸਟ ਲਚਕੀਲਾ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹੀ ਉਸ ਨੂੰ ਵਰਕਫਲੋ ਖਤਰੇ ਵਾਲਾ ਬਣਾਂਦਾ ਹੈ। ਮਾਡਲ ਇੱਕ "ਥੀਕ ਲੱਗਦਾ ਹੈ" ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ ਜੋ ਆਟੋਮੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ("ਮੇਰੇ ਖ਼ਿਆਲ ਵਿੱਚ ਠੀਕ ਹੈ") ਜਾਂ ਕਦਮਾਂ 'ਚ ਅਸੰਮਤ ਹੋ ਸਕਦਾ ਹੈ ("approve" ਬਨਾਮ "approved")। ਸੀਮਿਤ ਆਉਟਪੁੱਟ ਹਰ ਫੈਸਲੇ ਨੂੰ ਇੱਕ ਪੇਸ਼ਗੋਈਯੋਗ ਆਕਾਰ ਵਿੱਚ ਫ਼ਿਕਸ ਕਰ ਦਿੰਦਾ ਹੈ।
ਇੱਕ ਕਾਰਗਰ ਪੈਟਰਨ ਇਹ ਹੈ ਕਿ ਮਾਡਲ ਨੂੰ ਇੱਕ ਹੀ JSON ਔਬਜੈਕਟ ਵਿੱਚ ਜਵਾਬ ਦੇਣਾ ਹੋਵੇ ਜੋ ਤੁਹਾਡਾ ਸਿਸਟਮ ਪਾਰਸ ਕਰ ਸਕੇ ਅਤੇ ਰੂਟ ਕਰ ਸਕੇ:
{
"decision": "needs_review",
"reasons": [
"Applicant provided proof of income, but the document is expired"
],
"next_action": "request_updated_document",
"missing_info": [
"Income statement dated within the last 90 days"
],
"assumptions": [
"Applicant name matches across documents"
]
}
ਇਹ ਸੰਰਚਨਾ ਉਪਯੋਗੀ ਹੁੰਦੀ ਹੈ ਭਾਵੇਂ ਮਾਡਲ ਪੂਰਾ ਫੈਸਲਾ ਨਾ ਕਰ ਸਕੇ। missing_info ਅਤੇ assumptions ਅਣਇਸ਼ਨਤਾ ਨੂੰ ਕਾਰਵਾਈਯੋਗ ਫਾਲੋਅਪ ਵਿੱਚ ਬਦਲ ਦਿੰਦੀਆਂ ਹਨ, ਓਸ ਛੁਪੇ ਅਨੁਮਾਨ ਨੂੰ ਨਹੀਂ।
ਵੈਰੀਏਬਲਿਟੀ ਘਟਾਉਣ ਲਈ, ਮੁੱਖ ਫੀਲਡਾਂ ਲਈ ਆਗਿਆਸ਼ੁਦਾ ਮੁੱਲ (enums) ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਉਦਾਹਰਨ:
decision: approved | denied | needs_reviewnext_action: approve_case | deny_case | request_more_info | escalate_to_humanਐਨਮ ਨਾਲ, ਡਾਊਨਸਟ੍ਰੀਮ ਸਿਸਟਮ ਨੂੰ synonyms ਜਾਂ ਲਫ਼ਜ਼ਾਂ ਦੀ ਵਿਆਖਿਆ ਨਹੀਂ ਕਰਨੀ ਪੈਂਦੀ—ਓਹ ਸਿੱਧਾ ਜਾਣ-ਪਹਚਾਨ ਵਾਲੇ ਮੁੱਲਾਂ 'ਤੇ ਸ਼ਾਖਾ ਸਿਰਜਦੇ ਹਨ।
ਸਕੀਮਾਂ ਰੱਖੜੀ ਵਾਲੀਆਂ ਰੇਲਾਂ ਵਰਗੀ ਕੰਮ ਕਰਦੀਆਂ ਹਨ। ਇਹ:
reasons ਰਾਹੀਂ ਸਪੱਸ਼ਟਤਾ ਦੇ ਕੇ ਆਡੀਟ ਤੇਜ਼ ਕਰਦੀਆਂ ਹਨ।decision ਅਤੇ next_action ਤੋਂ ਟ੍ਰਿਗਰ ਹੋ ਸਕਦੇ ਹਨ।ਨਤੀਜਾ: ਘੱਟ ਅਸਪਸ਼ਟਤਾ, ਘੱਟ ਐਜ ਕੇਸ ਫੇਲਅਰ ਅਤੇ ਲਗਾਤਾਰ ਵਰਕਫਲੋ ਜਿਆਦਾ ਮੋਹਰਾ ਹੋ ਜਾਂਦਾ ਹੈ।
ਇੱਕ ਵਧੀਆ-ਪ੍ਰੰਪਟ ਕੀਤੇ ਮਾਡਲ ਵੀ "ਸਹੀ ਲੱਗਦਾ" ਹੋ ਸਕਦਾ ਹੈ ਪਰ ਗੁਪਤ ਤੌਰ 'ਤੇ ਨਿਯਮ ਤੋੜ ਸਕਦਾ ਹੈ, ਲਾਜ਼ਮੀ ਕਦਮ ਛੱਡ ਸਕਦਾ ਹੈ ਜਾਂ ਕੋਈ ਮੁੱਲ ਬਣਾਕੇ ਦੱਸ ਸਕਦਾ ਹੈ। ਵੈਰੀਫਿਕੇਸ਼ਨ ਉਹ ਸੁਰੱਖਿਆ ਜਾਲ ਹੈ ਜੋ ਇੱਕ ਸੰਭਾਵਿਤ ਜਵਾਬ ਨੂੰ ਤ ਭਰੋਸੇਯੋਗ ਫੈਸਲਾ ਬਣਾ ਦਿੰਦਾ ਹੈ।
ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਯਕੀਨੀ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਨਿਯਮ ਲਾਗੂ ਕਰਨ ਲਈ ਘੱਟੋ-ਘੱਟ ਜਾਣਕਾਰੀ ਮੌਜੂਦ ਹੈ। ਪ੍ਰੀ-ਚੈਕ ਮਾਡਲ ਦੇ ਫੈਸਲੇ ਤੋਂ ਪਹਿਲਾਂ ਚਲਾਓ।
ਆਮ ਪ੍ਰੀ-ਚੈਕਾਂ ਵਿੱਚ ਜ਼ਰੂਰੀ ਫੀਲਡ (ਗ੍ਰਾਹਕ ਕਿਸਮ, ਆਰਡਰ ਟੋਟਲ, ਖੇਤਰ), ਮੁਢਲੀ ਫਾਰਮੈਟ (ਤਾਰੀਖਾਂ, ID), ਅਤੇ ਮਨਜ਼ੂਰ-ਸੀਮਾਵਾਂ (ਨਕਾਰਾਤਮਕ ਰਕਮ ਨਹੀਂ, ਪ੍ਰਤੀਸ਼ਤ 100% ਤਕ) ਸ਼ਾਮਲ ਹਨ। ਜੇ ਕੁਝ ਫੇਲ ਹੋ ਜਾਏ, ਇੱਕ ਸਪੱਸ਼ਟ ਤੇ ਕਾਰਵਾਈਯੋਗ ਐਰਰ ਵਾਪਸ ਕਰੋ ("Missing 'region'; cannot choose tax rule set"), ਨਾ ਕਿ ਮਾਡਲ ਨੂੰ ਅਨੁਮਾਨ ਲਗਾ ਕੇ ਛੱਡੋ।
ਮਾਡਲ ਜਦੋਂ ਨਤੀਜਾ ਦਿੰਦਾ ਹੈ, ਉਸਨੂੰ ਤੁਹਾਡੇ ਨਿਯਮ ਸੈੱਟ ਦੇ ਖਿਲਾਫ ਵੈਰੀਫਾਈ ਕਰੋ।
ਧਿਆਨ ਕੇਂਦਰਿਤ ਰੱਖੋ:
ਪਹਿਲੇ ਜਵਾਬ ਨੂੰ ਦੁਬਾਰਾ-ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਇੱਕ "ਦੂਜੀ ਪਾਸ" ਰੱਖੋ। ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਦੂਜਾ ਮਾਡਲ ਕਾਲ ਜਾਂ ਉਹੀ ਮਾਡਲ ਜੇਹੇ validator-ਸਟਾਈਲ ਪ੍ਰੰਪਟ ਨਾਲ ਜੋ ਸਿਰਫ਼ ਅਨੁਕੂਲਤਾ ਦੀ ਜਾਂਚ ਕਰੇ।
ਸਾਦਾ ਪੈਟਰਨ: ਪਹਿਲਾ ਪਾਸ ਫੈਸਲਾ + ਵਾਜਬੀ ਦਿੰਦਾ ਹੈ; ਦੂਜਾ ਪਾਸ valid ਜਾਂ ਫੇਲਿਆ ਹੋਏ ਨੁਕਤੇ (ਗਾਇਬ ਫੀਲਡ, ਉਲੰਘਣ, ਅਸਪਸ਼ਟ ਨੀਤੀ ਵਿਆਖਿਆ) ਵਾਪਸ ਕਰਦਾ ਹੈ।
ਹਰ ਫੈਸਲੇ ਲਈ ਇਨਪੁੱਟ, ਵਰਤੇ ਨੀਤੀਆਂ/ਵਰਜ਼ਨ, ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਨਤੀਜੇ ਲੌਗ ਕਰੋ (ਦੂਜੇ-ਪਾਸ ਦੇ ਨਿਧਾਰਿਤ ਨਤੀਜੇ ਸਮੇਤ)। ਜਦੋਂ ਕੁਝ ਗਲਤ ਹੋਵੇ, ਤੁਸੀਂ ਠੀਕ ਢੰਗ ਨਾਲ ਮੁੜ ਉਤਪੱਦਨ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਨੀਤੀ-ਮੈਪਿੰਗ ਨੂੰ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ—ਬਿਨਾਂ ਇਹ ਅਨੁਮਾਨ ਕਰਨ ਦੇ ਕਿ ਮਾਡਲ "ਕੀ ਸੋਚ ਰਿਹਾ ਸੀ"।
LLM-ਚਾਲਿਤ ਨਿਯਮ ਅਤੇ ਵਰਕਫਲੋ ਫੀਚਰਾਂ ਦੀ ਟੈਸਟਿੰਗ ਇਹ ਨਹੀਂ ਦੇਖਦੀ ਕਿ "ਕੀ ਇਹ ਕੁਝ ਬਣਾਉਂਦਾ ਹੈ?" ਬਲਕਿ ਇਹ ਦੇਖਦੀ ਹੈ ਕਿ "ਕੀ ਇਹ ਉਹੋ ਜਿਹਾ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਜੋ ਧਿਆਨ ਨਾਲ ਕੰਮ ਕਰਨ ਵਾਲਾ ਮਨੁੱਖ ਕਰੇਗਾ, ਠੀਕ ਕਾਰਨਾਂ ਕਰਕੇ, ਹਰ ਵਾਰੀ?" ਖੁਸ਼ਖਬਰ: ਤੁਸੀਂ ਇਸਨੂੰ ਉਹੀ ਅਨੁਸ਼ਾਸਨ ਨਾਲ ਟੈਸਟ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਪਰੰਪਰਾਗਤ ਦੇcision logic ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
ਹਰ ਨਿਯਮ ਨੂੰ ਇੱਕ ਫੰਕਸ਼ਨ ਵਾਂਗ ਸੋਚੋ: ਦਿੱਤੇ ਇਨਪੁੱਟਸ 'ਤੇ ਇਹ ਇੱਕ ਨਤੀਜਾ ਦੇਵੇ ਜੋ ਤੁਸੀਂ assert ਕਰ ਸਕੋ।
ਉਦਾਹਰਨ: ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਰੀਫੰਡ ਨਿਯਮ ਹੈ "ਅਨਪੈਕਡ ਆਈਟਮਾਂ ਲਈ 30 ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਰੀਫੰਡ", ਫੋਕਸਡ ਕੇਸ ਲਿਖੋ:
ਇਹ ਯੂਨਿਟ ਟੈਸਟ off-by-one ਗਲਤੀਆਂ, ਗਾਇਬ ਫੀਲਡਾਂ ਅਤੇ ਮਾਡਲ ਦਾ "ਮਦਦਗਾਰ" ਰਵੱਈਆ ਰੁੱਖਣ ਨਹੀਂ ਦਿੰਦੇ—ਜਦੋਂ ਇਹ ਅਣਜਾਣੀਆਂ ਭਰ ਦਿੰਦਾ ਹੈ।
ਵਰਕਫਲੋ ਉਹਨਾਂ ਸਮੇਂ ਫੇਲ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਸਟੇਟ ਕਦਮਾਂ 'ਚ ਅਸਮੰਜਸ ਹੋ ਜਾਵੇ। ਦ੍ਰਿਸ਼-ਤਰੀਕਾ ਟੈਸਟ ਹਕੀਕਤੀ ਯਾਤਰਾਵਾਂ ਦੀ ਨਕਲ ਕਰਦੇ ਹਨ:
ਉਦੇਸ਼ ਇਹ ਹੈ ਕਿ ਮਾਡਲ ਮੌਜੂਦਾ ਸਟੇਟ ਦਾ ਸਤਿਕਾਰ ਕਰੇ ਅਤੇ ਕੇਵਲ ਅਨੁਮਤ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ ਹੀ ਕਰੇ।
ਅਸਲ, ਅਨੇਨੋਨაისਡ ਉਦਾਹਰਨਾਂ ਦਾ ਇੱਕ ਛੋਟਾ ਸੰਭਾਲਾ-ਡੇਟਾਸੈੱਟ ਬਣਾਓ ਜਿਸਦਾ ਨਿਰਣਯ ਤੇ ਸੰਗ੍ਰਹਿਤ ਰਾਜ਼ ਹੈ (ਛੋਟੇ ਰੈਸ਼ਨ ਦਰਜੀਕਰਨ ਅਤੇ ਸੰਖੇਪ ਨਿਆਇਕ ਕਾਰਨ). ਨੀਤੀ ਬਦਲਣ ਤੇ ਇਸਨੂੰ ਰੀਵਿਊ ਕਰੋ। 100–500 ਕੇਸਾਂ ਵਾਲਾ ਇੱਕ ਛੋਟਾ ਗੋਲਡ ਸੈੱਟ ਭਾਰੀ ਮੂਲ-ਯਥਾਰਥ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ—ਗਾਇਬ ਡੇਟਾ, ਅਜੀਬ ਵਾਕ-ਸਮੂਹ, ਬਾਰਡਰਲਾਈਨ ਫੈਸਲੇ।
ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਫੈਸਲੇ ਦੀਆਂ ਵੰਡਾਂ ਅਤੇ ਗੁਣਵੱਤਾ ਸਿਗਨਲ ਟਰੈਕ ਕਰੋ:
ਮਾਨੀਟਰਨਗ ਨੂੰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਰੋਲਬੈਕ ਨਾਲ ਜੋੜੋ: ਪਿਛਲਾ ਪ੍ਰੰਪਟ/ਨੀਤੀ ਪੈਕ ਰੱਖੋ, ਨਵੀਂ ਵਰਜਨ ਨੂੰ ਫੀਚਰ ਫਲੈਗ 'ਤੇ ਰੱਖੋ, ਅਤੇ ਮੈਟਰਿਕਾਂ ਪਿੱਛੇ ਹੋਣ 'ਤੇ ਜਲਦੀ ਵਾਪਸ ਲਿਆਉਣ ਦੀ ਯੋਜਨਾ ਰੱਖੋ। ਓਪਰੇਸ਼ਨਲ ਪਲੇਅਬੁੱਕ ਅਤੇ ਰੀਲੀਜ਼ ਗੇਟਿੰਗ ਲਈ ਵੇਖੋ /blog/validation-strategies।
ਜੇ ਤੁਸੀਂ ਉੱਪਰ ਦਿੱਤੇ ਪੈਟਰਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਤੁਸੀਂ ਮਾਡਲ ਦੇ ਚਾਰੇ-ਪਾਸੇ ਇੱਕ ਛੋਟਾ ਸਿਸਟਮ ਬਣਾਉਂਦੇ ਹੋ: ਸਟੇਟ ਸਟੋਰੇਜ, ਟੂਲ ਕਾਲ, ਰੀਟਰੀਵਲ, ਸਕੀਮਾ ਵੈਲੀਡੇਸ਼ਨ, ਅਤੇ ਵਰਕਫਲੋ ਆਰਕੈਸਟਰੇਸ਼ਨ। Koder.ai ਇੱਕ عملي ਤਰੀਕਾ ਹੈ ਜ਼ਿਆਦਾ ਤੇਜ਼ੀ ਨਾਲ ਐਸੇ ਵਰਕਫਲੋ-ਬੈਕਡ ਸਹਾਇਕ ਦੀ ਪ੍ਰੋਟੋਟਾਈਪ ਅਤੇ ਸ਼ਿਪਿੰਗ ਲਈ: ਤੁਸੀਂ ਚੈਟ ਵਿੱਚ ਵਰਕਫਲੋ ਵਰਣਨ ਕਰ ਸਕਦੇ ਹੋ, ਇੱਕ ਕੰਮ ਕਰਦਾ React ਐਪ + ਬੈਕਐਂਡ ਸਰਵਿਸਿਜ਼ (Go + PostgreSQL) ਜਨਰੇਟ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਸਨੈਪਸ਼ਾਟ ਅਤੇ ਰੋਲਬੈਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਇਟਰਟ ਕਰ ਸਕਦੇ ਹੋ।
ਇਹ ਕਾਰੋਬਾਰੀ-ਨਿਯਮ ਤਰਕ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ "ਗਾਰਡਰੇਲ" ਅਕਸਰ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ, ਨ ਕਿ ਸਿਰਫ਼ ਪ੍ਰੰਪਟ ਵਿੱਚ:
LLMs ਰੋਜ਼ਾਨਾ ਨੀਤੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਹੈਰਾਨ ਕਰਨ ਵਾਲੇ ਤੌਰ 'ਤੇ ਚੰਗੇ ਹੋ ਸਕਦੇ ਹਨ, ਪਰ ਉਹ deterministic rules engine ਦੇ ਬਰਾਬਰ ਨਹੀਂ। ਓਹਨਾਂ ਨੂੰ ਗਾਰਡਰੇਲ, ਨਹੀਂ ਸੰਪੂਰਨ ਅਧਿਕਾਰ ਦੇ ਕੇ ਇਕ ਮੱਦਦਗਾਰ ਮੰਨੋ।
ਤਿੰਨ ਫੇਲ-ਮੋਡ ਆਮ ਤੌਰ 'ਤੇ ਨਜ਼ਰ ਆਉਂਦੇ ਹਨ:
ਮਨੁੱਖੀ ਸਮੀਖਿਆ ਲਾਜ਼ਮੀ ਕਰੋ ਜਦੋਂ:
ਮਾਡਲ "ਕੁਝ ਬਣਾਉਣ" ਦੀ ਥਾਂ, ਸਪੱਸ਼ਟ ਅਗਲਾ ਕਦਮ ਨਿਯਤ ਕਰੋ:
LLMs ਨੂੰ ਨਿਯਮ-ਭਾਰੇ ਵਰਕਫਲੋਜ਼ ਵਿੱਚ ਇਸ ਵੇਲੇ ਵਰਤੋ ਜਦੋਂ ਤੁਸੀਂ ਜ਼ਿਆਦਾਤਰ ਸਵਾਲਾਂ ਦੇ 'ਹਾਂ' ਵਿੱਚ ਜਵਾਬ ਦੇ ਸਕੋ:
ਜੇ ਨਹੀਂ, ਤਾਂ ਉਨ੍ਹਾਂ ਨਿਯੰਤਰਣਾਂ ਦੇ ਹੋਣ ਤੱਕ LLM ਨੂੰ ਡ੍ਰਾਫਟ/ਸਹਾਇਕ ਭੂਮਿਕਾ ਵਿੱਚ ਰੱਖੋ।