Главная / Статьи / Практические замечания: RAG мертв. LLM Wiki — идея Андрея Карпати — это то, что придет дальше

Практические замечания: RAG мертв. LLM Wiki — идея Андрея Карпати — это то, что придет дальше

Пошаговое руководство по практическим заметкам: RAG мертв. LLM Wiki — идея Андрея Карпати — это то, что придет дальше: контракты, проверки и слоты для вставки кода для команд, использующих RAG.

2114 слов

В следующих заметках описывается практический подход к решению проблемы, связанной с утверждением «RAG Is Dead. LLM Wiki — идея Андрея Карпати — это то, что придет дальше». Основное внимание уделяется контрактам, проверкам и местам для вставки кода, а не мотивирующим формулировкам. При работе над обзором сначала запишите контракт: необходимые входные данные, сигнал успешного выполнения и действия при частичной неудаче. Такой список поможет сохранять честность при последующих изменениях кода. Документируйте как успешный сценарий работы, так и сценарий восстановления. Повторные попытки, проверка человеком и обработка ошибок являются частью продукта, а не элементами последующей доработки.

Что такое LLM Wiki?

Что такое LLM Wiki? Он работает наилучшим образом, если рассматриваться как измеримая структура. Сначала соберите один идеальный пример работы, один случай сбоя и запись о возврате к предыдущему состоянию, прежде чем расширять объём работы. Предпочитайте небольшие, тестируемые единицы вместо обширных скриптов. Когда какой-то шаг терпит неудачу, причина сбоя должна указывать на конкретный ответственный элемент, а не на запутанную цепочку операций. Установите лимит токенов на один ход и на всю сессию. Инструменты агентов активно расширяют объём контекста; жесткие ограничения предотвращают появление неожиданных счетов за использование.

Четыре способа реализации

Метод «Четыре реализации» работает наилучшим образом, когда его рассматривают как измеримую структуру. Соберите один идеальный пример работы, один случай сбоя и записку о возврате к предыдущему состоянию перед расширением объёма работ. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия создаваемым элементам, определите критерии успеха и не соглашайтесь на молчаливое частичное выполнение задач. Установите лимит токенов на каждый ход и на всю сессию. Инструменты агентов активно расширяют контекст; строгие ограничения предотвращают появление неожиданных счетов.

1. nashsu/llm_wiki — Десктопное приложение

  1. nashsu/llm_wiki — Десктопное приложение работает наилучшим образом, когда с ним обращаются как с измеримой средой. Соберите один идеальный пример работы, один случай сбоя и записку о возврате к предыдущему состоянию перед расширением объема работ. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отслеживание затрат на раннем этапе предотвращает неожиданные счета при переходе от демо-версии к общедоступным средам. Установите лимиты на количество токенов за один ход и за сессию. Инструменты агентов активно расширяют контекст; жесткие ограничения не позволяют демо-версиям превращаться в неожиданные счета.
  2. nashsu/llm_wiki — Десктопное приложение работает наилучшим образом, когда с ним обращаются как с измеримой средой. Соберите один идеальный пример работы, один случай сбоя и записку о возврате к предыдущему состоянию перед расширением объема работ. Документируйте как успешный путь выполнения, так и путь восстановления. Повторные попытки, проверка человеком и обработка неработающих сообщений являются частью продукта, а не элементами доработки позже.
git clone https://github.com/nashsu/llm_wiki.git
cd llm_wiki
npm install
npm run tauri dev

2. nvk/llm-wiki — Плагин агента

Для раздела 2. nvk/llm-wiki — The Agent Plugin необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Лучше использовать небольшие, тестируемые единицы кода вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной функцией, а не с запутанной цепочкой операций. При следующем шаге, представляющем собой код или вызов инструмента, лучше использовать структурированные выходные данные с проверкой по схеме вместо свободного текста.

# For Claude Code users
claude plugin install wiki@llm-wiki
# For Codex users
codex plugin marketplace add nvk/llm-wiki# For any LLM agent (including local)
git clone https://github.com/nvk/llm-wiki.git
cp llm-wiki/AGENTS.md ./AGENTS.md
# Pass AGENTS.md as the system prompt to your local agent runner
/wiki init                              # Create ~/wiki/
/wiki:research "machine learning" --sources 10
@wiki query "what is attention mechanism"
@wiki audit                             # Find gaps

3. Pratiyush/llm-wiki — The Transcript Wiki

Для пункта 3. Pratiyush/llm-wiki — The Transcript Wiki необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными выходными результатами. Укажите названия результатов работы, определите критерии успеха и не допускайте молчаливого частичного завершения задачи. При следующем шаге, представляющем собой код или вызов инструмента, предпочтительнее использовать структурированные выходные данные с проверкой по шаблону вместо свободного текста.

git clone https://github.com/Pratiyush/llm-wiki.git
cd llm-wiki
./setup.sh            # or setup.bat on Windows
pip install -e .
llmwiki sync          # Parse your transcripts
llmwiki build         # Generate static HTML
llmwiki serve         # Browse at http://localhost:8080
llmwiki mcp start

4. lucasastorian/llmwiki — The MCP-Powered Wiki

Для проекта 4. lucasastorian/llmwiki — Вики, работающий на основе MCP, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости заранее предотвращает неожиданные счета при переходе от демо-среды к общедоступным средам. При следующем шаге, представляющем собой код или вызов инструмента, предпочтение следует отдавать структурированным выводам с проверкой по схеме вместо свободного текста. Для проекта 4. lucasastorian/llmwiki — Вики, работающий на основе MCP, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Документируйте одновременно успешный сценарий выполнения и сценарий восстановления. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами, добавляемыми позже.

и т. д.

git clone https://github.com/lucasastorian/llmwiki.git
cd llmwiki
cd api && pip install -r requirements.txt && cd ..
cd web && npm install && cd ..export ANTHROPIC_API_KEY=your_key_here
./llmwiki init
./llmwiki open ~/your-documents

Какую модель следует использовать?

При решении вопроса «Какую модель следует использовать?» сначала запишите условия работы: необходимые входные данные, сигнал успешного выполнения и действия при частичной неудаче. Такой чек-лист поможет сохранять честность при последующих изменениях кода. Предпочитайте небольшие, тестируемые единицы кода вместо обширных скриптов. Если какой-то шаг не сработает, причина должна быть связана с конкретной функцией, а не с запутанной цепочкой операций. Храните в кэше стабильные инструкции системы и схемы инструментов. Повторная отправка одинакового преамбула — частая причина избыточных расходов.

Ollama против vLLM

При сравнении Ollama и vLLM сначала составьте договор: перечень необходимых входных данных, сигнал о успешном выполнении и последствия частичной неудачи. Такой чек-лист поможет сохранять честность при последующих изменениях кода. Рассматривайте этот этап как договор между входными данными и проверенными выходными результатами. Укажите названия элементов, определите критерии успеха и не допускайте безупречного завершения работы с частичными результатами. Записывайте идентификатор запроса, идентификатор модели и время задержки при каждом вызове. Без такой записи периодические ошибки поставщика будут выглядеть как баги приложения.

Рекомендации по моделям

При работе над рекомендациями моделей сначала запишите контракт: необходимые входные данные, сигнал успешного выполнения и действия при частичной неудаче. Такой список помогает сохранять честность при последующих изменениях кода. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отслеживание затрат на раннем этапе предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды. Храните в кэше стабильные инструкции системы и схемы инструментов. Пересылка одинаковых данных является распространенной причиной избыточных затрат. При работе над рекомендациями моделей сначала запишите контракт: необходимые входные данные, сигнал успешного выполнения и действия при частичной неудаче. Такой список помогает сохранять честность при последующих изменениях кода. Документируйте как успешный путь выполнения, так и пути восстановления. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами последующей доработки.

Работа с Ollama

Работа с Ollama будет наиболее эффективной, если рассматривать её как измеримую среду. Соберите один идеальный пример работы, один случай сбоя и запись о возврате к предыдущему состоянию перед расширением объёма работ. Предпочитайте небольшие, тестируемые единицы кода вместо обширных скриптов. При сбое какого-либо шага причина должна быть связана с конкретной функцией, а не с запутанной цепочкой операций. Закрепите интерпретатор и файл с информацией о зависимостях до того, как начнёте использовать циклы. Различия в настройках между ноутбуком и системой CI являются наиболее распространённой причиной скрытых сбоев в демонстрациях API.

ollama pull qwen2.5:14b
# The API is now at http://localhost:11434
# OpenAI-compatible endpoint: http://localhost:11434/v1

Работа с vLLM

Работа с vLLM наиболее эффективна, когда её рассматривают как измеримую среду. Соберите один идеальный пример работы, один случай сбоя и запись о возврате к предыдущему состоянию перед расширением объёма задачи. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия создаваемым файлам, определите критерии успеха и не соглашайтесь на молчаливое частичное выполнение задачи. Установите лимит токенов на каждый ход и на всю сессию. Инструменты агентов активно расширяют объём контекста; строгие ограничения предотвращают появление неожиданных счетов за использование сервиса.

pip install vllm
vllm serve Qwen/Qwen2.5-14B-Instruct \
  --max-model-len 131072 \
  --host 0.0.0.0 \
  --port 8000
vllm serve Qwen/Qwen2.5-1M \
  --enable-chunked-prefill \
  --max-model-len 1000000

Выбор подходящей реализации

Выбор правильной реализации дает наилучшие результаты, когда его рассматривают как показатель, подлежащий измерению. Соберите один идеальный пример работы, один случай сбоя и запись о возврате к предыдущему состоянию до расширения объема работ. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отслеживание затрат на раннем этапе предотвращает неожиданные счета при переходе от демо-версии к общедоступным средам. Установите лимиты на количество токенов за одну попытку и за сессию. Инструменты типа агентов активно расширяют объем обрабатываемой информации; жесткие ограничения не позволяют демо-версиям превращаться в неожиданные счета. Выбор правильной реализации дает наилучшие результаты, когда его рассматривают как показатель, подлежащий измерению. Соберите один идеальный пример работы, один случай сбоя и запись о возврате к предыдущему состоянию до расширения объема работ. Документируйте одновременно успешный и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами, добавляемыми позже.

Почему это важно

Чтобы понять, почему это важно, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Лучше использовать небольшие, тестируемые единицы вместо обширных скриптов. При сбое шага он должен указывать на конкретную причину, а не на запутанную цепочку операций. При следующем шаге, являющемся кодом или вызовом инструмента, предпочтительнее структурированные выходные данные с проверкой по схеме вместо свободного текста.

Чек-лист для начала работы

Для чек-листа начала работы определите входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия результатам работы, определите критерии успеха и не соглашайтесь на молчаливое частичное выполнение задачи. При следующем шаге, представляющем собой код или вызов инструмента, отдавайте предпочтение структурированным результатам с проверкой по схеме перед свободным текстовым описанием.

Сообщение от нашего основателя

Для сообщения от нашего основателя необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости заранее предотвращает неожиданные счета при переходе от демо-среды к общедоступным средам. При следующем шаге, представляющем собой код или вызов инструмента, предпочтительнее использовать структурированные выводы с проверкой схемы вместо свободного текста. Для сообщения от нашего основателя необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Документируйте как успешный путь выполнения, так и пути восстановления. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами последующей доработки.

Чек-лист операций

Для операционного чек-листа необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг, исходя из известной точки контроля, без необходимости угадывать скрытое состояние.

Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, где операторы могут их проверять, не читая весь код.

Предпочитайте структурированные выходные данные с проверкой соответствия шаблону вместо свободного текста, когда следующим шагом является обработка кода или вызов инструмента.

Измеряйте уровень воспроизводимости ответов на фиксированный набор вопросов перед настройкой промптов. Изменение промптов редко помогает устранить проблемы с низким качеством поиска информации.

Сохраняйте затраты на обработку минимальными и откладывайте сложные вычисления с использованием мемоизации только после проведения измерений. Преждевременное применение мемоизации может скрыть ошибки, связанные с устаревшими данными.

При наличии бюджета добавьте тест на проверку работоспособности, который будет опробовать критический путь в CI с использованием фикстчеров, а не реальных платных API.

Перед внедрением всей стек-технологии заморозьте версии, сохраните эталонный отчет для критического пути и уточните шаги возврата к предыдущей версии. В совместных средах необходимы ограничения на частоту запросов, проверки принадлежности пользователя и четко определенный ответственный за обновление секретов. Лучше выбирать надежность, чем креативные одноразовые демонстрации.

Примечание для a71fa3c414a4: не храните ключи поставщика в репозитории, установите лимит токенов на сессию и сохраняйте отчеты рядом с фикстчерами оценки, чтобы последующие замены моделей оставались сопоставимыми.