lib2027 · простыми словами

Как научить ИИ тому, чего он не может знать

Нейросеть выучила интернет однажды — и дальше её знания стоят на месте. А программы вокруг меняются каждый месяц. Вот как устроена библиотека, которая подкладывает модели свежие страницы документации прямо к вопросу, и что из этого вышло на замерах.

1Проблема: знания застыли

Языковую модель обучают на огромной куче текстов, а потом «замораживают». Всё, что вышло после, модель не видела. Спроси её про новую версию библиотеки — она уверенно ответит по старой: назовёт функцию, которую давно переименовали, или придумает правдоподобное имя.

Как в школе. Ты выучил учебник 2024 года, а на контрольной 2026-го в задачах уже новые правила. Ты не глупый — просто в твоём учебнике этого нет.
модель читала всё это ❄ обучение закончилось новые версии программ — модель их не видела ? твой вопрос сегодня

2Принцип: экзамен с открытой книгой

Переучивать модель под каждую новую версию — дорого и долго. Мы делаем проще: прежде чем задать вопрос, находим в библиотеке 5 самых подходящих кусочков документации и кладём их рядом с вопросом. Модель не вспоминает, а читает и отвечает.

Чтобы проверить, что помогает именно знание, а не просто «много текста», есть хитрое третье условие — плацебо: модели дают 5 кусочков той же длины, но найденных по чужому вопросу.

по памяти
18%
Модель на 27 млрд параметров отвечает на 150 вопросов по свежей документации сама.
плацебо
13%
Те же вопросы, но рядом лежат чужие страницы. Лишний текст не помогает — даже мешает.
с библиотекой
85%
Рядом лежат нужные страницы. Когда в них есть ответ, модель ошибается почти никогда.

Замер №32: qwen3.8-27b, 450 ответов в каждом условии (150 вопросов × 3 попытки).

3Как найти нужную страницу среди 174 000

В библиотеке сейчас документация 711 сайтов — это 174 тысячи страниц, порезанных на 743 тысячи кусочков. Искать приходится быстро и точно, поэтому поиск идёт сразу тремя способами, а потом они «голосуют».

вопрос «как включить…» 🧭 по смыслу похожее по значению 🔤 по словам те же слова и формы 🎯 по точным именам useState, v2.1… голосование ~60 кандидатов судья читает каждый 5 лучших → модели
← листайте схему →
Каждый поисковик предлагает свои варианты; голосование сводит их в один список; «судья» — отдельная небольшая нейросеть — перечитывает вопрос вместе с каждым кандидатом и оставляет пять лучших.

🧭 Что значит «по смыслу»

Каждый кусочек текста превращается в список из 1024 чисел — это как его «координаты» на огромной карте смыслов. Тексты про одно и то же оказываются рядом, даже если слова разные: «как отменить подписку» окажется возле «cancel subscription».

вопрос ближайшие по смыслу

🎯 Зачем ещё и точные имена

Программисты спрашивают про конкретные имена: retry_after_seconds, THREE.Vector3. «Смысловой» поиск может перепутать похожие, поэтому третий поисковик ищет имя буква в букву — и кусочек, где оно написано целиком, поднимается выше.

А поиск «по словам» ловит формы: «ключи», «ключа», «ключом» — одно слово.

4Как страница попадает в библиотеку

Документацию нельзя просто свалить в кучу. Каждая страница проходит конвейер из пяти станций. Задания лежат в очереди, их разбирают «рабочие» — отдельные программы, которые работают параллельно.

📄 достать текст md, html, pdf, код 🔍 проверить пустое — в брак ✂️ нарезать по разделам 🧮 посчитать смысл 1024 числа, видеокарта 📚 на полку сразу видно в поиске очередь заданий: каждая станция берёт следующую страницу, как только освободится
← листайте схему →
История с загрузки. Когда грузили 130 тысяч новых страниц, сначала было восемь рабочих-«универсалов». Каждый держал в памяти видеокарты свою копию «счётчика смысла» — память кончалась, а резать и проверять тексты было почти некому. Разделили роли: шесть рабочих только считают смысл на видеокарте, остальные только режут и проверяют. Скорость выросла примерно со 100 до 1 800 страниц в минуту.

Каждая версия страницы хранится отдельно. Если вышла новая — старая пропадает из поиска мгновенно, но её можно прочитать с пометкой «устарело».

5Второй вход: проверка черновика

Модель не всегда догадается спросить. Поэтому библиотека умеет ещё и проверять готовый код, как учитель проверяет контрольную: находит имена, которых в новой версии уже нет, и подсказывает, как теперь правильно — с примером «было → стало».

✍️ модель пишет код по памяти, как умеет oldFunction(x) 🧐 библиотека проверяет «такого больше нет» было → стало ✅ модель исправляет по подсказке newFunction({ x })
← листайте схему →
На задачах по новой версии three.js маленькая модель (4 млрд параметров) с такой проверкой решила 139 из 228 задач вместо 15.

6Вся архитектура на одной картинке

ОТКУДА ЗНАНИЯ КАК ЗАГРУЖАЕМ ГДЕ ХРАНИМ КАК ОТДАЁМ документация сайтов llms-full.txt, 711 сайтов гайды по миграции что переименовали сами пакеты типы, тесты, примеры конвейер достать текстпроверитьнарезать посчитать смысл (GPU)на полку очередь + рабочие база данных документы и версии743 тыс. кусочков их «координаты смысла»указатель словграф имён API поиск 3 поисковика, голосование, судья проверка кода старые имена → «было → стало» чтение источника страница целиком, со ссылкой КТО ПОЛЬЗУЕТСЯ 🤖 ИИ-агент сам зовёт инструменты (протокол MCP) 🛡️ прокси перед моделью подкладывает знания и проверяет ответ без просьбы 🌐 программы HTTP API, командная строка 👤 человек веб-страница: загрузить, искать, читать любая модель: маленькая на своей видеокарте (4 млрд), средняя (27 млрд), большая в облаке
← листайте схему →
Слева направо: откуда берутся знания, как загружаются, где лежат и как их получают. Снизу — кто подключается. Модель можно менять: библиотека работает с любой.

7Что показали замеры

150 вопросов по документации, которая вышла после обучения моделей. Каждый вопрос — 3 попытки, всего 450 ответов на условие. Две модели: маленькая (4 млрд параметров, запускается на домашней видеокарте) и средняя (27 млрд).

по памятиплацебо (чужие страницы)с библиотекой

Средняя модель, 27 млрд

по памяти
18%
плацебо
13%
с библиотекой
85%

Маленькая модель, 4 млрд

по памяти
9%
плацебо
0,4%
с библиотекой
83%

Доля верных ответов. Разница «с библиотекой» против плацебо: 120 вопросов в пользу библиотеки против 1 у большой модели и 128 против 0 у маленькой — случайно так не бывает.

8Что мы поняли

📦 Размер не заменяет свежих знаний

Большая модель помнит вдвое больше маленькой — но это всего 18%. Того, что вышло после обучения, нет ни в одной. С библиотекой обе отвечают почти одинаково: 85% и 83%.

📖 Подсказка лучше переучивания

Мы пробовали дообучить маленькую модель «пользоваться знаниями». Прироста не было: с хорошими подсказками она и так решала 220 из 230 задач. Узкое место — что и как подать, а не «ум».

✂️ Малой модели — короткие проверенные заметки

Сырые куски документации маленькая модель понимает плохо. Короткая заметка «раньше было так, теперь так, вот пример» подняла её с 7 до 160 решённых задач из 228.

🔎 Потолок — поиск

Когда нужный кусочек попал в пятёрку, модели почти не ошибаются. Все вопросы, которые не решила большая модель, не решила и маленькая: ответ просто не нашёлся. Значит, улучшать дальше — поиск.

Словарик

Языковая модель
Нейросеть, которая продолжает текст. Её «знания» — то, что она видела при обучении.
Параметры (4 млрд, 27 млрд)
Числа внутри модели. Грубо: чем больше, тем больше она запомнила и тем мощнее нужен компьютер.
Фрагмент
Кусочек страницы документации, обычно один раздел — несколько абзацев.
Вектор («координаты смысла»)
1024 числа, по которым видно, о чём текст. Близкие векторы — близкий смысл.
Судья (переранжировщик)
Отдельная небольшая нейросеть, которая оценивает пару «вопрос + фрагмент» и решает, подходит ли он.
Плацебо
Контрольное условие: столько же текста, но не по теме. Нужно, чтобы доказать, что помогает смысл, а не объём.
MCP
Общий «язык», на котором ИИ-агенты вызывают внешние инструменты — например, поиск по библиотеке.