# Prompt 5: AI Agentlar va Ish Oqimlari — ReAct Pattern, Tool Orchestration va Multi-Agent Tizimlar

> **Holat:** 2026-yil sentabr. Oddiy chatbotlar davri tugadi. Zamonaviy AI dasturlari **Avtonom Agentlar (Autonomous Agents)** va **Ko'p agentli ish oqimlari (Multi-Agent Workflows)** ustiga qurilmoqda. Agent shunchaki savolga javob bermaydi — u vazifani kichik bo'laklarga bo'ladi, kerakli asboblarni (tool) ishga tushiradi, natijani tahlil qiladi va maqsadga yetgunga qadar tsiklni davom ettiradi.

## Mundarija

1. [Passiv LLM vs Avtonom Agent](#llm-vs-agent)
2. [ReAct (Reasoning + Acting) patterni](#react-pattern)
3. [Ko'p agentli (Multi-Agent) arxitekturalar](#multi-agent)
4. [Model Context Protocol (MCP) standarti](#mcp)
5. [Xavfsizlik va Human-in-the-Loop (HITL)](#hitl)
6. [Amaliy Python: ReAct agent tsiklini qurish](#python-react)
7. [Xulosa](#xulosa)
8. [Manbalar](#manbalar)

---

## 1. Passiv LLM vs Avtonom Agent {#llm-vs-agent}

| Xususiyat | Passiv LLM (Chat) | Avtonom Agent |
|---|---|---|
| **Interaktivlik** | Bir martalik savol-javob (Single-turn) | Ko'p bosqichli maqsad sari harakat (Multi-step loop) |
| **Vositalar** | Faqat o'z bazasidagi matn | Terminal, Fayllar, API, Vektor baza, GitHub |
| **Xotira (Memory)** | Faqat joriy chat konteksti | Qisqa muddatli ishchi xotira + Uzoq muddatli xotira |
| **Xatolarni tuzatish** | Dasturchi yangi savol bermaguncha bilmaydi | Tool xatosini ko'rib, o'z strategiyasini o'zgartiradi |

---

## 2. ReAct (Reasoning + Acting) patterni {#react-pattern}

Yao va boshqalar tomonidan 2022-yilda e'lon qilingan **ReAct** arxitekturasi barcha zamonaviy agentlarning poydevori hisoblanadi:

```text
       ┌────────────────────────────────────────────────────────┐
       ▼                                                        │
[Fikr (Thought)] ──► [Harakat (Action)] ──► [Kuzatuv (Observation)]
       │
       └─► Maqsadga erishildimi? ──► [Yakuniy Javob (Finish)]
```

1. **Thought (Fikr):** Model vaziyatni baholaydi va navbatdagi qadamni rejalashtiradi: `"Men avval testlarni ishga tushirib, qaysi biri yiqilganini ko'rishim kerak"`.
2. **Action (Harakat):** Aniq vositani chaqiradi: `run_command("npm test")`.
3. **Observation (Kuzatuv):** Vosita natijasini o'qiydi: `"Error: Test 'login' failed at line 42"`.
4. **Yangi Thought:** Olingan xatodan xulosa chiqaradi: `"Line 42 da nil unwrap bo'lgan, endi faylni ochib tuzataman"`.

---

## 3. Ko'p agentli (Multi-Agent) arxitekturalar {#multi-agent}

Murakkab dasturiy loyihalarda bitta agentga butun yuklamani yuklash o'rniga, tor ixtisoslashgan jamoa tuziladi:

```text
                      [Supervisor / Router Agenti]
                                   │
         ┌─────────────────────────┼─────────────────────────┐
         ▼                         ▼                         ▼
 [Tadqiqotchi Agenti]      [Kod Yozuvchi Agent]      [Xavfsizlik Auditori]
  (Hujjatlarni o'qiydi)     (Swift/Kotlin yozadi)     (Kodni tekshiradi)
```

- **Supervisor (Boshqaruvchi):** Foydalanuvchi talabini qabul qiladi va uni kichik topshiriqlarga bo'lib, tegishli agentga yo'naltiradi.
- **Worker (Ijrochi):** Faqat o'z sohasidagi vositalardan foydalanadi (masalan, faqat fayllarni o'qish yoki faqat testlarni yurgizish).

---

## 4. Model Context Protocol (MCP) standarti {#mcp}

2024–2026-yillarda Anthropic tomonidan taqdim etilgan **Model Context Protocol (MCP)** — agentlar va ma'lumot manbalari o'rtasidagi ochiq USB standarti kabi ishlaydi:
- Har bir kompaniya o'z vositalari uchun alohida integratsiya yozish o'rniga bitta MCP server yaratadi (masalan, GitHub MCP, PostgreSQL MCP, Xcode MCP);
- Har qanday MCP-mos agent ushbu serverga bir zumda ulanib, undagi vositalardan foydalana oladi.

---

## 5. Xavfsizlik va Human-in-the-Loop (HITL) {#hitl}

Avtonom agentlarga to'liq erkinlik berish falokatga olib kelishi mumkin (masalan, ma'lumotlar bazasini o'chirib yuborish yoki noto'g'ri pul o'tkazish). 
Shu sababli xavfli operatsiyalar oldidan **Inson tasdig'i (Human-in-the-Loop)** darvozasi qo'yiladi:

- **Avtomatik bajariladigan amallar (Read-only):** Fayllarni o'qish, qidiruv, kod tahlili, testlarni ishga tushirish.
- **Tasdiq talab qiluvchi amallar (Destructive):** Fayllarni o'chirish, `git push`, deploy qilish, to'lov API'lari.

---

## 6. Amaliy Python: ReAct agent tsiklini qurish {#python-react}

Quyidagi soddalashtirilgan Python kodi ReAct siklining ishlash prinsipini namoyish etadi:

```python
class SimpleAgent:
    def __init__(self, max_steps=5):
        self.max_steps = max_steps
        self.step_count = 0

    def think(self, observation):
        self.step_count += 1
        if "error" in observation:
            return "Fix Bug", "repair_code()"
        elif "success" in observation:
            return "Done", "finish()"
        return "Run Tests", "run_tests()"

    def act(self, action):
        if action == "run_tests()":
            return "error: assertion failed"
        elif action == "repair_code()":
            return "success: all tests passed"
        return "completed"

    def run(self):
        obs = "start"
        while self.step_count < self.max_steps:
            thought, action = self.think(obs)
            if thought == "Done":
                print(f"Maqsad muvaffaqiyatli bajarildi ({self.step_count} qadamda)!")
                break
            obs = self.act(action)

agent = SimpleAgent()
agent.run()
```

---

## 7. Xulosa {#xulosa}

- ReAct tsikli AI'ga o'z xatolaridan saboq olib, iterativ ravishda maqsadga erishish qobiliyatini beradi.
- Ko'p agentli arxitektura murakkab muammolarni javobgarlik sohalari bo'yicha ajratish orqali sifatni oshiradi.
- Human-in-the-Loop tizimlari avtonomiya va xavfsizlik o'rtasidagi optimal muvozanatni ta'minlaydi.

---

## 8. Manbalar {#manbalar}

1. [Yao et al. — ReAct: Synergizing Reasoning and Acting in Language Models (ICLR 2023)](https://arxiv.org/abs/2210.03629)
2. [Model Context Protocol Specification](https://modelcontextprotocol.io/)
3. [Anthropic — Building Effective Agents](https://www.anthropic.com/research/building-effective-agents)
