Bir agent bu AiHummer suhbat oldida qo‘yadigan birlikdir. Har bir agentning o‘z personasi, o‘z modeli, tuzilgan so‘rovnomasi va bir qator ko‘nikmalari bor, va unga kiritilgan har bir o‘zgarish versiyalanadi. Agentlar veb admin UI orqali va admin API orqali boshqariladi /v1/admin/agents/*.
Ushbu sahifa agent nima tarkibdan iborat ekanligini, tuzilgan “G3” so’rov qanday yig’ilishini va agent o’z profilingini xavfsiz tahrirlashni qanday amalga oshirishi mumkinligini qamrab oladi.
Agentlar reyestri
Ro‘yxat agentlarning to‘liq CRUD katalogidir. Har bir agent uchun siz identitet, persona, u ishlaydigan model va u foydalanishi mumkin bo‘lgan ko‘nikmalarni belgilaysiz. Chunki gateway ko‘p foydalanuvchili bo‘lib, agentlar bir ish maydonida yashaydi va boshqa har qanday foydalanuvchi ma’lumotlari kabi izolatsiyalangan bo‘ladi.
Shaxs — agentning ovozi va xulq-atvori, batamom barqaror qilib taqdim etilgan,
keshga qulay tizim so’rovi qatlami.
Agenentga qarashli model — har bir agent o‘z modelini va provayderini belgilay oladi, shuning uchun
arzon agent va flagman agent bir xil ish maydonida birga mavjud bo’lishi mumkin.
Ko’nikmalar — per-agent va umumlashtirilgan ko‘nikmalar “Ko‘nikmalar” blokini qiladi
soʻrov; ular imkoniyatlarni taʼriflaydi, vaznlarni emas.
[!NOTE]
Per-agent modeli marshrutlashdan mustaqil. Model-qavatli marshrutlash (oddiy /
standart / murakkab) navbat uchun model sinfini tanlaydi, agent boshiga esa
model agentning o‘zining standartidir. Ko‘ring
Yo’naltirish.
Versiyalar, orqaga qaytarish va klonlash
Agentdagi har bir muhim o‘zgarish quyidagicha qayd etiladi versiya. Bu agent konfiguratsiyasini tekshirsa bo’ladigan va qaytariladigan qiladi: nima o’zgarganini ko’rib chiqishingiz mumkin, orqaga qaytarmoq oldingi versiyasiga, yoki klon uning yangi versiyasi uchun boshlang‘ich nuqta sifatida foydalanadigan agent. Versiya va profil resurslari ostida joylashgan /v1/admin/agents/* (profil, bo‘limlar, ko‘nikmalar, versiyalar).
[!TIP]
Katta shaxs yoki soʻrovni qayta yozishdan oldin ishlayotgan agentni klonlang. Agar yangi
yo’nalish natija bermasa, asl nusxa hanuz bir qadam orqaga qaytishga yaqin.
Tuzilgan “G3” so’rov
Bitta bepul matnli tizim so’rovining o’rniga, AiHummer foydalanadi tuzilgan agent profili (ichki tomondan “G3”). Shaxsiyati maydonlarga ajratilgan proza ichida dafn etilgan o‘rniga, va promptning qolgan qismi nomlangan narsalardan tashkil topgan bo’limlar yana bir ishga kirish jarayoni blok. Orkestrator bularni qatlamli tizim promptiga o‘tkazadi, barqaror qismlarni (shaxsiyat, persona, bo‘limlar) keshlanishi mumkin bo‘lgan prefiksda saqlaydi va o‘zgaruvchan ma’lumotlarni oxirida qo‘shadi.
Tuzilma profildagi maydonlarni birma-bir tahrirlashni oson qiladi, versiyalar orasida farqlashni oson qiladi va renderingni oldindan taxmin qilishni ta’minlaydi — yashirin so’rovlar aralashmasi yo’q.
Vakilga ruxsat berilishi mumkin o’z profilini tahrirlash oʻz-oʻzini tahrirlash vositalaridan foydalanish — masalan, bir bo‘limni takomillashtirish yoki uning kirish jarayonini yangilash uchun. Bu ataylab himoyalangan:
Oʻz-oʻzini tahrirlash orqali oʻtadi tasdiqlash darvozasi: taklif qilingan o‘zgarish yozib qo‘yiladi va
amalga kirishidan oldin odam tomonidan tasdiqlanishi kerak. Rad etilgan o‘zgarish hech qachon
qo‘llandi.
O’zgarish yangi sifatida qayd etiladi versiya, shuning uchun o‘zini o‘zi tahrirlash ham auditable hisoblanadi
va har qanday qo’lda tahrirlash kabi teskari qilinadigan.
[!WARNING]
O’zini tahrirlash kuchli. Buni tasdiqlash eshigi ortida saqlang, shunda agent buni qila olmaydi
sekretsiz ravishda o‘z shaxsiyatini qayta yozadi. Taklif qilinayotgan o‘z-o‘zini tahrirlashlarni xuddi siz qilganingizdek ko‘rib chiqing
har qanday imtiyozli o‘zgarishni ko‘rib chiqing.
Pochta parollari kassaga boradi
Agar agentning sozlamalariga pochta ma’lumotlari kiritilgan bo’lsa (uchun mail asbob), parol yoziladi shifrlangan credential ombori, profilga saqlanmaydi yoki promptga chiqarilmaydi. Sirlar hech qachon model kontekstiga kirmaydi.
Ijro siyosati: kontekst, sessiyalar va bola agentlar
1.3 versiyasidan boshlab agentda ijro siyosati bor — boshqaruv API-sidagi
runtime_policy maydoni (yaratish va yangilashda /v1/admin/agents). Bu
"version": 1 bilan qat’iy tekshiriladigan JSON obyekt: bo‘sh {} sukut
qiymatlarini qaytaradi, yangilashda maydonni tashlab ketish avvalgi siyosatni
saqlaydi, noma’lum maydonlar va ruxsat etilgan chegaralardan tashqari
qiymatlar esa rad etiladi. Siyosat vositalar bermaydi va huquqlarni
kengaytirmaydi — u faqat byudjetlar va muddatlarni belgilaydi. Agent kloni va
unga navbatni topshirish uni meros qilib oladi.
context — tarix byudjeti: max_tokens, reserve_tokens va
history_share so‘rovga qancha tarix tushishini belgilaydi;
max_history_messages xabarlar oynasini, bootstrap_max_chars profil bloki
hajmini cheklaydi. Kontekst aniq belgilanganda eski xabarlar joriy so‘rov
yig‘ilishidan oldin qism-qism xulosaga siqiladi.
pruning — eskirgan vosita natijalarini tozalash: muddat bo‘yicha
(ttl_seconds), oxirgi javoblarni himoya qilib (keep_last_assistants),
yumshoq qirqish (soft_trim_ratio, head_chars, tail_chars) va
hard_clear_ratio oshganda placeholder matni bilan to‘liq almashtirish.
Foydalanuvchi matni, tasvirlar va bazadagi to‘liq tarixga tegilmaydi.
memory_flush — siqishdan oldin vositasiz agent maqsadlar, qarorlar va
tugallanmagan ishlar haqida qisqa eslatma yozadi (soft_threshold_tokens);
xuddi shu dialogning oxirgi uchta eslatmasi tekshirilmagan ma’lumotnoma
sifatida kontekstga qo‘shiladi.
session — dialog hayot davri: idle_reset_minutes tanaffusdan keyin
yangi kontekst boshlaydi (xom tarix saqlanadi), index_prune_after_days va
index_max_entries eski dialoglarni o‘chirmasdan sukut ro‘yxatidan olib
tashlaydi. scope = per-peer (barcha kanallarda tasdiqlangan foydalanuvchi
uchun bitta dialog) yoki per-channel-peer (har kanal uchun alohida dialog).
children — bola agentlar: max_depth (4 gacha), max_concurrent (bir
ishga tushirish daraxtiga 8 gacha), max_per_parent (5 gacha),
timeout_seconds (48 soatgacha, lekin otadan uzoq emas) va
archive_after_minutes — tugallangan ishga tushirishlar sukut ro‘yxatidan
qachon chiqishi. Qiymatlar bu agent uchun global AIHUMMER_SUBAGENT_MAX_DEPTH
va AIHUMMER_SUBAGENT_TIMEOUT_SEC ni qayta belgilaydi.
max_iterations (1–256) — ko‘p topshiriqli tekshirilgan stsenariylar
uchun funksiya chaqiruvi siklining qadamlar chegarasi.
app — faqat AiHummer ilovasi uchun: reasoning_effort, service_tier
va qisqa javob rejimi direct_completion (auto yoki always; max_tokens
4096 gacha va timeout_ms 60 000 gacha).
interaction — sessiyalar bilan ishlash uchun aniq ruxsatlar:
user_ids, session_agent_ids, spawn_agent_ids, session_visibility
ko‘rinishi (self, agent yoki granted), session_send, bola chaqiruvlar
uchun vosita taqiqlari (child_tool_deny, child_leaf_tool_deny) va
elevated_telegram_user_ids — aniq ko‘tarilgan code_exec ijrosini
so‘rashga ruxsat berilgan user_ids kichik to‘plami (tasdiqlar chetlab
o‘tilmaydi). Joker belgilar va butun ijarachi uchun ruxsatlar yo‘q.
Admin API
Agentlar va ularning tuzilgan profillari admin API orqali boshqariladi, bu esa OIDC bilan himoyalangan va audit qilinadi:
Bir **agent** bu AiHummer suhbat oldida qo‘yadigan birlikdir. Har bir agentning o‘z personasi, o‘z modeli, tuzilgan so‘rovnomasi va bir qator ko‘nikmalari bor, va unga kiritilgan har bir o‘zgarish versiyalanadi. Agentlar veb admin UI orqali va admin API orqali boshqariladi `/v1/admin/agents/*`.
Ushbu sahifa agent nima tarkibdan iborat ekanligini, tuzilgan "G3" so'rov qanday yig'ilishini va agent o'z profilingini xavfsiz tahrirlashni qanday amalga oshirishi mumkinligini qamrab oladi.
## Agentlar reyestri
Ro‘yxat agentlarning to‘liq CRUD katalogidir. Har bir agent uchun siz identitet, persona, u ishlaydigan model va u foydalanishi mumkin bo‘lgan ko‘nikmalarni belgilaysiz. Chunki gateway ko‘p foydalanuvchili bo‘lib, agentlar bir ish maydonida yashaydi va boshqa har qanday foydalanuvchi ma’lumotlari kabi izolatsiyalangan bo‘ladi.
- **Shaxs** — agentning ovozi va xulq-atvori, batamom barqaror qilib taqdim etilgan,
keshga qulay tizim so'rovi qatlami.
- **Agenentga qarashli model** — har bir agent o‘z modelini va provayderini belgilay oladi, shuning uchun
arzon agent va flagman agent bir xil ish maydonida birga mavjud bo'lishi mumkin.
- **Ko'nikmalar** — per-agent va umumlashtirilgan ko‘nikmalar “Ko‘nikmalar” blokini qiladi
soʻrov; ular imkoniyatlarni taʼriflaydi, vaznlarni emas.
> [!NOTE]
> Per-agent modeli marshrutlashdan mustaqil. Model-qavatli marshrutlash (oddiy /
> standart / murakkab) navbat uchun model sinfini tanlaydi, agent boshiga esa
> model agentning o‘zining standartidir. Ko‘ring
> [Yo'naltirish](/uz/v1.0/concepts/routing).
## Versiyalar, orqaga qaytarish va klonlash
Agentdagi har bir muhim o‘zgarish quyidagicha qayd etiladi **versiya**. Bu agent konfiguratsiyasini tekshirsa bo'ladigan va qaytariladigan qiladi: nima o'zgarganini ko'rib chiqishingiz mumkin, **orqaga qaytarmoq** oldingi versiyasiga, yoki **klon** uning yangi versiyasi uchun boshlang‘ich nuqta sifatida foydalanadigan agent. Versiya va profil resurslari ostida joylashgan `/v1/admin/agents/*` (profil, bo‘limlar, ko‘nikmalar, versiyalar).
> [!TIP]
> Katta shaxs yoki soʻrovni qayta yozishdan oldin ishlayotgan agentni klonlang. Agar yangi
> yo'nalish natija bermasa, asl nusxa hanuz bir qadam orqaga qaytishga yaqin.
## Tuzilgan "G3" so'rov
Bitta bepul matnli tizim so'rovining o'rniga, AiHummer foydalanadi **tuzilgan agent profili** (ichki tomondan "G3"). Shaxsiyati **maydonlarga ajratilgan** proza ichida dafn etilgan o‘rniga, va promptning qolgan qismi nomlangan narsalardan tashkil topgan **bo'limlar** yana bir **ishga kirish jarayoni** blok. Orkestrator bularni qatlamli tizim promptiga o‘tkazadi, barqaror qismlarni (shaxsiyat, persona, bo‘limlar) keshlanishi mumkin bo‘lgan prefiksda saqlaydi va o‘zgaruvchan ma’lumotlarni oxirida qo‘shadi.
Tuzilma profildagi maydonlarni birma-bir tahrirlashni oson qiladi, versiyalar orasida farqlashni oson qiladi va renderingni oldindan taxmin qilishni ta'minlaydi — yashirin so'rovlar aralashmasi yo'q.
```text
G3 profile
├── identity fields (decomposed: name, role, ...)
├── sections (named, ordered prompt blocks)
└── onboarding (first-run guidance)
```
## Tasdiqlash to'sig'i ortida o'zini tahrirlash
Vakilga ruxsat berilishi mumkin **o'z profilini tahrirlash** oʻz-oʻzini tahrirlash vositalaridan foydalanish — masalan, bir bo‘limni takomillashtirish yoki uning kirish jarayonini yangilash uchun. Bu ataylab himoyalangan:
- Oʻz-oʻzini tahrirlash orqali oʻtadi **tasdiqlash darvozasi**: taklif qilingan o‘zgarish yozib qo‘yiladi va
amalga kirishidan oldin odam tomonidan tasdiqlanishi kerak. Rad etilgan o‘zgarish hech qachon
qo‘llandi.
- O'zgarish yangi sifatida qayd etiladi **versiya**, shuning uchun o‘zini o‘zi tahrirlash ham auditable hisoblanadi
va har qanday qo'lda tahrirlash kabi teskari qilinadigan.
> [!WARNING]
> O'zini tahrirlash kuchli. Buni tasdiqlash eshigi ortida saqlang, shunda agent buni qila olmaydi
> sekretsiz ravishda o‘z shaxsiyatini qayta yozadi. Taklif qilinayotgan o‘z-o‘zini tahrirlashlarni xuddi siz qilganingizdek ko‘rib chiqing
> har qanday imtiyozli o‘zgarishni ko‘rib chiqing.
### Pochta parollari kassaga boradi
Agar agentning sozlamalariga pochta ma'lumotlari kiritilgan bo'lsa (uchun `mail` asbob), parol yoziladi **shifrlangan credential ombori**, profilga saqlanmaydi yoki promptga chiqarilmaydi. Sirlar hech qachon model kontekstiga kirmaydi.
## Ijro siyosati: kontekst, sessiyalar va bola agentlar
1.3 versiyasidan boshlab agentda **ijro siyosati** bor — boshqaruv API-sidagi
`runtime_policy` maydoni (yaratish va yangilashda `/v1/admin/agents`). Bu
`"version": 1` bilan qat’iy tekshiriladigan JSON obyekt: bo‘sh `{}` sukut
qiymatlarini qaytaradi, yangilashda maydonni tashlab ketish avvalgi siyosatni
saqlaydi, noma’lum maydonlar va ruxsat etilgan chegaralardan tashqari
qiymatlar esa rad etiladi. Siyosat vositalar bermaydi va huquqlarni
kengaytirmaydi — u faqat byudjetlar va muddatlarni belgilaydi. Agent kloni va
unga navbatni topshirish uni meros qilib oladi.
- **`context`** — tarix byudjeti: `max_tokens`, `reserve_tokens` va
`history_share` so‘rovga qancha tarix tushishini belgilaydi;
`max_history_messages` xabarlar oynasini, `bootstrap_max_chars` profil bloki
hajmini cheklaydi. Kontekst aniq belgilanganda eski xabarlar joriy so‘rov
yig‘ilishidan oldin qism-qism xulosaga siqiladi.
- **`pruning`** — eskirgan vosita natijalarini tozalash: muddat bo‘yicha
(`ttl_seconds`), oxirgi javoblarni himoya qilib (`keep_last_assistants`),
yumshoq qirqish (`soft_trim_ratio`, `head_chars`, `tail_chars`) va
`hard_clear_ratio` oshganda `placeholder` matni bilan to‘liq almashtirish.
Foydalanuvchi matni, tasvirlar va bazadagi to‘liq tarixga tegilmaydi.
- **`memory_flush`** — siqishdan oldin vositasiz agent maqsadlar, qarorlar va
tugallanmagan ishlar haqida qisqa eslatma yozadi (`soft_threshold_tokens`);
xuddi shu dialogning oxirgi uchta eslatmasi tekshirilmagan ma’lumotnoma
sifatida kontekstga qo‘shiladi.
- **`session`** — dialog hayot davri: `idle_reset_minutes` tanaffusdan keyin
yangi kontekst boshlaydi (xom tarix saqlanadi), `index_prune_after_days` va
`index_max_entries` eski dialoglarni o‘chirmasdan sukut ro‘yxatidan olib
tashlaydi. `scope` = `per-peer` (barcha kanallarda tasdiqlangan foydalanuvchi
uchun bitta dialog) yoki `per-channel-peer` (har kanal uchun alohida dialog).
- **`children`** — bola agentlar: `max_depth` (4 gacha), `max_concurrent` (bir
ishga tushirish daraxtiga 8 gacha), `max_per_parent` (5 gacha),
`timeout_seconds` (48 soatgacha, lekin otadan uzoq emas) va
`archive_after_minutes` — tugallangan ishga tushirishlar sukut ro‘yxatidan
qachon chiqishi. Qiymatlar bu agent uchun global `AIHUMMER_SUBAGENT_MAX_DEPTH`
va `AIHUMMER_SUBAGENT_TIMEOUT_SEC` ni qayta belgilaydi.
- **`max_iterations`** (1–256) — ko‘p topshiriqli tekshirilgan stsenariylar
uchun funksiya chaqiruvi siklining qadamlar chegarasi.
- **`app`** — faqat AiHummer ilovasi uchun: `reasoning_effort`, `service_tier`
va qisqa javob rejimi `direct_completion` (`auto` yoki `always`; `max_tokens`
4096 gacha va `timeout_ms` 60 000 gacha).
- **`interaction`** — sessiyalar bilan ishlash uchun aniq ruxsatlar:
`user_ids`, `session_agent_ids`, `spawn_agent_ids`, `session_visibility`
ko‘rinishi (`self`, `agent` yoki `granted`), `session_send`, bola chaqiruvlar
uchun vosita taqiqlari (`child_tool_deny`, `child_leaf_tool_deny`) va
`elevated_telegram_user_ids` — aniq ko‘tarilgan `code_exec` ijrosini
so‘rashga ruxsat berilgan `user_ids` kichik to‘plami (tasdiqlar chetlab
o‘tilmaydi). Joker belgilar va butun ijarachi uchun ruxsatlar yo‘q.
## Admin API
Agentlar va ularning tuzilgan profillari admin API orqali boshqariladi, bu esa OIDC bilan himoyalangan va audit qilinadi:
| Resurs | Maqsad |
|---|---|
| `/v1/admin/agents` | Agentlarni ro‘yxatlash, yaratish, yangilash, o‘chirish (CRUD) |
| `/v1/admin/agents/.../profile` | Tuzilgan G3 profili (shaxsiyat maydonlari) |
| `/v1/admin/agents/.../sections` | Nomlangan buyruq bo‘limlari |
| `/v1/admin/agents/.../skills` | Har bir agentning ko'nikmalari |
| `/v1/admin/agents/.../versions` | Versiya tarixi, orqaga qaytarish va klonlash |
## Keyingi qayerga
- Agentlar navbatni qanday boshqarishini va yordamchilarni qanday chaqirishini tushuning
[Orkestratsiya va sub-agentlar](/uz/v1.0/concepts/orchestration-subagents).
- Kiruvchi xabar qanday qilib ma'lum bir agentga yetib borishini ko'ring
[Yo'naltirish](/uz/v1.0/concepts/routing).
- Agentlaringizga uzoq muddatli xotira bering
[Xotira (Aynshteyn)](/uz/v1.0/concepts/memory-einstein).