Dasturlash

AI agentlari yordamida Rustda SQLite‑ga o‘xshash ma'lumotlar bazasini yaratish tajribasi

11-mart, 2026, 02:1113 ko'rish3 daqiqa o'qish
AI agentlari yordamida Rustda SQLite‑ga o‘xshash ma'lumotlar bazasini yaratish tajribasi

Sun'iy intellekt (AI) agentlari dasturlash jarayonini avtomatlashtirishda yangi imkoniyatlar yaratmoqda. Oxirgi paytlarda Kian Kyars o‘zining parallel-ralph loyihasida Claude, Codex va Gemini kabi uchta AI modelini birgalikda ishlatib, Rust tilida SQLite‑ga o‘xshash ma'lumotlar bazasini yaratdi. Ushbu maqolada loyiha qanday amalga oshirildi, qanday natijalarga erishildi va kelajakda qanday takomillashtirishlar kutilayotgani haqida batafsil ma'lumot beriladi.

Loyihaning asosiy maqsadi va struktura

Loyiha “SQLite‑like engine” deb nomlangan, taxminan 19 000 satrlik kod bazasini yaratishni maqsad qilgan. Unda quyidagi komponentlar mavjud:

  • SQL parser – so‘rovni tahlil qilish
  • Planner – bajariladigan operatsiyalarni rejalashtirish
  • Volcano executor – ma'lumotlarni oqim tarzida ishlash
  • Pager, B‑tree, WAL (write‑ahead log) – ma'lumotlarni saqlash va tiklash
  • JOIN, aggregatlar, indekslar, tranzaksiya semantikasi

Har bir komponent alohida modul sifatida ishlab chiqilgan, bu esa agentlarga parallel ishlash imkonini berdi.

AI agentlari qanday ishladi?

Ushbu loyiha heterogen agentlar (Claude, Codex, Gemini) yordamida amalga oshirildi. Har bir agent quyidagi bosqichlarda faoliyat ko‘rsatdi:

  • Bootstrap – birinchi Claude ishga tushirilib, loyiha strukturasini, Cargo.toml faylini va dastlabki testlarni yaratdi.
  • Worker loop – har bir agent asosiy repozitoriyadan yangilanishlarni olib, o‘ziga berilgan vazifani bajaradi, SQLite3 ni orakul sifatida ishlatadi va natijani testlar orqali tasdiqlaydi.
  • Coalesce – Gemini agenti kod takrorlanishini bartaraf etish uchun maxsus skriptni ishga tushiradi.

Agentlar har safar git pull orqali yangilanishlarni oladi, vazifani bajaradi, git push bilan o‘zgarishlarni saqlaydi. Bu jarayon 154 ta commitdan 84 tasini (taxminan 55 %) “lock/claim” kabi koordinatsiya vazifalariga sarfladi.

Natijalar va sinovlar

Yaratilgan ma'lumotlar bazasi SQLLogicTest to‘plamining 64 ta so‘rovini muvaffaqiyatli bajaradi, shu jumladan CRUD, JOIN va GROUP BY operatsiyalari. Biroq, sub‑so‘rovlar, CASE, EXISTS kabi rivojlangan sintaksislar hali qo‘llab‑quvvatlanmaydi.

Kod sifatiga oid ba’zi kamchiliklar ham aniqlangan:

  • Freelistda chiziqli qidirish – duplicate tekshirishda samaradorlik pasayadi.
  • Pagerda keraksiz .clone() chaqiruvlari – xotira sarfini oshiradi.
  • Paralelizmda bir vaqtning o‘zida bir nechta tranzaksiya qo‘llab‑quvvatlanmaydi.

Qiyinchiliklar va o‘rganilgan saboqlar

Parallel agentlar bilan ishlashda eng muhim omil – aniq vazifa chegaralari va tez test feedback bo‘ldi. Har bir modul (parser, planner, executor, storage) mustaqil bo‘lishi, agentlar orasidagi birlashish muammolarini kamaytirdi.

Shuningdek, shared state hujjatlari (PROGRESS.md, DESIGN.md) kodning bir qismi sifatida qaralishi, testlar esa “anti‑entropy” kuchi bo‘lishi ta’kidlandi.

Kelayotgan yo‘nalishlar

Loyihani yanada takomillashtirish uchun quyidagi rejalar mavjud:

  • Ko‘proq SQL sintaksisini qo‘llab‑quvvatlash (sub‑queries, CASE, EXISTS).
  • Ko‘p foydalanuvchili (concurrency) rejimini joriy etish.
  • Agentlar token sarfini aniqroq kuzatish va monitoring qilish.
  • Coalesce agentini har bir ish siklida avtomatik ishga tushirish.

Bu tajriba AI‑asosli dasturlashning amaliy imkoniyatlarini ko‘rsatadi: murakkab tizimlarni bir necha agentlar yordamida qisqa muddat ichida yaratish mumkin, lekin muvaffaqiyatli natija uchun qat’iy koordinatsiya, testlar va modul chegaralari zarur.

SEO kalit so‘zlar

AI agentlari, Rust dasturlash, SQLite o‘xshash ma'lumotlar bazasi, parallel kod yozish, dasturiy ta'minot testlari, open source, kiberxavfsizlik, ma'lumotlar bazasi arxitekturasi.

Manba: Hacker News
#AI #Rust #SQLite #parallel agents #software engineering
Telegram da muhokama qilish