𝗖𝗹𝗮𝘂𝗱𝗲 𝗗𝘆𝗻𝗮𝗺𝗶𝗰 𝗪𝗼𝗿𝗸𝗳𝗹𝗼𝘄𝘀: ਕੋਰੀਓਗ੍ਰਾਫਡ ਸਿਮੈਂਟਿਕ ਬਿਹੇਵੀਅਰਜ਼ ਵਜੋਂ

ਰਵਾਇਤੀ ਵਰਕਫਲੋਜ਼ (Traditional workflows) ਹਰ ਕਦਮ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਇੱਕ ਕੇਂਦਰੀ ਕੰਟਰੋਲਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਕੰਟਰੋਲਰ ਨੂੰ ਕ੍ਰਮ (sequence) ਪਤਾ ਹੁੰਦਾ ਹੈ: ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਨਾ (classify), ਟੂਲ ਕਾਲ ਕਰਨਾ (call tool), ਉਡੀਕਣਾ (wait), ਬ੍ਰਾਂਚ ਕਰਨਾ (branch), ਅਤੇ ਖਤਮ ਕਰਨਾ (finish)। ਇਹ ਭਵਿੱਖਬਾਣੀਯੋਗਤਾ (predictability) ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਇਹ ਬਹੁਤ ਸਖ਼ਤ (rigid) ਹੈ।

ਮੈਂ ਇੱਕ ਵੱਖਰਾ ਤਰੀਕਾ ਵਰਤਦਾ ਹਾਂ। ਮੇਰਾ ਸਿਸਟਮ ਕੋਰੀਓਗ੍ਰਾਫਡ ਸਿਮੈਂਟਿਕ ਬਿਹੇਵੀਅਰਜ਼ (choreographed semantic behaviors) ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇੱਕ ਕੰਟਰੋਲਰ ਦੀ ਬਜਾਏ, ਏਜੰਟ (agents) ਈਵੈਂਟਸ (events) ਨੂੰ ਪਬਲਿਸ਼ ਅਤੇ ਸਬਸਕ੍ਰਾਈਬ ਕਰਦੇ ਹਨ। ਇੱਕ ਏਜੰਟ ਨੂੰ ਪੂਰੇ ਸਿਸਟਮ ਨੂੰ ਜਾਣਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। ਇਸਨੂੰ ਸਿਰਫ਼ ਸਿਮੈਂਟਿਕ ਕੰਟਰੈਕਟ (semantic contract) ਨੂੰ ਜਾਣਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਇਹ ਇੱਕ ਹਾਈਬ੍ਰਿਡ ਮਾਡਲ ਬਣਾਉਂਦਾ ਹੈ:

  • IntentGraph ਮੈਕਰੋ ਇੰਟੈਂਸ਼ਨ (macro intention) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
  • QuarkBehavior ਸਭ ਤੋਂ ਛੋਟੀ ਸਿਮੈਂਟਿਕ ਇਕਾਈ (semantic unit) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
  • SubAgents ਈਵੈਂਟਸ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦੇ ਹਨ।
  • ProofAgents ਸਹੀ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ।
  • HealingAgents ਗਲਤ ਸਟੇਟਸ (invalid states) ਨੂੰ ਠੀਕ ਕਰਦੇ ਹਨ।
  • BenchmarkAgents ਲਾਗਤ ਅਤੇ ਲੇਟੈਂਸੀ (latency) ਨੂੰ ਮਾਪਦੇ ਹਨ।
  • Governor ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਨਤੀਜਾ ਸਵੀਕਾਰਯੋਗ ਹੈ ਜਾਂ ਨਹੀਂ।

ਇਸ ਮਾਡਲ ਵਿੱਚ, ਆਰਕੈਸਟ੍ਰੇਸ਼ਨ (orchestration) ਉੱਚ-ਪੱਧਰੀ ਇੰਟੈਂਸ਼ਨ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ। ਕੋਰੀਓਗ੍ਰਾਫੀ (choreography) ਸਥਾਨਕ ਅਨੁਕੂਲਤਾ (local adaptation) ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ। ਆਰਕੈਸਟ੍ਰੇਟਰ ਦੱਸਦਾ ਹੈ ਕਿ ਕੀ ਪ੍ਰਾਪਤ ਕਰਨਾ ਹੈ। ਏਜੰਟ ਇਹ ਖੋਜਦੇ ਹਨ ਕਿ ਈਵੈਂਟਸ 'ਤੇ ਕਿਵੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨੀ ਹੈ।

ਮੈਂ ਇਸਨੂੰ ਸਿਮੈਂਟਿਕ ਰੂਟਿੰਗ (semantic routing) ਕਹਿੰਦਾ ਹਾਂ। ਜਦੋਂ ਕੋਈ ਸੁਨੇਹਾ ਆਉਂਦਾ ਹੈ, ਤਾਂ ਸਿਸਟਮ ਇੰਟੈਂਸ਼ਨ ਨੂੰ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਦਾ ਹੈ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਫੰਕਸ਼ਨ ਕਾਲ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਇੱਕ ਵਿਵਹਾਰ (behavior) ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ, ਡੇਟਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਫਲਤਾ ਜਾਂ ਗਲਤੀ (error) ਦੇ ਈਵੈਂਟਸ ਜਾਰੀ ਕਰਦਾ ਹੈ।

ਇਹ ਆਰਕੀਟੈਕਚਰ ਕਈ ਉੱਨਤ ਪੈਟਰਨਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ:

  1. ਐਡਵਰਸੇਰੀਅਲ ਵੈਰੀਫਿਕੇਸ਼ਨ (Adversarial Verification) ਇੱਕ ਏਜੰਟ ਦੁਆਰਾ ਆਉਟਪੁੱਟ ਤਿਆਰ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਦੂਜਾ ਏਜੰਟ ਇਹ ਸਾਬਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਗਲਤ ਹੈ। ਐਡਵਰਸਰੀ (adversary) ਇੱਕ ਅਟੈਕਰ, ਇੱਕ ਕੰਪਾਈਲਰ, ਜਾਂ ਇੱਕ ਮਾਲੀਸ਼ੀਅਸ ਯੂਜ਼ਰ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਮਦਦਗਾਰ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਉਮੀਦਵਾਰ (candidate) ਨੂੰ ਤੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ।

  2. ਜਨਰੇਟ-ਐਂਡ-ਫਿਲਟਰ (Generate-and-Filter) ਸਿਸਟਮ ਕਈ ਹੱਲ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਫਿਰ ਇਹ ਉਹਨਾਂ ਨੂੰ ਡਿਟਰਮਿਨਿਸਟਿਕ ਗੇਟਾਂ (deterministic gates) ਰਾਹੀਂ ਚਲਾਉਂਦਾ ਹੈ। ਇਹ ਗੇਟ ਸਕੀਮਾ (schema), ਟਾਈਪਸ (types), ਯੂਨਿਟ ਟੈਸਟ, ਅਤੇ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ। ਜਨਰੇਸ਼ਨ ਸਸਤੀ ਹੈ। ਸਵੀਕ੍ਰਿਤੀ ਸਖ਼ਤ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।

  3. ਟੂਰਨਾਮੈਂਟ (Tournament) ਜੇਕਰ ਕੋਈ ਇੱਕ ਹੱਲ ਸਭ ਤੋਂ ਵਧੀਆ ਨਹੀਂ ਹੈ, ਤਾਂ ਮੈਂ ਇੱਕ ਟੂਰਨਾਮੈਂਟ ਕਰਦਾ ਹਾਂ। ਮੈਂ ਕਈ ਮੁਕਾਬਲੇ ਵਾਲੇ ਹੱਲ ਤਿਆਰ ਕਰਦਾ ਹਾਂ ਅਤੇ ਇੱਕ ਰੂਬਰਿਕ (rubric) ਦੇ ਅਧਾਰ 'ਤੇ ਉਹਨਾਂ ਨੂੰ ਸਕੋਰ ਕਰਦਾ ਹਾਂ। ਅਸੀਂ ਉਹਨਾਂ ਦੀ ਤੁਲਨਾ CPU ਲਾਗਤ, ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ, ਅਤੇ ਸੁਰੱਖਿਆ 'ਤੇ ਕਰਦੇ ਹਾਂ। ਇੱਕ ਟੂਰਨਾਮੈਂਟ ਸਿਰਫ਼ ਇੱਕ ਜੇਤੂ ਹੀ ਨਹੀਂ, ਸਗੋਂ ਇੱਕ ਸਕੋਰਕਾਰਡ ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

  4. ਇੰਟੈਂਟ-ਅਧਾਰਤ ਹੀਲਿੰਗ (Intent-based Healing) ਜ਼ਿਆਦਾਤਰ ਸਿਸਟਮ ਇੱਕ ਗਲਤੀ (error) ਦਿੰਦੇ ਹਨ ਅਤੇ ਰੁਕ ਜਾਂਦੇ ਹਨ। ਮੇਰਾ ਸਿਸਟਮ ਗਲਤੀ ਨੂੰ ਇੱਕ ਨਵੇਂ ਈਵੈਂਟ ਵਜੋਂ ਮੰਨਦਾ ਹੈ। ਇੱਕ ਹੀਲਿੰਗ ਏਜੰਟ ਗਲਤੀ ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰਦਾ ਹੈ, ਟ੍ਰੇਸ (trace) ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਪੇਲੋਡ (payload) ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ਕਨਵਰਜੈਂਸ (convergence) ਦਾ ਇੱਕ ਲੂਪ ਹੈ।

ਮਕਸਦ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣਾ ਨਹੀਂ ਹੈ। ਮਕਸਦ ਹਰ ਗਲਤੀ ਨੂੰ ਇੱਕ ਨਵੇਂ ਅਰਥਗਤ ਵਿਵਹਾਰ ਵਿੱਚ ਬਦਲਣਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਅਸਫਲਤਾ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਾਡੇ ਕੋਲ ਗਿਆਨ ਦੀ ਕਮੀ ਹੈ। ਅਸੀਂ ਉਸ ਅਸਫਲਤਾ ਦੀ ਵਰਤੋਂ ਇੱਕ ਨਵਾਂ ਨਿਯਮ ਬਣਾਉਣ ਲਈ ਕਰਦੇ ਹਾਂ ਤਾਂ ਜੋ ਉਹ ਗਲਤੀ ਦੁਬਾਰਾ ਕਦੇ ਨਾ ਹੋਵੇ।

ਇਹ ਕੋਡਿੰਗ ਨੂੰ ਅੰਦਾਜ਼ੇ ਲਗਾਉਣ ਵਾਲੀ ਖੇਡ ਤੋਂ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।

ਸਰੋਤ: https://dev.to/fullagenticstack/claude-dynamic-workflows-como-comportamentos-semanticos-coreografados-3enl

ਵਿਕਲਪਿਕ ਸਿੱਖਣ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi