ਮੈਂ ਇਕੱਲਾ ਕਈ ਐਪਸ ਕਿਵੇਂ ਚਲਾਉਂਦਾ ਹਾਂ: The Agent Harness
ਮੈਂ ਖੁਦ ਕਈ ਛੋਟੀਆਂ ਐਪਸ ਬਣਾਉਂਦਾ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਬਣਾਈ ਰੱਖਦਾ ਹਾਂ। ਮੇਰਾ ਕੋਈ ਸਹਿ-ਸੰਸਥਾਪਕ (cofounder), ਕੋਈ ਕਰਮਚਾਰੀ, ਜਾਂ ਕੋਈ ਕੰਟਰੈਕਟਰ ਨਹੀਂ ਹੈ। ਮੈਂ ਇੱਕ ਵਿਅਕਤੀ ਅਤੇ AI agents ਦੇ ਇੱਕ ਸਮੂਹ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ।
ਲੋਕ ਸੋਚਦੇ ਹਨ ਕਿ AI ਮੈਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਕੋਡ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਉਹ ਰਾਜ਼ ਨਹੀਂ ਹੈ।
ਰਾਜ਼ ਇਹ ਹੈ ਕਿ ਮੈਂ AI ਨੂੰ ਬਿਨਾਂ ਸਬੂਤ ਦੇ ਕਦੇ ਵੀ ਕਿਸੇ ਕੰਮ ਨੂੰ ਪੂਰਾ (done) ਨਹੀਂ ਕਹਿਣ ਦਿੰਦਾ। ਜਦੋਂ ਤੁਸੀਂ ਇਕੱਲੇ ਕੰਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਖ਼ਤਰਾ ਹੌਲੀ ਕੰਮ ਕਰਨਾ ਨਹੀਂ ਹੈ। ਖ਼ਤਰਾ ਭਰੋਸੇ ਨਾਲ ਗਲਤ ਹੋਣਾ ਹੈ।
ਇੱਕ AI ਤੁਹਾਨੂੰ ਕਹਿ ਦੇਵੇਗਾ ਕਿ ਟੈਸਟ ਪਾਸ ਹੋ ਗਏ ਹਨ, ਭਾਵੇਂ ਉਸਨੇ ਉਹਨਾਂ ਨੂੰ ਕਦੇ ਚਲਾਇਆ ਹੀ ਨਾ ਹੋਵੇ। ਉਹ ਕਹੇਗਾ ਕਿ ਇੱਕ ਫੀਚਰ ਖ਼ਤਮ ਹੋ ਗਿਆ ਹੈ ਜਦੋਂ ਉਸਨੇ ਸਿਰਫ਼ ਇੱਕ function name ਹੀ ਲਿਖਿਆ ਹੋਵੇ। ਗਲਤੀਆਂ ਫੜਨ ਲਈ ਕਿਸੇ ਸਾਥੀ ਦੇ ਬਿਨਾਂ, ਇੱਕ ਗਲਤ "looks good" ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਬਰਬਾਦ ਕਰ ਸਕਦਾ ਹੈ।
ਮੈਂ 'the harness' ਨਾਮ ਦਾ ਇੱਕ ਸਿਸਟਮ ਬਣਾਇਆ ਹੈ। ਇਹ ਝੂਠੀ ਮੁਕੰਮਲਤਾ (false completion) ਨੂੰ ਮਹਿੰਗਾ ਬਣਾ ਦਿੰਦਾ ਹੈ। ਇਹ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਵਿਸ਼ੇਸ਼ agents ਅਤੇ verification gates ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿ AI ਸੱਚ ਬੋਲ ਰਿਹਾ ਹੈ।
ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:
• Specialized Agents: ਇੱਕ ਸਹਾਇਕ ਦੀ ਬਜਾਏ, ਮੈਂ ਚਾਲੀ ਵਿਸ਼ੇਸ਼ agents ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਇੱਕ Flutter code ਦੀ ਸਮੀਖਿਆ ਕਰਦਾ ਹੈ। ਇੱਕ ਸੁਰੱਖਿਆ (security) ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਇੱਕ ਟੈਸਟ ਚਲਾਉਂਦਾ ਹੈ। ਇੱਕ ਦਾਅਵਿਆਂ ਦੀ ਅਸਲ ਤਬਦੀਲੀਆਂ ਨਾਲ ਤੁਲਨਾ ਕਰਕੇ reality audit ਕਰਦਾ ਹੈ। • Isolated Work: Agents ਵੱਖਰੇ, ਅਸਥਾਈ ਵਾਤਾਵਰਣਾਂ (environments) ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ। ਉਹ ਇੱਕ ਦੂਜੇ ਦੇ ਕੰਮ ਨੂੰ ਉਲਝਾ ਜਾਂ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ। • Redundancy: ਮੈਂ ਇੱਕ ਤਬਦੀਲੀ ਲਈ ਕਈ reviewers ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਇੱਕ reviewer ਸ਼ਾਇਦ ਕੋਈ bug miss ਕਰ ਦੇਵੇ। ਵੱਖ-ਵੱਖ ਟੀਚਿਆਂ ਵਾਲੇ ਤਿੰਨ reviewers ਅਤੇ ਇੱਕ ਸ਼ੱਕੀ (skeptic) ਉਸਨੂੰ ਲੱਭ ਲੈਣਗੇ। • Fixed Pipelines: ਹਰ ਕੰਮ ਇੱਕ ਸਖ਼ਤ ਰਸਤੇ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ:
- ਕੰਮਾਂ ਦੀ ਯੋਜਨਾ ਬਣਾਓ।
- ਤਬਦੀਲੀ ਨੂੰ ਲਾਗੂ ਕਰੋ।
- ਕੋਡ ਨੂੰ ਅਸਲ ਵਿੱਚ ਚਲਾਓ। ਮੈਂ "ਮੈਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ" ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ। ਮੈਂ ਸਿਰਫ਼ ਅਸਲ output ਹੀ ਸਵੀਕਾਰ ਕਰਦਾ ਹਾਂ।
- Reality audit. ਇੱਕ ਵੱਖਰਾ agent ਚੈੱਕ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਕੋਡ ਦਾਅਵੇ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
- Review. ਇੱਕ ਭਾਸ਼ਾ ਮਾਹਰ ਕੰਮ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।
- Verify gate. ਇੱਕ ਅੰਤਿਮ ਪਾਸ ਅਸਲ ਤਬਦੀਲੀਆਂ ਅਤੇ ਸੁਰੱਖਿਆ ਲੀਕਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਇਹ PASS ਜਾਂ REJECT ਦਿੰਦਾ ਹੈ।
ਇਹ ਸਿਸਟਮ ਉਹ ਝੂਠ ਰੋਕਦਾ ਹੈ ਜੋ ਮੈਂ ਆਪਣੇ ਆਪ ਨੂੰ ਦੱਸਦਾ ਸੀ।
"ਇਹ ਕੰਮ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ" execution stage 'ਤੇ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ। "Done" reality audit 'ਤੇ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜੇਕਰ ਕੋਡ ਸਿਰਫ਼ ਇੱਕ ਖਾਲੀ ਢਾਂਚਾ ਹੈ। "All green" ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜੇਕਰ ਕੋਈ ਚੇਤਾਵਨੀ (warning) ਲੁਕਾਈ ਗਈ ਹੋਵੇ।
ਮੈਂ ਇੱਕ ਤਿੰਨ-ਪਰਤ ਵਾਲਾ memory system ਵੀ ਵਰਤਦਾ ਹਾਂ। ਇਹ ਇੱਕ short index, long-term notes, ਅਤੇ full-text search ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ AI ਨੂੰ ਇਹ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣ ਤੋਂ ਰੋਕਦਾ ਹੈ ਕਿ ਮੈਂ ਪਹਿਲਾਂ ਚੀਜ਼ਾਂ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟ ਕੀਤਾ ਸੀ।
ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਨਿਯਮ ਇਹ ਹੈ: ਮੈਂ ਕੰਮ ਨੂੰ ਆਟੋਮੇਟ ਕਰਦਾ ਹਾਂ, ਪਰ ਮੈਂ ਕਦੇ ਵੀ ਫੈਸਲੇ ਲੈਣ ਦੀ ਪ੍ਰਕਿਰਿਆ (judgment) ਨੂੰ ਆਟੋਮੇਟ ਨਹੀਂ ਕਰਦਾ।
• ਪਬਲਿਸ਼ਿੰਗ ਮੈਨੂਅਲ ਹੈ। ਮੈਂ ਬਟਨ ਦਬਾਉਂਦਾ ਹਾਂ। • ਲਾਈਵ ਜਾਣ ਲਈ ਮੇਰੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਮੈਂ ਹਰ ਭੁਗਤਾਨ ਜਾਂ ਰਿਲੀਜ਼ ਸੈਟਿੰਗ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦਿੰਦਾ ਹਾਂ। • ਕਿਸੇ ਵੀ ਅਸਫਲਤਾ 'ਤੇ ਕੁਝ ਵੀ merge ਨਹੀਂ ਹੁੰਦਾ। ਇੱਕ ਟੁੱਟਿਆ ਹੋਇਆ build ਸਭ ਕੁਝ ਰੋਕ ਦਿੰਦਾ ਹੈ।
AI ਦਾ ਲਾਭ ਕੰਮਾਂ ਨੂੰ ਆਟੋਮੇਟ ਕਰਨ ਤੋਂ ਮਿਲਦਾ ਹੈ। ਸੁਰੱਖਿਆ ਫੈਸਲਿਆਂ ਨੂੰ ਆਟੋਮੇਟ ਕਰਨ ਤੋਂ ਇਨਕਾਰ ਕਰਨ ਤੋਂ ਆਉਂਦੀ ਹੈ।
ਜਦੋਂ ਤੁਸੀਂ ਇਕੱਲੇ ਕੰਮ ਕਰਦੇ ਹੋ, ਤੁਹਾਡਾ ਸਭ ਤੋਂ ਕੀਮਤੀ ਸਰੋਤ ਭਰੋਸਾ ਹੈ। ਤੁਹਾਨੂੰ ਭਰੋਸਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਜੋ ਤੁਸੀਂ ਸ਼ਿਪ (ship) ਕੀਤਾ ਹੈ, ਉਹ ਉਹੀ ਹੈ ਜੋ ਤੁਸੀਂ ਸ਼ਿਪ ਕਰਨ ਦਾ ਇਰਾਦਾ ਰੱਖਿਆ ਸੀ।
ਛੋਟੇ ਪੱਧਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। ਉਹ ਗਲਤੀ ਲੱਭੋ ਜੋ ਤੁਸੀਂ ਸਭ ਤੋਂ ਵੱਧ ਕਰਦੇ ਹੋ। ਇੱਕ ਅਜਿਹੀ ਚੈੱਕ (check) ਬਣਾਓ ਜੋ ਉਸ ਗਲਤੀ ਨੂੰ ਅਸੰਭਵ ਬਣਾ ਦੇਵੇ।
Source: https://dev.to/pi-maker/how-i-run-a-handful-of-apps-solo-the-agent-harness-explained-512i
Optional learning community: https://t.me/GyaanSetuAi
