
Claude Code'ning maxsus agentlari bilan multi-agent ishlab chiqish workflow'ini qurish bo'yicha amaliy qo'llanma — arxitekturadan implementatsiyagacha, real konfiguratsiyalar bilan.
Claude Code'ni 12 ta ixtisoslashtirilgan sub-agentga qanday ajratganim
Men Claude Code (Anthropic'ning CLI vositasi) ni asosiy kodlash yordamchisi sifatida ishlataman. Asl holatda u bitta umumiy maqsadli agent. Lekin men uni 12 ta ixtisoslashtirilgan sub-agentga ajratdim — har birining o'z vazifasi, maxsus vositalari va loyiha konvensiyalarini chuqur bilishi bor.
Natija: hamma narsani yuzaki biladigan bitta agent o'rniga, o'z sohasini chuqur biladigan mutaxassislar jamoasi bor.
Bitta AI agent bilan muammo
Bitta AI agentni hamma narsa uchun ishlatsangiz — kod yozish, review qilish, debug qilish, tiplar yaratish, git boshqarish — oldindan aytish mumkin bo'lgan muammolarga duch kelasiz:
- Kontekst suyulanishi: Agent hamma narsa bo'lishga urinadi va har bir vazifada o'rtacha natija beradi
- Nomuvofiq patternlar: Qat'iy nazorat bo'lmasa, bir xil pattern turli featurelarda turlicha implement qilinadi
- Separation of concerns yo'q: Bir xil agent kod yozadi va uni review qiladi — ikkinchi fikr yo'q
- Context window isrof bo'lishi: Har bir prompt barcha ko'rsatmalarning to'liq og'irligini ko'taradi, hatto faqat bitta imkoniyat kerak bo'lsa ham
Yechim aniq edi: kodda ishlatadigan separation of concerns tamoyilini AI workflow'imga ham qo'llash.
Arxitektura: Sub-agentlar qanday ishlaydi
Claude Code ~/.claude/agents/ papkasidagi markdown fayllar orqali maxsus agentlarni qo'llab-quvvatlaydi. Har bir agent asosiy sessiya vazifa topshira oladigan subprocess hisoblanadi.
Asosiy Claude sessiyasi (orkestrator)
|
|-- "bu feature'ni qur" topshiradi --> senior-dev agent
|-- "kodni review qil" topshiradi --> code-reviewer agent
|-- "tiplar yarat" topshiradi --> schema-type-generator agent
|-- "commit qil" topshiradi --> git-workflow agent
|
(agentlar bir-biri bilan gaplasha olmaydi — faqat asosiy sessiya orqali)
Asosiy cheklovlar:
- Agentlar faqat asosiy sessiya bilan muloqot qiladi, hech qachon bir-biri bilan bevosita emas
- Har bir agentning o'z tizim prompti, vositalar ruxsati va model tanlovi bor
- Asosiy sessiya orkestrator sifatida ishlaydi — qaysi agent qaysi vazifani bajarishini u hal qiladi
- Agentlar mustaqil ishlar uchun parallel ishlashi mumkin
12 ta agent
Mana agentlarning to'liq ro'yxati — vazifalari, modellari va vositalari bilan:
| Agent | Model | Rang | Vazifasi |
|---|---|---|---|
senior-dev |
inherit (Opus) | yashil | Asosiy kod yozuvchi — featurelarni boshidan oxirigacha quradi |
component-architect |
Sonnet | ko'k-yashil | Implementatsiyadan oldin komponent ierarxiyasini loyihalaydi |
code-reviewer |
Sonnet | qizil | Kod sifatini tekshiradi, xatolarni topadi, patternlarni nazorat qiladi |
debugger |
inherit (Opus) | sariq | Runtime xatolar va build muvaffaqiyatsizliklarini tashxislaydi |
api-integrator |
inherit (Opus) | ko'k | Frontendni backend API'larga ulaydi |
schema-type-generator |
Sonnet | binafsha | TypeScript tiplari va Zod schemalarni yaratadi |
test-writer |
inherit (Opus) | yashil | Vitest + Testing Library testlar yozadi |
git-workflow |
Haiku | ko'k | Commitlar, branchlar, PR'larni boshqaradi |
performance-optimizer |
Sonnet | sariq | Performance muammolarini tashxislaydi va tuzatadi |
security-auditor |
Sonnet | qizil | Xavfsizlik tekshiruvlari va zaiflik skanerlash |
refactorer |
inherit (Opus) | binafsha | Mavjud xatti-harakatni saqlab kodni qayta tuzadi |
documentation-creator |
Sonnet | ko'k-yashil | Texnik hujjatlar, JSDoc, README fayllar yozadi |
coding-rules |
inherit (Opus) | binafsha-rang | CLAUDE.md'dagi barcha kodlash standartlarini nazorat qiladi |
Nima uchun turli modellar?
Har bir vazifa eng kuchli (va qimmat) modelni talab qilmaydi:
- Opus — chuqur fikrlash kerak bo'lgan vazifalar uchun: murakkab featurelar yozish, debugging, refaktoring
- Sonnet — pattern matching va izchillik kerak bo'lgan vazifalar uchun: kod review, tip generatsiya, xavfsizlik audit
- Haiku — oddiy, takroriy vazifalar uchun: git operatsiyalari (commit xabarlari, branch yaratish)
Bu sifatga zarar bermasdan xarajatlarni kamaytiradi.
Agent anatomiyasi: Har bir agent faylining ichida nima bor
Har bir agent — YAML frontmatter va batafsil tizim promptli markdown fayl. Mana tuzilishi:
---
name: agent-nomi
description: >
Bu agentni qachon ishlatish kerak. Claude buni qaysi
agentga topshirishni hal qilish uchun o'qiydi.
model: inherit | sonnet | haiku
color: green
tools: Read, Write, Grep, Glob, Bash
memory: user
---
[Loyihaga xos patternlar, bosqichma-bosqich workflow'lar,
kod misollari va sifat cheklistlari bilan batafsil tizim prompt]
description maydoni muhim — u asosiy Claude sessiyasiga qachon bu agentni ishlatishni aytadi. Uni routing qoidasi deb o'ylang.
Chuqur tahlil: Asosiy agentlar
1. senior-dev — Implementatsiya ishchisi
Bu production kod yozadigan agent. Uning tizim prompti mening aniq stek va patternlarimni kodlaydi:
## Ish tartibi
### 1-bosqich: Tushunish
Bitta qator kod yozishdan oldin:
1. Talabni diqqat bilan o'qing
2. Noaniq bo'lsa, aniqlashtiruvchi savollar bering
### 2-bosqich: O'rganish
3. Codebase'da o'xshash komponentlarni topish uchun Glob ishlating
4. Bir xil patternga amal qiladigan 2-3 ta mavjud faylni o'qing
5. Qayta ishlatilishi mumkin bo'lgan umumiy utilitalarni tekshiring
### 3-bosqich: Rejalashtirish
6. Yaratadigan yoki o'zgartiradigan barcha fayllarni sanab o'ting
7. Davom etishdan oldin bu rejani foydalanuvchiga taqdim eting
### 4-bosqich: Qurish
9. Avval tiplar va enumlarni yarating (data kontrakti)
10. i18n validatsiya bilan Zod schemalar yarating
11. Service layerni quríng (ENDPOINTS + featureService)
12. TanStack Query hooklarni quríng (key factory + hooklar)
13. UI komponentlarni eng oxirida quríng
### 5-bosqich: Tekshirish
15. Xatolarni topish uchun har bir faylni qayta o'qing
16. Tip tekshiruvi uchun tsc --noEmit ishga tushiring
17. Formatlash uchun Biome ishga tushiring
Asosiy tushuncha: agent pastdan yuqoriga quradi — avval tiplar, keyin schemalar, keyin servicelar, keyin hooklar, keyin UI. Har bir qatlam faqat o'zidan pastdagi qatlamlarga bog'liq. Bu tartib yuqoridan pastga qurishda paydo bo'ladigan kaskad tip xatolarining oldini oladi.
Har bir pattern aniq kod misollarini o'z ichiga oladi. Mana service layer pattern agent prompti ichida qanday ko'rinadi:
const ENDPOINTS = {
LIST: '/users/list',
CREATE: '/users/create',
UPDATE: (id: number) => `/users/${id}/update`,
DELETE: (id: number) => `/users/${id}/delete`,
DETAIL: (id: number) => `/users/${id}`,
} as const;
export const userService = {
getList: async (filter: UserFilter): Promise<UserListResponse> => {
const { data } = await axiosClient.post(ENDPOINTS.LIST, filter);
return data;
},
// ... boshqa metodlar
};
Agent "user boshqaruvini qur" so'rovini ko'rganda improvizatsiya qilmaydi — u aynan shu patternga amal qiladi, chunki misollar uning ko'rsatmalariga joylashtirilgan.
2. code-reviewer — Ikkinchi ko'z
Bu agent ataylab Sonnetda (Opus emas) ishlaydi. Kod review — bu pattern matching: bu kod qoidalarga amal qiladimi? Sonnet tezroq, arzonroq va bunga juda yaxshi.
Review jarayoni sistematik:
## Review jarayoni
### 2-qadam: Xato tahlili
Sistematik tekshiring:
**Null/Undefined xavflari:**
- Potentsial undefined qiymatlarda optional chaining yo'q
- TanStack Query `data` ga `isLoading` tekshirmasdan murojaat qilish
**Mantiqiy xatolar:**
- useEffect yoki TanStack Query queryFn'da eskirgan closurelar
- Noto'g'ri skipToken shartlari
**TypeScript muammolari:**
- `any` tip ishlatish (`unknown` yoki aniq tip bo'lishi kerak)
- Zod schemalarida `satisfies z.ZodType<Type>` yo'q
### 5-qadam: Pattern muvofiqlik
Har bir patternni sistematik tekshiring:
- Service layer: ENDPOINTS as const + featureService + axiosClient
- TanStack Query: key factorylar + skipToken + keepPreviousData
- Zod: createSchema(t: TFunction) + satisfies
- CVA: cva() + VariantProps + cn()
- Enumlar: const as const + tip ajratish
Uning chiqishi jiddiylik darajalari bilan tuzilgan:
## Kritik muammolar
- **[BUG]** `user.service.ts:45` - API javobida null tekshiruv yo'q
## Pattern buzilishlar
- **[QUERY]** `use-users.ts:12` - Sahifalangan so'rovda keepPreviousData yo'q
## Xulosa
**O'ZGARISH TALAB QILINADI** - 2 ta kritik xato topildi
3. debugger — Xato detektivi
Biror narsa buzilganda, bu agent qat'iy tashxis jarayoniga amal qiladi. Uning prompti mening stekimga xos har bir keng tarqalgan xato patternini o'z ichiga oladi:
## Management-System'ga xos xato patternlari
### Axios Interceptor xatolari
**Token yangilash muvaffaqiyatsizligi (cheksiz 401 sikli):**
- Asosiy sabab: Token yangilash so'rovi 401 qaytaradi, bu yana yangilashni boshlaydi
- Tekshiring: src/lib/axios.ts dagi Axios interceptorni o'qing
- Tuzatish: Bir vaqtda yangilashlarning oldini olish uchun isRefreshing bayrog'i qo'shing
### TanStack Query xatolari
**skipToken noto'g'ri ishlatilishi (so'rov kerak bo'lmaganda ishlaydi):**
- Asosiy sabab: queryFn undefined parametr oladi, chunki skipToken sharti noto'g'ri
- Tekshiring: skipToken sharti aynan param mavjud bo'lmaganda mos kelishi kerak
### React Hook Form + Zod xatolari
**Schema validatsiya ishlamayapti:**
- Asosiy sabab: createSchema t funksiyasiz chaqirilgan
- Tuzatish: Schema'ni t mavjud bo'lgan komponent ichida yarating
Taxmin qilish o'rniga, agent xatoni ma'lum patternlarga moslashtiradi va asosiy sababni dalillar bilan kuzatadi.
4. schema-type-generator — Tiplar va validatsiya
Bu agent bitta narsaga ixtisoslashgan: loyihaning aniq konvensiyalariga amal qiladigan TypeScript tiplari va Zod schemalar yaratish.
// U enum patternini biladi
export const DepartmentStatus = {
Active: 'ACTIVE',
Inactive: 'INACTIVE',
Archived: 'ARCHIVED',
} as const;
export type DepartmentStatus = (typeof DepartmentStatus)[keyof typeof DepartmentStatus];
export const DepartmentStatusValues = Object.values(DepartmentStatus);
// U schema factory patternini biladi
export const createDepartmentSchema = (t: TFunction) =>
z.object({
name: z.string({ message: t('validation.required') })
.min(2, t('validation.minLength', { min: 2 })),
status: z.enum(DepartmentStatusValues as [string, ...string[]], {
message: t('validation.required'),
}),
}) satisfies z.ZodType<DepartmentInput>;
export type DepartmentFormValues = z.infer<ReturnType<typeof createDepartmentSchema>>;
Nima uchun tiplar uchun alohida agent? Chunki tip ta'riflari qatlamlar orasidagi kontrakt hisoblanadi. Agar tiplar noto'g'ri bo'lsa, pastdagi hamma narsa buziladi. Loyihaning tip patternlarini (ayniqsa const as const enum pattern va createSchema(t) factory pattern) chuqur tushunadigan mutaxassisga ega bo'lish tipga bog'liq xatolarni sezilarli darajada kamaytiradi.
5. git-workflow — Xavfsiz commit qiluvchi
Bu Haikuda — eng arzon, eng tez modelda ishlaydi. Git operatsiyalari formulaga asoslangan: statusni tekshirish, fayllarni staging'ga qo'shish, conventional commit xabar yozish, push qilish.
## Xavfsizlik qoidalari (HECH QACHON buzilmasin)
- HECH QACHON main/master'ga force push qilmang
- HECH QACHON foydalanuvchining aniq tasdig'isiz git reset --hard ishlatmang
- HECH QACHON .env fayllar yoki credentiallarni staging'ga qo'shmang
- DOIMO commit qilishdan oldin staging'dagi o'zgarishlarni ko'rib chiqing
- DOIMO git add'da aniq fayl yo'llarini ishlating (git add . emas)
Commit xabar formati majburiy:
feat(departments): add department creation form with validation
fix(table): correct column resize handle position
refactor(api): extract shared error handling to Axios interceptor
Orkestratsiya oqimi
Mana oddiy feature so'rovi agentlar orqali qanday o'tadi:
Foydalanuvchi: "CRUD bilan bo'limlar boshqaruvi sahifasini qo'sh"
1. Asosiy sessiya so'rovni tahlil qiladi
2. component-architect'ga topshiradi:
"Bo'limlar feature uchun komponent ierarxiyasini loyihala"
-> Qaytaradi: komponent daraxti, proplar, state egaligi xaritasi
3. schema-type-generator'ga topshiradi:
"Bo'limlar uchun tiplar va Zod schemalar yarat"
-> Qaytaradi: types.ts + department.schema.ts
4. senior-dev'ga topshiradi:
"Arxitektura rejasiga amal qilib bo'limlar feature'ni implement qil"
-> Qaytaradi: service, hooklar, komponentlar, sahifa
5. code-reviewer'ga topshiradi:
"Barcha yangi bo'limlar feature fayllarini review qil"
-> Qaytaradi: muammolar bilan review
6. Agar muammolar topilsa, senior-dev'ga qaytaradi:
"Kod review'dagi muammolarni tuzat"
7. git-workflow'ga topshiradi:
"Bo'limlar feature'ni commit qil"
-> Qaytaradi: conventional commit yaratildi
2 va 3-qadamlar mustaqil bo'lgani uchun parallel ishlashi mumkin. Asosiy sessiya ketma-ketlikni boshqaradi.
Umumiy bilim qatlami: coding-rules agent
Bitta maxsus agent hamma narsani birlashtiradi: coding-rules. Bu loyihamning barcha kodlash standartlarini kodlaydigan 2700+ qatorli hujjat:
## Agent identifikatsiyasi
Siz kodlash standartlarini nazorat qilish mutaxassisisiz.
Siz hech qachon yangi patternlar o'ylab topmaysiz — faqat mavjudlarini qat'iy nazorat qilasiz.
Sizning falsafangiz:
- Afzalliklarga nisbatan izchillik
- Avval pattern, keyin implementatsiya
- Improvizatsiya yo'q
- Ishonchsiz bo'lganda agentlarga murojaat qiling
Bu agent boshqa agentlar murojaat qiladigan "haqiqat manbai" vazifasini bajaradi. senior-dev komponent qurganda, u code-reviewer tekshiradigan bir xil CVA patternga amal qiladi va bu coding-rulesdagi misollar bilan mos keladi.
Sozlash: Konfiguratsiya
Agent fayllari
Har bir agent ~/.claude/agents/ da joylashgan:
~/.claude/agents/
senior-dev.md
code-reviewer.md
component-architect.md
debugger.md
api-integrator.md
schema-type-generator.md
test-writer.md
git-workflow.md
performance-optimizer.md
security-auditor.md
refactorer.md
documentation-creator.md
coding-rules.md
CLAUDE.md — Loyiha konteksti
~/.claude/CLAUDE.md fayli barcha agentlar meros qilib oladigan loyiha darajasidagi kontekstni ta'minlaydi:
# Tech Stack
- React 19 + TypeScript 5.9 + Vite 7
- TanStack Query v5, TanStack Table v8
- React Hook Form + Zod (i18n validation)
- Axios (auth interceptors, token refresh)
- i18next (en, ru, uz, uz-Cyrl)
- Biome (linter + formatter)
# Quick Reference
- TypeScript: strict mode, interface for objects, type for unions
- Service Layer: ENDPOINTS as const + featureService + axiosClient
- TanStack Query: key factories, skipToken, keepPreviousData
- Zod: createSchema(t: TFunction), satisfies z.ZodType<T>
- Files: feature-based src/features/[name]/
Ruxsatlar
~/.claude/settings.json agentlarning nima qila olishini boshqaradi:
{
"permissions": {
"allow": [
"Bash(npm:*)", "Bash(pnpm:*)", "Bash(git:*)",
"Bash(biome:*)", "Bash(vitest:*)", "Bash(tsc:*)",
"WebSearch", "WebFetch"
],
"defaultMode": "acceptEdits"
}
}
Agentlar bu ruxsatlarni meros qilib oladi. code-reviewer faqat Read, Grep, Glob, Bash ga ega — tahlil qila oladi lekin yoza olmaydi. senior-dev to'liq vositalar ruxsatiga ega.
Nimalarni o'rgandim
1. Agent descriptionlari routing qoidalari
YAML frontmatterdagi description maydoni Claude qaysi agentni ishlatishni hal qilish usuli. Uni funksiya signaturasi kabi yozing: aniq kirishlar, aniq foydalanish holatlari.
# Yomon
description: Kod bilan yordam beradi
# Yaxshi
description: >
Ekspert kod review agenti. Kod sifatini tekshiradi, xatolarni topadi,
TypeScript tip xavfsizligini tasdiqlaydi va loyiha patternlariga
(service layer, TanStack Query, Zod i18n, CVA, Biome) muvofiqligini tekshiradi.
Kod o'zgarishlaridan keyin yoki commitlardan oldin proaktiv ishlating.
2. Aniq misollar abstrakt qoidalardan ustun
"To'g'ri TypeScript patternlar ishlating" o'rniga, aniq kodni joylashtiring:
// Bu agent promptining ichida:
export const Role = {
Admin: 'ADMIN',
User: 'USER',
} as const;
export type Role = (typeof Role)[keyof typeof Role];
Agent bu patternni aynan qayta ishlab chiqaradi.
3. Model tanlovi narx uchun muhim
Mening git-workflow agentim oyiga yuzlab marta ishlaydi. Oddiy commit xabarlari uchun Opus o'rniga Haiku ishlatish sifat yo'qolishisiz sezilarli xarajatni tejaydi.
4. Reviewerlar uchun faqat o'qish vositalari
code-reviewer agentida faqat Read, Grep, Glob, Bash bor — Write yoki Edit yo'q. Bu ataylab. Reviewer tahlil qilishi va hisobot berishi kerak, tuzatish emas. Tuzatish senior-devga qaytadi.
5. Memory sessiyalar aro o'rganishni yoqadi
Har bir agentda memory: user bor, ya'ni ular sessiyalar bo'ylab patternlar va afzalliklarni eslab qolishi mumkin. debugger agenti qaysi xato patternlarni ko'rganini eslaydi; senior-dev sizning afzal qiladigan komponent tuzilmangizni eslaydi.
Oldin va keyin
Oldin (bitta agent):
- "Users sahifasini qur" → Umumiy implementatsiya, loyiha patternlari yo'q
- Pattern buzilishlarni topish uchun qo'lda review kerak
- Featurelar bo'ylab nomuvofiq kod
- Har bir prompt konvensiyalarni takrorlashni talab qiladi
Keyin (12 ta ixtisoslashtirilgan agent):
- "Users sahifasini qur" →
senior-devaniq patternlarga amal qiladi, pastdan yuqoriga quradi -
code-reviewerbuzilishlarni avtomatik topadi - Har bir feature bir xil patternlarga amal qiladi
- Konvensiyalar agent promptlariga joylashtirilgan, hech qachon takrorlanmaydi
O'zingiz sinab ko'ring
- Loyihangizning asosiy patternlarini aniqlang (eng ko'p nazorat qiladigan 3-5 ta pattern)
- Birinchi agentingizni yarating:
senior-dev— kod yozuvchidan boshlang - Patternlaringizga qarshi tekshiradigan
code-reviewerqo'shing - Qaysi vazifalar fokuslantirilgan promptlardan foyda ko'rishini payqaganingizda asta-sekin mutaxassislar qo'shing
- Haqiqat manbai sifatida umumiy
coding-rulesagentini saqlang
Birinchi kundan 12 ta agent kerak emas. 2-3 tadan boshlang va patternlaringiz mustahkamlanganida agentlarni o'shiring.
Bu setup hali takomillashtirilmoqda — men hali ham agent promptlarini yaxshilayapman, model tanlovlarini sozlayapman. Agar takliflaringiz bo'lsa, kamchilik sezgan bo'lsangiz yoki boshqacha yondashuv bilan o'xshash narsa qurgan bo'lsangiz, izohlarda yozishingiz mumkin.
Top comments (0)