
Sprix SAGE Router nima?
Sprix SAGE Router — ish allaqachon boshlanganidan keyin AI agentlari vazifani qanday bajarishi kerakligini aniqlashga mo‘ljallangan ochiq kodli Python tadqiqot loyihasi. SAGE qisqartmasi State-Aware Graph Exchange (holatni hisobga oluvchi grafik almashinuvi) degan ma’noni anglatadi. U agentlarni aniqlash va vazifani bajarish bosqichlari orasida ishlaydi hamda joriy jarayon, imkoniyatlar, ruxsatlar, xarajat, kechikish, bog‘liqliklar va kontekstni uzatishdagi yo‘qotishlarni hisobga olgan holda amalga oshirish mumkin bo‘lgan agent konfiguratsiyasini tanlaydi.
Router uchta bajarish rejimini taqqoslaydi:
- SELF: Imkoniyatlari va to‘plangan konteksti yetarli bo‘lsa, amaldagi agent vazifani yolg‘iz davom ettiradi.
- COLLABORATE: Amaldagi agent egalikni saqlab qoladi, yetishmayotgan talablarni esa to‘ldiruvchi agentlar bajaradi.
- HANDOFF: Kontekstni uzatish xarajatidan ko‘ra uning ixtisoslashgan ustunligi yuqori bo‘lsa, boshqa agent to‘liq egalikni o‘z zimmasiga oladi.
SAGE Agent2Agent protokoli ustida ishlash uchun mo‘ljallangan. A2A o‘zaro ishlaydigan Agent Card’lar, vazifalar, xabarlar, artefaktlar, autentifikatsiya va transportni belgilaydi. SAGE esa boshqa savolga javob beradi: vazifani qaysi mos konfiguratsiya, qaysi rejimda va nima sababdan bajarishi kerak?
Joriy prototip marshrutlash qarorlarini qaytaradi. U vazifalarni agentlarga uzatmaydi, shuning uchun tanlangan marshrutni bajarish A2A klienti yoki boshqa ijro qatlami zimmasida bo‘ladi.
Marshrutlashning asosiy imkoniyatlari
SAGE marshrutlash, rejalashtirish va onlayn o‘rganishni yagona, tekshirilishi mumkin bo‘lgan qaror jarayonida birlashtiradi. Uning asosiy imkoniyatlari:
- Uch rejimli marshrutlash: SELF, COLLABORATE va HANDOFF nomzodlari bir xil foydalilik maqsadi asosida raqobatlashadi.
- Jarayondan xabardor qayta rejalashtirish: To‘plangan progress, faol ijrochilar, xatolar, yakunlangan vazifa tugunlari va uzatiladigan kontekst almashish foydali yoki foydasizligini belgilashi mumkin.
- To‘ldiruvchi jamoani tanlash: Jamoalar reytingi yuqori, biroq bir-birini takrorlovchi agentlarni yig‘gani uchun emas, balki talablar qamroviga foydali hissa qo‘shgani uchun rag‘batlantiriladi.
- Kontekstual ishonch: Ishonchlilik bitta global obro‘ ko‘rsatkichiga qisqartirilmaydi, balki har bir agent va talab uchun alohida o‘rganiladi.
- Task-DAG rejalashtirishi: Talablar ijrochilarga biriktiriladi, bog‘liqlik qirralari esa bajarish tartibi, aloqa topologiyasi va kritik yo‘l kechikishini belgilaydi.
- Chegaralangan qidiruv: Beam search bitta ochko‘z tanlov o‘rniga hamkorlik jamoasi prefikslarining bir nechta variantini baholaydi.
- Avval cheklovlarni tekshirish: Bashorat qilingan sifatidan qat’i nazar, mos kelmaydigan agentlar reytinglashdan oldin chiqarib tashlanadi.
- Dalillarga asoslangan o‘rganish: Talablar bo‘yicha ballar, haqiqiy xarajatlar va haqiqiy kechikish ishonch, sinergiya, muvaffaqiyat modeli va taklif aniqligini yangilashi mumkin.
- Audit qilinadigan natijalar: Qarorlarda tanlangan rejim, biriktirmalar, topologiya, bashorat qilingan muvaffaqiyat, qamrov, xarajat, kechikish, xavf, foydalilik va asoslar ko‘rsatiladi.
Algoritm marshrutni qanday baholaydi
Har bir vazifa talabi uchun SAGE global ishonchni talabga bog‘langan ishonch bilan birlashtirib, agentning kalibrlangan qobiliyatini baholaydi. Jamoa qamrovi a’zolar foydali va takrorlanmaydigan qobiliyat qo‘shganda oshadi. Keyin har bir qolgan talab kalibrlangan jamoa a’zolari ichidagi eng kuchlisiga biriktiriladi.
Rejalashtiruvchi talablar DAG’iga amal qiladi. Bitta agentga biriktirilgan ish ketma-ket bajariladi, turli agentlarga biriktirilgan mustaqil ishlar esa parallel bajarilishi mumkin. Nomzod jamoa tuzilgach, SAGE jamoa darajasidagi xarajat va kritik yo‘l kechikishini vazifaning budjeti va belgilangan muddati bilan tekshiradi.
Mos keladigan nomzodlar bashorat qilingan muvaffaqiyat qiymatini xarajat, kechikish, xavf, kontekstni uzatishdagi yo‘qotish, muvofiqlashtirish xarajatlari va noaniqlik bilan muvozanatlashtiruvchi foydalilik funksiyasi orqali reytinglanadi. Shu sababli kuchliroq mutaxassisga topshirish juda ko‘p foydali kontekstni yo‘qotsa, amaldagi agent undan ustun kelishi mumkin. Bu, shuningdek, to‘ldiruvchi jamoaga nufuzli, ammo takroriy agentlar to‘plamini ortda qoldirish imkonini beradi.
Loyihani o‘rnatish va tekshirish
Talablar
Namunaviy dastur Python 3.10 yoki undan yangiroq versiyasini talab qiladi. Loyiha README fayliga ko‘ra, uning bajarilish vaqtida kerak bo‘ladigan bog‘liqliklari yo‘q.
Repozitoriyni klonlash
git clone https://github.com/wang2122/sprix-sage-router.git
cd sprix-sage-router
python demo.py
demo.py skripti boshidan oxirigacha tushunarli misolni taqdim etadi. Repozitoriy o‘z dasturiy qismini bevosita sprix_sage.py orqali ochgani sababli, tezkor boshlash uchun alohida paket o‘rnatish buyrug‘i talab qilinmaydi.
Testlar va benchmarkni ishga tushirish
python -m unittest -v
python benchmark.py
Birlik testlari routerning kutilgan xatti-harakatini tekshiradi. Benchmark deterministik seed’lar bo‘yicha tashqi nochiziqli simulyatorni ishga tushiradi va SAGE’ning statik hamda onlayn versiyalarini oddiyroq marshrutlash strategiyalari bilan taqqoslash imkonini beradi.
Birinchi marshrutlash ssenariyingizni yarating
1-qadam: Asosiy turlarni import qilish
from sprix_sage import (
Agent,
ExecutionOutcome,
Requirement,
SAGERouter,
Task,
)
Bu misolda nomzodlarni tavsiflash uchun Agent, ishni belgilash uchun Requirement va Task, marshrutni tanlash uchun SAGERouter, bajarilgandan keyin dalillarni qaytarish uchun esa ExecutionOutcome ishlatiladi.
2-qadam: Mavjud agentlarni belgilash
agents = [
Agent(
"planner",
{"planning": 0.92, "coding": 0.55},
cost=0.08,
latency_ms=900,
),
Agent(
"coder",
{"planning": 0.35, "coding": 0.96},
cost=0.12,
latency_ms=1200,
),
]
Har bir agent identifikator, qobiliyatlar vektori, xarajat bahosi va kechikish bahosiga ega. Bu yerda planner rejalashtirishda kuchli, coder esa kod yozishda kuchliroq. Bu farq SAGE'ga agentlarni bitta umumiy ball bo‘yicha saralash o‘rniga hamkorlik yoki topshiriqni topshirish imkoniyatini ko‘rib chiqish uchun asos beradi.
3-qadam: Talablar va bog‘liqliklarni modellashtirish
task = Task(
"build-feature",
requirements=(
Requirement("planning", 0.4),
Requirement(
"coding",
0.6,
depends_on=("planning",),
),
),
value=1.0,
budget=0.30,
deadline_ms=4000,
progress=0.35,
)
Vazifa og‘irlik berilgan ikkita talabni o‘z ichiga oladi. Kod yozish talabi rejalashtirishga bog‘liq bo‘lib, rejalashtirish kod yozishdan oldin tugashi kerak bo‘lgan kichik DAGni hosil qiladi. Vazifa cheklovlar asosida marshrutlash uchun zarur qiymatlarni ham taqdim etadi:
valuemuvaffaqiyatli yakunlash qiymatini bildiradi.budgetmaqbul xarajatni cheklaydi.deadline_msrejalashtirilgan kechikishni cheklaydi.progressmarshrutizatorga bajarilish allaqachon 35 foizga yetganini bildiradi.
Jarayonning borishi muhim, chunki bajarilish davomida egalikni o‘zgartirish kontekstni uzatishdagi yo‘qotishlarga olib kelishi mumkin. Shu sababli mutaxassisning qobiliyat ustunligi topshiriqni topshirish avtomatik ravishda eng yaxshi yo‘l ekanini anglatmaydi.
4-qadam: Vazifani marshrutlash
router = SAGERouter(
agents,
incumbent_id="planner",
)
decision = router.route(task)
print(decision.mode)
print(decision.assignments)
print(decision.topology)
Incumbent — ayni paytda vazifaga egalik qilayotgan agent. route chaqirilganda, SELF, COLLABORATE va HANDOFF rejimlarining amalga oshirilishi mumkin bo‘lgan nomzodlari taqqoslanadi. Qaytarilgan qarorni quyidagi maydonlar orqali tekshirish mumkin:
- Tanlangan bajarish rejimi uchun
decision.mode. - Talablarni agent rollariga biriktirish uchun
decision.assignments. - Bog‘liqliklar keltirib chiqargan aloqa tuzilmasi uchun
decision.topology.
Aynan shu holat har doim muayyan bitta rejimni qaytaradi, deb hisoblamang. Natija marshrutizatorning kalibrlangan baholari, cheklovlar, jarayonning borishi va o‘rganilgan holatga bog‘liq.
Bajarilish natijalaridan o‘rganish
Marshrutlash ish jarayonining faqat birinchi yarmidir. Tanlangan agentlar vazifani bajargach, mavjud eng kuchli dalillarni marshrutizatorga qaytaring:
router.record_outcome(
decision,
ExecutionOutcome(
success=0.9,
requirement_scores={
"planning": 0.95,
"coding": 0.86,
},
actual_cost=0.19,
actual_latency_ms=1450,
),
)
Umumiy muvaffaqiyat qiymati marshrutizatorga vazifa darajasidagi natijani beradi. Talabga xos ballar kreditni aniqroq taqsimlashga yordam beradi va har bir jamoadosh bir xil kredit olishining oldini oladi. Haqiqiy xarajat va kechikish kelajakdagi bashoratlar hamda provayder takliflarini kalibrlashga yordam beradi.
Takroriy marshrutlash va fikr-mulohazalar onlayn SAGE'ga kontekstual ishonchni, juftlik ta’sirlarini, muvaffaqiyat bashoratlarini va takliflar aniqligini takomillashtirish imkonini beradi. Samarali o‘rganish uchun natijalarni izchil qayd eting va bunday dalillar mavjud bo‘lganda qo‘pol muvaffaqiyat yorliqlaridan ko‘ra o‘lchangan dalillarga ustunlik bering.
SAGE'ni A2A tizimiga integratsiya qilish
Ishlab chiqarishdagi integratsiya protokol va marketplace signallarini SAGE'ning ichki ko‘rinishlariga o‘girish imkonini beradi:
AgentCard.skillsni qobiliyatlar vektorlariga normallashtiring.- Xavfsizlik talablaridan qat’iy ruxsat filtrlari sifatida foydalaning.
- Ball berishdan oldin qo‘llab-quvvatlanadigan kirish va chiqish rejimlarining mosligini tekshiring.
- Vazifa holati, artefaktlar, yakunlangan DAG tugunlari va xatolarni joriy bajarilish holati hamda uzatish yo‘qotishlari baholariga aks ettiring.
- Provayder takliflarini xarajat, kechikish va ishonchni o‘z ichiga olgan takliflar sifatida ifodalang.
- Yakunlangan vazifalar baholaridan kontekstual ishonch, juftlik qoldiq ta’sirlari, muvaffaqiyat bashoratlari va takliflar aniqligini yangilash uchun foydalaning.
SAGE qarorni qaytargach, A2A mijozi uni xabar yuborish, oqimli uzatish, vazifani so‘rov orqali tekshirish yoki bekor qilish kabi protokol amallari yordamida bajarishi mumkin. Chegarani aniq saqlang: SAGE marshrutni tanlaydi va tushuntiradi, A2A qatlami esa aloqa va bajarilishni boshqaradi.
Ilg‘or foydalanish bo‘yicha maslahatlar
Vazifani mazmunli DAG sifatida modellashtiring
Har bir talabni tekis ro‘yxatga joylashtirish o‘rniga, haqiqiy bajarilish tartibini ifodalash uchun bog‘liqliklardan foydalaning. Aniq bog‘liqliklar SAGE'ga ketma-ket ishni parallel ishdan ajratish va muhim yo‘l kechikishini yanada foydali baholash imkonini beradi.
Bir-birini to‘ldiruvchi qobiliyat tavsiflariga ustunlik bering
Agentlarni talab darajasidagi qobiliyatlar bilan tavsiflang. Bitta umumiy ball rejalashtirish, kod yozish, tadqiqot yoki boshqa ko‘nikmalar o‘rtasidagi farqni yashiradi hamda kontekstual ishonch va rollarni taqsimlashni zaiflashtiradi.
Ruxsatlarni qat’iy cheklovlar sifatida ko‘ring
Ruxsat qoidalarini bekor qilish uchun bashorat qilingan sifatdan foydalanmang. SAGE'ning ruxsatlarga ustuvorlik beruvchi dizayni huquqi bo‘lmagan agentlar nomzodlarni saralashdan oldin chiqarib tashlanishini nazarda tutadi. Moslik, autentifikatsiya va siyosat tekshiruvlari ham bajarilishdan oldin amalga oshirilishi kerak.
Haqiqiy budjetlar va muddatlardan foydalaning
SAGE cheklovlarni nomzodlarni tuzish jarayonida va yana jamoa darajasida tekshiradi. Vazifaga xos budjet va muddatlarni bering, shunda alohida-alohida jozibador agentlar to‘plami umumiy xarajati yoki muhim yo‘li amalga oshirib bo‘lmaydigan bo‘lsa, tanlanmaydi.
Faqat rejimdan foydalanmasdan, qarorlarni tekshiring
Biriktirishlar, topologiya, qamrov, bashorat qilingan muvaffaqiyat, xarajat, kechikish, xavf, foydalilik va asoslarni ko‘rib chiqing. Audit izi marshrut haqiqiy to‘ldiruvchanlik, incumbent kontekstini saqlash, uzatish yo‘qotishlarini kamaytirish yoki cheklovlarga muvofiqlik sababli tanlanganini ko‘rsatishi mumkin.
Takliflar aniqligini o‘lchang
Bajarilgandan keyingi haqiqiy xarajat va kechikishni qaytaring. Kuzatilgan qiymatlarsiz router keltirilgan ishonch darajasi, narx va vaqt ma’lumotlari qanchalik ishonchli ekanini aniqlash uchun kamroq dalilga ega bo‘ladi.
Murosalarni umumiy foydalilik orqali baholang
Kiritilgan sintetik benchmark xabar berishicha, online SAGE sanab o‘tilgan bazaviy usullarga qaraganda yuqoriroq simulyatsiya qilingan sifat va umumiy foydalilikka erishadi, biroq static SAGE’dan ko‘proq xarajat talab qiladi. Bu ko‘rinib turgan murosa muhim: routing xarajatni faqat qobiliyatga asoslangan ball ortiga yashirmasligi kerak.
Benchmark sintetik bo‘lib, real dunyoda ustunlik mavjudligiga dalil emas. Haqiqiy joriy etishni baholash uchun vakillik ijrolari, kuchli routing bazaviy usullari, kalibrlash tahlili, marketplace izlarini qayta ijro etish, heterogen agentlar va adversarial sharoitlar talab etiladi.
Tadqiqot uchun oldindan ko‘rib chiqish cheklovlarini tushuning
SAGE ishlab chiqarishdagi xizmat darajasi kafolati yoki taqrizdan o‘tgan natija emas, balki dastlabki bosqichdagi tadqiqot oldindan ko‘rib chiqish versiyasidir. Uning yengil o‘rganilgan siyosati real izlar asosida o‘qitish yoki sababiy off-policy baholashning o‘rnini bosa olmaydi.
Ishlab chiqarishga joriy etishdan oldin README kalibrlangan baholovchilar, autentifikatsiyalangan identifikatorlar, imzolangan qobiliyat metama’lumotlari, maxfiylik va xavfsizlik tahlili, doimiy hodisaga asoslangan tiklanish, monitoring hamda vazifaga xos validatsiyani tavsiya qiladi. A2A aniqlash, bajarish, oqimli uzatish va bekor qilish uchun haqiqiy adapterlar, shuningdek taqsimlangan xizmat ishlashi va inson tasdig‘i bosqichlari yo‘l xaritasida qolmoqda.
Repository resurslari
sprix_sage.pykontekstli routerni, DAG rejalashtiruvchisini, beam search va onlayn yangilanishlarni o‘z ichiga oladi.demo.pyboshidan oxirigacha bo‘lgan misolni taqdim etadi.benchmark.pytashqi simulyator va umumiy foydalilik bazaviy usullarini o‘z ichiga oladi.test_sprix_sage.pyxulq-atvor bo‘yicha birlik testlarini o‘z ichiga oladi.- ALGORITHM.md formal maqsad, qidiruv jarayoni, hissa taqsimoti va cheklovlarni hujjatlashtiradi.
- GitHub repository hissa qo‘shish, xavfsizlik, boshqaruv va litsenziya haqidagi ma’lumotlarni o‘z ichiga oladi.
Xulosa
Sprix SAGE Router holatni hisobga oladigan agentlarni moslashtirish uchun amaliy namunaviy joriy etishni taqdim etadi. Ishni talablar DAGlari sifatida ifodalash, umumiy cheklovlar asosida SELF, COLLABORATE va HANDOFF usullarini taqqoslash hamda ijro dalillarini routerga qaytarish orqali bashorat qilingan sifat va operatsion xarajatni hisobga oladigan, auditi mumkin bo‘lgan ko‘p agentli qarorlar bilan tajriba o‘tkazishingiz mumkin.
demo.pydan boshlang, minimal misolni qayta bajaring, har bir routing qarorini tekshiring va testlar hamda sintetik benchmarkni ishga tushiring. Haqiqiy A2A joriy etilishi uchun alohida ijro adapterini qo‘shing va muhit talab qiladigan autentifikatsiya, xavfsizlik, kuzatuvchanlik, tiklanish hamda validatsiya ishlarini yakunlang.
