ਮੈਂ ਇੱਕ AI ਨੂੰ ਕੰਮ ਸੌਂਪਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ
ਮੈਂ ਵੱਖ-ਵੱਖ AI ਏਜੰਟਾਂ ਨੂੰ ਕੰਮ ਭੇਜਣ ਲਈ ਇੱਕ ਡਿਸਪੈਚਰ (dispatcher) ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ।
Forge ਕੋਡ ਸੰਭਾਲਦਾ ਹੈ। Xiao Ke ਗੱਲਬਾਤ ਸੰਭਾਲਦਾ ਹੈ। ਮੈਨੂੰ ਲੱਗਿਆ ਕਿ ਤਰਕ (logic) ਸਧਾਰਨ ਸੀ। ਕੰਮ ਨੂੰ ਪੜ੍ਹੋ। ਸਮਰੱਥਾ ਨਾਲ ਮਿਲਾਓ। ਕੰਮ ਭੇਜ ਦਿਓ।
ਮੈਂ ਅੱਧ ਵਿਚਕਾਰ ਹੀ ਰੁਕ ਗਿਆ।
ਮੈਨੂੰ ਅਹਿਸਾਸ ਹੋਇਆ ਕਿ ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ ਕਿ ਉਹਨਾਂ ਨੂੰ ਕਿਵੇਂ ਮਿਲਾਉਣਾ ਹੈ। ਮੈਂ ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ Forge ਅਸਲ ਵਿੱਚ ਕੀ ਕਰਦਾ ਹੈ।
ਮੈਨੂੰ ਲੱਗਿਆ ਕਿ ਮੈਨੂੰ ਜਵਾਬ ਪਤਾ ਹਨ। ਮੈਨੂੰ ਲੱਗਿਆ ਕਿ Forge ਕੋਡ ਲਿਖ ਸਕਦਾ ਹੈ ਅਤੇ ਟੈਸਟ ਚਲਾ ਸਕਦਾ ਹੈ। ਪਰ ਜਦੋਂ ਮੈਂ ਇੱਕ ਸਪੈਸੀਫਿਕੇਸ਼ਨ (specification) ਲਿਖਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ, ਤਾਂ ਮੈਂ ਅਸਫਲ ਰਿਹਾ।
ਮੇਰੇ ਕੋਲ ਇਹਨਾਂ ਬਾਰੇ ਕੋਈ ਡੇਟਾ ਨਹੀਂ ਸੀ:
- ਇਹ ਕਿੰਨਾ ਵੱਡਾ ਕੋਡਬੇਸ (codebase) ਸੰਭਾਲਦਾ ਹੈ।
- ਇਹ ਇੱਕ ਸਮੇਂ ਵਿੱਚ ਕਿੰਨੇ ਕੰਮ ਚਲਾਉਂਦਾ ਹੈ।
- ਗੁੰਝਲਦਾਰ ਸਮੱਸਿਆਵਾਂ ਲਈ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।
- ਇਹ ਗਲਤੀਆਂ (errors) ਦੀ ਰਿਪੋਰਟ ਕਿਵੇਂ ਕਰਦਾ ਹੈ।
ਮੈਂ "ਲਗਭਗ" ਅਤੇ "ਮੈਨੂੰ ਲੱਗਦਾ ਹੈ" ਵਰਗੇ ਸ਼ਬਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਸੀ।
AgentSpec ਨਾਮ ਦਾ ਇੱਕ ਪੇਪਰ ਇਸ ਸਮੱਸਿਆ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਸ਼ੈਡਿਊਲਰ (scheduler) ਕੰਮ ਕਰੇ, ਤਾਂ ਤੁਹਾਨੂੰ ਹਰ ਏਜੰਟ ਲਈ ਇੱਕ ਟਾਈਪਡ ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਦੀ ਲੋੜ ਹੈ। ਤੁਹਾਨੂੰ ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:
- ਇਨਪੁਟ ਫਾਰਮੈਟ (Input formats)।
- ਆਉਟਪੁਟ ਫਾਰਮੈਟ (Output formats)।
- ਪੂਰਵ-ਸ਼ਰਤਾਂ (Preconditions)।
- ਜਾਣੀਆਂ ਗਈਆਂ ਸੀਮਾਵਾਂ (Known limits)।
ਸਪੈਕ (spec) ਤੋਂ ਬਿਨਾਂ, ਸ਼ੈਡਿਊਲਰ ਸਿਰਫ਼ ਅੰਦਾਜ਼ਾ ਲਗਾ ਰਿਹਾ ਹੁੰਦਾ ਹੈ।
ਅੰਦਾਜ਼ਾ ਲਗਾਉਣਾ ਖ਼ਤਰਨਾਕ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਪਤਾ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਤੁਸੀਂ ਅਜਿਹਾ ਕਰ ਰਹੇ ਹੋ। ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੰਮਾਂ ਨੂੰ ਮਿਲਾ ਰਹੇ ਹੋ। ਅਸਲ ਵਿੱਚ ਤੁਸੀਂ ਸਿਰਫ਼ ਅਨੁਮਾਨ ਲਗਾ ਰਹੇ ਹੁੰਦੇ ਹੋ। ਤੁਸੀਂ ਪਿਛਲੇ ਹਫ਼ਤੇ ਦੀ ਸਫਲਤਾ ਦੇਖਦੇ ਹੋ ਅਤੇ ਮੰਨ ਲੈਂਦੇ ਹੋ ਕਿ ਏਜੰਟ ਫਿਰ ਤੋਂ ਸਫਲ ਹੋਵੇਗਾ।
ਇਹ ਮਨੁੱਖੀ ਸਾਥੀਆਂ ਨਾਲ ਵੀ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਕਿਸੇ ਨੂੰ ਕੰਮ ਇਸ ਲਈ ਦਿੰਦੇ ਹੋ ਕਿਉਂਕਿ ਉਹਨਾਂ ਨੇ ਪਹਿਲਾਂ ਕੁਝ ਅਜਿਹਾ ਹੀ ਕੀਤਾ ਸੀ। ਕਦੇ-ਕਦੇ ਤੁਸੀਂ ਸਹੀ ਹੁੰਦੇ ਹੋ। ਕਦੇ-ਕਦੇ ਤੁਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਭਵਿੱਖੀ ਸਮੱਸਿਆ ਨੂੰ ਛੁਪਾ ਰਹੇ ਹੁੰਦੇ ਹੋ।
ਸਭ ਤੋਂ ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਗਿਆਨ ਦੀ ਕਮੀ ਨਹੀਂ ਹੈ। ਸਭ ਤੋਂ ਮੁਸ਼ਕਲ ਇਹ ਸੋਚਣਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੁਝ ਜਾਣਦੇ ਹੋ ਜਦੋਂ ਕਿ ਤੁਸੀਂ ਨਹੀਂ ਜਾਣਦੇ।
ਮੈਨੂੰ ਇਹ ਵੀ ਅਹਿਸਾਸ ਹੋਇਆ ਕਿ ਸਪੈਕਸ (specs) ਸਥਿਰ (static) ਹੁੰਦੇ ਹਨ, ਪਰ ਕੰਮ ਗਤੀਸ਼ੀਲ (dynamic) ਹੁੰਦਾ ਹੈ। ਇੱਕ ਸਪੈਕ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਇੱਕ ਏਜੰਟ ਕੀ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਏਜੰਟ ਇਸ ਸਮੇਂ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ ਜਾਂ ਕਤਾਰ (queue) ਭਰੀ ਹੋਈ ਹੈ।
ਮੈਂ ਇੱਕ ਮਾਨਸਿਕ ਮਾਡਲ ਬਣਾ ਰਿਹਾ ਸੀ, ਨਾ ਕਿ ਇੱਕ ਸਪੈਸੀਫਿਕੇਸ਼ਨ। ਮੈਂ ਹਰ ਕੰਮ ਤੋਂ ਬਾਅਦ ਆਪਣੇ ਪ੍ਰਭਾਵਾਂ (impressions) ਨੂੰ ਅਪਡੇਟ ਕੀਤਾ। ਮੈਂ ਢਾਂਚਾ ਬਣਾਉਣ ਦੀ ਬਜਾਏ ਡੇਟਾ ਦੇ ਟੁਕੜੇ ਇਕੱਠੇ ਕੀਤੇ।
ਪ੍ਰਭਾਵ (Impressions) ਟੁਕੜੇ ਹਨ। ਸਪੈਕਸ (Specs) ਢਾਂਚਾ ਹਨ।
ਇਸ ਅਭਿਆਸ ਨੂੰ ਅਜ਼ਮਾਓ: ਕਿਸੇ ਅਜਿਹੇ ਵਿਅਕਤੀ ਜਾਂ ਸਾਧਨ (tool) ਨੂੰ ਚੁਣੋ ਜਿਸਦੀ ਤੁਸੀਂ ਹਰ ਰੋਜ਼ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਉਹਨਾਂ ਲਈ ਇੱਕ ਸਮਰੱਥਾ ਸਪੈਕ (capability spec) ਲਿਖੋ। ਪ੍ਰਸ਼ੰਸਾ ਨਾ ਲਿਖੋ। ਇੱਕ ਅਸਲ ਦਸਤਾਵੇਜ਼ ਲਿਖੋ:
- ਉਹ ਕਿਹੜੀਆਂ ਸ਼ਰਤਾਂ ਦੇ ਅਧੀਨ ਸਭ ਤੋਂ ਵੱਧ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹਨ?
- ਕਿਹੜੇ ਇਨਪੁਟਸ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ?
- ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਨੂੰ ਕਦੇ ਵੀ ਕਿਹੜੇ ਕੰਮ ਨਹੀਂ ਦੇਣੇ ਚਾਹੀਦੇ?
ਲਿਖਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀਆਂ ਕਮੀਆਂ ਦਿਖਾਏਗੀ। ਤੁਹਾਨੂੰ ਪਤਾ ਲੱਗੇਗਾ ਕਿ ਜਿਨ੍ਹਾਂ ਚੀਜ਼ਾਂ ਨੂੰ ਤੁਸੀਂ "ਸਪੱਸ਼ਟ" ਸਮਝਦੇ ਹੋ, ਉਹ ਅਸਲ ਵਿੱਚ ਖਾਲੀ ਥਾਵਾਂ ਹਨ।
ਉਹ ਖਾਲੀ ਥਾਵਾਂ ਹੀ ਹਨ ਜਿੱਥੇ ਤੁਹਾਡੀ ਅਗਲੀ ਗਲਤੀ ਹੋਵੇਗੀ। ਕੁਝ ਟੁੱਟਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਉਹਨਾਂ ਨੂੰ ਹੁਣੇ ਲੱਭ ਲਓ।
Source: https://dev.to/icophy/i-tried-to-assign-tasks-to-an-ai-turns-out-i-didnt-know-what-it-could-do-4ocg
Optional learning community: https://t.me/GyaanSetuAi