[{"data":1,"prerenderedAt":166},["ShallowReactive",2],{"ru.code.knowledge-compilation-over-rag":3,"ru.code.knowledge-compilation-over-rag-surround":161},{"id":4,"title":5,"body":6,"createdAt":147,"description":148,"draft":149,"extension":150,"image":151,"language":152,"meta":153,"navigation":154,"path":155,"read":156,"seo":157,"stem":158,"topics":159,"updatedAt":147,"__hash__":160},"content\u002Fru\u002Fcode\u002F18.knowledge-compilation-over-rag.md","Компиляция знаний: почему я не использую RAG в Obsidian",{"type":7,"value":8,"toc":138},"minimark",[9,13,18,21,24,27,31,34,37,71,74,78,89,92,95,104,108,111,114,128,132,135],[10,11,12],"p",{},"Несколько месяцев я пытался прикрутить векторный поиск к своему Obsidian-волту. Работало, но каждый раз ощущалось как костыль. Метод LLM Wiki Андрея Карпати перевернул это с головы на ноги — и я выкинул всю RAG-обвязку.",[14,15,17],"h2",{"id":16},"что-такое-rag-и-почему-с-ним-неудобно","Что такое RAG и почему с ним неудобно",[10,19,20],{},"RAG расшифровывается как Retrieval-Augmented Generation. Принцип такой: твои заметки режутся на куски, каждый кусок превращается в вектор — длинный список чисел, описывающий смысл. Когда ты задаёшь вопрос — вопрос тоже становится вектором, и система ищет ближайшие по смыслу куски текста. Их подсовывают LLM вместе с вопросом, и модель отвечает.",[10,22,23],{},"Звучит красиво. На практике — агент вытаскивает три ближайших по косинусу куска и делает вид, что что-то понял. Контекст между кусками потерян, связи между заметками — тоже. Если ответ требует сшить мысли из пяти разных мест — повезёт, если дотянет. А если не повезёт, получаешь уверенную галлюцинацию.",[10,25,26],{},"Плюс инфраструктурная морока: векторная база, эмбеддинг-модель, пайплайн обновления индекса при каждом изменении заметки. Отдельная боль — синхронизация между машинами. Свой волт я держу на нескольких компьютерах и синкаю через Syncthing. Markdown-файлы синкаются тривиально, а векторную базу так просто не передашь — нужен сторонний сервис с MCP. Городить сложную инфраструктуру вокруг личной базы знаний не хочется.",[14,28,30],{"id":29},"что-такое-компиляция-знаний","Что такое компиляция знаний",[10,32,33],{},"Идея Карпати простая. Берёшь папку, кладёшь в неё сырьё: статьи, PDF, транскрипты, выгрузки. LLM один раз осмысливает источник и пишет по нему связную wiki-страницу — с концептами, связями, wikilinks. Дальше любой вопрос сводится к «прочитай вики и ответь со ссылками на страницы». Не поиск по векторам, а компиляция знаний.",[10,35,36],{},"Ментальная модель — как с кодом:",[38,39,40,53,59,65],"ul",{},[41,42,43,47,48,52],"li",{},[44,45,46],"strong",{},"Source"," — сырьё в ",[49,50,51],"code",{},"raw\u002F",", immutable",[41,54,55,58],{},[44,56,57],{},"Compiler"," — LLM, который осмысливает и пишет",[41,60,61,64],{},[44,62,63],{},"Executable"," — готовая wiki в markdown",[41,66,67,70],{},[44,68,69],{},"Linting"," — проверка на противоречия, битые ссылки, пробелы",[10,72,73],{},"LLM один раз подумал над источником — дальше читает результат, а не вектор. Работа по пониманию сделана один раз, в момент ingest'а.",[14,75,77],{"id":76},"почему-это-лучше-rag-для-личных-знаний","Почему это лучше RAG для личных знаний",[10,79,80,81,84,85,88],{},"Главное, что я раньше упускал: Карпати не делает ",[44,82,83],{},"одну глобальную вики",". Он заводит ",[44,86,87],{},"по вики на тему",". И это меняет экономику.",[10,90,91],{},"Глобальная вики на весь волт в 2700 заметок — мёртвая идея, токены кончатся раньше, чем агент начнёт думать. А локальная вики на 50–200 страниц по одной конкретной теме умещается в контекст целиком и читается дёшево. Векторный поиск становится не нужен — агент просто читает всё и видит связи напрямую.",[10,93,94],{},"Плюс бонусы. Знания живут в обычном markdown — читаемые без LLM и синкаются через Syncthing между машинами без всякой отдельной обвязки. Wiki-граф встраивается в мой Obsidian-граф. Нет инфраструктуры, которую надо поддерживать.",[10,96,97],{},[98,99],"img",{"alt":100,"src":101,"title":102,"width":103},"Граф связей одной из LLM-вики в Obsidian","llm-wiki-graph.jpg","LLM-вики изнутри: каждая точка графа — страница, каждая линия — wikilink, которую модель сама поставила при ingest'е источника.",900,[14,105,107],{"id":106},"мои-юз-кейсы","Мои юз-кейсы",[10,109,110],{},"Сейчас у меня две вики по этой схеме.",[10,112,113],{},"Первая — по рабочему проекту. Митинги, ADR, техническая документация, выгрузки из Slack. Вопросы типа «почему мы ушли от Medusa в пользу Stripe» или «кто отвечает за governance» получают ответ со ссылками на конкретные страницы, а не галлюцинации из общего контекста. Когда приходит новый митинг — один раз говорю «ingest этот файл», агент дописывает затронутые концепты и проставляет связи.",[10,115,116,117,120,121,120,124,127],{},"Вторая — курс психологии из 40 лекций. Слайды, резюме, расшифровки — трёхслойный ingest с маркерами источника на каждой фразе: ",[49,118,119],{},"[slides]",", ",[49,122,123],{},"[transcript]",[49,125,126],{},"[summaries]",". Когда нужно «собрать что-то только из PDF» — фильтр по маркерам, и получаешь ровно то, что было на слайдах, без LLM-синтеза сверху. Для учебного материала, где важно отличать «что говорил лектор» от «что подумал агент» — критично.",[14,129,131],{"id":130},"где-это-не-работает","Где это не работает",[10,133,134],{},"Метод не универсален. Если тема размыта или короткоживущая — вики разрастается, и плюс дешёвого контекста исчезает. Для разрозненных интересов смысла нет. Плюс требует дисциплины: сырьё неизменно (immutable), ingest руками по одному источнику, иначе вики поедет и потеряешь контроль над тем, что в ней лежит.",[10,136,137],{},"Но там, где тема узкая и долгоживущая — курс, рабочий проект, исследовательское направление — компиляция знаний для меня обогнала все RAG-попытки. И что особенно приятно: никакой отдельной инфраструктуры, всё в обычном markdown, который я могу читать глазами и редактировать руками.",{"title":139,"searchDepth":140,"depth":140,"links":141},"",2,[142,143,144,145,146],{"id":16,"depth":140,"text":17},{"id":29,"depth":140,"text":30},{"id":76,"depth":140,"text":77},{"id":106,"depth":140,"text":107},{"id":130,"depth":140,"text":131},"2026-04-22","Почему я отказался от RAG в личной базе знаний и перешёл на метод Карпати — компиляцию знаний в markdown-вики.",false,"md","knowledge-compilation-over-rag.jpg","ru",{},true,"\u002Fru\u002Fcode\u002Fknowledge-compilation-over-rag",4,{"title":5,"description":148},"ru\u002Fcode\u002F18.knowledge-compilation-over-rag",null,"JZ5C36VNpBx3SiiK8Frx8LjS-s2xc_myKiV-CBiih1g",[162],{"title":163,"path":164,"stem":165,"draft":149,"children":-1},"Личные и профессиональные итоги 2025 года","\u002Fru\u002Fcode\u002F2025-year-in-review","ru\u002Fcode\u002F17.2025-year-in-review",1776836231713]