ਇੱਕ ਆਟੋਨੋਮਸ ਏਜੰਟ ਲਈ ਕੋਈ ਪੁੱਲ ਰਿਕੁਐਸਟ ਨਹੀਂ ਹੁੰਦੀ
ਰਵਾਇਤੀ ਸੁਰੱਖਿਆ ਸਮੀਖਿਆਵਾਂ (security reviews) ਇੱਕ 'diff' 'ਤੇ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ। ਕੋਈ ਪੁੱਲ ਰਿਕੁਐਸਟ ਖੋਲ੍ਹਦਾ ਹੈ। ਕੋਈ ਇਸਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਕੋਡ ਉਸੇ ਕੋਡ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਿਸਦੀ ਤੁਸੀਂ ਸਮੀਖਿਆ ਕੀਤੀ ਸੀ।
ਆਟੋਨੋਮਸ ਏਜੰਟ ਇਸ ਮਾਡਲ ਨੂੰ ਤੋੜ ਦਿੰਦੇ ਹਨ।
ਇੱਕ ਏਜੰਟ ਰਨ-ਟਾਈਮ (runtime) 'ਤੇ ਯੋਜਨਾ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਟੂਲਸ (tools) ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। ਇਹ ਕਮਿਟ (commit) ਵਿੱਚ ਐਕਸ਼ਨ ਨਹੀਂ ਭੇਜਦਾ। ਇਹ ਚੱਲਦੇ ਸਮੇਂ ਐਕਸ਼ਨਾਂ ਦਾ ਫੈਸਲਾ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੀ ਸਮੀਖਿਆ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅਸਲ ਜੋਖਮ ਨੂੰ ਗੁਆ ਦਿੰਦੇ ਹੋ।
ਇੱਕ ਏਜੰਟ ਸਿਰਫ਼ ਕੋਡ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਰਨ-ਟਾਈਮ ਕੌਂਫਿਗਰੇਸ਼ਨ (runtime configuration) ਹੈ। ਇਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
• ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ (The system prompt) • ਹਾਰਨੈੱਸ ਜਾਂ ਲੂਪ (The harness or loop) • ਟੂਲ ਸਰਫੇਸ (The tool surface) • ਮੈਮੋਰੀ ਅਤੇ ਪਛਾਣ (Memory and identity) • ਨੈੱਟਵਰਕ ਐਗਰੈਸ ਪਾਲਿਸੀਆਂ (Network egress policies) • ਕੰਟੇਨਰ ਇਮੇਜਾਂ (Container images)
ਇੱਕੋ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਦੋ ਏਜੰਟ ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਦੇ ਅਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ। ਮਾਡਲ ਸਥਿਰ ਰਹਿੰਦਾ ਹੈ। ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਭ ਕੁਝ ਬਦਲ ਦਿੰਦੀ ਹੈ।
ਕਈ ਟੀਮਾਂ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ ਨੂੰ ਸਧਾਰਨ ਟੈਕਸਟ ਬਾਕਸ ਸੈਟਿੰਗਾਂ ਵਜੋਂ ਮੰਨਦੀਆਂ ਹਨ। ਉਹ ਉਹਨਾਂ ਨੂੰ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਐਡਿਟ ਕਰਦੇ ਹਨ। ਇਹ ਇੱਕ ਗਲਤੀ ਹੈ। ਇੱਕ ਸਿੰਗਲ ਲਾਈਨ ਦਾ ਬਦਲਾਅ ਗਾਰਡਰੇਲ (guardrail) ਨੂੰ ਹਟਾ ਸਕਦਾ ਹੈ। ਇੱਕ ਐਡਿਟ ਕਰਨਯੋਗ ਪ੍ਰੋਂਪਟ ਇੱਕ ਅਣ-ਸਮੀਖਿਆ ਕੋਡ ਪਾਥ (unreviewed code path) ਹੈ।
ਅਸਲ ਘਟਨਾਵਾਂ ਇਸ ਨੂੰ ਸਾਬਤ ਕਰਦੀਆਂ ਹਨ:
• ਇੱਕ ਬੋਟ ਨੇ ਹਫ਼ਤਿਆਂ ਤੱਕ ਮਕਾਨ ਮਾਲਕਾਂ ਨੂੰ ਗੈਰ-ਕਾਨੂੰਨੀ ਸਲਾਹ ਦਿੱਤੀ। • ਪ੍ਰੋਂਪਟ ਅੱਪਡੇਟ ਕਾਰਨ ਇੱਕ ਸਪੋਰਟ ਬੋਟ ਨੇ ਗਾਹਕਾਂ ਨੂੰ ਗਾਲਾਂ ਕੱਢਣੀਆਂ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤੀਆਂ। • ਮਾਲੀਸ਼ੀਅਸ ਫਾਈਲਾਂ ਨੇ ਨਿਯਮਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ ਅਦਿੱਖ ਅੱਖਰਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ।
ਇਹ ਮਾਡਲ ਦੀਆਂ ਅਸਫਲਤਾਵਾਂ ਨਹੀਂ ਸਨ। ਇਹ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਕੀਤੇ ਗਏ ਉਹ ਬਦਲਾਅ ਸਨ ਜਿਨ੍ਹਾਂ ਦੀ ਕਿਸੇ ਨੇ ਸਮੀਖਿਆ ਨਹੀਂ ਕੀਤੀ ਸੀ।
ਤੁਹਾਨੂੰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਕੋਡ ਵਾਂਗ ਮੰਨਣਾ ਚਾਹੀਦਾ ਹੈ।
ਆਪਣੇ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ ਅਤੇ ਹਾਰਨੈੱਸ ਕੌਂਫਿਗਸ ਨੂੰ ਵਰਜ਼ਨ ਕੰਟਰੋਲ (version control) ਵਿੱਚ ਰੱਖੋ। ਉਹਨਾਂ ਨੂੰ ਸਿਰਫ਼ ਪੁੱਲ ਰਿਕੁਐਸਟਾਂ ਰਾਹੀਂ ਹੀ ਬਦਲੋ। ਕੀ ਬਦਲਿਆ ਹੈ ਇਹ ਦੇਖਣ ਲਈ 'diffs' ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਆਪਣੀ ਡਿਪਲਾਈਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ ਕੰਟੈਂਟ ਹੈਸ਼ (content hash) ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਸ ਹੈਸ਼ ਵਿੱਚ ਪ੍ਰੋਂਪਟ ਵਰਜ਼ਨ, ਮਾਡਲ ID, ਅਤੇ ਕੰਟੇਨਰ ਡਾਇਜੈਸਟ (container digest) ਸ਼ਾਮਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਪ੍ਰੋਂਪਟ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਏਜੰਟ ਦੀ ਪਛਾਣ ਬਦਲ ਜਾਂਦੀ ਹੈ। ਤੁਸੀਂ ਚੁੱਪਚਾਪ ਪ੍ਰੋਂਪਟ ਨਹੀਂ ਬਦਲ ਸਕਦੇ।
ਏਜੰਟ ਸਰਫੇਸ 'ਤੇ ਡ੍ਰਿਫਟ ਡਿਟੈਕਸ਼ਨ (drift detection) ਲਾਗੂ ਕਰੋ। ਸਿਰਫ਼ ਹੋਸਟ ਦੀ ਨਿਗਰਾਨੀ ਨਾ ਕਰੋ। MCP ਸਰਵਰ ਲਿਸਟਾਂ ਅਤੇ ਉਸ ਏਜੰਟ ਲਈ ਵਿਸ਼ੇਸ਼ ਐਗਰੈਸ ਪਾਲਿਸੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ।
ਲੌਗਿੰਗ (logging) ਕਰਦੇ ਸਮੇਂ, ਇਹਨਾਂ ਦੋ ਚੀਜ਼ਾਂ ਨੂੰ ਟ੍ਰੈਕ ਕਰੋ:
• ਫੈਸਲਾ ਲੈਣ ਸਮੇਂ ਕੰਟੈਕਸਟ ਸਾਈਜ਼ (Decision-time context size): ਜਦੋਂ ਮਾਡਲ ਨੇ ਕੰਮ ਕੀਤਾ ਤਾਂ ਉਸ ਕੋਲ ਕਿੰਨੀ ਜਾਣਕਾਰੀ ਸੀ? • ਪੇਰੈਂਟ ਪ੍ਰੋਂਪਟ (The parent prompt): ਮਲਟੀ-ਏਜੰਟ ਸਿਸਟਮਾਂ ਵਿੱਚ, ਕਾਲ ਕਰਨ ਵਾਲੇ ਏਜੰਟ ਨੇ ਕੀ ਭੇਜਿਆ ਸੀ?
ਤੁਹਾਨੂੰ ਨਵੇਂ ਟੂਲਸ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਆਪਣੇ ਮੌਜੂਦਾ ਵਰਜ਼ਨ ਕੰਟਰੋਲ ਅਤੇ ਸਟ੍ਰਕਚਰਡ ਲੌਗਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਤੁਹਾਨੂੰ ਬੱਸ ਉਹਨਾਂ ਨੂੰ ਸਹੀ ਜਗ੍ਹਾ 'ਤੇ ਲਗਾਉਣ ਦੀ ਲੋੜ ਹੈ।
ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟਾਂ ਦਾ ਵਰਜ਼ਨ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਉਹਨਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰਦੇ ਹੋ? ਜਾਂ ਕੀ ਕੰਸੋਲ ਐਕਸੈਸ ਵਾਲਾ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਬਿਨਾਂ ਕਿਸੇ ਨਿਸ਼ਾਨ ਦੇ ਉਹਨਾਂ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ?
Optional learning community: https://t.me/GyaanSetuAi
