Asosiy kontentga o‘tish
AI qo‘llanmalari

Open Math Harness’ni yaratish va ishga tushirish: Nucleus bo‘yicha amaliy qo‘llanma

Open Math Harness nima qilishi, uning xavfsizlikka yo‘naltirilgan arxitekturasi matematik agentlarni qanday qo‘llab-quvvatlashi va Linux’da Nucleus’ni qanday yaratish haqida bilib oling. Ushbu qo‘llanma mustaqil slice misoli, yaratiladigan jurnallar, test buyruqlari, ishlab chiqish bo‘yicha tavsiyalar hamda interaktiv agentlar va Lean isbot qidiruvini mahalliy ishga tushirishning hozirgi cheklovlarini ko‘rib chiqadi.

Open Math Harness’ni yaratish va ishga tushirish: Nucleus qo‘llanmasi

Open Math Harness nima?

Open Math Harness — Open Math OS ortida ishlaydigan ochiq manbali runtime. Uning Nucleus deb nomlangan birinchi avlodi Rust tilida yozilgan bo‘lib, platforma foydalanadigan yadro, xizmatlar va agentlarni o‘z ichiga oladi.

Runtime hamkorlikdagi matematik tadqiqotlar uchun mo‘ljallangan. U ochiq vaznli modellar asosida ishlaydigan agentlar, Ultramath orqali masalalarni parallel tadqiq etish, Lean tomonidan tasdiqlangan isbot qidiruvi, loyiha xotirasi, vositalar va himoyalangan amallar uchun inson tasdig‘ini qo‘llab-quvvatlaydi.

Joriy cheklov: to‘liq runtime Open Math OS’ni joylashtirish muhitiga bog‘liq. Repozitoriy manba koddan yig‘ilishi mumkin va kichik, mustaqil misolni o‘z ichiga oladi, biroq hozircha interaktiv agentlar, Ultramath, xotira yoki isbot qidiruvi uchun mustaqil mahalliy muhitni taqdim etmaydi.

Asosiy tuzilma va imkoniyatlar

Imkoniyatlarga asoslangan cheklash

Open Math Harness imkoniyatlarga asoslangan mikroyadrodan foydalanadi. Har bir jarayon faqat o‘z tarkibi tomonidan berilgan vakolatlarga ega bo‘ladi va u ishga tushiradigan har qanday jarayon ota-jarayon topshira oladigan vakolatlardan ortig‘iga ega bo‘lmaydi. Bu agentlar va boshqa dasturlarga ham tegishli.

Model javoblari, vosita natijalari, repozitoriy fayllari va boshqa matnlar ishonchsiz kiritma sifatida ko‘riladi. Matn ruxsat bera olmaydi, himoyalangan amallarni tasdiqlay olmaydi yoki isbotning to‘g‘riligini aniqlay olmaydi. Hisob ma’lumotlari modellar, transkriptlar yoki jurnallarga oshkor qilinmaydi, balki tor doirada imtiyoz berilgan provayderlarda saqlanadi.

Agentlar va tadqiqot vositalari

  • Ochiq model agentlari: Sessiyalar oqimli javoblar, vositalar, quyi agentlar va doimiy tarixga ega ochiq vaznli modellardan foydalanishi mumkin.
  • Ultramath: Bir nechta agent murakkab masalaga turli yondashuvlarni asinxron tarzda o‘rganadi, topilmalarni almashadi va hisobotlarni muvofiqlashtiruvchi agentga yuboradi.
  • Isbot qidiruvi: Ishchi agentlar nomzod Lean isbotlari daraxtidagi tarmoqlarni o‘rganadi. Nomzod faqat Lean uni asl bayonotga nisbatan tasdiqlagan taqdirdagina muvaffaqiyatli hisoblanadi.
  • Loyiha vositalari: Agentlar repozitoriy fayllari, shell, veb va PDF vositalari, loyiha ko‘nikmalari, MCP serverlari hamda plaginlar bilan ishlashi mumkin.
  • Inson nazorati: Himoyalangan amallar tasdiqni kutadi, sessiya yozuvlari esa ko‘rsatilishidan oldin maxfiy ma’lumotlar bor-yo‘qligiga tekshiriladi.

Loyiha xotirasi

Xotira har bir loyiha uchun alohida yuritiladi. Sessiya tinch holatga kelgach, xotira xizmati uning tarixidan foydali materiallarni ajratib olishi va tanlangan ma’lumotlarni MEMORY.md fayliga jamlashi mumkin. Keyingi sessiyalar ushbu xotirani kontekst sifatida oladi va foydalangan materiallariga havola beradi.

Xotira faqat kontekst taqdim etadi. U ruxsat bera olmaydi yoki foydalanuvchining joriy ko‘rsatmalarini bekor qila olmaydi.

Zarur shartlar

Open Math Harness’ni yig‘ishdan oldin quyidagi bog‘liqliklarga ega qo‘llab-quvvatlanadigan Linux muhitini tayyorlang:

  • Linux: Windows va macOS mahalliy runtime xostlari sifatida qo‘llab-quvvatlanmaydi.
  • Mahalliy yig‘ish vositalari: Mahalliy bog‘liqliklar uchun C kompilyatori va linker o‘rnating.
  • rustup orqali Rust: Repozitoriyning rust-toolchain.toml fayli talab qilinadigan toolchain’ni belgilaydi hamda formatlash va linting komponentlarini o‘z ichiga oladi.
  • bubblewrap: bwrapni o‘rnating, uni PATHga qo‘shing va xost imtiyozsiz foydalanuvchi namespace’lariga ruxsat berishini ta’minlang.

Cheklash majburiy. Agar bubblewrap xostning xavfsizlik siyosati sababli sandbox yarata olmasa, runtime ishga tushish vaqtida xatoga uchraydi.

Open Math Harness’ni manba koddan yig‘ish

Repozitoriyni klonlang, uning katalogiga kiring va to‘liq Rust workspace’ni yig‘ing:

git clone https://github.com/openmathmodel/open-math-harness.git
cd open-math-harness
cargo build --locked --workspace

--locked opsiyasi Cargo’ni lockfile’da qayd etilgan bog‘liqlik versiyalaridan foydalanishga majbur qiladi. Muvaffaqiyatli yig‘ilgach, launcher va xizmat binarlari target/debug/ ichida mavjud bo‘ladi.

deploy/vm/ katalogidagi fayllar boshqariladigan Open Math OS virtual mashinasiga mo‘ljallangan. Ular shaxsiy kompyuter uchun mustaqil o‘rnatuvchi emas.

Mustaqil slice misolini ishga tushirish

Repozitoriy examples/slice/ ichida skript orqali boshqariladigan misolni o‘z ichiga oladi. U imkoniyatlarni tekshirish va vakolat topshirishni namoyish etish uchun agent, ishchi va fayl tizimi xizmatini ishga tushiradi.

Bu misol model provayderiga ulanmaydi va model hisob ma’lumotlari yoki Open Math OS joylashtirilishini talab qilmaydi. Shuningdek, u interaktiv chat, Ultramath, xotira yoki isbot qidiruvini ishga tushirmaydi. Shunga qaramay, Linux va ishlaydigan bubblewrap cheklovi talab qilinadi.

1-qadam: Misolni ishga tushirish

Repozitoriy ildizidan quyidagini bajaring:

cargo run --locked --manifest-path cli/Cargo.toml -- run examples/slice/config.json

2-qadam: Namoyishni tushunish

Ishlash davomida skript orqali boshqariladigan agent uchta muhim faoliyat turini bajaradi:

  1. U berilgan imkoniyatlari foydalanishga ruxsat beradigan fayllarni o‘qiydi.
  2. U kichikroq katalogga kirish huquqini ishchisiga topshiradi.
  3. U yadro vakolatidan oshib ketgani sababli yadro rad etadigan amallarni bajarishga urinadi.

Shu tariqa slice misoli loyihaning markaziy qoidasini ixcham namoyish etadi: jarayon faqat o‘zida mavjud imkoniyatlardan foydalanishi va ularni topshirishi mumkin.

3-qadam: Natijalarni tekshirish

Ishlash tugagach, agent va ishchi transkriptlarini tekshiring:

examples/slice/out/agent/transcript.jsonl
examples/slice/out/agent/worker/transcript.jsonl

Fayl tizimi xizmati o‘zi qabul qilgan chaqiruvlarni alohida qayd etadi:

examples/slice/log/access.jsonl

Misol quyidagi hisobotni ham yaratadi:

examples/slice/data/work/report.txt

Qaysi amallar so‘ralgani, delegatsiya qilingani, qabul qilingani yoki rad etilganini ko‘rish uchun transkriptlarni fayl tizimiga kirish jurnali bilan solishtiring.

Misolni Qayta Ishga Tushirish

Yaratilgan report.txt fayli takroriy ishga tushirishlarga ta’sir qiladi. Hisobotni qayta yaratish muvaffaqiyatli bo‘lishini istasangiz, misolni qayta ishga tushirishdan oldin uni o‘chiring:

rm examples/slice/data/work/report.txt
cargo run --locked --manifest-path cli/Cargo.toml -- run examples/slice/config.json

Eski transkript va jurnal fayllarini saqlash ishga tushirishlar orasidagi xatti-harakatlarni solishtirishda foydali bo‘lishi mumkin, shuning uchun qo‘shimcha artefaktlarni o‘chirishdan oldin chiqish kataloglarini ko‘rib chiqing.

Testlar To‘plamini Ishga Tushirish

Workspace’ni yaratgandan so‘ng, standart Rust testlarini repository ildiz katalogidan ishga tushiring:

cargo test --workspace

Standart testlar to‘plami pullik model API’lari yoki ishlab chiqarish hisob ma’lumotlarini talab qilmaydi. Ayrim integratsiya testlari haqiqiy farzand jarayonlarini ishga tushiradi va bubblewrap’dan foydalanadi, shuning uchun Linux izolyatsiyasi bo‘yicha ayni talablar amal qiladi.

Tashqi model provayderlari yoki Lean o‘rnatilishini talab qiladigan testlar aniq ravishda ixtiyoriy tarzda yoqiladi. Repository’ning CI workflow’i formatlash, Clippy, Python vositalari va Node.js MCP integratsiyasi tekshiruvlarini ham belgilaydi.

Ilg‘or Foydalanish va Ishlab Chiqish Bo‘yicha Maslahatlar

Imkoniyatlar Chegaralarini O‘rganish Uchun Jurnallardan Foydalaning

Slice misoli JSON Lines fayllari audit izi sifatida ko‘rilganda eng foydali bo‘ladi. Agent transkripti, worker transkripti va fayl tizimiga kirish jurnalini birgalikda ko‘rib chiqing. Bu delegatsiya qilingan kirish qanday torayishini va yadro tayinlangan vakolatdan tashqaridagi amallarni qanday rad etishini ko‘rsatadi.

Joylashtirish Talablarini Alohida Saqlang

Workspace’ni yaratish avtomatik ravishda to‘liq mahalliy Open Math OS o‘rnatilishini hosil qilmaydi. Interaktiv agentlar qo‘shimcha ravishda xizmat konfiguratsiyasi, model provayderi hisob ma’lumotlari va mijozni talab qiladi. Isbotlarni qidirish uchun esa sozlangan Lean va Mathlib muhiti kerak bo‘ladi.

deploy/vm/ katalogidagi boshqariladigan VM konfiguratsiyasini umumiy maqsadli o‘rnatish skripti deb qaramang. Hozirda repository slice misolini qo‘llab-quvvatlanadigan, o‘zini o‘zi ta’minlaydigan mahalliy namoyish sifatida hujjatlashtiradi.

Cargo Rezolyutsiyasining Takrorlanuvchanligini Saqlang

Hujjatlashtirilgan yaratish va ishga tushirish buyruqlarida --locked parametridan foydalaning. Bu bog‘liqliklar rezolyutsiyasini repository lockfile’iga mos holda saqlaydi va muhitlar orasidagi kutilmagan farqlarni kamaytiradi.

Izolyatsiyani Erta Tekshiring

Agar ishga tushirish muvaffaqiyatsiz bo‘lsa, yuqori darajadagi xizmatlarni tekshirishdan oldin bubblewrap’ni tekshiring. bwrap PATH ichida mavjudligini va host xavfsizlik siyosati imtiyozsiz foydalanuvchi namespace’lariga ruxsat berishini tasdiqlang. Runtime zarur izolyatsiyasiz ataylab davom etmaydi.

Isbotni Tekshirish Chegarasini Tushuning

To‘liq arxitekturadagi agent ishonchi teorema isbotlanganini anglatmaydi. Nomzod isbotlar cheklangan workspace’larda, belgilangan muddatlar bilan baholanadi va ularning o‘tgan-o‘tmaganini Lean aniqlaydi. Qidiruv yozuvlari nomzod ishini saqlaydi, shunda keyingi raundlar avvalgi tarmoqlardan davom etishi mumkin.

Hissa Qo‘shish Tekshiruvlariga Amal Qiling

O‘zgarishlarni taklif qilishdan oldin CONTRIBUTING.md va repository’ning CI workflow’ini ko‘rib chiqing. Hissa qo‘shish qo‘llanmasida testlar, AI ko‘rigi va pull request’larda kutiladigan ma’lumotlar bayon qilingan.

Xulosa

Open Math Harness Open Math OS uchun xavfsizlikka yo‘naltirilgan runtime poydevorini taqdim etadi. To‘liq interaktiv muhit hali mustaqil mahalliy o‘rnatma sifatida mavjud bo‘lmasa-da, Nucleus workspace’ni yaratish, o‘zini o‘zi ta’minlaydigan slice misolini ishga tushirish, imkoniyatlar ijrosini tekshirish va standart testlarni bajarish mumkin. Bu qadamlar runtime’ning asosiy tamoyiliga amaliy kirish beradi: agentlar aniq vakolat doirasida takliflar beradi va ishlaydi, odamlar hamda ishonchli tekshiruvchilar esa nazoratni saqlab qoladi.