ਇੱਕ ਏਜੰਟ ਹਾਰਨੈੱਸ ਦੀ ਬਣਤਰ
ਤੁਸੀਂ ਇੱਕ ਚੈਟਬੋਟ ਬਣਾਇਆ। ਤੁਸੀਂ ਕੁਝ ਟੂਲ ਅਤੇ ਇੱਕ ਸਧਾਰਨ ਲੂਪ ਜੋੜਿਆ। ਇਹ ਇੱਕ ਡੈਮੋ ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ। ਫਿਰ ਤੁਸੀਂ ਇਸਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਲੈ ਜਾਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ ਅਤੇ ਸਭ ਕੁਝ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
ਮਾਡਲ ਪਿਛਲੇ ਕਦਮਾਂ ਨੂੰ ਭੁੱਲ ਜਾਂਦਾ ਹੈ। ਟੂਲ ਕਾਲਜ਼ (Tool calls) ਬਿਨਾਂ ਕਿਸੇ ਚੇਤਾਵਨੀ ਦੇ ਫੇਲ ਹੋ ਜਾਂਦੇ ਹਨ। ਕੰਟੈਕਸਟ ਵਿੰਡੋ (Context window) ਬੇਕਾਰ ਡੇਟਾ ਨਾਲ ਭਰ ਜਾਂਦੀ ਹੈ।
ਸਮੱਸਿਆ ਤੁਹਾਡਾ ਮਾਡਲ ਨਹੀਂ ਹੈ। ਸਮੱਸਿਆ ਇਸਦੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਹੈ।
ਇਸ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਨੂੰ ਏਜੰਟ ਹਾਰਨੈੱਸ (agent harness) ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਏਜੰਟ ਵਿਵਹਾਰ ਹੈ। ਹਾਰਨੈੱਸ ਮਸ਼ੀਨਰੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਮਾਡਲ ਨਹੀਂ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹਾਰਨੈੱਸ ਹੋ।
ਇੱਕ ਰਅਅ (raw) LLM ਨੂੰ CPU ਵਾਂਗ ਸਮਝੋ। ਇਸ ਵਿੱਚ ਕੋਈ RAM, ਕੋਈ ਡਿਸਕ, ਅਤੇ ਕੋਈ I/O ਨਹੀਂ ਹੁੰਦਾ। ਹਾਰਨੈੱਸ ਇੱਕ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਹੈ। ਇਹ ਮਾਡਲ ਨੂੰ ਉਪਯੋਗੀ ਬਣਾਉਣ ਲਈ ਮੈਮੋਰੀ, ਟੂਲ ਅਤੇ ਲੌਜਿਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਇੱਕ ਪ੍ਰੋਡਕਸ਼ਨ-ਗ੍ਰੇਡ ਹਾਰਨੈੱਸ ਦੇ ਬਾਰਾਂ ਮੁੱਖ ਹਿੱਸੇ ਹੁੰਦੇ ਹਨ:
• Orchestration Loop: ਇਹ ਦਿਲ ਦੀ ਧੜਕਣ ਹੈ। ਇਹ Thought-Action-Observation ਚੱਕਰ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਦਾ ਹੈ। • Tool Layer: ਇਹ ਹੱਥ ਹਨ। ਹਾਰਨੈੱਸ ਟੂਲ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਵੈਲੀਡੇਸ਼ਨ ਅਤੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। • Memory: ਇਸ ਵਿੱਚ ਥੋੜ੍ਹੇ ਸਮੇਂ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਸੈਸ਼ਨਾਂ ਦੌਰਾਨ ਲੰਬੇ ਸਮੇਂ ਦੀ ਸਥਿਰਤਾ (persistence) ਸ਼ਾਮਲ ਹੈ। • Context Management: ਇਹ ਡੇਟਾ ਨੂੰ ਸੰਖੇਪ ਜਾਂ ਸਾਰਾਂਸ਼ਿਤ ਕਰਕੇ ਕੰਟੈਕਸਟ ਰੋਟ (context rot) ਨੂੰ ਰੋਕਦਾ ਹੈ। • Prompt Assembly: ਇਹ ਉਹ ਸਹੀ ਇਨਪੁਟ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜੋ ਮਾਡਲ ਹਰ ਕਦਮ 'ਤੇ ਦੇਖਦਾ ਹੈ। • Output Classification: ਇਹ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਮਾਡਲ ਗੱਲ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਜਾਂ ਕਿਸੇ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ। • State Management: ਇਹ ਏਜੰਟ ਨੂੰ ਕਿਸੇ ਗਲਤੀ ਜਾਂ ਰੁਕਾਵਟ ਤੋਂ ਬਾਅਦ ਕੰਮ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। • Error Handling: ਇਹ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਫੜਦਾ ਹੈ ਤਾਂ ਜੋ ਗਲਤੀਆਂ ਵਧਦੀ ਨਾ ਜਾਣ। • Guardrails: ਇਹ ਅਸੁਰੱਖਿਅਤ ਜਾਂ ਗਲਤ ਕਾਰਵਾਈਆਂ ਨੂੰ ਰੋਕਣ ਲਈ ਟ੍ਰਿਪਵਾਇਰ (tripwires) ਵਜੋਂ ਕੰਮ ਕਰਦੇ ਹਨ। • Permission Enforcement: ਇਹ ਮਾਡਲ ਜੋ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਅਤੇ ਜੋ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ, ਉਸ ਵਿੱਚ ਅੰਤਰ ਕਰਦਾ ਹੈ। • Verification Loops: ਇਹ ਮਾਡਲ ਨੂੰ ਗੁਣਵੱਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨ ਲਈ ਆਪਣੇ ਕੰਮ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। • Agent Handoffs: ਇਹ ਪ੍ਰਬੰਧਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਏਜੰਟ ਦੂਜੇ ਨੂੰ ਕੰਮ ਕਿਵੇਂ ਸੌਂਪਦਾ ਹੈ।
ਚੰਗੀ ਇੰਜੀਨੀਅਰਿੰਗ ਦਾ ਟੀਚਾ ਹਾਰਨੈੱਸ ਨੂੰ ਜਿੰਨਾ ਹੋ ਸਕੇ ਉਨਾ ਹਲਕਾ ਰੱਖਣਾ ਹੈ। ਜਿਵੇਂ-ਜਿਵੇਂ ਮਾਡਲ ਸਮਾਰਟ ਹੁੰਦੇ ਹਨ, ਤੁਹਾਨੂੰ ਘੱਟ ਸਕੈਫੋਲਡਿੰਗ (scaffolding) ਦੀ ਲੋੜ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
ਜਦੋਂ ਤੁਹਾਡਾ ਏਜੰਟ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਮਾਡਲ ਨੂੰ ਦੋਸ਼ ਨਾ ਦਿਓ। ਆਪਣੇ ਹਾਰਨੈੱਸ ਨੂੰ ਦੇਖੋ।
Source: https://dev.to/aniruddhaadak/the-anatomy-of-an-agent-harness-1n1j
Optional learning community: https://t.me/GyaanSetuAi
