![]()
ਇਸ ਕੋਰਸ ਤੱਕ ਤੁਸੀਂ ਐਜੰਟ ਬਣਾਏ ਹਨ ਜੋ ਤੁਹਾਡੇ ਲੈਪਟਾਪ ‘ਤੇ ਚੱਲਦੇ ਹਨ, ਨੋਟਬੁੱਕ ਵਿੱਚ, az login ਅਤੇ ਕੁਝ ਵਾਤਾਵਰਣ ਵਾਲੇ ਵੈਰੀਏਬਲਾਂ ਨਾਲ চালਿਤ। ਇਹ ਸਿੱਖਣ ਦਾ ਬਿਲਕੁਲ ਸਹੀ ਤਰੀਕਾ ਹੈ। ਇਹ ਉਹ ਸਹੀ ਤਰੀਕਾ ਨਹੀਂ ਹੈ ਜਦੋਂ ਹਜ਼ਾਰਾਂ ਗਾਹਕ 3 ਵਜੇ ਰਾਤ ਨੂੰ ਇਸ ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ।
ਇਹ ਪਾਠ ‘ਇਹ ਮੇਰੇ ਮਸ਼ੀਨ ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ’ ਅਤੇ ‘ਇਹ ਉਤਪਾਦਨ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਅਤੇ ਸੁਲਭ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ’ ਦੇ ਵਿਚਕਾਰ ਖਾਈ ਬਾਰੇ ਹੈ। ਅਸੀਂ ਇਸ ਖਾਈ ਨੂੰ ਮਾਇਕ੍ਰੋਸਾਫਟ ਫਾਊਂਡਰੀ ਅਤੇ ਮਾਇਕ੍ਰੋਸਾਫਟ ਫਾਊਂਡਰੀ ਏਜੰਟ ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੰਦ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਅਸੀਂ ਇੱਕ ਅਸਲੀ ਗਾਹਕ ਸਹਾਇਤਾ ਏਜੰਟ ਬਣਾਉਂਦੇ ਹਾਂ ਜਿਸ ਵਿੱਚ ਟੂਲ, ਰਿਟਰੀਵਲ, ਯਾਦ, ਮੁਲਾਂਕਣ ਅਤੇ ਨਿਗਰਾਨੀ ਸ਼ਾਮਿਲ ਹੁੰਦੀ ਹੈ।
ਇਹ ਪਾਠ ਕਵਰ ਕਰੇਗਾ:
ਇਸ ਪਾਠ ਨੂੰ ਪੂਰਾ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਜਾਣੋਂਗੇ ਕਿ ਕਿਵੇਂ:
ਇਹ ਪਾਠ فرض ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਪਹਿਲੇ ਪਾਠਪੁਸਤਕ ਪੂਰੇ ਕਰ ਚੁੱਕੇ ਹੋ ਅਤੇ ਤੁਹਾਨੂੰ ਆਮ ਤੌਰ ‘ਤੇ ਆਗਾਹੀ ਹੈ:
ਤੁਹਾਨੂੰ ਨੀਵੇਂ ਵੀ ਲੋੜੀਂਦਾ ਹੈ:
az login)।requirements.txt।ਇੱਕ ਪ੍ਰੋਟੋਟਾਈਪ ਏਜੰਟ ਅਤੇ ਇਕ ਉਤਪਾਦਨ ਏਜੰਟ ਇੱਕੋ ਕੋਰ ਲੂਪ ਸਾਂਝਾ ਕਰਦੇ ਹਨ — ਤਰਕ, ਟੂਲ ਕਾਲ ਕਰੋ, ਜਵਾਬ ਦਿਓ। ਬਦਲਾਅ ਉਹ ਹਰ ਚੀਜ਼ ਹੁੰਦੀ ਹੈ ਜੋ ਉਸ ਲੂਪ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਹੁੰਦੀ ਹੈ। ਮਾਡਲ ਇੱਕ ਉਤਪਾਦਨ ਏਜੰਟ ਦਾ ਸ਼ਾਇਦ 20% ਹਿੱਸਾ ਹੈ; ਬਾਕੀ 80% ਸੰਚਾਲਕੀ ਢਾਂਚਾ ਹੈ।
| ਚਿੰਤਾ | ਪ੍ਰੋਟੋਟਾਈਪ | ਉਤਪਾਦਨ |
|---|---|---|
| ਹੋਸਟਿੰਗ | ਤੁਹਾਡੇ ਨੋਟਬੁੱਕ ਵਿੱਚ ਚੱਲਦਾ ਹੈ | ਇੱਕ ਹੋਸਟਡ ਸੇਵਾ ਵਜੋਂ ਚੱਲਦਾ ਹੈ, ਵਰਜਨਯੁਕਤ ਅਤੇ ਛੁਟਕਾਰਾ ਮਿਲਦਾ ਹੈ |
| ਪਛਾਣ | ਤੁਹਾਡਾ az login ਟੋਕਨ |
ਪਰਬੰਧਿਤ ਪਛਾਣ ਸਹਿਤ ਸੀਮਿਤ RBAC |
| ਸਟੇਟ | ਇਨ-ਮੇਮੋਰੀ, ਰੀਸਟਾਰਟ ਤੇ ਖਤਮ | ਬਾਹਰੀਕ੍ਰਿਤ (ਥਰੇਡ ਸਟੋਰ, ਮੈਮੋਰੀ ਸੇਵਾ) |
| ਨਾਕਾਮੀ | ਤੁਸੀਂ ਟਰੇਸਬੈਕ ਵੇਖਦੇ ਹੋ | ਮੁੜ ਕੋਸ਼ਿਸ਼ਾਂ,Fallback, ਡੈਡ-ਲੇਟਰ, ਚેતਾਵਨੀ |
| ਲਾਗਤ | “ਇਹ ਕੁਝ ਸੈਂਟ ਹੈ” | ਪ੍ਰਤੀ ਬੇਨਤੀ ਟਰੈਕ ਕੀਤਾ ਗਿਆ, ਰਾਹਦਾਰੀ, ਕੈਸ਼ ਕੀਤਾ, ਬਜਟ ਕੀਤਾ |
| ਗੁਣਵੱਤਾ | ਤੁਸੀਂ ਨਤੀਜਾ ਦੇਖਦੇ ਹੋ | ਹਰ ਰਿਲੀਜ਼ ਤੋਂ ਪਹਿਲਾਂ ਆਟੋਮੈਟਿਕ ਮੁਲਾਂਕਣ ਕੀਤਾ |
| ਭਰੋਸਾ | ਤੁਸੀਂ ਹਰ ਕਾਰਵਾਈ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ | ਨੀਤੀ + ਮਨੁੱਖੀ-ਇਨ-ਲੂਪ ਖਤਰਨਾਕ ਕਾਰਵਾਈਆਂ ਲਈ |
ਇਸ ਤਾਲਿਕਾ ਨੂੰ ਦਿਮਾਗ ਵਿੱਚ ਰੱਖੋ। ਹੇਠਾਂ ਹਰ ਭਾਗ ਇਨ੍ਹਾਂ ਕਤਾਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨਾਲ ਮੈਚ ਕਰਦਾ ਹੈ।
ਤੁਸੀਂ ਤਿੰਨ ਪੈਟਰਨ ਬਰਤੋਂਗੇ, ਅਕਸਰ ਮਿਲਾ ਕੇ।
ਏਜੰਟ ਵਸਤੂ ਤੁਹਾਡੇ ਐਪਲਿਕੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਵੱਸਦਾ ਹੈ। ਤੁਹਾਡਾ ਕੋਡ ਮਾਡਲ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸਿੱਧਾ ਕਾਲ ਕਰਦਾ ਹੈ; ਤਰਕ ਲੂਪ ਤੁਹਾਡੇ ਸੇਵਾ ਵਿੱਚ ਚੱਲਦਾ ਹੈ। ਇਹ ਉਹੀ ਹੈ ਜੋ ਹਰ ਪਿਛਲਾ ਪਾਠ ਕੀਤਾ ਹੈ।
ਏਜੰਟ ਮਾਇਕ੍ਰੋਸਾਫਟ ਫਾਊਂਡਰੀ ਵਿੱਚ ਸੰਸਾਧਨ ਵਜੋਂ ਰਜਿਸਟਰ ਹੁੰਦਾ ਹੈ। ਫਾਊਂਡਰੀ ਤਰਕ ਲੂਪ ਨੂੰ ਹੋਸਟ ਕਰਦਾ ਹੈ, ਥਰੇਡ ਸਟੋਰ ਕਰਦਾ ਹੈ, ਸਮੱਗਰੀ ਸੁਰੱਖਿਆ ਅਤੇ RBAC ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਏਜੰਟ ਨੂੰ ਫਾਊਂਡਰੀ ਪੋਰਟਲ ਵਿੱਚ ਦ੍ਰਿਸ਼ਮਾਨ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੀ ਐਪ ਇਕ ਪਤਲਾ ਕਲਾਇੰਟ ਬਣ ਜਾਂਦੀ ਹੈ ਜੋ ਧਾਗੇ ਬਣਾਉਂਦਾ ਅਤੇ ਜਵਾਬ ਪੜ੍ਹਦਾ ਹੈ।
ਕਈ ਏਜੰਟ (ਅਤੇ ਟੂਲ) ਇੱਕ ਗ੍ਰਾਫ ਵਿੱਚ ਜੋੜੇ ਜਾਂਦੇ ਹਨ ਜਿਸ ਵਿੱਚ ਸਪੱਸ਼ਟ ਨਿਯੰਤ੍ਰਣ ਪ੍ਰਵਾਹ ਹੁੰਦਾ ਹੈ—ਤਰਤੀਬਵਾਰ ਕਦਮ, ਸ਼ਾਖਾ ਕਰਨੀ, ਮਨੁੱਖੀ ਮਨਜ਼ੂਰੀ ਨੋਡ, ਅਤੇ ਟਿਕਾਊ ਚੈਕਪੌਇੰਟ ਜੋ ਰੋਕੇ ਜਾ ਸਕਦੇ ਹਨ ਅਤੇ ਮੁੜ ਮੁੜ ਚੱਲਾਏ ਜਾ ਸਕਦੇ ਹਨ। ਇਹ ਮਾਇਕ੍ਰੋਸਾਫਟ ਏਜੰਟ ਫ੍ਰੇਮਵਰਕ ਦੀ ਵਰਕਫਲੋਜ਼ ਖੂबी ਹੈ ਜੋ ਤੈਨਾਤ ਪੱਧਰ ‘ਤੇ ਲਾਗੂ ਹੁੰਦੀ ਹੈ।
flowchart TB
subgraph P1[Client-Hosted]
A1[Your App Process] --> M1[Model Provider]
end
subgraph P2[Hosted Agent]
A2[Thin Client] --> F2[Foundry Agent Service]
F2 --> M2[Model + Tools + Thread Store]
end
subgraph P3[Agent Workflow]
A3[Orchestrator] --> S1[Triage Agent]
S1 --> S2[Resolver Agent]
S2 --> H[Human Approval Node]
H --> S3[Action Agent]
end
ਏਜੰਟ ਨੂੰ ਤੈਨਾਤ ਕਰਨਾ ਇੱਕ ਵਾਰੀ ਦਾ ਕੰਮ ਨਹੀਂ ਹੈ push। ਇਹ ਇਕ ਲੂਪ ਹੈ, ਅਤੇ ਇਹ ਪ੍ਰੋਗਰਾਮ ਸੁਰਵੇਖਣ ਚੱਕਰ ਵਾਂਗ ਦਿੱਸਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਹੀ ਵਿੱਚ ਉਹੀ ਹੈ।
flowchart LR
Create[Create / Author] --> Version[Version]
Version --> Evaluate[Evaluate offline]
Evaluate -->|passes gate| Deploy[Deploy hosted]
Evaluate -->|fails gate| Create
Deploy --> Observe[Observe online]
Observe --> Improve[Collect failures]
Improve --> Create
Deploy --> Retire[Retire old version]
ਮੁੱਖ ਵਿਚਾਰ, ਪਾਠ 10 ਤੋਂ ਲਿਆ ਗਿਆ: ਆਫਲਾਈਨ ਮੁਲਾਂਕਣ ਇੱਕ ਗੇਟ ਹੈ, ਬਾਅਦ ਵਾਲੀ ਸੋਚ ਨਹੀਂ। ਇੱਕ ਨਵਾਂ ਏਜੰਟ ਵਰਜਨ ਤਬ ਤੱਕ ਨਹੀਂ ਨਿੱਕਲਦਾ ਜਦ ਤੱਕ ਇਹ ਤੁਹਾਡੇ ਮੁਲਾਂਕਣ ਮਿਆਰਾਂ ‘ਤੇ ਖਰਾ ਨਹੀਂ ਉਤਰਦਾ। ਫਿਰ ਆਨਲਾਈਨ ਨਿਗਰਾਨੀ ਹਕੀਕਤੀ ਨਾਕਾਮੀਆਂ ਨੂੰ ਤੁਹਾਡੇ ਆਫਲਾਈਨ ਟੈਸਟ ਸੈੱਟ ਵਿੱਚ ਫਿਰੋਂ ਕਰ ਦਿੰਦੀ ਹੈ। ਇਹੀ ਸਾਰਾ ਲੂਪ ਹੈ।
ਇੱਕ ਏਜੰਟ ਨੂੰ ਸਕੇਲ ਕਰਨਾ ਇੱਕ ਬੇਰਾਜ਼ੀ ਵੈੱਬ API ਨੂੰ ਸਕੇਲ ਕਰਨ ਨਾਲ ਵੱਖਰਾ ਹੈ, ਕਿਉਂਕਿ ਹਰ ਬੇਨਤੀ ਕਈ ਮਹਿੰਗੇ ਮਾਡਲ ਅਤੇ ਟੂਲ ਕਾਲ ਚਲਾ ਸਕਦੀ ਹੈ। ਚਾਰ ਤਕਨੀਕਾਂ ਜ਼ਿਆਦਾ ਭਾਰ ਸੰਭਾਲਦੀਆਂ ਹਨ।
ਬੇ-ਰਾਜ਼ੀ ਬੇਨਤੀ ਸੰਭਾਲ। ਤੁਹਾਡੇ ਪ੍ਰਕਿਰਿਆ ਮੈਮੋਰੀ ਵਿੱਚ ਕੋਈ ਪ੍ਰਤੀ-ਉਪਭੋਗਤਾ ਸਟੇਟ ਨਾ ਰੱਖੋ। ਗੱਲਬਾਤ ਦੇ ਧਾਗੇ ਫਾਊਂਡਰੀ ਧਾਗਾ ਸਟੋਰ ਜਾਂ ਮੈਮੋਰੀ ਸੇਵਾ ਵਿੱਚ ਸੰਭਾਲੋ ਤਾਂ ਜੋ ਕੋਈ ਵੀ ਪ੍ਰਤੀਕ ਅਦਾਨ-ਪ੍ਰਦਾਨ ਕਰ ਸਕੇ। ਇਹ ਤੁਹਾਨੂੰ ਸਮਤਲ ਤੌਰ ‘ਤੇ ਸਕੇਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ — ਉਦਾਹਰਨਾਂ ਵਧਾਓ, ਕੋਈ ਲੱਗਪੱਗ ਸੈਸ਼ਨ ਨਹੀਂ।
ਮਾਡਲ ਰਾਹਦਾਰੀ। ਹਰ ਬੇਨਤੀ ਲਈ ਤੁਹਾਡੇ ਸਭ ਤੋਂ ਯੋਗ ਮਾਡਲ (ਅਤੇ ਸਭ ਤੋਂ ਮਹਿੰਗਾ) ਦੀ ਲੋੜ ਨਹੀਂ। ਸਧਾਰਨ ਬੇਨਤੀਆਂ — ਮਕਸਦ ਸ਼੍ਰੇਣੀਕਰਨ, ਛੋਟੇ ਤੱਥੀ ਜਵਾਬ — ਨੂੰ ਇੱਕ ਛੋਟੇ, ਤੇਜ ਮਾਡਲ ਨੂੰ ਰਾਹਦਾਰ ਕਰੋ, ਅਤੇ ਵੱਡੇ ਮਾਡਲ ਨੂੰ ਅਸਲੀ ਤਰਕ ਲਈ ਰੱਖੋ। ਫਾਊਂਡਰੀ ਦਾ ਮਾਡਲ ਰਾਊਟਰ ਤੁਹਾਡੇ ਲਈ ਇਹ ਕਰ ਸਕਦਾ ਹੈ, ਜਾਂ ਤੁਸੀਂ ਖੁਦ ਇੱਕ ਹਲਕਾ ਫਟਕਿਰ ਕਲਾਸੀਫਾਇਰ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ। ਤੁਸੀਂ ਲੈਬ ਵਿੱਚ DIY ਸੰਸਕਰਣ ਬਣਾਵੋਗੇ।
ਜਵਾਬ ਕੈਸ਼ਿੰਗ। ਕਈ ਸਹਾਇਤਾ ਸਵਾਲ ਬਹੁਤ ਮਿਲਦੇ ਹਨ (“ਮੈਂ ਆਪਣਾ ਪਾਸਵਰਡ ਕਿਵੇਂ ਦੁਬਾਰਾ ਸੈੱਟ ਕਰਾਂ?”)। ਆਮ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਕੈਸ਼ ਕਰੋ ਅਤੇ ਮਾਡਲ ਨੂੰ ਸੁਚਾਰੂ ਤੌਰ ਉੱਤੇ ਨਾ ਛੂ ਜਾਵੇ। ਇੱਕ ਥੋੜ੍ਹੀ ਕੈਸ਼ ਹਿੱਟ ਦਰ ਹੀ ਲਾਗਤ ਅਤੇ ਧੀਰਜ ਨੂੰ ਮਤਲਬਪੂਰਨ ਤੌਰ ਤੇ ਘਟਾਉਂਦੀ ਹੈ।
ਸਮਾਂਤਰਤਾ ਅਤੇ ਬੈਕਪ੍ਰੈਸ਼ਰ। ਮਾਡਲ ਪ੍ਰਦਾਤାਵਾਂ ਕੋਲ ਦਰ ਸੀਮਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ। ਆਪਣੀ ਸਮਾਂਤਰਤਾ ਸੀਮਤ ਕਰੋ, ਰੀਟ੍ਰਾਈਜ਼ ਨੂੰ ਵਰਤੋਂ ਕਰੋ ਜੋ ਪ੍ਰਣਾਲੀ ਅਨੁਪਾਤੀ ਵਧੇ, ਅਤੇ ਸੁੰਦਰ ਤਰੀਕੇ ਨਾਲ ਅਸਫਲ ਹੋਵੋ (ਕਤਾਰਬੱਧ “ਅਸੀਂ ਇਸ ‘ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ” ਜਵਾਬ 500 ਨਾਲੋਂ ਵਧੀਆ)।
flowchart LR
Q[User query] --> C{Cache hit?}
C -->|yes| R[Return cached answer]
C -->|no| Router{Complexity?}
Router -->|simple| SLM[Small model]
Router -->|complex| LLM[Large model]
SLM --> Out[Response]
LLM --> Out
Out --> Store[Cache + trace]
ਤੁਸੀਂ ਉਸ ਚੀਜ਼ ਨੂੰ ਚਲਾ ਨਹੀਂ ਸਕਦੇ ਜੋ ਤੁਸੀਂ ਦੇਖ ਨਹੀਂ ਸਕਦੇ। ਜਿਵੇਂ ਕਿ ਪਾਠ 10 ਵਿੱਚ ਕਵਰ ਕੀਤਾ, ਮਾਇਕ੍ਰੋਸਾਫਟ ਏਜੰਟ ਫ੍ਰੇਮਵਰਕ ਨੇਟਿਵ ਤੌਰ ਤੇ OpenTelemetry ਟਰੇਸ ਨਿਕਾਲਦਾ ਹੈ — ਹਰ ਮਾਡਲ ਕਾਲ, ਟੂਲ ਆਮੰਤਰਨ, ਅਤੇ ਅਦਿਆਸ ਕਦਮ ਇੱਕ ਸਪੈਨ ਬਣ ਜਾਂਦਾ ਹੈ। ਉਤਪਾਦਨ ਵਿੱਚ ਤੁਸੀਂ ਉਹਨਾਂ ਸਪੈਨਾਂ ਨੂੰ ਮਾਇਕ੍ਰੋਸਾਫਟ ਫਾਊਂਡਰੀ (ਜਾਂ ਕਿਸੇ OTel-ਸਮਰੱਥ ਬੈਕਐਂਡ) ਵਿੱਚ ਐਕਸਪੋਰਟ ਕਰਦੇ ਹੋ ਤਾਂ ਜੋ ਤੁਸੀਂ:
from agent_framework.observability import get_tracer
tracer = get_tracer()
with tracer.start_as_current_span("support_request") as span:
span.set_attribute("customer.tier", "enterprise")
span.set_attribute("routed.model", "gpt-5-nano")
# agent execution is traced automatically inside this span
customer.tier ਅਤੇ routed.model ਵਰਗੀਆਂ ਗੁਣਵੱਤਾ ਉਹ ਹਨ ਜੋ ਟਰੇਸ ਦੀ ਇੱਕ ਦੀਵਾਰ ਨੂੰ ਸਵਾਲਾਂ ਲਾਇਕ ਬਣਾ ਦਿੰਦੇ ਹਨ (“ਕੀ ਕਾਰੋਬਾਰੀ ਗਾਹਕ ਛੋਟੇ ਮਾਡਲ ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਰਾਹਦਾਰ ਹੋ ਰਹੇ ਹਨ?”)।
ਉਤਪਾਦਨ ਏਜੰਟਾਂ ਵਿੱਚ ਲਾਗਤ ਟੋਕਨਾਂ ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦੀ ਹੈ। ਤਿੰਨ ਲੀਵਰ, ਪ੍ਰਭਾਵ ਦੇ ਅਨੁਕੂਲ:
ਮੁਲਾਂਕਣ ਗੇਟ ਅਤੇ ਲਾਗਤ ਕੰਟਰੋਲ ਇੱਕੋ ਅਨੁਸ਼ਾਸਨ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਦੋ ਢੰਗਾਂ ਤੋਂ ਵੇਖਿਆ ਜਾਂਦਾ ਹੈ: ਮੁਲਾਂਕਣ ਤੁਹਾਨੂੰ ਗੁਣਵੱਤਾ ਦਾ ਤਹ ਦੱਸਦਾ ਹੈ, ਰਾਹਦਾਰੀ ਅਤੇ ਕੈਸ਼ਿੰਗ ਤੁਹਾਨੂੰ ਉਸ ਤਹ ਦੀ ਲਾਗਤ ਦੇ ਨੇੜੇ ਰੱਖਦੇ ਹਨ।
ਸ਼ਾਸਨ। ਹੋਸਟਡ ਏਜੰਟ ਫਾਊਂਡਰੀ ਦੇ RBAC, ਸਮੱਗਰੀ ਸੁਰੱਖਿਆ, ਅਤੇ ਆਡੀਟ ਲੌਗਿੰਗ ਨੂੰ ਵਿਰਸਾ ਵਿੱਚ ਲੈਂਦੇ ਹਨ। ਹਰ ਏਜੰਟ ਨੂੰ ਇੱਕ ਪਰਬੰਧਿਤ ਪਛਾਣ ਦਿਓ ਜਿਸ ਵਿੱਚ ਉਸਨੂੰ ਘੱਟੋ-ਘੱਟ ਅਧਿਕਾਰ ਮਿਲੇ — ਗਿਆਨ ਅਧਾਰ ਨੂੰ ਸਿਰਫ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ, ਟਿਕਟਿੰਗ API ਨੂੰ ਸੀਮਿਤ ਪਹੁੰਚ, ਹੋਰ ਕੁਝ ਨਹੀਂ।
ਮਨੁੱਖੀ-ਇਨ-ਦ-ਲੂਪ। ਕੁਝ ਕਾਰਵਾਈਆਂ ਬਹੁਤ ਨਤੀਜਾ ਦਾਇਕ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਿੱਧਾ ਆਟੋਮੇਟ ਕਰਨਾ ਠੀਕ ਨਹੀਂ — ਰੀਫੰਡ ਜਾਰੀ ਕਰਨਾ, ਖਾਤਾ ਮਿਟਾਉਣਾ, ਕਾਨੂੰਨੀ ਟੀਮ ਨੂੰ ਭੇਜਣਾ। ਮਾਇਕ੍ਰੋਸਾਫਟ ਏਜੰਟ ਫ੍ਰੇਮਵਰਕ ਮਨਜ਼ੂਰੀ ਲੋੜੀਂਦੇ ਟੂਲਾਂ ਨੂੰ ਸਮਰਥਨ ਦਿੰਦਾ ਹੈ: ਏਜੰਟ ਕਾਰਵਾਈ ਸੁਝਾਉਂਦਾ ਹੈ, ਕਾਰਜ ਰੁਕ ਜਾਂਦਾ ਹੈ, ਮਨੁੱਖ ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੈ ਜਾਂ ਰੱਦ ਕਰਦਾ ਹੈ, ਅਤੇ ਵਰਕਫਲੋ ਮੁੜ ਤੋਂ ਚੱਲਦਾ ਹੈ। ਤੁਸੀਂ ਇਹ ਪ੍ਰਿਮਿਟਿਵ ਪਾਠ 6 ਵਿੱਚ ਵੇਖਿਆ ਸੀ; ਇੱਥੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਤੈਨਾਤ ਕਰਦੇ ਹੋ।
ਉਤਪਾਦਨ ਵਿੱਚ MCP। MCP ਤੁਹਾਡੇ ਏਜੰਟ ਨੂੰ ਬਾਹਰੀ ਟੂਲਾਂ ਨੂੰ ਇੱਕ ਮਿਆਰੀ ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਖਪਤ ਕਰਨ ਦਿੰਦਾ ਹੈ। ਉਤਪਾਦਨ ਵਿੱਚ, ਹਰ MCP ਸਰਵਰ ਨੂੰ ਇੱਕ ਅਣ-ਭਰੋਸੇਯੋਗ ਸੀਮਾ ਵਜੋਂ ਟ੍ਰੀਟ ਕਰੋ: ਸਰਵਰ ਵਰਜਨ ਨੂੰ ਪੱਕਾ ਕਰੋ, ਇਸ ਨੂੰ ਸੀਮਿਤ ਪਛਾਣ ਨਾਲ ਚਲਾਓ, ਇਸਦੇ ਨਤੀਜੇ ਸੱਚੇ ਕਰੋ, ਅਤੇ ਕਦੇ ਵੀ ਇਸਨੂੰ ਸੀਕ੍ਰੇਟ ਨਾ ਦਿਖਾਓ। MCP ਸਰਵਰ ਇਕ ਨਿਰਭਰਤਾ ਹੈ, ਅਤੇ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਪੈਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਆਡੀਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਦਰਮਿਆਨੀ ਸੀਮਾਵਾਂ ਵਿੱਚ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।
flowchart TB
subgraph Dev[Development Architecture]
D1[Notebook] --> D2[Agent Framework]
D2 --> D3[Model Provider]
D2 --> D4[Local tools]
end
subgraph Deploy[Deployment Architecture]
E1[CI pipeline] --> E2[Evaluation gate]
E2 -->|pass| E3[Foundry Agent Service]
E3 --> E4[Versioned hosted agent]
end
subgraph Run[Runtime Architecture]
F1[Client app] --> F2[Hosted agent]
F2 --> F3[Model Router]
F2 --> F4[Azure AI Search RAG]
F2 --> F5[Memory service]
F2 --> F6[MCP tools]
F2 --> F7[OTel -> Foundry tracing]
F2 --> F8[Human approval]
end
ਇਹ ਤਿੰਨ ਚਿੱਤਰ — ਵਿਕਾਸ, ਤੈਨਾਤ, ਰਨਟਾਈਮ — ਉਹੀ ਏਜੰਟ ਹਨ ਜੋ ਆਪਣੀ ਜ਼ਿੰਦਗੀ ਦੇ ਤਿੰਨ ਮਰਹਲਿਆਂ ਵਿੱਚ ਹਨ। ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਲੈਬ ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ।
code_samples/16-python-agent-framework.ipynb ਖੋਲੋ ਅਤੇ ਪੂਰੇ ਤਰੀਕੇ ਨਾਲ ਕਰਮਾਣੁਸਾਰ ਜਾਓ। ਤੁਸੀਂ ਇੱਕ ਕੰਟੋਸੋ ਗਾਹਕ ਸਹਾਇਤਾ ਏਜੰਟ ਬਣਾਵੋਗੇ ਜਿਸ ਵਿੱਚ ਹਰ ਉਤਪਾਦਨ ਸੰਬੰਧੀ ਚਿੰਤਾ ਸ਼ਾਮਿਲ ਹੈ:
ਨੋਟਬੁੱਕ ਇਸ ਤਰ੍ਹਾਂ ਸਜਾਇਆ ਗਿਆ ਹੈ ਕਿ ਹਰ ਉਤਪਾਦਨ ਚਿੰਤਾ ਇੱਕ ਖੁਦ-ਨਿਰਭਰ, ਚਲਾਉਣ ਯੋਗ ਭਾਗ ਹੈ। ਇਸਦਾ ਦਿਲ ਰਾਊਟਿੰਗ-ਪਲੱਸ-ਕੈਸ਼ਿੰਗ ਬੇਨਤੀ ਹੈਂਡਲਰ ਹੈ:
async def handle_support_request(query: str, customer_id: str) -> str:
# 1. Serve from cache when we can.
cached = response_cache.get(normalize(query))
if cached:
return cached
# 2. Route by complexity to control cost.
model = "gpt-5-nano" if is_simple(query) else "gpt-5-mini"
# 3. Run the agent inside a trace span for observability.
with tracer.start_as_current_span("support_request") as span:
span.set_attribute("routed.model", model)
span.set_attribute("customer.id", customer_id)
response = await support_agent.run(query, model=model)
# 4. Cache and return.
response_cache.set(normalize(query), response.text)
return response.text
ਉਹ ਮੁਲਾਂਕਣ ਗੇਟ ਜੋ ਰਿਲੀਜ਼ ਦੀ ਰਖਿਆ ਕਰਦਾ ਹੈ ਇੰਝ ਦਿਖਦਾ ਹੈ:
async def evaluation_gate(agent, test_cases, threshold: float = 0.8) -> bool:
passed = 0
for case in test_cases:
result = await agent.run(case["input"])
if score_response(result.text, case["expected"]) >= 0.8:
passed += 1
pass_rate = passed / len(test_cases)
print(f"Evaluation pass rate: {pass_rate:.0%} (gate: {threshold:.0%})")
return pass_rate >= threshold # only deploy if the gate passes
ਹਰ ਪੰक्ति ਪੜ੍ਹੋ — ਨੋਟਬੁੱਕ ਪ੍ਰਿਮਿਟਿਵਜ਼ ਨੂੰ ਜਾਣ-ਬੁਝ ਕੇ ਛੋਟਾ ਰੱਖਦਾ ਹੈ ਤਾਂ ਜੋ ਕੁਝ ਵੀ ਫ੍ਰੇਮਵਰਕ ਕਾਲ ਪਿੱਛੇ ਨਾ ਲੁਕਿਆ ਹੋਵੇ।
ਉੱਪਰ ਦਿੱਤਾ ਮੁਲਾਂਕਣ ਗੇਟ ਤੁਹਾਡੇ ਏਜੰਟ ਵਸਤੂ ਦੇ ਖਿਲਾਫ ਆਫਲਾਈਨ ਚਲਦਾ ਹੈ। ਜਦੋਂ ਏਜੰਟ ਇੱਕ ਹੋਸਟਡ ਏਜੰਟ ਵਜੋਂ ਤੈਨਾਤ ਹੁੰਦਾ ਹੈ, ਤੁਹਾਨੂੰ ਇੱਕ ਹੋਰ, ਇਨਸਾਨੀ ਬਹੁਤ ਹੀ ਸਸਤੀ ਜਾਂਚ ਦੀ ਲੋੜ ਹੈ: ਕੀ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਐਂਡਪੌਇੰਟ ਹਕੀਕਤ ਵਿੱਚ ਜਵਾਬ ਦੇ ਰਿਹਾ ਹੈ?
“ਸਫਲ” ਤੈਨਾਤ ਸਿਰਫ਼ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਕੰਟਰੋਲ ਪਲੇਨ ਨੇ ਪਰਿਭਾਸ਼ਾ ਸਵੀਕਾਰ ਕੀਤੀ — ਇਹ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਏਜੰਟ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਗੁੰਮ ਹੋਈ ਨਿਰਭਰਤਾ, ਗਲਤ ਮਾਡਲ ਰਾਹਦਾਰੀ, ਜਾਂ ਸਮਾਪਤ ਹੋਈ ਕਨੈਕਸ਼ਨ ਇੱਕ ਅਜਿਹੇ ਹਰੇ ਤੈਨਾਤ ਨੂੰ ਤਿਆਰ ਕਰ ਸਕਦੀ ਹੈ ਜੋ ਕੁਝ ਵੀ ਨਹੀਂ ਵਾਪਸ ਕਰਦਾ। ਇੱਕ ਸSmoke ਟੈਸਟ ਇਸ ਨੂੰ ਸਕਿੰਟਾਂ ਵਿੱਚ ਫੜ ਲੈਂਦਾ ਹੈ, ਹਰ ਤੈਨਾਤ ‘ਤੇ, ਪੂਰੇ ਮੁਲਾਂਕਣ ਦੀ ਲਾਗਤ ਤੋਂ ਬਿਨਾਂ।
ਇਹ ਰੇਪੋ ਇੱਕ ਤਿਆਰ-ਲਈ-ਵਰਤੋਂ ਵਾਲਾ ਸSmoke-ਟੈਸਟ ਪਾਈਪਲਾਈਨ ਭੇਜਦਾ ਹੈ ਜੋ AI Smoke Test GitHub ਐਕਸ਼ਨ ‘ਤੇ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ:
tests/lesson-16-smoke-tests.json ਵਿੱਚ ਕੰਟੋਸੋ ਸਹਾਇਤਾ ਏਜੰਟ ਲਈ ਪ੍ਰੌਂਪਟਸ ਅਤੇ ਦਾਅਵੇ ਹਨ (ਜ਼ਮੀਨੀ ਨੀਤੀ ਜਵਾਬ, ਆਰਡਰ ਲੁੱਕਅਪ, ਟਾਪਿਕ ‘ਤੇ ਰਹਿਣਾ, ਅਤੇ ਬਹੁ-ਸਟੇਪ ਧਾਗੇ ਦੀ ਲਗਾਤਾਰਤਾ)। ਹੋਰ ਪਾਠਾਂ ਦੇ ਏਜੰਟਾਂ ਲਈ ਕੈਟਾਲੋਗ ਇਸਦੇ ਨਾਲ ਰਹਿੰਦੇ ਹਨ — ਦੇਖੋ tests/README.md।.github/workflows/smoke-test.yml ਅਜ਼ੂਰੇ OIDC ਨਾਲ ਲਾਗਇਨ ਕਰਦਾ ਹੈ ਅਤੇ ਹਰ ਪ੍ਰੌਂਪਟ ਨੂੰ ਏਜੰਟ ਦੇ Responses ਐਂਡਪੌਇੰਟ ‘ਤੇ POST ਕਰਦਾ ਹੈ, ਕਿਸੇ ਵੀ ਦਾਅਵੇ ਦੀ ਨਾਕਾਮੀ ਤੇ ਕੰਮ ਅਸਫਲ ਕਰਦਾ ਹੈ।- name: Smoke-test hosted agent
uses: JFolberth/ai-smoketest@v1
with:
project_endpoint: $
agent_name: ContosoSupportAgent
tests_file: tests/lesson-16-smoke-tests.json
ਆਪਣੇ ਏਜੰਟ ਨੂੰ ਤਾਇਨਾਤ ਕਰਨ ਤੋਂ ਬਾਅਦ Actions ਟੈਬ ਤੋਂ ਇਸਨੂੰ ਚਲਾਓ, ਆਪਣੇ Foundry ਪ੍ਰਾਜੈਕਟ ਐਂਡਪੌਇੰਟ ਅਤੇ ਏਜੰਟ ਨਾਮ ਦੀ ਸਪਲਾਈ ਕਰਦੇ ਹੋਏ। ਫੈਡਰੇਟਿਡ ਪਛਾਣ ਨੂੰ Foundry ਪ੍ਰਾਜੈਕਟ ਸਕੋਪ ‘ਤੇ Azure AI User ਰੋਲ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਲੇਅਰਾਂ ਨੂੰ ਇੱਕ ਪਿਰਾਮਿਡ ਵਾਂਗ ਸੋਚੋ: ਸਮੋਕ ਟੈਸਟ (ਪਹੁੰਚਯੋਗ ਅਤੇ ਜਵਾਬ ਦੇ ਰਹੇ ਹਨ?) ਹਰ ਤਾਇਨਾਤ ‘ਤੇ ਚਲਦੇ ਹਨ, ਆਫਲਾਈਨ ਮੁਲਾਂਕਣ (ਪ੍ਰਚਾਰ ਲਈ ਕਾਫੀ ਚੰਗਾ ਹੈ?) ਪ੍ਰਮੋਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਚਲਦਾ ਹੈ, ਅਤੇ ਆਨਲਾਈਨ ਮੁਲਾਂਕਣ (ਇਹ ਜੰਗਲ ਵਿੱਚ ਕਿਵੇਂ ਕਰ ਰਿਹਾ ਹੈ?) ਲਗਾਤਾਰ ਚਲਦਾ ਰਹਿੰਦਾ ਹੈ।
ਅਸਾਈਨਮੈਂਟ ਵੱਲ ਜਾਂਦੇ ਸਮੇਂ ਆਪਣੀ ਸਮਝ ਦੀ ਪਰਖ ਕਰੋ।
1. ਲਗਭਗ ਉਤਪਾਦਨ ਏਜੰਟ ਦਾ ਕਿੰਨਾ ਹਿੱਸਾ “ਮਾਡਲ” ਹੈ, ਅਤੇ ਬਾਕੀ ਕੀ ਹੈ?
2. ਤੁਸੀਂ ਕਦੋਂ ਇੱਕ Hosted Agent ਨੂੰ client-hosted ਏਜੰਟ ਉੱਤੇ ਚੁਣੋਗੇ?
3. ਇੱਕ ਸਕੇਲਬਲ ਏਜੰਟ ਆਪਣੇ ਪ੍ਰੋਸੈਸ ਮੈਮੋਰੀ ਵਿੱਚ Stateless ਕਿਉਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ?
4. ਮਾਡਲ ਰਾਊਟਿੰਗ ਕਿਹੜਾ ਸਮੱਸਿਆ ਹੱਲ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਹ ਮੁਲਾਂਕਣ ਨਾਲ ਕਿਵੇਂ ਜੁੜੀ ਹੈ?
5. “ਮੁਲਾਂਕਣ ਗੇਟ” ਕੀ ਹੈ ਅਤੇ ਇਹ lifecycle ਵਿੱਚ ਕਿੱਥੇ ਬੈਠਦਾ ਹੈ?
6. MCP ਸਰਵਰ ਨੂੰ ਉਤਪਾਦਨ ਵਿੱਚ ਇੱਕ ਅਣਯਕੀਨੀ ਸੀਮਾ ਕਿਉਂ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ?
7. ਕਿਸ ਇੱਕ ਬਦਲਾਵ ਦਾ ਆਮ ਤੌਰ ‘ਤੇ ਉਤਪਾਦਨ ਏਜੰਟ ਦੀ ਲਾਗਤ ਉੱਤੇ ਸਭ ਤੋਂ ਵੱਡਾ ਅਸਰ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਕਿਉਂ?
8. customer.tier ਅਤੇ routed.model ਵਰਗੇ ਸਪੈਨ ਐਟ੍ਰਿਬਿਊਟ ਆਬਜ਼ਰਵੇਬਿਲਿਟੀ ਵਿੱਚ ਕਿਹੜਾ ਕਿਰਦਾਰ ਨਿਭਾਉਂਦੇ ਹਨ?
ਲੈਬ ਤੋਂ ਗ੍ਰਾਹਕ ਸਹਾਇਤਾ ਏਜੰਟ ਲਓ ਅਤੇ ਉਸਨੂੰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਘਟਨਾ ਲਈ ਮਜ਼ਬੂਤ ਬਣਾਓ: ਇੱਕ SaaS ਕੰਪਨੀ ਲਈ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਬਿੱਲਿੰਗ ਸਹਾਇਤਾ ਏਜੰਟ।
ਤੁਹਾਡੀ ਸਬਮਿਸ਼ਨ ਵਿੱਚ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:
get_subscription_status, get_invoice, ਅਤੇ issue_credit (50 ਡਾਲਰ ਤੋਂ ਵੱਧ ਦੇ ਕ੍ਰੇਡਿਟ ਲਈ ਮਨੁੱਖੀ ਮਨਜ਼ੂਰੀ ਲਾਜ਼ਮੀ ਹੈ)।ਇੱਕ ਛੋਟਾ ਪੈਰਾ (ਇੱਕ markdown ਸੈੱਲ ਵਿੱਚ) ਲਿਖੋ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਦਰਸਾਓ ਕਿ ਕਿਸ ਮਾਡਲ-ਰਾਊਟਿੰਗ ਨਿਯਮ ਨੂੰ ਤੁਸੀਂ ਚੁਣਿਆ ਅਤੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਅਸਲੀ ਟ੍ਰੈਫਿਕ ਨਾਲ ਕਿਵੇਂ ਪ੍ਰਮਾਣਿਤ ਕਰੋਗੇ। ਕੋਈ ਇੱਕ ਸਹੀ ਜਵਾਬ ਨਹੀਂ ਹੈ — ਤੁਹਾਡੀ ਮੂਲਾਂਕਣ ਉੱਤੇ ਇਹ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਉਤਪਾਦਨ ਸੰਬੰਧੀ ਚਿੰਤਾਵਾਂ ਕਿਵੇਂ ਸਮਜਦਾਰੀ ਨਾਲ ਜੁੜੀਆਂ ਹਨ।
ਇਸ ਪਾਠ ਵਿੱਚ ਤੁਸੀਂ Microsoft Foundry ਨਾਲ ਇੱਕ ਏਜੰਟ ਨੂੰ ਪ੍ਰੋਟੋਟਾਈਪ ਤੋਂ ਉਤਪਾਦਨ ਤੱਕ ਲੈ ਗਏ:
ਅਗਲਾ ਪਾਠ ਵਿਰੋਧੀ ਯਾਤਰਾ ਲੈਂਦਾ ਹੈ: ਕਲਾਉਡ ਵਿੱਚ ਏਜੰਟਾਂ ਨੂੰ ਵਧਾਉਣ ਦੀ ਬਜਾਏ, ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰਨੀਂਵੇਂ ਇੱਕ ਸਿੰਗਲ ਡੈਵਲਪਰ ਮਸ਼ੀਨ ‘ਤੇ ਲਿਆਕੇ ਸਾਰਿਆਂ ਨੂੰ ਸਥਾਨਕ ਤੌਰ ਤੇ ਚਲਾਓਗੇ।
ਕੰਪਿਊਟਰ ਯੂਜ਼ ਏਜੰਟ ਬਣਾਉਣਾ (CUA)
ਅਸਵੀਕਾਰੋਪਣ: ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਅਨੁਵਾਦ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾਵਾਂ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮੱਤਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੇ ਉਪਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।