ਇੰਜੀਨੀਅਰਾਂ ਦੀ ਇੱਕ ਟੀਮ ਨੇ ਇੱਕ ਫੇਲ-ਕਲੋਜ਼ਡ (fail-closed) ਨੈੱਟਵਰਕਿੰਗ ਲੇਅਰ ਪੇਸ਼ ਕੀਤੀ ਹੈ ਜੋ ਖੁਦਮੁਖਤਿਆਰ AI ਏਜੰਟਾਂ ਨੂੰ ਇਕਸਾਰਤਾ ਗੁਆਏ ਬਿਨਾਂ ਕਲਾਉਡ ਸੀਮਾਵਾਂ ਦੇ ਪਾਰ ਕੰਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ। ਪ੍ਰੋਟੋਟਾਈਪ ਨੇ 82 ਜਾਣਬੁੱਝ ਕੇ ਪੈਦਾ ਕੀਤੇ ਗਏ ਕਾਓਸ ਚੱਕਰਾਂ (chaos cycles) ਦਾ ਸਾਹਮਣਾ ਕੀਤਾ, ਜਿਸ ਵਿੱਚ ਸਿੰਗਲ-ਇਫੈਕਟ (single-effect) ਘਟਨਾਵਾਂ ਲਈ 100% ਸਫਲਤਾ ਦਰ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਅਤੇ ਪਾਵਰ ਕੱਟ ਹੋਣ 'ਤੇ ਵੀ ਡੁਪਲੀਕੇਟ ਅਪਡੇਟਸ ਨੂੰ ਖਤਮ ਕਰ ਦਿੱਤਾ।

ਨਵਾਂ ਕੋਆਰਡੀਨੇਸ਼ਨ ਮੋਡਲ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ

ਮਲਟੀਪਲ ਕਲਾਉਡਾਂ 'ਤੇ ਭਾਸ਼ਾ-ਮਾਡਲ-ਅਧਾਰਿਤ ਏਜੰਟਾਂ ਨੂੰ ਤੈਨਾਤ ਕਰਨ ਨਾਲ ਇੱਕ ਕਮਜ਼ੋਰੀ ਸਾਹਮਣੇ ਆਈ: ਜਦੋਂ ਨੈੱਟਵਰਕ ਪਾਰਟੀਸ਼ਨ ਹੁੰਦਾ ਹੈ ਜਾਂ ਕੋਈ ਸਰਵਿਸ ਕੋਟਾ ਪੂਰਾ ਕਰ ਲੈਂਦੀ ਹੈ, ਤਾਂ ਸਟੈਂਡਰਡ RPC ਕਾਲਾਂ ਟੁੱਟ ਜਾਂਦੀਆਂ ਹਨ। ਉਹਨਾਂ ਪਲਾਂ ਵਿੱਚ ਇੱਕ ਏਜੰਟ ਅਣਪ੍ਰਮਾਣਿਤ ਅੰਦਾਜ਼ੇ 'ਤੇ ਕਾਰਵਾਈ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸਾਂਝੀ ਸਟੇਟ (shared state) ਖਰਾਬ ਹੋ ਸਕਦੀ ਹੈ। ਨਵਾਂ ਆਰਕੀਟੈਕਚਰ ਹਰ ਕਾਰਵਾਈ ਲਈ ਕਿਸੇ ਵੀ ਕੰਪੋਨੈਂਟ ਦੁਆਰਾ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪ੍ਰੂਫ (cryptographic proof) ਲੈਣਾ ਲਾਜ਼ਮੀ ਬਣਾਉਂਦਾ ਹੈ, ਜੋ "ਡਿਫੌਲਟ ਵਜੋਂ ਭਰੋਸਾ" ਨੂੰ "ਸਿਰਫ਼ ਸਾਬਤ ਹੋਣ 'ਤੇ ਹੀ ਭਰੋਸਾ" ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।

ਪੰਜ ਗਵਰਨੈਂਸ ਨਿਯਮ ਜੋ ਏਜੰਟਾਂ ਨੂੰ ਸਿੰਕ (sync) ਰੱਖਦੇ ਹਨ

  1. ਟ੍ਰਾਂਜੈਕਸ਼ਨਲ ਇੰਜੈਸਸ਼ਨ (Transactional ingestion) – ਐਟੋਮਿਸੀਟੀ (atomicity) ਦੀ ਗਾਰੰਟੀ ਦੇਣ ਲਈ ਸਾਰੀਆਂ ਸਟੇਟ ਤਬਦੀਲੀਆਂ ਨੂੰ ਇੱਕ ਸਿੰਗਲ PostgreSQL ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਵਿੱਚ ਲਪੇਟੋ।
  2. ਕੈਨੋਨੀਕਲ ਐਨਵੈਲਪ (Canonical envelope) – ਹਰ ਮੈਸੇਜ ਲਈ ਇੱਕ ਨਿਸ਼ਚਿਤ 10-ਟਪਲ (10-tuple) ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜਿਸ ਨਾਲ ਪਾਰਸਿੰਗ ਅਤੇ ਵੈਲੀਡੇਸ਼ਨ ਨਿਰਧਾਰਤ (deterministic) ਬਣ ਜਾਂਦੀ ਹੈ।
  3. ਅਥਾਰਟੀ ਵੱਖ ਕਰਨਾ (Authority separation) – ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ Git ਵਿੱਚ ਰੱਖੋ ਜਦੋਂ ਕਿ ਡੇਟਾਬੇਸ ਮਾਈਗ੍ਰੇਸ਼ਨ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਵਰਜ਼ਨ ਕਰੋ, ਤਾਂ ਜੋ ਅਚਾਨਕ ਕ੍ਰਾਸ-ਕੰਟੈਮੀਨੇਸ਼ਨ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕੇ।
  4. ਸਮਾਂ-ਸੀਮਤ ਲੌਕਸ (Time-bound locks) – ਕਿਸੇ ਕੰਮ (task) 'ਤੇ ਦਾਅਵੇ ਨੂੰ ਆਪਣੇ ਆਪ ਖਤਮ ਹੋਣ ਦਿਓ, ਤਾਂ ਜੋ ਕੋਈ ਰੁਕਿਆ ਹੋਇਆ ਏਜੰਟ ਪਾਈਪਲਾਈਨ ਨੂੰ ਨਾ ਰੋਕੇ।
  5. ਫੇਲ-ਕਲੋਜ਼ਡ ਡਿਫੌਲਟ (Fail-closed default) – ਕਿਸੇ ਵੀ ਦਾਅਵੇ ਨੂੰ ਜਿਸ ਵਿੱਚ ਪ੍ਰਮਾਣਿਤ ਪ੍ਰੂਫ ਦੀ ਕਮੀ ਹੈ, ਉਸਨੂੰ HOLD ਵਜੋਂ ਮਾਰਕ ਕਰੋ, ਜਿਸ ਨਾਲ ਡਾਊਨਸਟ੍ਰੀਮ ਏਜੰਟਾਂ ਨੂੰ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣ ਦੀ ਬਜਾਏ ਉਡੀਕ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਜਾ ਸਕੇ।

ਮਿਲ ਕੇ ਇਹ ਨਿਯਮ ਇੱਕ ਜ਼ੀਰੋ-ਟਰਸਟ ਕੰਟਰੈਕਟ (zero-trust contract) ਬਣਾਉਂਦੇ ਹਨ: ਜੇਕਰ ਤੁਸੀਂ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਤੌਰ 'ਤੇ ਸਾਬਤ ਨਹੀਂ ਕਰ ਸਕਦੇ ਕਿ ਕੋਈ ਕਾਰਵਾਈ ਹੋਈ ਹੈ, ਤਾਂ ਸਿਸਟਮ ਉਸ 'ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਤੋਂ ਇਨਕਾਰ ਕਰ ਦਿੰਦਾ ਹੈ।

10-ਟਪਲ ਐਨਵੈਲਪ ਜੋ ਪ੍ਰੂਫ ਲੈ ਕੇ ਜਾਂਦਾ ਹੈ

ਅੰਦਰੂਨੀ ਬੱਸ 'ਤੇ ਹਰ ਹੈਂਡਆਫ ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ:

  • event_id – originating event ਲਈ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰ
  • effect_id – ਬੇਨਤੀ ਕੀਤੀ ਜਾ ਰਹੀ ਸਟੇਟ ਤਬਦੀਲੀ ਦਾ ਆਈਡੈਂਟੀਫਾਇਰ
  • log_id – ਆਡਿਟ ਟ੍ਰੇਲ ਐਂਟਰੀ ਦਾ ਹਵਾਲਾ
  • producer_id – ਸੋਰਸ ਏਜੰਟ ਦੀ ਪਛਾਣ
  • schema_version – ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੇ ਜਾ ਰਹੇ ਮੈਸੇਜ ਸਕੀਮਾ ਦਾ ਵਰਜ਼ਨ
  • session_epoch – ਇੱਕ ਸੈਸ਼ਨ ਦੇ ਅੰਦਰ ਕ੍ਰਮਬੱਧਤਾ ਲਈ ਲੌਜੀਕਲ ਕਲਾਕ
  • destination – ਟਾਰਗੇਟ ਏਜੰਟ ਜਾਂ ਸਰਵਿਸ
  • route_status – ਮੌਜੂਦਾ ਰੂਟਿੰਗ ਸਟੇਟ (ਜਿਵੇਂ ਕਿ pending, held)
  • issued_at – ਬਣਾਉਣ ਦਾ ਟਾਈਮਸਟੈਂਪ
  • payload_digest – ਪੇਲੋਡ ਦਾ HMAC-ਸੀਲਡ ਹੈਸ਼ (HMAC-sealed hash)

ਡਾਇਜੈਸਟ ਇੱਕ ਸੀਕਰੇਟ ਕੀ (secret key) ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਕਿਸੇ ਵੀ ਕਲਾਉਡ ਵਰਕਸਪੇਸ ਫੋਲਡਰ ਤੋਂ ਬਾਹਰ ਸਟੋਰ ਕੀਤੀ ਹੁੰਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਇੱਕ ਕੰਪ੍ਰੋਮਾਈਜ਼ਡ ਕੰਪਿਊਟ ਨੋਡ ਇੱਕ ਵੈਧ ਮੈਸੇਜ ਤਿਆਰ (forge) ਨਹੀਂ ਕਰ ਸਕਦਾ।

ਤਣਾਅ ਦੇ ਅਧੀਨ ਸਿਸਟਮ ਨੇ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ

ਇੰਜੀਨੀਅਰਾਂ ਨੇ 82 ਕਾਓਸ ਚੱਕਰ ਚਲਾਏ। ਨਤੀਜੇ ਸਨ:

  • 100% ਸਫਲਤਾ ਉਹਨਾਂ ਘਟਨਾਵਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਨੇ ਇੱਕ ਸਿੰਗਲ ਪ੍ਰਭਾਵ ਪੈਦਾ ਕੀਤਾ; ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਜਾਂ ਤਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਮਿਟ ਹੋਈ ਜਾਂ ਸਾਫ਼ ਤਰੀਕੇ ਨਾਲ ਰੋਲਬੈਕ ਹੋ ਗਈ।
  • ਪਾਵਰ ਕੱਟ ਦੌਰਾਨ ਜ਼ੀਰੋ ਡੁਪਲੀਕੇਟ ਤਬਦੀਲੀਆਂ, ਜੋ ਇਸ ਗੱਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀਆਂ ਹਨ ਕਿ ਟ੍ਰਾਂਜੈਕਸ਼ਨਲ ਬਾਊਂਡਰੀ ਨੇ ਅਧੂਰੇ ਲਿਖਣ (partial writes) ਨੂੰ ਰੋਕਿਆ।
  • ਤੇਜ਼ ਲੌਕ ਰਿਕਵਰੀ, ਖੁਦਮੁਖਤਿਆਰ ਕਲੀਨਅੱਪ ਏਜੰਟਾਂ ਦੀ ਮਦਦ ਨਾਲ ਜੋ ਖਤਮ ਹੋ ਚੁੱਕੇ ਦਾਅਵਿਆਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ ਅਤੇ ਮਨੁੱਖੀ ਦਖਲਅੰਦਾਜ਼ੀ ਤੋਂ ਬਿਨਾਂ ਉਹਨਾਂ ਨੂੰ ਰਿਲੀਜ਼ ਕਰਦੇ ਹਨ।

ਆਰਕੀਟੈਕਟਾਂ ਲਈ ਵਿਵਹਾਰਕ ਸੁਝਾਅ

  • ਅਣਪ੍ਰਮਾਣਿਤ (unauthenticated) ਵੈੱਬਹੁਕਸ ਨੂੰ HMAC ਦੁਆਰਾ ਸੀਲ ਕੀਤੇ ਲੌਗਸ ਨਾਲ ਬਦਲੋ; ਸੀਲ ਫੇਲ-ਕਲੋਜ਼ਡ ਨਿਯਮ ਦੁਆਰਾ ਲੋੜੀਂਦੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪ੍ਰੂਫ ਵਜੋਂ ਕੰਮ ਕਰਦੀ ਹੈ।
  • ਸੀਕਰੇਟ ਕੀਜ਼ (secret keys) ਨੂੰ ਇੱਕ ਵੌਲਟ (vault) ਵਿੱਚ ਸਟੋਰ ਕਰੋ ਜੋ ਕਿਸੇ ਵੀ ਕੰਟੇਨਰ ਜਾਂ VM ਇਮੇਜ ਦੇ ਅੰਦਰ ਮਾਊਂਟ ਨਹੀਂ ਹੈ।
  • ਹਲਕੇ ਏਜੰਟ (lightweight agents) ਤੈਨਾਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਦਾ ਇਕਲੌਤਾ ਉਦੇਸ਼ ਖਤਮ ਹੋ ਚੁੱਕੇ ਲੌਕਸ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਹੈ; ਇਹ ਪ੍ਰਾਇਮਰੀ ਏਜੰਟ ਦੇ ਕ੍ਰੈਸ਼ ਹੋਣ 'ਤੇ ਸਿਸਟਮ ਨੂੰ ਰੁਕਣ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।

ਅੱਗੇ ਕੀ ਦੇਖਣਾ ਹੈ

ਇਹ ਪਹੁੰਚ HMAC ਕੀਜ਼ ਦੀ ਗੁਪਤਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ; ਆਪਣੀਆਂ ਸੀਕਰੇਟ ਕੀਜ਼ ਨੂੰ ਕਲਾਉਡ ਵਰਕਸਪੇਸ ਫੋਲਡਰਾਂ ਤੋਂ ਬਾਹਰ ਰੱਖੋ।

ਜੇਕਰ ਭਾਈਚਾਰਾ ਇਹਨਾਂ ਦੋਵਾਂ ਮੋਰਚਿਆਂ 'ਤੇ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ, ਤਾਂ ਫੇਲ-ਕਲੋਜ਼ਡ ਖੁਦਮੁਖਤਿਆਰ ਨੈੱਟਵਰਕ ਕਿਸੇ ਵੀ ਅਜਿਹੀ ਮਲਟੀ-ਏਜੰਟ ਤੈਨਾਤੀ (multi-agent deployment) ਲਈ ਡਿਫੌਲਟ ਬਣ ਸਕਦੇ ਹਨ ਜੋ ਅਸੰਗਤਤਾ ਦੇ ਇੱਕ ਸਿੰਗਲ ਪੁਆਇੰਟ ਨੂੰ ਬਰਦਾਸ਼ਤ ਨਹੀਂ ਕਰ ਸਕਦੀ।