{
  "built_at": "2026-08-24",
  "count": 69,
  "technologies": [
    {
      "aliases": [],
      "attention": 11.031,
      "attention_cohort": "2024",
      "attention_raw": 6.387,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "lexical",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "trained_classifier",
        "C1": "lexical",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [
        "B1",
        "C2",
        "D2"
      ],
      "description": "Adaptive RAG исходит из того, что вопросы неоднородны по сложности, а система обслуживает их одинаково. Вопрос о дате рождения известного лица не требует внешнего источника вовсе. Вопрос об одном факте требует одного обращения к индексу. Вопрос, ответ на который собирается из нескольких документов, требует нескольких шагов с уточнением. Единая стратегия неизбежно ошибается в двух случаях из трёх: тратит лишнее на простом либо не доходит до ответа на сложном.\n\nПеред обработкой ставится распределитель: небольшой классификатор, обученный относить вопрос к одному из трёх разрядов. Первый разряд обслуживается порождением без обращения к источникам. Второй обслуживается однократным извлечением. Третий обслуживается многошаговым извлечением, где каждый следующий запрос строится по уже найденному.\n\nОбучающая разметка получена не разметкой вручную, а наблюдением: каждый вопрос из имеющегося набора прогоняется всеми тремя способами, и разрядом объявляется самый дешёвый способ, давший верный ответ. Слабое место лежит там же, где выигрыш: ошибка распределителя стоит либо неверного ответа при заниженной оценке сложности, либо лишних вызовов при завышенной, а сам распределитель обучается на распределении вопросов, которое может не совпасть с распределением в применении.",
      "description_en": "Adaptive RAG starts from the fact that questions differ in difficulty while the system serves them all alike. A question about a well-known person's date of birth needs no external source at all. A question about a single fact needs one consultation of the index. A question whose answer is assembled from several documents needs several steps with refinement. A single strategy is therefore wrong in two cases out of three: it spends too much on the easy question or fails to reach the answer on the hard one.\n\nA router is placed ahead of processing: a small classifier trained to assign a question to one of three classes. The first class is served by generation without consulting any source. The second is served by a single retrieval. The third is served by multi-step retrieval, where each subsequent query is built from what has already been found.\n\nThe training labels were obtained not by hand but by observation: every question in an existing set is run through all three routes, and the class declared is the cheapest route that produced a correct answer. The weak point lies where the gain does: a router error costs either a wrong answer when difficulty is underestimated or superfluous calls when it is overestimated, and the router itself is trained on a distribution of questions that may not match the one it meets in use.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2403.14403",
          "type": "publication",
          "value": "arXiv:2403.14403 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042753",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=183; year=2024; citation_velocity=5.903",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4393119012",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=10; year=2024; citation_velocity=0.345",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042753",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=189; year=2024; citation_velocity=6.097",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042753",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=194; year=2024; citation_velocity=6.258",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042753",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=195; year=2024; citation_velocity=6.29",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042753",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=198; year=2024; citation_velocity=6.387",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "D",
      "first_published": "2024",
      "groups": [
        "B",
        "C"
      ],
      "id": "adaptive_rag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2403.14403",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Adaptive RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B2",
          "did": "Отдельная небольшая обученная модель предсказывает сложность вопроса и по ней выбирает одну из трёх стратегий.",
          "did_en": "A separate small trained model predicts the difficulty of a question and picks one of three strategies by it.",
          "instead": "«маршрутизация языковой моделью»: там выбор делает подсказка, а не обученная модель.",
          "instead_en": "«routing by a language model»: there the choice is made by a prompt rather than by a trained model.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "trained_classifier",
          "why": "Маршрут выбирает обученный классификатор. Разметку для его обучения собрали автоматически: смотрели, какая стратегия дала верный ответ.",
          "why_en": "The route is chosen by a trained classifier. Its training labels were gathered automatically, by observing which strategy produced the correct answer."
        },
        {
          "code": "A5",
          "did": "Поиск словарный.",
          "did_en": "Retrieval is lexical.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, постановка опытов",
          "source_en": "arXiv:2403.14403, experimental setup",
          "technology_id": "adaptive_rag",
          "to": "lexical",
          "why": "Векторных представлений система не использует.",
          "why_en": "The system uses no vector representations."
        },
        {
          "code": "C1",
          "did": "Оператор поиска — тот же словарный.",
          "did_en": "The search operator is the same lexical one.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, постановка опытов",
          "source_en": "arXiv:2403.14403, experimental setup",
          "technology_id": "adaptive_rag",
          "to": "lexical",
          "why": "Иных способов извлечения нет.",
          "why_en": "There are no other means of retrieval."
        },
        {
          "code": "D1",
          "did": "Ни одна из ветвей не переранжирует: простая отдаёт найденное как есть, сложная передаёт работу методу, который документы не упорядочивает.",
          "did_en": "Neither branch reranks: the simple one hands over what it found as it is, the complex one passes the work to a method that does not order documents.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "none",
          "why": "Ступени переранжирования нет ни в одном режиме.",
          "why_en": "There is no reranking stage in any mode."
        },
        {
          "code": "C2",
          "did": "Три ветви: не искать вовсе, сходить один раз, либо запустить чередование рассуждения с поиском. Ветвь выбирается на каждый вопрос заново.",
          "did_en": "Three branches: do not search at all, go once, or run reasoning alternated with retrieval. The branch is chosen afresh for every question.",
          "instead": "оставить «один заход»: это описало бы только среднюю ветвь из трёх.",
          "instead_en": "leaving «single shot»: that would describe only the middle branch of three.",
          "question": "Само правило спорно: записывать значение самой полной ветви либо оставлять базовое. Выбор размножится на все системы с маршрутизацией, поэтому его стоит смотреть первым.",
          "question_en": "The rule itself is arguable: record the value of the fullest branch, or leave the default. The choice will multiply across every system with routing, and so deserves to be looked at first.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "iterative_stopping",
          "variable": true,
          "why": "Записано значение самой полной ветви, и измерение помечено как выбираемое на ходу — иначе запись заняла бы одну клетку пространства, а соседние выглядели бы пустыми, хотя система занимает и их.",
          "why_en": "The value of the fullest branch is recorded, and the dimension is marked as chosen at run time. Otherwise the record would occupy one cell of the space and the neighbouring cells would look empty, although the system occupies them too."
        },
        {
          "code": "B1",
          "did": "В сложной ветви система запускает чужой метод целиком, а тот строит запросы из собственного рассуждения.",
          "did_en": "In the complex branch the system runs another method whole, and that method builds queries out of its own reasoning.",
          "instead": "оставить «без преобразования»: в одной из ветвей запрос действительно порождается заново.",
          "instead_en": "leaving «no transformation»: in one of the branches the query really is produced anew.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "multi_reformulation",
          "variable": true,
          "why": "Вместе с глубиной обхода меняется и способ построения запроса — значит, помечать надо оба измерения.",
          "why_en": "Traversal depth and the way the query is built change together, so both dimensions have to be marked."
        },
        {
          "code": "D2",
          "did": "В той же сложной ветви действует ограничение по размеру окна, унаследованное от заимствованного метода.",
          "did_en": "The same complex branch carries a window-size limit inherited from the borrowed method.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "budget_aware",
          "variable": true,
          "why": "Правило отбора тоже зависит от ветви.",
          "why_en": "The selection rule depends on the branch as well."
        },
        {
          "code": "G3",
          "did": "Обучается только классификатор сложности. Поисковик и читатель берутся готовыми.",
          "did_en": "Only the difficulty classifier is trained. The retriever and the reader are taken ready-made.",
          "instead": "«обучаемый поисковик»: обучен маршрутизатор, а поисковик как раз нет.",
          "instead_en": "«trainable retriever»: the router is trained, and the retriever is precisely the thing that is not.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "frozen",
          "why": "Измерение описывает обучение поисковика и читателя. Обученный маршрутизатор записан отдельным измерением и здесь не повторяется.",
          "why_en": "The dimension describes the training of the retriever and the reader. The trained router is recorded as a separate dimension and is not repeated here."
        },
        {
          "code": "E1",
          "did": "Ветви различаются тем, сколько раз система ходит в поиск, а не тем, как порождается ответ.",
          "did_en": "The branches differ in how many times the system goes to retrieval rather than in how the answer is produced.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.14403, метод",
          "source_en": "arXiv:2403.14403, method",
          "technology_id": "adaptive_rag",
          "to": "single_pass",
          "why": "Устройство синтеза во всех ветвях одинаково.",
          "why_en": "Synthesis is arranged identically in every branch."
        },
        {
          "code": "E5",
          "did": "В самой полной ветви работает чередование рассуждения с поиском.",
          "did_en": "The fullest branch runs reasoning alternated with retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "adaptive_rag",
          "to": "mutual_loop",
          "why": "Значение записано по самой полной ветви, как и остальные переменные измерения записи.",
          "why_en": "The value is recorded from the fullest branch, as are the record's other run-time dimensions."
        }
      ],
      "prose_id": "adaptive_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Обученный распределитель выбирает по сложности вопроса одну из трёх стратегий: без поиска, одно обращение, несколько шагов.",
      "summary_en": "A trained router picks one of three strategies by question complexity: no retrieval, one retrieval, or several steps."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": null,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "llm_router",
        "C1": "ann",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "multi_agent",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [
        "C2",
        "E1"
      ],
      "description": "Agentic RAG обозначает не одну систему, а класс устройств, объединённых тем, где принимается решение. В цепочке с заранее заданным порядком последовательность шагов записана разработчиком: извлечь, переранжировать, породить. В устройствах этого класса последовательность определяется во время работы, и определяет её языковая модель.\n\nОбщими чертами служат четыре. Модель располагает набором средств, среди которых поиск лишь одно, а рядом стоят обращение к таблицам, вычисление, вызов внешней службы. Она сама решает, к какому средству обратиться и с какими доводами. Цикл открыт, то есть число шагов заранее не задано и определяется тем, как идёт дело. Наконец, модель ведёт состояние между шагами, накапливая найденное и отмечая, чего ещё недостаёт.\n\nИз этого следуют и достоинства, и издержки. Вопрос, требующий двух шагов, и вопрос, требующий восьми, обслуживаются одним устройством без настройки. Взамен расход становится непредсказуемым по вопросу, ход обработки труднее воспроизвести, а ошибка на раннем шаге уводит все последующие. Записи реестра, попадающие в этот класс, различаются тем, чем именно ограничен цикл и как решается вопрос об остановке.",
      "description_en": "Agentic RAG denotes not one system but a class of arrangements united by where the decisions are made. In a chain with a fixed order, the sequence of steps is written down by the developer: retrieve, rerank, generate. In arrangements of this class the sequence is settled at run time, and it is settled by a language model.\n\nFour features are common to them. The model has a set of tools at its disposal, of which search is only one, standing alongside querying tables, computation, and calls to external services. It decides for itself which tool to invoke and with what arguments. The loop is open, that is, the number of steps is not fixed in advance and follows from how matters develop. Finally, the model carries state between steps, accumulating what it has found and noting what is still missing.\n\nBoth the merits and the costs follow from this. A question needing two steps and a question needing eight are served by one arrangement without tuning. In exchange, the expense becomes unpredictable from the question, the course of processing is harder to reproduce, and an error at an early step carries every later one with it. Registry records falling into this class differ in what exactly bounds the loop and how the question of stopping is settled.",
      "evidence": [],
      "evidence_basis": null,
      "evidence_count": 0,
      "family": null,
      "first_published": null,
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "agentic_rag",
      "kind": "architecture",
      "level": null,
      "level_reason": null,
      "links": [],
      "name": "Agentic RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B2",
          "did": "Решение о том, обращаться ли к поиску и как, принимает сам агент на языковой модели.",
          "did_en": "The decision whether to go to retrieval and how is taken by the agent on the language model itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.09136, обзор",
          "source_en": "arXiv:2501.09136, survey",
          "technology_id": "agentic_rag",
          "to": "llm_router",
          "why": "Маршрут выбирает языковая модель по ходу, а не обученный классификатор до неё.",
          "why_en": "The route is chosen by the language model as it goes rather than by a trained classifier before it."
        },
        {
          "code": "C2",
          "did": "Глубину и состав обращений агент выбирает сам, применяя размышление, планирование и обращение к инструментам.",
          "did_en": "The agent chooses the depth and composition of calls itself, applying reflection, planning and calls to tools.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.09136, обзор",
          "source_en": "arXiv:2501.09136, survey",
          "technology_id": "agentic_rag",
          "to": "agentic_open_loop",
          "variable": true,
          "why": "Обзор описывает семейство систем с разной степенью самостоятельности, поэтому измерение помечено; записано значение самой полной ветви.",
          "why_en": "The survey describes a family of systems with differing degrees of autonomy, so the dimension is marked; the value of the fullest branch is recorded."
        },
        {
          "code": "E1",
          "did": "Часть систем семейства работает одним агентом, часть — несколькими, распределяя роли.",
          "did_en": "Part of the family works with one agent, part with several, distributing roles.",
          "question": "Это запись о семействе, а не об одной системе. Конфигурация здесь описывает объединение подтверждённого по обзору, и точность её ниже, чем у записи об отдельной работе.",
          "question_en": "This is a record about a family rather than about one system. The configuration here describes the union of what the survey confirms, and it is less precise than a record about an individual work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.09136, обзор",
          "source_en": "arXiv:2501.09136, survey",
          "technology_id": "agentic_rag",
          "to": "multi_agent",
          "variable": true,
          "why": "Обзор прямо делит их по числу агентов, поэтому измерение помечено.",
          "why_en": "The survey divides them by the number of agents outright, so the dimension is marked."
        }
      ],
      "prose_id": "agentic_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Общее название для устройств, где ходом извлечения распоряжается языковая модель, а не заранее заданный порядок.",
      "summary_en": "A general name for arrangements where a language model, not a fixed order, governs the course of retrieval."
    },
    {
      "aliases": [],
      "attention": 1.6,
      "attention_cohort": "2025",
      "attention_raw": 0.8,
      "confidence": 1.0,
      "configuration": {
        "A1": "summary_node",
        "A2": "fixed",
        "A3": "summary",
        "A4": "community_hierarchy",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "computed",
        "B1": "identity",
        "B2": "static",
        "C1": "tree_navigation",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "ArchRAG выстраивает над графом сущностей многоуровневую иерархию сообществ и обращается к ней сверху вниз. Одноуровневый граф ставит систему перед выбором, который нельзя сделать заранее: подробный обход даёт точность на узких вопросах и тонет в частностях на широких, а обход по сводкам ведёт себя ровно наоборот.\n\nПостроение идёт снизу вверх. Вершины исходного графа группируются алгоритмом кластеризации в сообщества, каждому сообществу сопоставляется описание, сами сообщества снова группируются, и так до тех пор, пока на верхнем уровне не останется несколько крупных областей. Каждый уровень индексируется отдельно, поэтому поиск возможен на любой высоте иерархии.\n\nЗапрос обслуживается спуском. Система начинает с верхнего уровня, определяет область, к которой вопрос относится, и опускается внутрь неё, пока подробность не окажется достаточной для ответа. Узкий вопрос доводит спуск до отдельных сущностей, широкий останавливается на описании области. Стоимость запроса при этом зависит от глубины спуска, а не от размера собрания, но построение иерархии остаётся дорогим и повторяется при существенном изменении документов.",
      "description_en": "ArchRAG raises a multi-level hierarchy of communities over an entity graph and consults it from the top down. A single-level graph confronts the system with a choice that cannot be made in advance: a detailed traversal is accurate on narrow questions and drowns in particulars on broad ones, while a traversal over summaries behaves in exactly the opposite way.\n\nConstruction proceeds from the bottom up. The nodes of the original graph are grouped by a clustering algorithm into communities, each community is given a description, the communities are grouped in turn, and so on until a few large areas remain at the top level. Every level is indexed separately, so search is possible at any height of the hierarchy.\n\nA query is served by descent. The system starts at the top level, determines the area the question belongs to, and descends into it until the detail suffices for an answer. A narrow question carries the descent down to individual entities; a broad one stops at the description of an area. The cost of a query then depends on the depth of the descent rather than on the size of the collection, but building the hierarchy remains expensive and has to be repeated when the documents change substantially.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2502.09891",
          "type": "publication",
          "value": "arXiv:2502.09891 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4407632367",
          "type": "publication",
          "value": "venue=Proceedings of the AAAI Conference on Artificial Intelligence; peer_reviewed=true; cited_by=3; year=2026; citation_velocity=0.6",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.09891",
          "type": "publication",
          "value": "venue=AAAI 2026; peer_reviewed=true; citations_semantic_scholar=34; year=2025",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4407632367",
          "type": "publication",
          "value": "venue=Proceedings of the AAAI Conference on Artificial Intelligence; peer_reviewed=true; cited_by=4; year=2026; citation_velocity=0.8",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": "B",
      "first_published": "2025-02",
      "groups": [
        "A",
        "C"
      ],
      "id": "archrag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2502.09891",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "ArchRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Над графом строится иерархия сообществ с приписанными им свойствами, полученная кластеризацией с участием языковой модели.",
          "did_en": "A hierarchy of communities with attributes attached is built over the graph, obtained by clustering with a language model taking part.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.09891, метод",
          "source_en": "arXiv:2502.09891, method",
          "technology_id": "archrag",
          "to": "community_hierarchy",
          "why": "У индекса есть уровни сообществ. У схемы есть значение с этим именем.",
          "why_en": "The index has levels of communities. The schema has a value under that name."
        },
        {
          "code": "A3",
          "did": "Каждому сообществу приписывается описание, порождённое заранее.",
          "did_en": "Every community is given a description produced in advance.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.09891, метод",
          "source_en": "arXiv:2502.09891, method",
          "technology_id": "archrag",
          "to": "summary",
          "why": "Единица индекса несёт добавленный пересказ.",
          "why_en": "A unit of the index carries a retelling attached to it."
        },
        {
          "code": "A1",
          "did": "Извлекаются описания сообществ.",
          "did_en": "What is retrieved are community descriptions.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.09891, метод",
          "source_en": "arXiv:2502.09891, method",
          "technology_id": "archrag",
          "to": "summary_node",
          "why": "Единица извлечения — узел обобщения.",
          "why_en": "The retrieval unit is a node of generalisation."
        },
        {
          "code": "C1",
          "did": "Поиск идёт сверху вниз по уровням иерархии, чем работа и объясняет экономию обращений к модели.",
          "did_en": "Search proceeds top down through the levels of the hierarchy, and the work explains its saving in model calls by that.",
          "question": "Полный текст статьи получить не удалось; значения выведены из аннотации, где названы иерархический индекс сообществ и экономия при поиске. Разбор здесь беднее, чем у записей, прочитанных по разделу метода.",
          "question_en": "The full text of the paper could not be obtained; the values are inferred from the abstract, which names a hierarchical community index and a saving during search. The parse here is poorer than for records read from a method section.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.09891, аннотация",
          "source_en": "arXiv:2502.09891, abstract",
          "technology_id": "archrag",
          "to": "tree_navigation",
          "why": "Отбор — движение по уровням.",
          "why_en": "Selection is movement through the levels."
        },
        {
          "code": "A8",
          "did": "Иерархия сообществ строится кластеризацией с участием языковой модели.",
          "did_en": "The hierarchy of communities is built by clustering with a language model taking part.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "archrag",
          "to": "computed",
          "why": "Структура вычислена алгоритмом.",
          "why_en": "The structure is computed by an algorithm."
        }
      ],
      "prose_id": "archrag",
      "residual": [],
      "residual_en": [],
      "summary": "Иерархия сообществ, построенная поверх графа сущностей, с выбором уровня подробности по запросу.",
      "summary_en": "A multi-level hierarchy of communities over an entity graph, with the level of detail chosen per query."
    },
    {
      "aliases": [],
      "attention": 0.083,
      "attention_cohort": "2024",
      "attention_raw": 0.048,
      "confidence": 1.0,
      "configuration": {
        "B1": "multi_reformulation",
        "C2": "agentic_open_loop",
        "D1": "none",
        "E5": "mutual_loop",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Auto-RAG переносит управление извлечением внутрь языковой модели. В системах с несколькими шагами поиска решениями о том, искать ли дальше и что именно, обычно распоряжается внешняя часть: порог уверенности, отдельный классификатор, заданное число кругов. Такие правила настраиваются вручную и переносятся на другую предметную область плохо.\n\nМодель дообучается вести извлечение самостоятельно, порождая рассуждение о состоянии поиска наравне с обычным текстом. Она называет, чего недостаёт для ответа, формулирует следующий запрос, читает найденное, оценивает, приблизило ли оно к ответу, и решает, продолжать ли. Обучающие цепочки получены наблюдением: многошаговые вопросы прогоняются с поиском, удачные ходы сохраняются как образцы.\n\nЧисло шагов тем самым определяется вопросом, а не настройкой, и меняется от одного обращения на простом вопросе до нескольких на сложном. Плата состоит в необходимости дообучения и в том, что решение об остановке остаётся суждением модели о себе самой: при завышенной уверенности она останавливается рано и отвечает на неполном основании.",
      "description_en": "Auto-RAG moves control of retrieval inside the language model. In systems with several search steps, the decisions about whether to search again and for what are usually taken by an external part: a confidence threshold, a separate classifier, a fixed number of rounds. Such rules are tuned by hand and transfer to another field poorly.\n\nThe model is fine-tuned to conduct retrieval on its own, generating reasoning about the state of the search alongside ordinary text. It names what is missing for an answer, formulates the next query, reads what was retrieved, judges whether it brought the answer closer, and decides whether to continue. The training chains were obtained by observation: multi-step questions are run with search, and successful courses of action are kept as examples.\n\nThe number of steps is thereby settled by the question rather than by a setting, varying from a single consultation on an easy question to several on a hard one. The price is the need for fine-tuning, and the fact that the decision to stop remains the model's judgement about itself: when its confidence is too high it stops early and answers on incomplete grounds.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2411.19443",
          "type": "publication",
          "value": "arXiv:2411.19443 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4405030361",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=1; year=2024; citation_velocity=0.048",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2024",
      "groups": [
        "B",
        "C",
        "E",
        "G"
      ],
      "id": "auto_rag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2411.19443",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "Auto-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "E5",
          "did": "Модель ведёт многошаговый диалог с поисковиком, решая на каждом шаге, достаточно ли найденного.",
          "did_en": "The model conducts a multi-step dialogue with the retriever, deciding at every step whether what it has found is enough.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "auto_rag",
          "to": "mutual_loop",
          "why": "Порождение управляет поиском и меняется от найденного.",
          "why_en": "Production drives retrieval and changes with what is found."
        },
        {
          "code": "C2",
          "did": "Модель ведёт многошаговый диалог с поисковиком, сама планируя обращения и уточняя запросы, и сама решает, сколько шагов нужно, исходя из трудности вопроса.",
          "did_en": "The model conducts a multi-step dialogue with the retriever, planning the calls and refining the queries itself, and decides how many steps are needed from the difficulty of the question.",
          "instead": "«остановка по условию»: там условие задано снаружи, а здесь достаточность оценивает сама модель.",
          "instead_en": "«stop on condition»: there the condition is set from outside, whereas here the model judges sufficiency itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2411.19443, метод",
          "source_en": "arXiv:2411.19443, method",
          "technology_id": "auto_rag",
          "to": "agentic_open_loop",
          "why": "Ни числа шагов, ни внешнего условия остановки нет: их выбирает модель.",
          "why_en": "There is neither a step count nor an external stopping condition: the model chooses them."
        },
        {
          "code": "G3",
          "did": "Модель дообучается на самостоятельно порождённых указаниях о том, как принимать решения при итеративном поиске.",
          "did_en": "The model is fine-tuned on instructions it produced itself about how to make decisions during iterative retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2411.19443, метод",
          "source_en": "arXiv:2411.19443, method",
          "technology_id": "auto_rag",
          "to": "trained_reader",
          "why": "Обучается порождающая сторона; поисковик не трогается.",
          "why_en": "The producing side is trained; the retriever is untouched."
        }
      ],
      "prose_id": "auto_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Планирование извлечения внутри самой модели: она обучена решать, что искать дальше, без внешних правил.",
      "summary_en": "Retrieval planning inside the model itself: it is trained to decide what to search for next, with no external rules."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "C1": "ann",
        "C3": "none",
        "C4": "single_store",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [
        "E1",
        "E2",
        "E3",
        "E4",
        "B1",
        "B2",
        "C2",
        "D1",
        "D2",
        "D3"
      ],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "BGE-M3 представляет собой модель представлений, покрывающую три свойства одновременно, тогда как обычно каждое требует отдельной модели.\n\nПервое свойство состоит в многоязычности: поддержано более ста языков, и запрос на одном языке находит документ на другом, потому что представления языков сведены в общее пространство. Второе свойство состоит в длине входа: модель принимает несколько тысяч единиц текста, поэтому длинный документ не приходится дробить только ради того, чтобы он поместился. Третье свойство состоит в том, что модель выдаёт три вида представления за один проход: плотный вектор для поиска по смыслу, разреженные веса слов для поиска по совпадению и набор векторов для позднего взаимодействия.\n\nПрактическая ценность в том, что смешанный поиск обслуживается одной моделью вместо трёх, а согласовывать их между собой не требуется, поскольку все три вида получены из одного прохода и потому согласованы по построению. Плата состоит в размере и скорости: модель, обученная на всё сразу, крупнее узкой и на отдельно взятом языке уступает модели, обученной только на нём.",
      "description_en": "BGE-M3 is a representation model covering three properties simultaneously, where each would ordinarily call for a model of its own.\n\nThe first property is multilinguality: over a hundred languages are supported, and a query in one language finds a document in another, because the languages are brought into a shared representation space. The second is input length: the model accepts several thousand units of text, so a long document need not be broken up merely to make it fit. The third is that the model produces three forms of representation in a single pass: a dense vector for search by meaning, sparse word weights for search by overlap, and a set of vectors for late interaction.\n\nThe practical value is that hybrid search is served by one model instead of three, and they need not be reconciled with one another, since all three forms come out of the same pass and are coherent by construction. The price is size and speed: a model trained for everything at once is larger than a narrow one and, on any single language, yields to a model trained on that language alone.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=601549",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=593769",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=584896",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=590199",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=588287",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/FlagEmbedding/",
          "type": "package_downloads",
          "value": "package=FlagEmbedding; version=1.4.0; downloads_last_month=565552",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": null,
      "first_published": null,
      "groups": [
        "A",
        "G"
      ],
      "id": "bge_m3",
      "kind": "tool",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://huggingface.co/BAAI/bge-m3",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "BGE-M3",
      "package": "FlagEmbedding",
      "parse_notes": [
        {
          "code": "A5",
          "did": "Это модель представлений: она превращает текст в вектор, и на этом её роль кончается.",
          "did_en": "This is a representation model: it turns text into a vector, and its role ends there.",
          "question": "Модель поддерживает и разреженное, и многовекторное представление помимо плотного. Записано плотное как основное применение; строго говоря, здесь нужна пометка «выбирается на ходу».",
          "question_en": "The model supports sparse and multi-vector representations besides the dense one. Dense is recorded as the principal use; strictly speaking a «chosen at run time» mark is needed here.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "карточка модели BAAI/bge-m3",
          "source_en": "model card BAAI/bge-m3",
          "technology_id": "bge_m3",
          "to": "dense_single",
          "why": "Запись занимает ровно одно измерение из двадцати шести — то, которое описывает способ представления.",
          "why_en": "The record occupies exactly one dimension out of twenty-eight, the one describing the manner of representation."
        },
        {
          "code": "G3",
          "did": "Модель обучена под задачу поиска.",
          "did_en": "The model is trained for the retrieval task.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "карточка модели BAAI/bge-m3",
          "source_en": "model card BAAI/bge-m3",
          "technology_id": "bge_m3",
          "to": "trained_retriever",
          "why": "Обучаемость относится к поисковой стороне.",
          "why_en": "Trainability belongs to the retrieval side."
        },
        {
          "code": "E1",
          "did": "Модель ничего не порождает и запросы не преобразует.",
          "did_en": "The model produces nothing and transforms no queries.",
          "inapplicable": true,
          "residual_term": null,
          "residual_term_en": null,
          "source": "карточка модели BAAI/bge-m3",
          "source_en": "model card BAAI/bge-m3",
          "technology_id": "bge_m3",
          "why": "Она часть системы, а не система: измерения синтеза, запроса и извлечения к ней не относятся.",
          "why_en": "It is a part of a system rather than a system: the dimensions of synthesis, query and retrieval do not apply to it."
        }
      ],
      "prose_id": "bge_m3",
      "residual": [],
      "residual_en": [],
      "summary": "Одна модель представлений на сто с лишним языков, выдающая плотный, разреженный и многовекторный виды сразу.",
      "summary_en": "One representation model over a hundred-odd languages, producing dense, sparse, and multi-vector forms at once."
    },
    {
      "aliases": [
        "BM25"
      ],
      "attention": 15.281,
      "attention_cohort": null,
      "attention_raw": 15.281,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "lexical",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "lexical",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "BM25 представляет собой правило оценивания, по которому документы отбираются на совпадении слов и которое остаётся основным словарным способом поиска несколько десятилетий. Указатель здесь разреженный: документ описывается тем, какие слова в нём есть и сколько раз, и большинство координат такого описания равны нулю.\n\nОценка складывается из вкладов слов запроса, встретившихся в документе, и каждый вклад определяется тремя соображениями. Слово, встречающееся в собрании редко, вносит больше, чем слово повсеместное, потому что редкое слово различает документы, а повсеместное нет. Повторное появление слова в документе увеличивает вклад, но со снижающейся отдачей, поэтому документ с сотней повторов не обгоняет документ с десятью настолько же. Длина документа учитывается поправкой, иначе длинные документы выигрывали бы уже тем, что в них больше слов.\n\nОбучения правило не требует, объяснимо построчно и работает одинаково на любой предметной области, поэтому служит точкой отсчёта, ниже которой опускаться нельзя. Ограничение прямо следует из устройства: совпадение считается по словам, и документ, отвечающий на вопрос иными словами, не находится вовсе. Отсюда происходит смешанный поиск, где BM25 работает рядом с векторным.",
      "description_en": "BM25 is a scoring rule by which documents are selected on word overlap, and it has remained the principal lexical method of search for several decades. The index here is sparse: a document is described by which words occur in it and how often, and most coordinates of that description are zero.\n\nA score is the sum of contributions from the query words present in the document, and each contribution is settled by three considerations. A word rare in the collection contributes more than a ubiquitous one, because a rare word distinguishes documents while a ubiquitous one does not. A repeated occurrence within a document raises the contribution, but with diminishing returns, so a document with a hundred repetitions does not outrank one with ten by a corresponding margin. Document length enters as a correction, without which long documents would win merely by containing more words.\n\nThe rule requires no training, is explainable line by line, and behaves identically in any field, which is why it serves as a floor below which nothing should fall. Its limitation follows directly from its construction: overlap is counted over words, and a document answering the question in different words is not found at all. Hybrid search, where BM25 runs alongside a vector method, follows from exactly this.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://api.github.com/repos/langchain-ai/langchain",
          "type": "framework_presence",
          "value": "frameworks=LangChain, LlamaIndex",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4252076394",
          "type": "publication",
          "value": "venue=Foundations and Trends® in Information Retrieval; peer_reviewed=true; cited_by=3069; year=2009; citation_velocity=15.118",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4252076394",
          "type": "publication",
          "value": "venue=Foundations and Trends® in Information Retrieval; peer_reviewed=true; cited_by=3078; year=2009; citation_velocity=15.163",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4252076394",
          "type": "publication",
          "value": "venue=Foundations and Trends® in Information Retrieval; peer_reviewed=true; cited_by=3085; year=2009; citation_velocity=15.197",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4252076394",
          "type": "publication",
          "value": "venue=Foundations and Trends® in Information Retrieval; peer_reviewed=true; cited_by=3102; year=2009; citation_velocity=15.281",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": null,
      "first_published": null,
      "groups": [
        "A",
        "C"
      ],
      "id": "bm25_sparse",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "paper",
          "label": null,
          "label_en": null,
          "status": "guarded",
          "url": "https://doi.org/10.1561/1500000019",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "BM25 Sparse",
      "package": null,
      "parse_notes": [
        {
          "code": "A5",
          "did": "Документ представлен словами и их весами, а не вектором смысла.",
          "did_en": "A document is represented by words and their weights rather than by a vector of meaning.",
          "instead": "«плотное представление»: приём как раз ему предшествует и служит точкой сравнения.",
          "instead_en": "«dense representation»: the technique precedes it and serves as the point of comparison.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "Robertson & Zaragoza, 2009",
          "source_en": "Robertson & Zaragoza, 2009",
          "technology_id": "bm25_sparse",
          "to": "lexical",
          "why": "Сопоставление идёт по совпадению слов.",
          "why_en": "Matching goes by coincidence of words."
        },
        {
          "code": "C1",
          "did": "Оператор поиска сопоставляет слова запроса словам документа с весами.",
          "did_en": "The search operator matches the words of the query against the words of the document with weights.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "Robertson & Zaragoza, 2009",
          "source_en": "Robertson & Zaragoza, 2009",
          "technology_id": "bm25_sparse",
          "to": "lexical",
          "why": "Иного способа отбора в приёме нет.",
          "why_en": "The technique has no other means of selection."
        },
        {
          "code": "D1",
          "did": "Порядок задаёт сама функция ранжирования.",
          "did_en": "The order is set by the ranking function itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "Robertson & Zaragoza, 2009",
          "source_en": "Robertson & Zaragoza, 2009",
          "technology_id": "bm25_sparse",
          "to": "none",
          "why": "Отдельной ступени пересмотра нет.",
          "why_en": "There is no separate stage that revisits it."
        }
      ],
      "prose_id": "bm25_sparse",
      "residual": [],
      "residual_en": [],
      "summary": "Словарный поиск по совпадению слов с поправками на частоту слова и длину документа.",
      "summary_en": "Lexical search by word overlap, corrected for word frequency and document length."
    },
    {
      "aliases": [],
      "attention": 1.368,
      "attention_cohort": "2025",
      "attention_raw": 0.684,
      "barriers": "Общее препятствие состоит в построении причинного графа, и оно распадается на четыре части.\n\nИзвлекать причинные связи из текста ненадёжно: причинность спорна и для людей, читающих тот же текст. Рассуждение о том, что произошло бы при отсутствии обстоятельства, обходится вычислительно дорого. Общепринятого способа соединить исчисление вмешательств по Джуде Перлу с порождением ответа языковой моделью нет. Наконец, проверка причинного графа требует знания предметной области и потому не поддаётся полной передаче машине.",
      "barriers_en": "The common obstacle is constructing the causal graph, and it falls into four parts.\n\nExtracting causal links from text is unreliable: causality is disputed even among people reading the same text. Reasoning about what would have happened in the absence of a circumstance is computationally expensive. There is no accepted way to join Judea Pearl's calculus of interventions to answer generation by a language model. Finally, validating a causal graph requires knowledge of the field and therefore cannot be handed over to a machine in full.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "multi_agent",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/hippoley/CausalRAG",
          "type": "repository",
          "value": "hippoley/CausalRAG: license=apache-2.0, last_push=2025-05-09, releases=no",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4412887679",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=11; year=2025; citation_velocity=0.579",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2503.19878",
          "type": "publication",
          "value": "arXiv:2503.19878 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W6948236122",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4412887679",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=12; year=2025; citation_velocity=0.632",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4412887679",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=13; year=2025; citation_velocity=0.684",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": null,
      "first_published": "2025",
      "groups": [
        "A",
        "C"
      ],
      "id": "causalrag",
      "kind": "paradigm",
      "level": "L3",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2",
          "L3"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "CausalRAG (arXiv:2503.19878, ACL 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2503.19878",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "github",
          "label": "CausalRAG code (GitHub)",
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/hippoley/CausalRAG",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Multi-Round RAG and Causal Modeling (NAACL Industry, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://aclanthology.org/2025.naacl-industry.42.pdf",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранняя работа, опубликованная в сборнике ACL Findings 2025. Тридцать пять цитирований, исходный код открыт. Высокий запас развития при малом нынешнем распространении.",
      "maturity_note_en": "Early paper published in ACL Findings 2025. Thirty-five citations, source code open. High room for development against small present adoption.",
      "name": "CausalRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Из документов строится граф причинных связей между понятиями.",
          "did_en": "A graph of causal links between concepts is built from the documents.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2503.19878, метод",
          "source_en": "arXiv:2503.19878, method",
          "technology_id": "causalrag",
          "to": "graph",
          "why": "Индекс связный, и связь несёт смысл причины.",
          "why_en": "The index is connected, and an edge carries the sense of a cause."
        },
        {
          "code": "A3",
          "did": "Причинные отношения извлекаются из текста и хранятся вместе с ним.",
          "did_en": "Causal relations are extracted from the text and stored alongside it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2503.19878, метод",
          "source_en": "arXiv:2503.19878, method",
          "technology_id": "causalrag",
          "to": "extracted_triples",
          "why": "Единица индекса несёт добытые утверждения.",
          "why_en": "A unit of the index carries the statements mined from it."
        },
        {
          "code": "C1",
          "did": "Отбор идёт прослеживанием причинных связей, а не только близостью смысла.",
          "did_en": "Selection proceeds by tracing causal links rather than by closeness of meaning alone.",
          "instead": "«поиск ближайших соседей»: работа существует как возражение против него.",
          "instead_en": "«nearest-neighbour search»: the work exists as an objection to it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2503.19878, метод",
          "source_en": "arXiv:2503.19878, method",
          "technology_id": "causalrag",
          "to": "graph_traversal",
          "why": "Ответ собирается движением по связям. В этом отличие работы от обычного поиска.",
          "why_en": "The answer is assembled by moving along the edges. That is what sets the work apart from ordinary retrieval."
        },
        {
          "code": "D1",
          "did": "Отдельной ступени переранжирования не описано.",
          "did_en": "No separate reranking stage is described.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2503.19878, метод",
          "source_en": "arXiv:2503.19878, method",
          "technology_id": "causalrag",
          "to": "none",
          "why": "Порядок задаёт прослеживание связей.",
          "why_en": "The order is set by the tracing of links."
        },
        {
          "code": "A8",
          "did": "Причинные связи извлекаются из документов.",
          "did_en": "Causal links are extracted from the documents.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "causalrag",
          "to": "extracted",
          "why": "Структура добыта из содержания.",
          "why_en": "The structure is mined from the content."
        }
      ],
      "problem": "Обычное извлечение отбирает отрывки по сходству и тем самым переносит в ответ совпадения, принимая их за связи. Вместе с ними переносятся и общие причины, из-за которых два обстоятельства меняются вместе, не влияя друг на друга.\n\nНа вопросах о причинах это даёт поверхностный либо прямо вводящий в заблуждение ответ, потому что отбор совпадения от причины не отличает.",
      "problem_en": "Ordinary retrieval selects passages by similarity and thereby carries coincidences into the answer, taking them for connections. Common causes are carried along too, whereby two circumstances vary together without either influencing the other.\n\nOn questions about causes this produces a shallow or outright misleading answer, because the selection does not tell coincidence from cause.",
      "prose_id": "causalrag",
      "residual": [],
      "residual_en": [],
      "solutions": "Причинный граф строят рядом с обычным указателем представлений, а не вместо него, и при извлечении прослеживают по нему причинные пути.\n\nОтбор ведут не по близости к запросу, а по принадлежности к причинной цепочке. Многошаговое извлечение разбивают по устройству этой цепочки, отчего точность на вопросах о причинах растёт. Проверку графа оставляют человеку, встраивая её в ход работы, а не откладывая. Реализация CausalRAG открыта и показывает применимость подхода.",
      "solutions_en": "The causal graph is built alongside the ordinary representation index rather than in its place, and causal paths are traced through it during retrieval.\n\nSelection proceeds by membership in a causal chain rather than by closeness to the query. Multi-step retrieval is decomposed along the structure of that chain, which raises accuracy on questions about causes. Validation of the graph is left to a person and built into the working process rather than deferred. The CausalRAG implementation is open and demonstrates that the approach is workable.",
      "summary": "Отбор по причинным связям вместо отбора по сходству: система различает совпадение и причину.",
      "summary_en": "Selection by causal links rather than by similarity: the system tells coincidence from cause."
    },
    {
      "aliases": [
        "CBR-RAG"
      ],
      "attention": 5.905,
      "attention_cohort": "2024",
      "attention_raw": 3.419,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "metadata",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-13",
      "configuration_variable": [
        "A5"
      ],
      "description": "CBR-RAG соединяет извлечение с рассуждением по прецедентам, то есть с подходом, который решает новую задачу, отыскивая разобранный прежде похожий случай и перенося его решение с поправками. Подход этот старше извлечения с порождением на десятилетия и в праве применяется естественно: юридическое рассуждение и устроено ссылкой на прецедент.\n\nОтличие от обычного поиска лежит в признаке подобия. Плотный поиск считает похожими тексты, близкие в пространстве представлений, а рассуждение по прецедентам считает похожими случаи, совпадающие по разбору на признаки задачи и признаки решения. Для этого к каждому прецеденту прикладывается указательный словарь: перечень признаков, по которым прецедент отыскивается. Найденные прецеденты дополняют запрос перед порождением ответа.\n\nРабота сопоставляет несколько способов представления прецедента и несколько мер сходства между ними, не назначая одного. Она прошла рецензирование и вышла в Lecture Notes in Computer Science, набрав к августу 2026 года сто одно цитирование. Ценность записи для реестра состоит при этом не только в системе, но и в остатке: отбор по подобию прецедента схема из двадцати восьми измерений не выражает вовсе, и это целая традиция поиска, которой в реестре до сих пор не было ни одной записью.",
      "description_en": "CBR-RAG joins retrieval to case-based reasoning, that is, to an approach that solves a new problem by finding a similar case worked out before and carrying its solution over with adjustments. The approach is older than retrieval-augmented generation by decades, and in law it applies naturally: legal reasoning is itself built on reference to precedent.\n\nWhat sets it apart from ordinary search is the criterion of likeness. Dense retrieval holds texts to be alike when they are close in the representation space, while case-based reasoning holds cases to be alike when they agree in their decomposition into features of the problem and features of the solution. To that end an indexing vocabulary is attached to every case: a list of the features by which the case is retrieved. The retrieved cases then enrich the query before the answer is generated.\n\nThe work sets several ways of representing a case and several measures of similarity against one another without settling on one. It passed peer review and appeared in Lecture Notes in Computer Science, gathering one hundred and one citations by August 2026. The value of the record for the registry therefore lies not in the system alone but also in its residual: selection by likeness of precedent is not expressed by the 28-dimension schema at all, and it is a whole tradition of retrieval that the registry has until now held no record of.",
      "evidence": [
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2404.04302",
          "type": "publication",
          "value": "arXiv:2404.04302 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4399932275",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=101; year=2024; citation_velocity=3.258",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4399932275",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=103; year=2024; citation_velocity=3.323",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4399932275",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=106; year=2024; citation_velocity=3.419",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2024-04",
      "groups": [
        "A",
        "C"
      ],
      "id": "cbr_rag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2404.04302",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2404.04302",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "CBR-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A3",
          "did": "К прецеденту прикладывается указательный словарь рассуждения по прецедентам: признаки задачи и признаки решения, по которым прецедент отыскивается.",
          "did_en": "An indexing vocabulary from case-based reasoning is attached to a case: features of the problem and features of the solution by which the case is retrieved.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.04302, устройство",
          "source_en": "arXiv:2404.04302, method",
          "technology_id": "cbr_rag",
          "to": "metadata",
          "why": "Обогащение состоит в описательных полях, добавленных к единице сверх её собственного текста, и они же служат ключом отбора.",
          "why_en": "The enrichment consists of descriptive fields added to a unit beyond its own text, and those fields also serve as the key for selection."
        },
        {
          "code": "A5",
          "did": "Сравниваются несколько способов представления прецедента и несколько мер сходства между ними.",
          "did_en": "Several ways of representing a case and several measures of similarity between them are compared.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.04302, проверка",
          "source_en": "arXiv:2404.04302, evaluation",
          "technology_id": "cbr_rag",
          "to": "dense_single",
          "variable": true,
          "why": "Записано преобладающее значение, а пометка переменного стоит потому, что работа не назначает одно представление, а сопоставляет их между собой.",
          "why_en": "The prevailing value is recorded, and the run-time mark is there because the work does not settle on one representation but sets several against each other."
        },
        {
          "code": "A1",
          "did": "Единицей извлечения служит судебный прецедент либо его часть.",
          "did_en": "The unit of retrieval is a legal case or a part of one.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.04302, устройство",
          "source_en": "arXiv:2404.04302, method",
          "technology_id": "cbr_rag",
          "to": "passage",
          "why": "Ближайшее значение схемы описывает отрезок текста; отдельного значения для документа целиком в схеме нет.",
          "why_en": "The nearest value in the schema describes a stretch of text; the schema has no separate value for a whole document."
        },
        {
          "code": "C3",
          "did": "Способы представления сопоставляются между собой; о совместном использовании их выдач в описании не сказано.",
          "did_en": "The representations are set against one another; the description does not say their results are used together.",
          "question": "Возможно прочтение «приведение оценок к одной шкале», если смешанное представление в работе применяется, а не только измеряется.",
          "question_en": "A reading of «scores brought to one scale» is possible if the hybrid representation is applied in the work rather than merely measured.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.04302, проверка",
          "source_en": "arXiv:2404.04302, evaluation",
          "technology_id": "cbr_rag",
          "to": "none",
          "why": "Записано базовое значение, потому что слияние из источника не следует, а сравнение способов не есть их объединение.",
          "why_en": "The base value is recorded because fusion does not follow from the source, and comparing methods is not the same as combining them."
        },
        {
          "did": "Прецедент отыскивается по подобию разбора на признаки задачи и решения, а не по расстоянию между представлениями.",
          "did_en": "A case is retrieved by likeness of its decomposition into problem and solution features rather than by distance between representations.",
          "residual": "analogical_case_retrieval",
          "residual_term": "отбор по подобию прецедента, а не по близости представления",
          "residual_term_en": "selection by analogy between cases rather than by closeness of representations",
          "source": "arXiv:2404.04302, устройство",
          "source_en": "arXiv:2404.04302, method",
          "technology_id": "cbr_rag",
          "why": "Оператор поиска называет действие над указателем, но признака подобия, по которому две задачи считаются схожими, схема не выражает.",
          "why_en": "The search operator names the operation over the index, but the schema does not express the criterion of likeness by which two problems are held to be alike."
        }
      ],
      "prose_id": "cbr_rag",
      "residual": [
        "отбор по подобию прецедента, а не по близости представления"
      ],
      "residual_en": [
        "selection by analogy between cases rather than by closeness of representations"
      ],
      "summary": "Рассуждение по прецедентам поверх извлечения: юридический случай отыскивается по разбору на признаки, а не по близости векторов.",
      "summary_en": "Case-based reasoning over retrieval: a legal case is found by likeness of features rather than by closeness of vectors."
    },
    {
      "aliases": [
        "ChatQA 2"
      ],
      "attention": 0.446,
      "attention_cohort": "2024",
      "attention_raw": 0.258,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "joint_training"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "ChatQA занимается извлечением внутри разговора, где вопрос сам по себе неполон. Реплика «а в прошлом году?» не содержит ни предмета, ни лица, о которых речь, и поиск по ней возвращает случайное. Смысл её восстанавливается только из предыдущих реплик, а обычный извлекатель предыдущих реплик не видит.\n\nДонастройка идёт в два этапа. Сначала модель обучают следовать указаниям и удерживать поданный контекст. Затем её обучают на разговорных примерах, где среди поданного намеренно есть отрывки, к вопросу не относящиеся, и часть примеров вовсе не имеет ответа в поданном: правильным поведением на них объявляется прямое признание, что ответа нет.\n\nИзвлекатель донастраивается отдельно на переписанных запросах: вопрос, зависящий от разговора, приводится к самостоятельному виду с восстановленными упоминаниями, и поиск идёт уже по нему. Тем самым разговорная зависимость снимается до обращения к указателю, а не перекладывается на него. Показано, что при такой подготовке открытая модель отвечает наравне с закрытыми того времени, а признание отсутствия ответа заметно снижает долю вымысла.",
      "description_en": "ChatQA takes up retrieval inside a conversation, where the question on its own is incomplete. The turn \"and last year?\" contains neither the subject nor the person being discussed, and a search on it returns arbitrary results. Its meaning is recoverable only from the preceding turns, and an ordinary retriever does not see them.\n\nFine-tuning proceeds in two stages. The model is first trained to follow instructions and to hold the context it is given. It is then trained on conversational examples in which the material supplied deliberately includes passages irrelevant to the question, and a portion of the examples have no answer in the supplied material at all: the correct behaviour on those is declared to be a plain statement that no answer is present.\n\nThe retriever is fine-tuned separately on rewritten queries: a question dependent on the conversation is brought to a self-contained form with its references restored, and the search runs on that. Conversational dependence is thereby removed before the index is consulted rather than loaded onto it. It is shown that under such preparation an open model answers on a par with the closed models of its time, and that stating the absence of an answer markedly reduces the share of invention.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2401.10225",
          "type": "publication",
          "value": "arXiv:2401.10225 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415798682",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=7; year=2024; citation_velocity=0.226",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4391047467",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2024; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415798682",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=8; year=2024; citation_velocity=0.258",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2024-01",
      "groups": [
        "G"
      ],
      "id": "chatqa",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2401.10225",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "ChatQA",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Обучаются обе стороны: языковая модель проходит два захода настройки, а поисковик дообучается на парах «вопрос в диалоге и его контекст» вместо переписывания вопроса отдельной моделью.",
          "did_en": "Both sides are trained: the language model goes through two passes of tuning, and the retriever is fine-tuned on pairs of a question in dialogue and its context, instead of a separate model rewriting the question.",
          "instead": "«обучаемый читатель»: он потерял бы главное — что переписывание вопроса заменено дообучением поисковика.",
          "instead_en": "«trainable reader»: it would lose the main point, that rewriting the question is replaced by fine-tuning the retriever.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.10225, метод",
          "source_en": "arXiv:2401.10225, method",
          "technology_id": "chatqa",
          "to": "joint_training",
          "why": "Обучены и читатель, и поисковик, причём второй под задачу первого.",
          "why_en": "Both the reader and the retriever are trained, the second for the task of the first."
        }
      ],
      "prose_id": "chatqa",
      "residual": [],
      "residual_en": [],
      "summary": "Двухэтапная донастройка для разговорного извлечения, где вопрос понятен лишь с учётом предыдущих реплик.",
      "summary_en": "Two-stage fine-tuning for conversational retrieval, where a question makes sense only against earlier turns."
    },
    {
      "aliases": [],
      "attention": 2.526,
      "attention_cohort": null,
      "attention_raw": 2.526,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_multi_late_interaction",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [
        "E1",
        "E2",
        "E3",
        "E4"
      ],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "ColBERT меняет способ, которым текст сравнивается с запросом. Обычный плотный поиск сжимает весь фрагмент в один вектор, и всё, что в нём было, приходится уместить в несколько сотен чисел. Длинный фрагмент, говорящий о нескольких предметах сразу, при таком сжатии теряет каждый из них по отдельности: усреднённый вектор не близок ни к одному частному запросу.\n\nColBERT хранит не один вектор на фрагмент, а по вектору на каждый токен, то есть на каждую единицу, на которые модель разбивает текст. Запрос кодируется так же. Сходство считается позднее, уже после того как обе стороны закодированы независимо: для каждого токена запроса берётся наибольшее скалярное произведение среди всех токенов документа, и эти величины складываются. Схема называется поздним взаимодействием, потому что запрос и документ встречаются только на последнем шаге, а не проходят через модель вместе.\n\nТакой порядок сохраняет главное преимущество плотного поиска: векторы документов вычисляются один раз при индексации, а не на каждый запрос. Совместный кодировщик, пропускающий пару «запрос, документ» через модель целиком, точнее, но требует прогона по каждому кандидату и потому применяется только к короткому списку. Плата ColBERT состоит в размере индекса: вместо одного вектора на фрагмент хранятся сотни, и хранилище растёт на порядок.",
      "description_en": "ColBERT changes the way text is compared against a query. Ordinary dense retrieval compresses a whole fragment into a single vector, so everything the fragment contained has to fit into a few hundred numbers. A long fragment speaking about several subjects at once loses each of them under that compression: the averaged vector is close to no particular query.\n\nColBERT stores not one vector per fragment but one vector per token, that is, per unit into which the model divides the text. The query is encoded the same way. Similarity is computed late, after both sides have been encoded independently: for each query token the largest inner product across all document tokens is taken, and these quantities are summed. The scheme is called late interaction because query and document meet only at the final step rather than passing through the model together.\n\nThis order preserves the principal advantage of dense retrieval: document vectors are computed once at indexing time rather than per query. A joint encoder, which passes the query and document pair through the model as a whole, is more accurate but requires a run over every candidate and is therefore applied only to a short list. ColBERT pays for its accuracy in index size: instead of one vector per fragment it stores hundreds, and storage grows by an order of magnitude.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2004.12832",
          "type": "publication",
          "value": "arXiv:2004.12832 (2020)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W3034439313",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=191; year=2020; citation_velocity=2.513",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://dl.acm.org/doi/10.1145/3397271.3401075",
          "type": "publication",
          "value": "venue=ACM SIGIR; peer_reviewed=true",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://api.github.com/repos/run-llama/llama_index",
          "type": "framework_presence",
          "value": "frameworks=LlamaIndex",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=219289",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=216167",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=214026",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=215043",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W3034439313",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=192; year=2020; citation_velocity=2.526",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=212164",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/colbert-ai/",
          "type": "package_downloads",
          "value": "package=colbert-ai; version=0.2.22; downloads_last_month=207508",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 11,
      "family": "H",
      "first_published": "2021",
      "groups": [
        "A",
        "D",
        "G"
      ],
      "id": "colbert",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2004.12832",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "ColBERT",
      "package": "colbert-ai",
      "parse_notes": [
        {
          "code": "A5",
          "did": "Запрос и документ кодируются порознь, каждое слово получает свой вектор, а близость считается уже потом — сопоставлением всех векторов со всеми.",
          "did_en": "Query and document are encoded apart, every word gets its own vector, and closeness is computed afterwards by matching all vectors against all.",
          "instead": "«один вектор на документ»: тогда терялась бы пословная точность, ради которой метод и создан.",
          "instead_en": "«one vector per document»: the word-level precision the method exists for would then be lost.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, модель",
          "source_en": "arXiv:2004.12832, model",
          "technology_id": "colbert",
          "to": "dense_multi_late_interaction",
          "why": "Это и есть многовекторное представление с поздним сравнением; в нём всё содержание работы.",
          "why_en": "This is exactly a multi-vector representation with late comparison, and the whole content of the work lies in it."
        },
        {
          "code": "D1",
          "did": "Поиск идёт в два приёма: сперва грубый отбор кандидатов, затем точный пересчёт тем же способом. Другой модели во втором приёме нет.",
          "did_en": "Retrieval happens in two passes: a coarse shortlist first, then an exact rescoring by the same means. There is no second model in the second pass.",
          "instead": "«перекрёстный кодировщик»: он приписал бы системе ровно ту ступень, которую она устраняет.",
          "instead_en": "«cross-encoder»: it would attribute to the system the very stage the system removes.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, сквозной поиск",
          "source_en": "arXiv:2004.12832, end-to-end retrieval",
          "technology_id": "colbert",
          "to": "none",
          "why": "Переранжирование — это отдельная, обычно более дорогая модель поверх поиска. Работа как раз предлагает обойтись без неё.",
          "why_en": "Reranking is a separate, usually more expensive model on top of retrieval. The work proposes precisely to do without it."
        },
        {
          "code": "G3",
          "did": "Языковая модель дообучается под задачу поиска: её учат на парах «подходящий документ — неподходящий».",
          "did_en": "The language model is fine-tuned for retrieval: it is trained on pairs of a matching and a non-matching document.",
          "instead": "«совместное обучение»: оно требует читателя, порождающего ответ, а его здесь нет вовсе.",
          "instead_en": "«joint training»: it requires a reader that produces an answer, and there is none here at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, обучение",
          "source_en": "arXiv:2004.12832, training",
          "technology_id": "colbert",
          "to": "trained_retriever",
          "why": "Система обучает свой поисковик, а не берёт готовый.",
          "why_en": "The system trains its own retriever instead of taking a ready one."
        },
        {
          "code": "A4",
          "did": "Индекс — множество векторов слов в обычном хранилище приближённого поиска.",
          "did_en": "The index is a set of word vectors in an ordinary approximate-search store.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, сквозной поиск",
          "source_en": "arXiv:2004.12832, end-to-end retrieval",
          "technology_id": "colbert",
          "to": "flat",
          "why": "Ни дерева, ни сети над ним не строится.",
          "why_en": "Neither a tree nor a network is built over it."
        },
        {
          "code": "C1",
          "did": "Первый приём — приближённый поиск ближайших соседей по векторам слов запроса.",
          "did_en": "The first pass is an approximate nearest-neighbour search over the vectors of the query's words.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, сквозной поиск",
          "source_en": "arXiv:2004.12832, end-to-end retrieval",
          "technology_id": "colbert",
          "to": "ann",
          "why": "Отбор кандидатов ведётся именно так.",
          "why_en": "That is exactly how the shortlist is selected."
        },
        {
          "code": "C2",
          "did": "Оба приёма — части одного обращения к индексу.",
          "did_en": "Both passes are parts of a single call to the index.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, сквозной поиск",
          "source_en": "arXiv:2004.12832, end-to-end retrieval",
          "technology_id": "colbert",
          "to": "single_shot",
          "why": "Повторных заходов, зависящих от предыдущего результата, нет.",
          "why_en": "There are no repeated visits that depend on a previous result."
        },
        {
          "code": "E1",
          "did": "Система ничего не порождает: она возвращает документы. Ступени синтеза в ней нет.",
          "did_en": "The system produces nothing: it returns documents. It has no synthesis stage.",
          "inapplicable": true,
          "instead": "оставить значение по умолчанию: это тот же дефект, что ноль вместо «не измеряли».",
          "instead_en": "leaving the default value: that is the same defect as a zero standing in for «not measured».",
          "question": "Снята вся страта синтеза, включая контроль обоснованности, атрибуцию и политику отказа. Их значения по умолчанию формально не ложны («нет контроля», «нет атрибуции»), но говорить о них без генератора не о чем. Возможен и более узкий вариант: снять только режим генерации.",
          "question_en": "The whole synthesis stratum is removed, including groundedness control, attribution and refusal policy. Their defaults are not formally false («no control», «no attribution»), yet there is nothing to say about them without a generator. A narrower option exists: remove only the generation mode.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.12832, предмет работы",
          "source_en": "arXiv:2004.12832, subject of the work",
          "technology_id": "colbert",
          "why": "Значение «однопроходная генерация» утверждало бы о том, чего не существует. Поэтому значение снято, а не заменено.",
          "why_en": "The value «single-pass generation» would assert something about a thing that does not exist. The value is therefore removed rather than replaced."
        },
        {
          "did": "Два набора векторов сводятся к одной оценке так: для каждого слова запроса берётся наибольшая близость среди слов документа, и эти величины складываются.",
          "did_en": "Two sets of vectors collapse into one score like this: for every query word the greatest closeness among the document's words is taken, and those values are summed.",
          "residual": "max_similarity_interaction",
          "residual_term": "сравнение по максимуму сходства между представлениями",
          "residual_term_en": "max-similarity interaction between representations",
          "source": "arXiv:2004.12832, модель",
          "source_en": "arXiv:2004.12832, model",
          "technology_id": "colbert",
          "why": "Схема называет вид представления, но не правило свёртки. При одном и том же виде представления разные правила дают разное качество.",
          "why_en": "The schema names the kind of representation and not the rule of collapsing. Under one and the same kind of representation, different rules give different quality."
        },
        {
          "did": "Сперва дешёвый приблизительный отбор, затем дорогой точный пересчёт — но обеими ступенями работает одна модель.",
          "did_en": "First a cheap approximate shortlist, then an expensive exact rescoring, yet one model does both stages.",
          "residual": "approximate_then_exact",
          "residual_term": "приближённый отбор с последующим точным пересчётом",
          "residual_term_en": "approximate shortlist followed by exact rescoring",
          "source": "arXiv:2004.12832, сквозной поиск",
          "source_en": "arXiv:2004.12832, end-to-end retrieval",
          "technology_id": "colbert",
          "why": "Схема различает поиск и переранжирование как разные модели. Здесь модель одна, а ступени две.",
          "why_en": "The schema distinguishes retrieval and reranking as different models. Here there is one model and two stages."
        }
      ],
      "prose_id": "colbert",
      "residual": [
        "сравнение по максимуму сходства между представлениями",
        "приближённый отбор с последующим точным пересчётом"
      ],
      "residual_en": [
        "max-similarity interaction between representations",
        "approximate shortlist followed by exact rescoring"
      ],
      "summary": "Отдельный вектор на каждый токен и позднее взаимодействие: сходство считается по лучшим совпадениям, а не по одному вектору документа.",
      "summary_en": "One vector per token and late interaction: similarity is the sum of best matches, not the distance between two summary vectors."
    },
    {
      "aliases": [],
      "attention": 0.332,
      "attention_cohort": "2024",
      "attention_raw": 0.192,
      "confidence": 1.0,
      "configuration": {
        "A1": "page_image",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "vision_language",
        "A6": "snapshot",
        "A7": "image",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [
        "E1",
        "E2",
        "E3",
        "E4"
      ],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "ColPali отказывается от шага, который в обработке документов считался обязательным. Обычная цепочка сначала превращает страницу в текст: распознаёт символы, определяет границы колонок, восстанавливает порядок чтения, отделяет подписи от основного текста, разбирает таблицы. Каждый из этих шагов ошибается, ошибки накапливаются, а всё, что не выражается текстом, теряется полностью: расположение элементов, схемы, графики, оформление таблицы.\n\nColPali индексирует изображение страницы как таковое. Страница подаётся зрительно-языковой модели, то есть модели, обученной сопоставлять изображения и текст в общем пространстве представлений, и от неё берётся набор векторов по участкам изображения. Запрос остаётся текстовым и кодируется в то же пространство. Сходство считается по схеме позднего взаимодействия, унаследованной от ColBERT: каждый вектор запроса сопоставляется с наиболее близким участком страницы.\n\nЦепочка обработки сокращается до двух шагов вместо шести, и разбирать вёрстку не требуется вовсе. Ограничения соответствуют выбранному пути: индексация требует прогона зрительной модели по каждой странице и обходится дороже разбора текста, единицей извлечения служит целая страница, а не абзац, и точная цитата из найденной страницы отдельным шагом не выделяется.",
      "description_en": "ColPali abandons a step that document processing had treated as obligatory. The usual chain first turns a page into text: it recognises characters, determines column boundaries, restores reading order, separates captions from body text, parses tables. Every one of these steps makes mistakes, the mistakes accumulate, and anything not expressible as text is lost outright: the placement of elements, diagrams, charts, the shape of a table.\n\nColPali indexes the page image as it stands. The page is given to a vision-language model, that is, a model trained to place images and text in a shared representation space, and a set of vectors over regions of the image is taken from it. The query stays textual and is encoded into the same space. Similarity is computed by the late interaction scheme inherited from ColBERT: each query vector is matched against the region of the page closest to it.\n\nThe processing chain shrinks from six steps to two, and layout need not be parsed at all. The limitations follow from the path chosen: indexing requires a run of the vision model over every page and costs more than parsing text, the unit of retrieval is a whole page rather than a paragraph, and an exact quotation from the retrieved page is not isolated by any separate step.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2407.01449",
          "type": "publication",
          "value": "arXiv:2407.01449 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4400373146",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=5; year=2024; citation_velocity=0.192",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.01449",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=189; year=2024",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.01449",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=194; year=2024",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.01449",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=201; year=2024",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": "E",
      "first_published": "2024-07",
      "groups": [
        "A",
        "G"
      ],
      "id": "colpali",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2407.01449",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "ColPali",
      "package": null,
      "parse_notes": [
        {
          "code": "A1",
          "did": "Индексируется изображение страницы целиком; текст из неё не извлекается вовсе.",
          "did_en": "The page image is indexed whole; no text is extracted from it at all.",
          "instead": "«пассаж»: он предполагает извлечённый текст, а работа как раз устраняет этот хрупкий шаг.",
          "instead_en": "«passage»: it presupposes extracted text, and the work removes precisely that brittle step.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, постановка",
          "source_en": "arXiv:2407.01449, problem statement",
          "technology_id": "colpali",
          "to": "page_image",
          "why": "Единица извлечения — страница как картинка. Ступени распознавания текста в системе нет.",
          "why_en": "The retrieval unit is the page as a picture. The system has no text-recognition stage."
        },
        {
          "code": "A5",
          "did": "Представления порождает модель, читающая изображение и текст вместе.",
          "did_en": "Representations are produced by a model that reads image and text together.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, модель",
          "source_en": "arXiv:2407.01449, model",
          "technology_id": "colpali",
          "to": "vision_language",
          "why": "Модель представления работает с картинкой, а не с последовательностью слов.",
          "why_en": "The representation model works on a picture rather than on a sequence of words."
        },
        {
          "code": "A7",
          "did": "Входные данные — изображения страниц документа.",
          "did_en": "The input is images of document pages.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, постановка",
          "source_en": "arXiv:2407.01449, problem statement",
          "technology_id": "colpali",
          "to": "image",
          "why": "Модальность индексируемого материала — изображение.",
          "why_en": "The modality of the indexed material is image."
        },
        {
          "code": "D1",
          "did": "Близость считается поздним сравнением наборов векторов; отдельной модели, пересматривающей порядок, нет.",
          "did_en": "Closeness is computed by late comparison of sets of vectors; there is no separate model that revisits the order.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, механизм сопоставления",
          "source_en": "arXiv:2407.01449, the matching mechanism",
          "technology_id": "colpali",
          "to": "none",
          "why": "Позднее сравнение — часть самого поиска, а не вторая ступень поверх него.",
          "why_en": "Late comparison is part of retrieval itself rather than a second stage on top of it."
        },
        {
          "code": "G3",
          "did": "Модель дообучается порождать представления страниц под задачу поиска.",
          "did_en": "The model is fine-tuned to produce page representations for the retrieval task.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, обучение",
          "source_en": "arXiv:2407.01449, training",
          "technology_id": "colpali",
          "to": "trained_retriever",
          "why": "Система обучает свой поисковик, а не берёт готовый.",
          "why_en": "The system trains its own retriever instead of taking a ready one."
        },
        {
          "code": "E1",
          "did": "Система ничего не порождает: она возвращает страницы документа.",
          "did_en": "The system produces nothing: it returns pages of a document.",
          "inapplicable": true,
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.01449, предмет работы",
          "source_en": "arXiv:2407.01449, subject of the work",
          "technology_id": "colpali",
          "why": "Значение режима генерации утверждало бы о ступени, которой нет. Снята вся страта синтеза — по тому же правилу, что и у другого поисковика реестра.",
          "why_en": "A value for the generation mode would assert a stage that does not exist. The whole synthesis stratum is removed, by the same rule as for the other retriever in the registry."
        },
        {
          "did": "Наборы векторов страницы и запроса сводятся к одной оценке правилом наибольшей близости.",
          "did_en": "The vector sets of page and query collapse into one score by a maximum-closeness rule.",
          "residual": "max_similarity_interaction",
          "residual_term": "сравнение по максимуму сходства между представлениями",
          "residual_term_en": "max-similarity interaction between representations",
          "source": "arXiv:2407.01449, механизм сопоставления",
          "source_en": "arXiv:2407.01449, the matching mechanism",
          "technology_id": "colpali",
          "why": "Схема называет вид представления, но не правило свёртки двух наборов в число.",
          "why_en": "The schema names the kind of representation and not the rule that collapses two sets into a number."
        }
      ],
      "prose_id": "colpali",
      "residual": [
        "сравнение по максимуму сходства между представлениями"
      ],
      "residual_en": [
        "max-similarity interaction between representations"
      ],
      "summary": "Поиск по изображениям страниц напрямую, без распознавания текста и разбора вёрстки.",
      "summary_en": "Search over page images directly, with no text recognition and no layout parsing."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "context_prefix",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Contextual Retrieval устраняет потерю, которая происходит при разрезании документа на фрагменты. Фрагмент, вырванный из документа, теряет то, что документ сообщал вокруг него. Предложение «выручка выросла на три процента по сравнению с предыдущим кварталом» после разрезания не содержит ни названия компании, ни того, о каком квартале речь, и поиск по запросу с названием компании его не находит, хотя ответ содержится именно в нём.\n\nПриём состоит в том, что перед построением векторного представления к каждому фрагменту дописывается короткая приставка, объясняющая его место в документе. Приставку пишет большая языковая модель, которой показывают фрагмент вместе с документом целиком, и она укладывается в несколько десятков слов. Пример приставки: «Из годового отчёта компании за 2023 год, раздел о результатах третьего квартала». Векторное представление и словарный указатель строятся уже по фрагменту с приставкой.\n\nПриём прост и не меняет ни устройства индекса, ни способа поиска, поэтому встраивается в существующую систему без переделки. Расход при этом заметен: обработка каждого фрагмента требует обращения к модели, причём с подачей ей всего документа, и стоимость индексации растёт кратно. Приставка также остаётся утверждением модели о фрагменте и наследует её ошибки.",
      "description_en": "Contextual Retrieval repairs a loss that occurs when a document is cut into fragments. A fragment torn from its document loses what the document was saying around it. After cutting, the sentence \"revenue grew by three percent against the previous quarter\" contains neither the name of the company nor which quarter is meant, and a search for the company name does not find it, even though the answer lies precisely there.\n\nThe technique adds a short prefix to each fragment before its vector representation is built, explaining where the fragment sits in the document. The prefix is written by a large language model shown the fragment together with the whole document, and it runs to a few dozen words. An example: \"From the company's 2023 annual report, section on third-quarter results.\" The vector representation and the lexical index are then built over the fragment with its prefix.\n\nThe technique is simple and changes neither the structure of the index nor the manner of search, so it fits into an existing system without rework. The expense, however, is noticeable: processing each fragment requires a model call, and one that is given the whole document, so indexing cost rises several-fold. The prefix also remains the model's assertion about the fragment and inherits the model's errors.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://www.anthropic.com/news/contextual-retrieval",
          "type": "industrial_use",
          "value": "Anthropic: описание приёма и рекомендации по применению",
          "value_en": "Anthropic: description of the technique and guidance on applying it"
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 1,
      "family": "H",
      "first_published": "2024",
      "groups": [
        "A"
      ],
      "id": "contextual_retrieval",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "product",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://www.anthropic.com/news/contextual-retrieval",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Contextual Retrieval",
      "package": null,
      "parse_notes": [
        {
          "code": "A3",
          "did": "Перед индексацией к каждому куску приписывается короткое пояснение, откуда он и о чём, порождённое языковой моделью.",
          "did_en": "Before indexing, a short explanation of where a piece comes from and what it is about, produced by a language model, is attached to it.",
          "instead": "«пересказ»: там кусок заменяется изложением, а здесь дополняется, оставаясь собой.",
          "instead_en": "«retelling»: there a piece is replaced by an account of it, whereas here it is supplemented and stays itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "Anthropic, Contextual Retrieval",
          "source_en": "Anthropic, Contextual Retrieval",
          "technology_id": "contextual_retrieval",
          "to": "context_prefix",
          "why": "Единица индекса обогащается приписанным контекстом. У схемы есть значение с этим именем.",
          "why_en": "A unit of the index is enriched with attached context. The schema has a value under that name."
        }
      ],
      "prose_id": "contextual_retrieval",
      "residual": [],
      "residual_en": [],
      "summary": "Приставка с описанием места фрагмента в документе, добавляемая перед построением векторного представления.",
      "summary_en": "A prefix describing where a fragment sits in its document, added before the vector representation is built."
    },
    {
      "aliases": [
        "Corrective RAG"
      ],
      "attention": 9.363,
      "attention_cohort": "2024",
      "attention_raw": 5.421,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "trained_classifier",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "federation",
        "D1": "none",
        "D2": "abstractive_compression",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "post_gen_check",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [
        "C4"
      ],
      "description": "CRAG исходит из того, что поиск иногда возвращает негодное, а обычная система этого не замечает. Найденные фрагменты подаются языковой модели независимо от того, отвечают ли они на вопрос, и модель, получив постороннее, чаще строит ответ на нём, чем отвергает его.\n\nМежду извлечением и порождением ставится оценщик: небольшая обученная модель, которая читает запрос вместе с найденным и выносит одно из трёх суждений. При суждении «верно» найденное признаётся годным, но проходит очистку: фрагменты разбираются на мелкие части, части, не относящиеся к запросу, отбрасываются, оставшиеся собираются обратно. При суждении «неверно» найденное отбрасывается целиком, а запрос переписывается и направляется в веб-поиск как во внешний источник. При суждении «неопределённо» применяются оба пути сразу и результаты объединяются.\n\nОценщик мал по сравнению с порождающей моделью, поэтому проверка обходится дёшево, а приём применяется к готовой системе без её переобучения. Ограничения тоже свои: суждение оценщика само по себе является предсказанием и ошибается, а обращение к веб-поиску вводит в цепочку внешнюю службу с её задержкой, доступностью и содержимым, которое портал собрания не контролирует.",
      "description_en": "CRAG starts from the fact that search sometimes returns unusable material and that an ordinary system does not notice. Retrieved fragments are given to the language model regardless of whether they answer the question, and the model, handed something irrelevant, more often builds an answer on it than rejects it.\n\nAn evaluator is placed between retrieval and generation: a small trained model that reads the query together with what was found and returns one of three verdicts. On \"correct\" the material is accepted but cleaned: the fragments are split into small parts, parts unrelated to the query are discarded, and what remains is reassembled. On \"incorrect\" the material is discarded entirely, and the query is rewritten and sent to web search as an external source. On \"ambiguous\" both paths are taken and their results combined.\n\nThe evaluator is small next to the generating model, so the check is cheap, and the technique applies to a ready system without retraining it. The limitations are its own as well: the evaluator's verdict is itself a prediction and can be wrong, and the recourse to web search introduces an external service into the chain, with its latency, its availability, and content the collection's curator does not control.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2401.15884",
          "type": "publication",
          "value": "arXiv:2401.15884 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410705984",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=91; year=2025; citation_velocity=4.789",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4391418506",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=28; year=2024; citation_velocity=0.903",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410705984",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=97; year=2025; citation_velocity=5.105",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410705984",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=100; year=2025; citation_velocity=5.263",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410705984",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=101; year=2025; citation_velocity=5.316",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410705984",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=103; year=2025; citation_velocity=5.421",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "A",
      "first_published": "2024",
      "groups": [
        "B",
        "C",
        "D",
        "E"
      ],
      "id": "crag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2401.15884",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "CRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B2",
          "did": "Отдельная лёгкая модель оценивает, годятся ли найденные документы, и выдаёт степень уверенности; по ней выбирается дальнейшее действие.",
          "did_en": "A separate lightweight model judges whether the retrieved documents will do and reports a degree of confidence; the next action is chosen by it.",
          "instead": "«маршрутизация языковой моделью»: оценщик здесь отдельный и лёгкий, в этом смысл приёма.",
          "instead_en": "«routing by a language model»: the evaluator here is separate and light, and that is the point of the technique.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.15884, метод",
          "source_en": "arXiv:2401.15884, method",
          "technology_id": "crag",
          "to": "trained_classifier",
          "why": "Маршрут задаёт отдельная модель-оценщик, а не подсказка языковой модели.",
          "why_en": "The route is set by a separate evaluator model rather than by a prompt to the language model."
        },
        {
          "code": "C4",
          "did": "Когда найденное в своём корпусе признано негодным, система идёт в веб-поиск: корпус перестаёт быть единственным хранилищем.",
          "did_en": "When what was found in its own corpus is judged unfit, the system goes to web search: the corpus stops being the only store.",
          "instead": "«одно хранилище»: оно описало бы только ту ветвь, где найденное признано годным.",
          "instead_en": "«single store»: it would describe only the branch where what was found is judged fit.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.15884, метод",
          "source_en": "arXiv:2401.15884, method",
          "technology_id": "crag",
          "to": "federation",
          "variable": true,
          "why": "Извлечение может обращаться к внешнему источнику помимо своего, и решается это по ходу — отсюда пометка.",
          "why_en": "Retrieval may reach an external source besides its own, and this is decided as it goes, hence the mark."
        },
        {
          "code": "D2",
          "did": "Найденные документы разбираются на части, ненужное отбрасывается, оставшееся собирается заново.",
          "did_en": "The retrieved documents are taken apart, the unwanted is discarded, and the rest is assembled anew.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.15884, метод",
          "source_en": "arXiv:2401.15884, method",
          "technology_id": "crag",
          "to": "abstractive_compression",
          "why": "Контекст сокращается переработкой содержания, а не отбором первых k.",
          "why_en": "The context is shortened by reworking the content rather than by taking the top k."
        },
        {
          "code": "E2",
          "did": "Годность найденного проверяется до подачи в генератор, отдельным шагом.",
          "did_en": "The fitness of what was retrieved is checked before it is handed to the generator, as a separate step.",
          "instead": "«проверка во время порождения»: там оценка идёт по ходу генерации, здесь до неё.",
          "instead_en": "«check during production»: there the grading runs as generation proceeds, whereas here it happens before it.",
          "question": "Оценивается пригодность найденного, а не обоснованность ответа. Возможно, это ближе к «предварительной проверке обоснованности», чем к проверке после порождения.",
          "question_en": "What is graded is the fitness of what was retrieved rather than the groundedness of the answer. This may sit closer to a «pre-check of groundedness» than to a post-hoc check.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.15884, метод",
          "source_en": "arXiv:2401.15884, method",
          "technology_id": "crag",
          "to": "post_gen_check",
          "why": "Проверка выполняется вне порождения, а не встроена в него служебными словами.",
          "why_en": "The check is performed outside production rather than built into it with control tokens."
        },
        {
          "code": "D1",
          "did": "Порядок документов не пересматривается отдельной моделью; вместо этого они переписываются.",
          "did_en": "The order of documents is not revisited by a separate model; instead the documents are rewritten.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.15884, метод",
          "source_en": "arXiv:2401.15884, method",
          "technology_id": "crag",
          "to": "none",
          "why": "Ступени переранжирования нет.",
          "why_en": "There is no reranking stage."
        }
      ],
      "prose_id": "crag",
      "residual": [],
      "residual_en": [],
      "summary": "Лёгкий оценщик проверяет найденное и при негодном результате уходит в веб-поиск либо перестраивает запрос.",
      "summary_en": "A lightweight evaluator checks what was retrieved and, on a poor result, falls back to web search or rewrites the query."
    },
    {
      "aliases": [],
      "attention": 1.121,
      "attention_cohort": "2023",
      "attention_raw": 2.065,
      "confidence": 1.0,
      "configuration": {
        "A1": "proposition",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "Dense X Retrieval ставит вопрос о том, что вообще следует считать единицей извлечения. Обычно ею служит фрагмент текста фиксированной длины, и такой выбор произволен: граница проходит там, где кончилось отведённое число символов, а не там, где кончилась мысль. Фрагмент поэтому содержит несколько разнородных утверждений сразу и половину ещё одного.\n\nПредлагаемая единица называется утверждением: это одно законченное высказывание, выраженное так, чтобы быть понятным без окружающего текста. Местоимения в нём раскрыты, сокращения развёрнуты, подразумеваемое подлежащее восстановлено. Исходный текст разбирается на такие утверждения языковой моделью, и индексируются уже они, а не отрезки заданной длины.\n\nВыигрыш состоит в том, что векторное представление утверждения описывает ровно одну мысль и потому не размывается. Проигрыш состоит в потере связности: утверждения, извлечённые из соседних предложений, приходят в контекст порознь, и рассуждение, разворачивавшееся на протяжении абзаца, приходится собирать заново. Разбор всего собрания языковой моделью, кроме того, требуется до первого запроса и составляет основную часть стоимости.",
      "description_en": "Dense X Retrieval raises the question of what should count as a unit of retrieval at all. The usual unit is a text fragment of fixed length, and that choice is arbitrary: the boundary falls where the allotted number of characters ran out rather than where the thought ended. A fragment therefore holds several unrelated statements at once, plus half of one more.\n\nThe proposed unit is called a proposition: a single self-contained statement, phrased so as to be understandable without the surrounding text. Its pronouns are resolved, its abbreviations expanded, its implied subject restored. The source text is parsed into such propositions by a language model, and it is these, rather than stretches of a given length, that are indexed.\n\nThe gain is that the vector representation of a proposition describes exactly one thought and is therefore not blurred. The loss is coherence: propositions drawn from neighbouring sentences arrive in the context separately, and an argument that unfolded across a paragraph has to be reassembled. Parsing the whole collection with a language model, moreover, is required before the first query and accounts for most of the cost.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2312.06648",
          "type": "publication",
          "value": "arXiv:2312.06648 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389713732",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=5; year=2023; citation_velocity=0.156",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4404783040",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=60; year=2024; citation_velocity=1.935",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4404783040",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=63; year=2024; citation_velocity=2.032",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4404783040",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=64; year=2024; citation_velocity=2.065",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": "H",
      "first_published": "2023-12",
      "groups": [
        "A"
      ],
      "id": "dense_x_retrieval",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2312.06648",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Dense X",
      "package": null,
      "parse_notes": [
        {
          "code": "A1",
          "did": "Из пассажей выделяются атомарные утверждения — короткие самодостаточные факты, — и индексируется каждое из них по отдельности.",
          "did_en": "Atomic statements, short self-contained facts, are drawn out of the passages, and each of them is indexed separately.",
          "instead": "«пассаж»: он и был прежней единицей, с которой работа сравнивается и которую превосходит.",
          "instead_en": "«passage»: it was the former unit, the one the work compares itself with and surpasses.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2312.06648, постановка",
          "source_en": "arXiv:2312.06648, problem statement",
          "technology_id": "dense_x_retrieval",
          "to": "proposition",
          "why": "Единица извлечения — то, что кладётся в индекс и возвращается. Здесь это утверждение, а не пассаж; в этом весь вклад работы.",
          "why_en": "The retrieval unit is what is put into the index and returned. Here it is a statement rather than a passage, and the whole contribution of the work lies in that."
        }
      ],
      "prose_id": "dense_x_retrieval",
      "residual": [],
      "residual_en": [],
      "summary": "Утверждение вместо фрагмента: единицей извлечения становится одна законченная мысль.",
      "summary_en": "A proposition instead of a fragment: the unit of retrieval becomes one self-contained statement."
    },
    {
      "aliases": [],
      "attention": 0.879,
      "attention_cohort": "2023",
      "attention_raw": 1.618,
      "confidence": 1.0,
      "configuration": {
        "B1": "multi_reformulation",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [
        "A1",
        "A2",
        "A3",
        "A4",
        "A5",
        "A6",
        "A7",
        "A8",
        "B2",
        "C1",
        "C2",
        "C3",
        "C4",
        "D1",
        "D2",
        "D3",
        "E1",
        "E2",
        "E3",
        "E4",
        "E5",
        "F1",
        "F2",
        "F3",
        "G1",
        "G2"
      ],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "DSPy меняет способ, которым строятся составные системы на языковых моделях. Обычно такая система состоит из подсказок, написанных руками и подобранных перебором: разработчик правит формулировку, смотрит на выдачу, правит снова. Подсказки при этом привязаны к той модели, на которой их подбирали, и при смене модели работа повторяется целиком.\n\nПрограмма на DSPy описывает не текст подсказок, а устройство цепочки. Каждый шаг объявляется сигнатурой, то есть перечнем того, что он принимает и что возвращает, с описанием на естественном языке. Шаги соединяются обычным кодом на языке программирования, поэтому ветвление, повторение и обработка ошибок выражаются средствами языка, а не описываются внутри подсказки словами.\n\nТекст подсказок получает сборщик. Ему передают набор примеров и меру качества, и он подбирает формулировки и примеры для каждого шага, оценивая целое по этой мере. Смена модели требует повторной сборки, а не переписывания. Плата состоит в том, что сборка требует и примеров, и меры качества, а меру эту для составной задачи задать труднее, чем написать подсказку.",
      "description_en": "DSPy changes the way composite systems on language models are built. Ordinarily such a system consists of prompts written by hand and settled by trial: the developer edits a wording, looks at the output, and edits again. The prompts are thereby tied to the model they were tuned on, and a change of model repeats the work in full.\n\nA DSPy program describes not the text of prompts but the structure of the chain. Each step is declared by a signature, that is, by a list of what it takes and what it returns, with a natural-language description. Steps are joined by ordinary code in a programming language, so branching, iteration, and error handling are expressed by the language rather than described in words inside a prompt.\n\nThe prompt text is produced by a compiler. It is given a set of examples and a metric, and it fits the wordings and the examples for each step, judging the whole against that metric. A change of model calls for recompilation rather than rewriting. The price is that compilation needs both examples and a metric, and defining a metric for a composite task is harder than writing a prompt.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2310.03714",
          "type": "publication",
          "value": "arXiv:2310.03714 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4387430850",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=55; year=2023; citation_velocity=1.618",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2023",
      "groups": [
        "B",
        "G"
      ],
      "id": "dspy",
      "kind": "tool",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2310.03714",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "DSPy",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Конвейер объявляется шагами, а сами подсказки к языковой модели подбираются и уточняются автоматически, вместо того чтобы писаться руками.",
          "did_en": "A pipeline is declared as steps, while the prompts to the language model are selected and refined automatically instead of being written by hand.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.03714, метод",
          "source_en": "arXiv:2310.03714, method",
          "technology_id": "dspy",
          "to": "multi_reformulation",
          "why": "Единственное измерение, которое инструмент занимает по существу: он меняет то, как формулируется обращение к модели.",
          "why_en": "The only dimension the tool occupies in substance: it changes how the call to the model is phrased."
        },
        {
          "code": "G3",
          "did": "Подсказки и веса шагов настраиваются компилятором по размеченным примерам.",
          "did_en": "Prompts and step weights are tuned by a compiler over labelled examples.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.03714, метод",
          "source_en": "arXiv:2310.03714, method",
          "technology_id": "dspy",
          "to": "trained_reader",
          "why": "Настройка касается порождающей стороны конвейера.",
          "why_en": "The tuning concerns the producing side of the pipeline."
        },
        {
          "code": "A1",
          "did": "Это способ собрать систему, а не система: у инструмента нет ни своего индекса, ни своего поиска, ни своего синтеза — их приносит тот, кто им пользуется.",
          "did_en": "This is a way to assemble a system rather than a system: the tool has no index, no retrieval and no synthesis of its own, and whoever uses it brings those.",
          "inapplicable": true,
          "question": "Это третий случай подряд: атаки, хранилища и теперь средства сборки занимают одно-два измерения из двадцати восьми. Возможно, роду «инструмент» нужно правило, как оно сделано для атак, а не пометки у каждой записи.",
          "question_en": "This is the third case in a row: attacks, stores and now means of assembly occupy one or two dimensions out of twenty-eight. The kind «tool» may need a rule, as was done for attacks, rather than marks on every record.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.03714, предмет работы",
          "source_en": "arXiv:2310.03714, subject of the work",
          "technology_id": "dspy",
          "why": "Двадцать шесть измерений описывают собранную систему. У средства сборки своих значений нет, и базовые утверждали бы, что оно сегментирует документы и ищет ближайших соседей.",
          "why_en": "The twenty-eight dimensions describe an assembled system. A means of assembly has no values of its own, and the defaults would assert that it segments documents and searches for nearest neighbours."
        }
      ],
      "prose_id": "dspy",
      "residual": [],
      "residual_en": [],
      "summary": "Цепочка объявляется как программа, а текст подсказок подбирается сборщиком по мере качества, а не пишется руками.",
      "summary_en": "The chain is declared as a program, and prompt text is fitted by a compiler against a metric rather than written by hand."
    },
    {
      "aliases": [],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "barriers": "Общее препятствие состоит в ограниченности ресурсов устройства, и оно распадается на четыре части.\n\nПамять и вычислительная мощность телефона либо встроенного вычислителя ограничивают размер языковой модели, которую там можно запустить. Указатель, помещающийся в память устройства, не вмещает большого собрания, поэтому либо собрание урезается, либо указатель перестраивается. Память о предпочтениях пользователя, ради которой обработку на устройство и переносят, требует хранения и согласования между приложениями. Наконец, соотношение между размером модели и качеством ответа на устройстве жёстче, чем в облаке: уменьшение модели обходится дороже, потому что запаса мощности нет.",
      "barriers_en": "The common obstacle is the limited resources of a device, and it falls into four parts.\n\nThe memory and computing power of a phone or an embedded processor bound the size of the language model that can be run there. An index that fits in device memory does not hold a large collection, so either the collection is trimmed or the index is restructured. Memory of user preferences, the very thing for whose sake processing is brought onto the device, has to be stored and reconciled across applications. Finally, the trade-off between model size and answer quality is harsher on a device than in the cloud: shrinking the model costs more, because there is no reserve of capacity.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "abstractive_compression",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "edge_device",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7129328134",
          "type": "publication",
          "value": "venue=Open MIND; peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2602.13229",
          "type": "publication",
          "value": "arXiv:2602.13229 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7129328134",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 3,
      "family": null,
      "first_published": "2026-02",
      "groups": [
        "C",
        "D",
        "G"
      ],
      "id": "edge",
      "kind": "paradigm",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "product",
          "label": "Google AI Edge RAG library (2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://developers.googleblog.com/google-ai-edge-small-language-models-multimodality-rag-function-calling/",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "Pocket RAG: Offline Mobile (arXiv:2602.13229, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2602.13229",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Edge-RAG over Bluetooth Mesh (ScienceDirect, 2026)",
          "label_en": null,
          "status": "guarded",
          "url": "https://www.sciencedirect.com/science/article/pii/S1877050926019010",
          "verified_at": "2026-08-11"
        },
        {
          "kind": "product",
          "label": "Microsoft Edge RAG (Azure Arc)",
          "label_en": null,
          "status": "verified",
          "url": "https://learn.microsoft.com/azure/azure-arc/edge-rag/release-notes",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранний продукт. Библиотека Google AI Edge RAG для Android и Microsoft Edge RAG через Azure Arc доступны в предварительных версиях.",
      "maturity_note_en": "Early product. The Google AI Edge RAG library for Android and Microsoft Edge RAG through Azure Arc are available in preview.",
      "name": "Edge and On-Device RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "G2",
          "did": "Система работает на телефоне без сети: небольшая модель, квантование, кэширование.",
          "did_en": "The system runs on a phone without a network: a small model, quantisation, caching.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2602.13229, метод",
          "source_en": "arXiv:2602.13229, method",
          "technology_id": "edge",
          "to": "edge_device",
          "why": "Место исполнения — устройство, и от него пляшут все решения.",
          "why_en": "The locus of execution is a device, and every decision follows from it."
        },
        {
          "code": "C3",
          "did": "Поиск сочетает словарный и векторный.",
          "did_en": "Retrieval combines lexical and vector search.",
          "question": "Источник называет поиск гибридным, но правила слияния не раскрывает. Значение выбрано как самое распространённое.",
          "question_en": "The source calls the retrieval hybrid but does not disclose the fusion rule. The most widespread value was chosen.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2602.13229, метод",
          "source_en": "arXiv:2602.13229, method",
          "technology_id": "edge",
          "to": "rrf",
          "why": "Два источника результатов надо сливать.",
          "why_en": "Two sources of results have to be merged."
        },
        {
          "code": "D2",
          "did": "Найденное выборочно сжимается перед подачей модели, чтобы уместиться в возможности устройства.",
          "did_en": "What is retrieved is selectively compressed before being handed to the model, so as to fit the device's capacity.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2602.13229, метод",
          "source_en": "arXiv:2602.13229, method",
          "technology_id": "edge",
          "to": "abstractive_compression",
          "why": "Контекст сокращается переработкой, а не отбором первых k.",
          "why_en": "The context is shortened by reworking rather than by taking the top k."
        }
      ],
      "problem": "Извлечение, выполняемое в облаке, требует сетевого соединения, передаёт содержимое запроса и найденного на чужие вычислители, добавляет задержку и повременную плату. В средах без связи оно не работает вовсе, а среды такие существенны: полевая медицина, промышленные установки, оборона.\n\nОтдельно стоит вопрос распоряжения данными. Пользователь, отправляющий запрос вместе с личными документами внешней службе, теряет над ними власть и не может проверить, что с ними произошло дальше.",
      "problem_en": "Retrieval carried out in the cloud requires a network connection, hands the contents of the query and of what is retrieved to someone else's machines, and adds latency and metered cost. In disconnected settings it does not work at all, and such settings matter: field medicine, industrial installations, defence.\n\nThere is a separate question of control over data. A user who sends a query together with personal documents to an external service loses authority over them and cannot verify what became of them afterwards.",
      "prose_id": "edge",
      "residual": [],
      "residual_en": [],
      "solutions": "Размер модели сокращают квантованием, то есть понижением разрядности весов до четырёх бит с сохранением качества, приемлемого для узких задач.\n\nОграничение указателя обходят двухуровневым устройством, при котором в памяти держатся только представления кластеров, а представления фрагментов строятся во время запроса. Обмен указателями между соседними устройствами по короткой беспроводной связи позволяет расширить доступное собрание, не обращаясь к серверу.\n\nГотовые средства уже существуют: библиотека Google AI Edge RAG выполняет извлечение на устройствах Android, а Microsoft Edge RAG через Azure Arc предлагает предварительную версию для установок вне облака.",
      "solutions_en": "Model size is reduced by quantisation, that is, by lowering the precision of weights to four bits while keeping quality acceptable for narrow tasks.\n\nThe index limitation is worked around by a two-level arrangement in which only cluster representations are held in memory and fragment representations are built at query time. Exchanging indexes with neighbouring devices over short-range wireless links widens the reachable collection without recourse to a server.\n\nWorking implementations already exist: the Google AI Edge RAG library performs retrieval on Android devices, and Microsoft Edge RAG through Azure Arc offers a preview for deployments outside the cloud.",
      "summary": "Извлечение целиком на устройстве пользователя, без обращения к серверу.",
      "summary_en": "Retrieval performed entirely on the user's device, with no server involved."
    },
    {
      "aliases": [],
      "attention": 0.0,
      "attention_cohort": "2024",
      "attention_raw": 0.0,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "edge_device",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "EdgeRAG приспосабливает извлечение к устройству, у которого мало памяти. Обычный указатель держит по вектору на каждый фрагмент собрания, и объём этого указателя пропорционален размеру собрания. На телефоне или встроенном вычислителе такой указатель не помещается, а вынесение его на сервер отменяет самую причину, по которой обработку переносят на устройство: работу без сети и то, что данные с устройства не уходят.\n\nУказатель разбирается на два уровня. Фрагменты заранее группируются в кластеры, и постоянно в памяти держатся только представления кластеров, которых на порядки меньше. Представления отдельных фрагментов не хранятся вовсе. При запросе сначала отбираются подходящие кластеры, и лишь для фрагментов этих кластеров представления строятся тут же, во время запроса. Кластеры, которые обходятся дорого, дополнительно прореживаются при построении, чтобы отсев не упирался в редкие тяжёлые случаи.\n\nПамять тем самым перестаёт зависеть от размера собрания и определяется числом кластеров. Плата вносится временем ответа: построение представлений во время запроса добавляет задержку, которой при заранее построенном указателе нет. Приём поэтому целесообразен ровно там, где память ограничена жёстче, чем время.",
      "description_en": "EdgeRAG fits retrieval to a device with little memory. An ordinary index holds one vector per fragment of the collection, and its size is proportional to the size of the collection. On a phone or an embedded computer such an index does not fit, and moving it to a server defeats the very reason processing was brought to the device: operation without a network, and the fact that data never leaves the device.\n\nThe index is taken apart into two levels. Fragments are grouped into clusters in advance, and only the cluster representations, orders of magnitude fewer, are kept in memory permanently. Representations of individual fragments are not stored at all. At query time the matching clusters are selected first, and only for the fragments of those clusters are representations built there and then, during the query. Clusters that prove expensive are additionally thinned during construction, so that selection does not stall on rare heavy cases.\n\nMemory thereby ceases to depend on the size of the collection and is settled by the number of clusters. The price is paid in response time: building representations during a query adds latency that a prebuilt index does not have. The technique is therefore worthwhile exactly where memory is constrained more tightly than time.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2412.21023",
          "type": "publication",
          "value": "arXiv:2412.21023 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4405957635",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2024; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "F",
      "first_published": "2024-12",
      "groups": [
        "A",
        "C",
        "G"
      ],
      "id": "edgerag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2412.21023",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "EdgeRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "G2",
          "did": "Система рассчитана на работу на устройстве пользователя, где памяти мало.",
          "did_en": "The system is designed to run on the user's device, where memory is scarce.",
          "instead": "«сервер»: тогда описанные ухищрения с памятью были бы бессмысленны.",
          "instead_en": "«server»: the described contrivances with memory would then be pointless.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.21023, постановка",
          "source_en": "arXiv:2412.21023, problem statement",
          "technology_id": "edgerag",
          "to": "edge_device",
          "why": "Место исполнения — устройство, и от этого пляшут все её решения.",
          "why_en": "The locus of execution is a device, and all its decisions follow from that."
        },
        {
          "code": "A4",
          "did": "Индекс — обычные кластеры векторов; поверх них не строится ни дерева, ни графа.",
          "did_en": "The index is ordinary clusters of vectors; neither a tree nor a graph is built over them.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.21023, метод",
          "source_en": "arXiv:2412.21023, method",
          "technology_id": "edgerag",
          "to": "flat",
          "why": "Топология остаётся плоской, а меняется то, что хранится.",
          "why_en": "The topology stays flat, and what changes is what is stored."
        },
        {
          "code": "C1",
          "did": "Отбор — приближённый поиск ближайших соседей по кластерам.",
          "did_en": "Selection is an approximate nearest-neighbour search over clusters.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.21023, метод",
          "source_en": "arXiv:2412.21023, method",
          "technology_id": "edgerag",
          "to": "ann",
          "why": "Оператор поиска обычный; вклад работы в другом.",
          "why_en": "The search operator is ordinary; the contribution of the work lies elsewhere."
        },
        {
          "code": "D1",
          "did": "Ступени переранжирования в работе не описано.",
          "did_en": "No reranking stage is described in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.21023, метод",
          "source_en": "arXiv:2412.21023, method",
          "technology_id": "edgerag",
          "to": "none",
          "why": "Найденное подаётся дальше напрямую.",
          "why_en": "What is found is passed on directly."
        }
      ],
      "prose_id": "edgerag",
      "residual": [],
      "residual_en": [],
      "summary": "Извлечение на оконечном устройстве: в памяти держатся только представления кластеров, представления фрагментов строятся по требованию.",
      "summary_en": "Retrieval on an edge device: only cluster representations stay in memory, fragment vectors are built on demand."
    },
    {
      "aliases": [],
      "attention": 0.074,
      "attention_cohort": "2024",
      "attention_raw": 0.043,
      "barriers": "Общее препятствие состоит в том, что пространство представляет собой новую модальность, и приёмы, выработанные для текста, к нему прямо не переносятся.\n\nТрёхмерные данные, то есть облака точек, нужно уложить в пространство представлений так, чтобы расстояние в нём отвечало расстоянию в помещении. Указатель приближённого поиска ближайших соседей для этого не годится, и требуются структуры пространственного поиска. Указатель, кроме того, должен работать на нескольких масштабах сразу, потому что вопрос бывает и о комнате, и о предмете на столе. Зрение, язык и геометрию нужно свести в одно извлечение. Наконец, робот видит обстановку лишь частично, поэтому запись о ней всегда неполна, а неполнота должна учитываться, а не замалчиваться.",
      "barriers_en": "The common obstacle is that space is a new modality, and techniques worked out for text do not carry over to it directly.\n\nThree-dimensional data, that is, point clouds, must be placed in a representation space so that distance within it corresponds to distance in the room. An approximate nearest neighbour index will not serve for this, and spatial search structures are required. The index must also work at several scales at once, because a question may be about a room or about an object on a table. Vision, language, and geometry must be brought into a single retrieval. Finally, a robot sees its surroundings only in part, so the record of them is always incomplete, and that incompleteness must be accounted for rather than passed over.",
      "confidence": 1.0,
      "configuration": {
        "A1": "summary_node",
        "A2": "fixed",
        "A3": "summary",
        "A4": "tree",
        "A5": "vision_language",
        "A6": "snapshot",
        "A7": "scene_3d",
        "A8": "computed",
        "B1": "identity",
        "B2": "static",
        "C1": "tree_navigation",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "edge_device",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4403853662",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=1; year=2024; citation_velocity=0.043",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2409.18313",
          "type": "publication",
          "value": "arXiv:2409.18313 (2024)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2024-09",
      "groups": [
        "A",
        "C",
        "G"
      ],
      "id": "embodied_rag",
      "kind": "paradigm",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "Embodied-RAG (CMU, arXiv:2409.18313, 2024)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2409.18313",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Text-to-3D Spatial Retrieval (ICCV, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://openaccess.thecvf.com/content/ICCV2025/papers/Feng_Partially_Matching_Submap_Helps_Uncertainty_Modeling_and_Propagation_for_Text_ICCV_2025_paper.pdf",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Прототип исследовательской лаборатории. Шестьдесят одно цитирование, более двухсот пятидесяти решённых задач прокладки пути и объяснения. Направление почти не разработано.",
      "maturity_note_en": "Research laboratory prototype. Sixty-one citations, over two hundred and fifty path-plotting and explanation tasks solved. The direction is barely developed.",
      "name": "Embodied RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Память об окружении хранится семантическим лесом: несколькими деревьями описаний разной степени обобщения.",
          "did_en": "Memory of the surroundings is kept as a semantic forest: several trees of descriptions at differing degrees of generality.",
          "instead": "«граф»: он не выразил бы уровней обобщения, ради которых лес и построен.",
          "instead_en": "«graph»: it would not express the levels of generality the forest is built for.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, метод",
          "source_en": "arXiv:2409.18313, method",
          "technology_id": "embodied_rag",
          "to": "tree",
          "why": "Структура иерархическая, у узла один родитель.",
          "why_en": "The structure is hierarchical, and a node has one parent."
        },
        {
          "code": "A7",
          "did": "Материал — восприятие агента в физическом окружении километрового масштаба.",
          "did_en": "The material is the agent's perception of a physical environment on a kilometre scale.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, постановка",
          "source_en": "arXiv:2409.18313, problem statement",
          "technology_id": "embodied_rag",
          "to": "scene_3d",
          "why": "Модальность пространственная, а не текстовая.",
          "why_en": "The modality is spatial rather than textual."
        },
        {
          "code": "A5",
          "did": "Восприятие и язык обрабатываются вместе.",
          "did_en": "Perception and language are processed together.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, постановка",
          "source_en": "arXiv:2409.18313, problem statement",
          "technology_id": "embodied_rag",
          "to": "vision_language",
          "why": "Представление общее для изображения и описания.",
          "why_en": "The representation is shared by image and description."
        },
        {
          "code": "A3",
          "did": "Узлы дерева хранят описания разной степени обобщения, порождённые заранее.",
          "did_en": "Nodes of the tree hold descriptions of differing generality, produced in advance.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, метод",
          "source_en": "arXiv:2409.18313, method",
          "technology_id": "embodied_rag",
          "to": "summary",
          "why": "Единица индекса несёт добавленный пересказ.",
          "why_en": "A unit of the index carries a retelling attached to it."
        },
        {
          "code": "A1",
          "did": "Извлекаются узлы этих деревьев, а не куски текста.",
          "did_en": "What is retrieved are nodes of those trees rather than pieces of text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, метод",
          "source_en": "arXiv:2409.18313, method",
          "technology_id": "embodied_rag",
          "to": "summary_node",
          "why": "Единица извлечения — узел обобщения.",
          "why_en": "The retrieval unit is a node of generalisation."
        },
        {
          "code": "C1",
          "did": "Ответ ищется спуском по уровням обобщения к нужному месту.",
          "did_en": "The answer is sought by descending the levels of generality to the place required.",
          "question": "Аннотация не описывает оператор поиска прямо; значение выведено из устройства индекса и характера запросов о навигации.",
          "question_en": "The abstract does not describe the search operator directly; the value is inferred from how the index is built and from the navigational character of the queries.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, метод",
          "source_en": "arXiv:2409.18313, method",
          "technology_id": "embodied_rag",
          "to": "tree_navigation",
          "why": "Отбор — движение по иерархии.",
          "why_en": "Selection is movement through the hierarchy."
        },
        {
          "code": "G2",
          "did": "Система работает на роботе, действующем в окружении.",
          "did_en": "The system runs on a robot acting in its surroundings.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.18313, постановка",
          "source_en": "arXiv:2409.18313, problem statement",
          "technology_id": "embodied_rag",
          "to": "edge_device",
          "why": "Место исполнения — устройство, а не сервер.",
          "why_en": "The locus of execution is a device rather than a server."
        },
        {
          "code": "A8",
          "did": "Уровни обобщения выводятся из наблюдений агента.",
          "did_en": "The levels of generality are derived from the agent's observations.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "embodied_rag",
          "to": "computed",
          "why": "Структура вычислена по данным, а не задана источником.",
          "why_en": "The structure is computed from data rather than given by the source."
        }
      ],
      "problem": "Извлечение по тексту и векторным представлениям не знает понятий физического пространства и геометрии. Робот, действующий в помещении, не может обратиться к собранию за сведениями о своём окружении для того, чтобы проложить путь, взять предмет или разобраться в обстановке.\n\nЗапросы, естественные для действующего в пространстве, остаются неразрешимыми: где ближайший предмет такого-то рода, что находится слева от такого-то предмета, можно ли пройти между двумя препятствиями.",
      "problem_en": "Retrieval over text and vector representations has no notion of physical space or geometry. A robot acting in a room cannot consult a collection for information about its surroundings in order to plot a path, pick up an object, or make sense of a scene.\n\nQueries natural to an agent acting in space remain unanswerable: where the nearest object of a given kind is, what lies to the left of a given object, whether it is possible to pass between two obstacles.",
      "prose_id": "embodied_rag",
      "residual": [],
      "residual_en": [],
      "solutions": "Облака точек кодируются так, чтобы обычное расстояние между представлениями отвечало пространственной близости, и поиск становится метрическим.\n\nОбстановка описывается графом сцены с несколькими уровнями подробности, что позволяет обслуживать вопросы разного масштаба одним указателем. Работа Text-to-3D Spatial Retrieval, представленная на конференции ICCV 2025, вводит учёт неопределённости при частичных наблюдениях.\n\nСистема Embodied-RAG Университета Карнеги-Меллона решила более двухсот пятидесяти задач прокладки пути и объяснения обстановки.",
      "solutions_en": "Point clouds are encoded so that ordinary distance between representations corresponds to spatial proximity, which makes the search metric.\n\nSurroundings are described by a scene graph with several levels of detail, which lets one index serve questions of differing scale. The Text-to-3D Spatial Retrieval work presented at ICCV 2025 introduces a treatment of uncertainty under partial observation.\n\nThe Embodied-RAG system from Carnegie Mellon University solved over two hundred and fifty path-plotting and scene-explanation tasks.",
      "summary": "Извлечение по трёхмерному окружению для роботов: запрос о положении и близости объектов, а не о тексте.",
      "summary_en": "Retrieval over a three-dimensional environment for robots: queries about position and proximity rather than about text."
    },
    {
      "aliases": [],
      "attention": 0.632,
      "attention_cohort": "2025",
      "attention_raw": 0.316,
      "barriers": "Общее препятствие состоит в противоречии между сохранением тайны и полезностью ответа, и оно распадается на четыре части.\n\nДифференциальная приватность, то есть добавление рассчитанного шума ради невозможности восстановить отдельную запись, ухудшает векторные представления и тем самым снижает полноту выдачи. Совместное обучение представлений требует передачи между участниками больших объёмов, потому что модели представлений велики. Само обращение с запросом небезопасно: и текст запроса, и возвращённое содержимое способны раскрыть охраняемые сведения. Наконец, схемы данных у разных участников различны, и сопоставлять их приходится до всякого поиска.",
      "barriers_en": "The common obstacle is the tension between preserving confidentiality and producing a useful answer, and it falls into four parts.\n\nDifferential privacy, that is, the addition of calibrated noise so that an individual record cannot be recovered, degrades vector representations and thereby lowers recall. Training representations jointly requires transferring large volumes between participants, because representation models are large. Handling the query is itself unsafe: both the text of the query and the content returned can disclose protected information. Finally, data schemas differ across participants and have to be reconciled before any search can take place.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "federation",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "isolated_circuit",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/DocAILab/FedE4RAG",
          "type": "repository",
          "value": "DocAILab/FedE4RAG: license=none, last_push=2025-12-15, releases=no",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416981893",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416034993",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=5; year=2025; citation_velocity=0.263",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2504.19101",
          "type": "publication",
          "value": "arXiv:2504.19101 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2505.18906",
          "type": "publication",
          "value": "arXiv:2505.18906 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4414581785",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416034993",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=6; year=2025; citation_velocity=0.316",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": null,
      "first_published": "2025-04",
      "groups": [
        "C",
        "G"
      ],
      "id": "federated_rag",
      "kind": "paradigm",
      "level": "L3",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2",
          "L3"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": "Federated RAG: Systematic Mapping Study (EMNLP, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://aclanthology.org/2025.findings-emnlp.388.pdf",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "FedE4RAG (arXiv:2504.19101, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2504.19101",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "github",
          "label": "FedE4RAG code (GitHub)",
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/DocAILab/FedE4RAG",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "Federated RAG survey (arXiv:2505.18906, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/pdf/2505.18906",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "FD-RAG: Federated Dual-System (OpenReview)",
          "label_en": null,
          "status": "verified",
          "url": "https://openreview.net/forum?id=kOUMng3ynd",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранние работы и первые прототипы. Систематический обзор, сведший направление воедино, представлен на конференции EMNLP 2025.",
      "maturity_note_en": "Early work and first prototypes. The systematic survey that brought the direction together was presented at EMNLP 2025.",
      "name": "Federated RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "C4",
          "did": "Несколько сторон обучают свои поисковые модели совместно, не передавая сырые данные: обмениваются только параметрами через сервер.",
          "did_en": "Several parties train their retrieval models jointly without handing over raw data: only parameters are exchanged through a server.",
          "instead": "«несколько своих узлов»: там узлы принадлежат одной системе, а здесь разным владельцам.",
          "instead_en": "«several own nodes»: there the nodes belong to one system, whereas here they belong to different owners.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2504.19101, метод",
          "source_en": "arXiv:2504.19101, method",
          "technology_id": "federated_rag",
          "to": "federation",
          "why": "Хранилища остаются у сторон и независимы. Это федерация, а не кластер одного владельца.",
          "why_en": "The stores stay with the parties and are independent. That is a federation rather than a cluster of one owner."
        },
        {
          "code": "G1",
          "did": "Сырые данные не покидают сторону; параметры защищены гомоморфным шифрованием.",
          "did_en": "Raw data never leaves a party; the parameters are protected by homomorphic encryption.",
          "instead": "«дифференциальная приватность»: она добавляет шум к данным, а здесь данные просто не передаются.",
          "instead_en": "«differential privacy»: it adds noise to the data, whereas here the data is simply not transmitted.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2504.19101, метод",
          "source_en": "arXiv:2504.19101, method",
          "technology_id": "federated_rag",
          "to": "isolated_circuit",
          "why": "Приватность обеспечена устройством обмена, а не обещанием.",
          "why_en": "Privacy is secured by how the exchange is arranged rather than by a promise."
        },
        {
          "code": "G3",
          "did": "Обучаются поисковые модели сторон; языковая модель не трогается.",
          "did_en": "The parties' retrieval models are trained; the language model is untouched.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2504.19101, метод",
          "source_en": "arXiv:2504.19101, method",
          "technology_id": "federated_rag",
          "to": "trained_retriever",
          "why": "Обучаемость относится к поисковой стороне.",
          "why_en": "Trainability belongs to the retrieval side."
        }
      ],
      "problem": "Обычное извлечение собирает все документы в одно хранилище. Там, где действуют требования к обращению с персональными данными, требования к месту их хранения либо ограничения на раскрытие сведений, такое сведение невозможно: больницы не вправе объединить записи о пациентах, банки не вправе объединить сведения о переводах, а организации не раскрывают внутренние документы друг другу.\n\nЗапрос, который должен быть обслужен сразу несколькими собраниями, оказывается тем самым закрыт, хотя каждое собрание по отдельности ответ содержит частично.",
      "problem_en": "Ordinary retrieval gathers all documents into one store. Where rules on the handling of personal data, requirements on where it may be held, or restrictions on disclosure apply, such gathering is impossible: hospitals may not pool patient records, banks may not pool transfer data, and organisations do not disclose internal documents to one another.\n\nA query that ought to be served by several collections at once is thereby blocked, even though each collection separately holds part of the answer.",
      "prose_id": "federated_rag",
      "residual": [],
      "residual_en": [],
      "solutions": "Совместное обучение представлений без передачи документов выполнено в системе FedE4RAG.\n\nРасход бюджета приватности сокращают, добавляя шум не ко всему документу, а только к тем его частям, что признаны охраняемыми. Подход C-FedRAG выполняет поиск внутри доверенной среды исполнения, где содержимое недоступно даже владельцу вычислителя. Двухчастное устройство FD-RAG оставляет память на стороне участника, а рассуждение выносит на общий узел, так что документы места не покидают.\n\nОбзор, сведший направление воедино, представлен на конференции EMNLP 2025.",
      "solutions_en": "Joint training of representations without transferring documents is realised in the FedE4RAG system.\n\nThe privacy budget is conserved by adding noise not to the whole document but only to those parts identified as sensitive. The C-FedRAG approach performs retrieval inside a trusted execution environment, where the content is inaccessible even to the owner of the machine. The two-part arrangement of FD-RAG keeps memory on the participant's side and moves reasoning to a shared node, so documents never leave their premises.\n\nThe survey that brought the direction together was presented at EMNLP 2025.",
      "summary": "Извлечение из собраний нескольких владельцев без того, чтобы кто-то из них раскрывал свои документы.",
      "summary_en": "Retrieval across the collections of several owners without any of them disclosing their documents."
    },
    {
      "aliases": [],
      "attention": 5.317,
      "attention_cohort": "2023",
      "attention_raw": 9.791,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "static",
        "C1": "ann",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "decoding_trigger",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "FLARE отвечает на вопрос о том, когда именно нужно обращаться к поиску при порождении длинного текста. Однократное извлечение по исходному запросу обслуживает начало ответа и перестаёт помогать дальше: текст уходит к предметам, о которых в исходном запросе не было речи, и опоры для них в контексте нет.\n\nПриём работает наперёд и по частям. Модель порождает очередное предложение начерно, не обращаясь к источникам, и её собственная уверенность в выбранных словах служит признаком. Если все слова предложения порождены уверенно, оно принимается как есть. Если в нём есть слова с низкой уверенностью, предложение расценивается как содержащее сведения, которых модель не знает: слова с низкой уверенностью из него удаляются, остаток служит поисковым запросом, найденное добавляется к контексту, и предложение порождается заново.\n\nОбращения к поиску происходят столько раз, сколько раз возникла нужда, и там, где она возникла. Дополнительного обучения приём не требует, поскольку уверенность модели доступна при обычном порождении. Слабое место состоит в самой уверенности: модель бывает уверена в неверном, и такое предложение проходит без проверки, тогда как верное, но выраженное редкими словами, вызывает лишний поиск.",
      "description_en": "FLARE addresses the question of when exactly retrieval should occur while a long text is being generated. A single retrieval on the original query serves the beginning of the answer and stops helping thereafter: the text moves on to subjects the original query never mentioned, and there is nothing in the context to support them.\n\nThe technique looks ahead and works piecewise. The model generates the next sentence as a draft without consulting any source, and its own confidence in the words it chose serves as the signal. If every word of the sentence was generated confidently, the sentence is accepted as it stands. If it contains low-confidence words, the sentence is taken to carry facts the model does not know: the low-confidence words are removed from it, what remains serves as a search query, the retrieved material is added to the context, and the sentence is generated again.\n\nRetrieval happens as many times as the need arose, and where it arose. The technique requires no additional training, since model confidence is available during ordinary generation. Its weak point lies in that confidence: a model is sometimes confident in something false, and such a sentence passes unchecked, while a true one phrased in rare words provokes a needless search.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2305.06983",
          "type": "publication",
          "value": "arXiv:2305.06983 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389519118",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=398; year=2023; citation_velocity=9.256",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4376312546",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=17; year=2023; citation_velocity=0.436",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389519118",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=407; year=2023; citation_velocity=9.465",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389519118",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=415; year=2023; citation_velocity=9.651",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389519118",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=416; year=2023; citation_velocity=9.674",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4389519118",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=421; year=2023; citation_velocity=9.791",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "A",
      "first_published": "2023",
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "flare",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2305.06983",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "FLARE",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Система предсказывает, каким будет следующее предложение ответа, и этим предсказанием ищет.",
          "did_en": "The system predicts what the next sentence of the answer will be and searches with that prediction.",
          "instead": "«без преобразования»: исходный вопрос здесь запросом почти не работает.",
          "instead_en": "«no transformation»: the original question here barely acts as a query at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.06983, метод",
          "source_en": "arXiv:2305.06983, method",
          "technology_id": "flare",
          "to": "multi_reformulation",
          "why": "Запросом служит порождённый текст, и за один ответ таких запросов несколько.",
          "why_en": "The query is the produced text, and there are several such queries per answer."
        },
        {
          "code": "C2",
          "did": "Извлечение повторяется по ходу порождения и прекращается вместе с ответом.",
          "did_en": "Retrieval repeats as production proceeds and stops together with the answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.06983, метод",
          "source_en": "arXiv:2305.06983, method",
          "technology_id": "flare",
          "to": "iterative_stopping",
          "why": "Число обращений заранее неизвестно и определяется течением генерации.",
          "why_en": "The number of calls is unknown in advance and set by the course of generation."
        },
        {
          "code": "E2",
          "did": "Признаком, что нужно искать, служит низкая уверенность модели в только что порождённых словах.",
          "did_en": "The signal that a search is needed is the model's low confidence in the words it has just produced.",
          "instead": "«проверка после порождения»: она смотрела бы на готовый ответ, а здесь решение принимается посреди него.",
          "instead_en": "«post-hoc check»: it would look at a finished answer, whereas here the decision is taken in the middle of one.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.06983, метод",
          "source_en": "arXiv:2305.06983, method",
          "technology_id": "flare",
          "to": "decoding_trigger",
          "why": "Сигнал берётся из самого порождения. У схемы есть ровно такое значение.",
          "why_en": "The signal is taken from production itself. The schema has exactly such a value."
        },
        {
          "code": "D1",
          "did": "Ступени пересмотра порядка найденного в работе не описано.",
          "did_en": "No stage that revisits the order of what was found is described in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.06983, метод",
          "source_en": "arXiv:2305.06983, method",
          "technology_id": "flare",
          "to": "none",
          "why": "Найденное подаётся в продолжение генерации напрямую.",
          "why_en": "What is found is fed straight into the continuation of generation."
        },
        {
          "code": "E5",
          "did": "Низкая уверенность в порождаемом тексте запускает поиск, а найденное меняет продолжение.",
          "did_en": "Low confidence in the text being produced triggers retrieval, and what is found changes the continuation.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "flare",
          "to": "mutual_loop",
          "why": "Порождение решает, когда искать, найденное меняет порождение.",
          "why_en": "Production decides when to search, and what is found changes production."
        }
      ],
      "prose_id": "flare",
      "residual": [],
      "residual_en": [],
      "summary": "Извлечение по требованию: обращение к поиску запускается низкой уверенностью в порождаемом предложении.",
      "summary_en": "Retrieval on demand: a search is triggered by low confidence in the sentence being generated."
    },
    {
      "aliases": [],
      "attention": 1.024,
      "attention_cohort": "2024",
      "attention_raw": 0.593,
      "confidence": 1.0,
      "configuration": {
        "A1": "node_edge",
        "A4": "graph",
        "A8": "given",
        "C1": "graph_traversal",
        "D1": "none",
        "E5": "none",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "GNN-RAG разделяет труд между двумя средствами по тому, что каждое умеет лучше. Языковая модель хорошо обращается с языком и плохо с многошаговой структурой: следуя по рёбрам подсказками, она сбивается тем чаще, чем длиннее цепочка. Графовая нейронная сеть, напротив, обучена именно на структуре и распространяет признаки по рёбрам согласованно, но связного текста не порождает.\n\nРазделение устроено так. Графовая нейронная сеть принимает вопрос и граф знаний и размечает вершины по их отношению к ответу, распространяя сведения от начальных вершин по рёбрам за несколько проходов. Из размеченного отбираются вершины с высокой оценкой и пути, ведущие к ним от начальных. Отобранный подграф переводится в текст, то есть в перечисление троек «субъект, отношение, объект», и подаётся языковой модели вместе с вопросом.\n\nМодель тем самым не ищет по графу вовсе, а лишь излагает найденное. Многошаговые вопросы обслуживаются лучше, чем при обходе под управлением модели, и стоят дешевле, потому что вызов модели один, а не по вызову на шаг. Плата состоит в обучении: графовую сеть нужно обучить на размеченных вопросах по этому графу, и на другой граф она переносится плохо.",
      "description_en": "GNN-RAG divides the labour between two instruments according to what each does better. A language model handles language well and multi-step structure poorly: following edges by prompting, it goes astray the more often the longer the chain. A graph neural network, by contrast, is trained on structure precisely and propagates features along edges coherently, but it generates no connected prose.\n\nThe division works as follows. The graph neural network takes the question and the knowledge graph and labels the nodes by their bearing on the answer, propagating information from the starting nodes along the edges over several passes. High-scoring nodes and the paths leading to them from the starting points are selected from the labelling. The selected subgraph is rendered as text, that is, as an enumeration of subject, relation, object triples, and given to the language model along with the question.\n\nThe model thereby does no searching over the graph at all and merely states what was found. Multi-step questions are served better than under model-driven traversal, and more cheaply, because there is one model call rather than one per step. The price is training: the graph network must be trained on labelled questions over this graph, and it transfers to another graph poorly.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2405.20139",
          "type": "publication",
          "value": "arXiv:2405.20139 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4399253046",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=16; year=2024; citation_velocity=0.593",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2024",
      "groups": [
        "A",
        "C",
        "G"
      ],
      "id": "gnn_rag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2405.20139",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "GNN-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "C1",
          "did": "Графовая нейросеть отбирает кандидатов по подграфу, а затем извлекаются кратчайшие пути между сущностями вопроса и ответами.",
          "did_en": "A graph neural network selects candidates over a subgraph, and then the shortest paths between the question's entities and the answers are extracted.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.20139, метод",
          "source_en": "arXiv:2405.20139, method",
          "technology_id": "gnn_rag",
          "to": "graph_traversal",
          "why": "Отбор идёт по структуре графа.",
          "why_en": "Selection proceeds by the structure of the graph."
        },
        {
          "code": "A1",
          "did": "Языковой модели передаются пути графа, переведённые в текст.",
          "did_en": "Graph paths, rendered into text, are handed to the language model.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.20139, метод",
          "source_en": "arXiv:2405.20139, method",
          "technology_id": "gnn_rag",
          "to": "node_edge",
          "why": "Единица извлечения — фрагмент структуры, а не пассаж.",
          "why_en": "The retrieval unit is a fragment of structure rather than a passage."
        },
        {
          "code": "G3",
          "did": "Отбором занимается обученная графовая нейросеть.",
          "did_en": "Selection is done by a trained graph neural network.",
          "question": "Аннотация не говорит прямо, обучается ли сеть в рамках работы или берётся готовой. Значение выведено из того, что графовая нейросеть без обучения не работает.",
          "question_en": "The abstract does not say outright whether the network is trained within the work or taken ready-made. The value is inferred from the fact that a graph neural network does not work untrained.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.20139, метод",
          "source_en": "arXiv:2405.20139, method",
          "technology_id": "gnn_rag",
          "to": "trained_retriever",
          "why": "Обучается поисковая сторона; языковая модель работает как есть.",
          "why_en": "The retrieval side is trained; the language model works as it is."
        }
      ],
      "prose_id": "gnn_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Графовая нейронная сеть отбирает подграф с ответом, языковая модель формулирует ответ по нему.",
      "summary_en": "A graph neural network selects the subgraph holding the answer; a language model states the answer from it."
    },
    {
      "aliases": [],
      "attention": 0.501,
      "attention_cohort": "2024",
      "attention_raw": 0.29,
      "confidence": 1.0,
      "configuration": {
        "A3": "extracted_triples",
        "A4": "graph",
        "A8": "extracted",
        "C1": "graph_traversal",
        "C2": "agentic_open_loop",
        "D1": "none",
        "D2": "budget_aware",
        "E5": "mutual_loop"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "GraphReader обращается с графом не как с указателем, а как с местностью, по которой ходит читатель. Обычный графовый поиск собирает окрестность найденных вершин за один раз, и глубина обхода задана заранее одинаково для всех вопросов.\n\nСобрание сначала превращается в граф заметок. Документы режутся на части, из каждой части языковая модель выписывает содержащиеся в ней факты, части становятся вершинами, а общие сущности задают рёбра между ними. Затем к вопросу составляется план: какие сведения нужно собрать, чтобы на него ответить.\n\nОбход ведёт сама модель. Она выбирает начальные вершины, читает их заметки, отмечает у себя то, что относится к плану, и решает, по какому ребру идти дальше и стоит ли идти вообще. Собранные записи накапливаются отдельно от посещённых вершин, поэтому пройденное не приходится держать в контексте целиком. Обход прекращается, когда план закрыт либо когда исчерпано отведённое число шагов. Глубина тем самым определяется вопросом, а не настройкой, но каждый шаг обхода стоит вызова модели, и на сложном вопросе таких вызовов набирается много.",
      "description_en": "GraphReader treats a graph not as an index but as terrain a reader walks through. Ordinary graph search collects the neighbourhood of the nodes it finds in one go, and the depth of traversal is fixed in advance, identically for every question.\n\nThe collection is first turned into a graph of notes. Documents are cut into parts, a language model writes out the facts each part contains, the parts become nodes, and shared entities give the edges between them. A plan is then drawn up for the question: what information must be gathered in order to answer it.\n\nThe model conducts the traversal itself. It chooses the starting nodes, reads their notes, records what bears on the plan, and decides which edge to follow next and whether to go on at all. The gathered notes accumulate separately from the visited nodes, so what has been walked need not be held in the context in full. Traversal stops when the plan is closed or when the allotted number of steps is exhausted. Depth is thereby settled by the question rather than by a setting, but every step costs a model call, and on a hard question those calls add up.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2406.14550",
          "type": "publication",
          "value": "arXiv:2406.14550 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4404781346",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=9; year=2024; citation_velocity=0.29",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2024",
      "groups": [
        "A",
        "C",
        "E"
      ],
      "id": "graphreader",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2406.14550",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "GraphReader",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Длинный документ превращается в граф: узлами становятся куски с выделенными из них фактами.",
          "did_en": "A long document is turned into a graph: the nodes are pieces with the facts drawn out of them.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2406.14550, метод",
          "source_en": "arXiv:2406.14550, method",
          "technology_id": "graphreader",
          "to": "graph",
          "why": "Индекс связный, и связность строится по документу.",
          "why_en": "The index is connected, and the connectivity is built over the document."
        },
        {
          "code": "A8",
          "did": "Узлы и связи выводятся из содержания документа моделью.",
          "did_en": "Nodes and edges are derived from the content of the document by a model.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2406.14550, метод",
          "source_en": "arXiv:2406.14550, method",
          "technology_id": "graphreader",
          "to": "extracted",
          "why": "Структура добыта из текста, а не задана источником и не вычислена группировкой.",
          "why_en": "The structure is mined from the text rather than given by the source or computed by grouping."
        },
        {
          "code": "C2",
          "did": "Агент сам строит план, вызывает функции чтения узлов и соседей и решает, когда сведений достаточно.",
          "did_en": "The agent builds its own plan, calls functions that read nodes and neighbours, and decides when it has enough.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2406.14550, метод",
          "source_en": "arXiv:2406.14550, method",
          "technology_id": "graphreader",
          "to": "agentic_open_loop",
          "why": "Ни числа шагов, ни внешнего условия остановки нет — глубину выбирает агент.",
          "why_en": "There is neither a step count nor an external stopping condition: the agent chooses the depth."
        },
        {
          "code": "E5",
          "did": "Агент ведёт записи, размышляет над ними и по ним решает, куда идти дальше.",
          "did_en": "The agent keeps notes, reflects on them and decides by them where to go next.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2406.14550, метод",
          "source_en": "arXiv:2406.14550, method",
          "technology_id": "graphreader",
          "to": "mutual_loop",
          "why": "Порождение управляет обходом, найденное меняет порождение.",
          "why_en": "Production drives the traversal, and what is found changes production."
        },
        {
          "code": "D2",
          "did": "Приём существует ради работы в малом окне: четыре тысячи знаков против ста двадцати восьми у сравниваемой модели.",
          "did_en": "The technique exists for the sake of working in a small window: four thousand characters against the hundred and twenty-eight thousand of the model it is compared with.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2406.14550, постановка",
          "source_en": "arXiv:2406.14550, problem statement",
          "technology_id": "graphreader",
          "to": "budget_aware",
          "why": "Отбор подчинён размеру окна, и в этом смысл работы.",
          "why_en": "Selection is subordinate to the window size, and that is the point of the work."
        }
      ],
      "prose_id": "graphreader",
      "residual": [],
      "residual_en": [],
      "summary": "Модель обходит граф заметок как читатель: переходит по связям, ведёт записи и решает, когда остановиться.",
      "summary_en": "The model walks a graph of notes like a reader: it follows links, keeps notes, and decides when to stop."
    },
    {
      "aliases": [
        "HippoRAG 2"
      ],
      "attention": 4.513,
      "attention_cohort": "2024",
      "attention_raw": 2.613,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "HippoRAG переносит в извлечение схему, которую нейробиология описывает для долговременной памяти человека. Кора хранит подробности, а гиппокамп хранит разреженный указатель на них и связывает разрозненные впечатления в одно воспоминание. Задача, которую эта схема решает в извлечении, состоит в том, что обычный поиск по одному запросу находит документы, похожие на запрос, но не находит документа, связанного с ним через промежуточное звено.\n\nСоответствие устроено так. При индексации большая языковая модель извлекает из текста тройки «субъект, отношение, объект» и строит по ним граф сущностей, играющий роль указателя. Векторные представления фрагментов текста остаются отдельно и играют роль подробностей. При запросе из него выделяются именованные сущности, им сопоставляются вершины графа, и от этих вершин запускается персонализированное случайное блуждание: воображаемый обходчик переходит по рёбрам и время от времени возвращается в исходные вершины, отчего вес накапливается на вершинах, связанных с запросом коротко и многими путями.\n\nНакопленный вес переносится на фрагменты текста, и они упорядочиваются по нему. Такой обход достаёт документ, отстоящий от запроса на несколько связей, за одно обращение к индексу, тогда как последовательные уточнения запроса требуют нескольких обращений и нескольких вызовов модели. Ограничением служит качество извлечённых троек: связь, которую модель при индексации не заметила, потом не восстановится.",
      "description_en": "HippoRAG carries into retrieval a scheme that neuroscience describes for human long-term memory. The cortex stores the particulars, while the hippocampus stores a sparse index over them and binds separate impressions into a single recollection. The problem this scheme addresses in retrieval is that ordinary single-query search finds documents resembling the query but fails to find a document connected to it through an intermediate link.\n\nThe correspondence works as follows. During indexing, a large language model extracts subject, relation, object triples from the text and builds an entity graph from them, which plays the part of the index. Vector representations of the text fragments are kept separately and play the part of the particulars. At query time, named entities are taken from the query and matched to graph nodes, and from those nodes a personalised random walk is launched: an imaginary walker follows edges and from time to time restarts at the initial nodes, so weight accumulates on the nodes connected to the query by short paths and by many of them.\n\nThe accumulated weight is carried over to the text fragments, which are then ordered by it. Such a traversal reaches a document several links away from the query in a single consultation of the index, whereas successive query refinement requires several consultations and several model calls. The limit is the quality of the extracted triples: a connection the model missed during indexing will not be recovered later.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/OSU-NLP-Group/HippoRAG",
          "type": "repository",
          "value": "OSU-NLP-Group/HippoRAG: license=mit, last_push=2026-07-29, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=2293",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2405.14831",
          "type": "publication",
          "value": "arXiv:2405.14831 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415797504",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=66; year=2024; citation_velocity=2.129",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=2097",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4398886972",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=21; year=2024; citation_velocity=0.778",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=1748",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415797504",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=68; year=2024; citation_velocity=2.194",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=1641",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415797504",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=74; year=2024; citation_velocity=2.387",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=1351",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415797504",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=78; year=2024; citation_velocity=2.516",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/hipporag/",
          "type": "package_downloads",
          "value": "package=hipporag; version=2.0.0a4; downloads_last_month=1184",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://github.com/OSU-NLP-Group/HippoRAG",
          "type": "repository",
          "value": "OSU-NLP-Group/HippoRAG: license=mit, last_push=2026-08-23, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415797504",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=81; year=2024; citation_velocity=2.613",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 15,
      "family": "B",
      "first_published": "2024",
      "groups": [
        "A",
        "C"
      ],
      "id": "hipporag",
      "kind": "architecture",
      "level": "L4",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2",
          "L3",
          "L4"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/OSU-NLP-Group/HippoRAG",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2405.14831",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "HippoRAG",
      "package": "hipporag",
      "parse_notes": [
        {
          "code": "A3",
          "did": "При построении индекса модель вычитывает из каждого пассажа факты вида «кто — что делает — с чем» и сохраняет их отдельно от текста.",
          "did_en": "When the index is built, the model reads out of every passage facts of the form «who does what to what» and stores them apart from the text.",
          "instead": "«метаданные»: они приписываются документу извне (автор, дата, раздел), а здесь факты добыты из самого содержания.",
          "instead_en": "«metadata»: those are attached to a document from outside (author, date, section), whereas here the facts are mined from the content itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, построение индекса",
          "source_en": "arXiv:2405.14831, index construction",
          "technology_id": "hipporag",
          "to": "extracted_triples",
          "why": "Единица индекса несёт извлечённые из неё утверждения, а не только исходный текст, — это и есть обогащение тройками.",
          "why_en": "A unit of the index carries the statements extracted from it and not only the source text, and that is enrichment by triples."
        },
        {
          "code": "A4",
          "did": "Из этих фактов строится сеть: узлы — упомянутые сущности, связи между ними — отношения из фактов.",
          "did_en": "A network is built from those facts: the nodes are the entities mentioned, the edges between them are the relations from the facts.",
          "instead": "«гиперграф»: в нём связь соединяет сразу много узлов, а здесь каждая связь соединяет ровно два.",
          "instead_en": "«hypergraph»: there an edge joins many nodes at once, whereas here every edge joins exactly two.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, построение индекса",
          "source_en": "arXiv:2405.14831, index construction",
          "technology_id": "hipporag",
          "to": "graph",
          "why": "Индекс перестал быть списком: у него есть связность, по которой можно двигаться от сущности к сущности.",
          "why_en": "The index has stopped being a list: it has connectivity along which one can move from entity to entity."
        },
        {
          "code": "C1",
          "did": "Поиск запускает по этой сети случайное блуждание, стартуя из узлов, названных в запросе, и смотрит, куда стекается вес.",
          "did_en": "Retrieval launches a random walk over that network, starting from the nodes named in the query, and watches where the weight collects.",
          "instead": "«поиск ближайших соседей»: он описал бы вспомогательный шаг вместо основного и скрыл бы главное — что работает именно связность.",
          "instead_en": "«nearest-neighbour search»: it would describe the auxiliary step instead of the main one and would hide the point, which is that connectivity does the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "to": "graph_traversal",
          "why": "Ответ отбирается движением по связям индекса, а не сравнением векторов. Векторное сравнение здесь тоже есть, но лишь чтобы найти стартовые узлы.",
          "why_en": "The answer is selected by movement along the index's edges rather than by comparing vectors. Vector comparison is present too, but only to find the starting nodes."
        },
        {
          "code": "D1",
          "did": "Найденное отдаётся в том порядке, который дало блуждание. Отдельной модели, пересматривающей этот порядок, нет.",
          "did_en": "What is found is handed over in the order the walk produced. There is no separate model that revisits that order.",
          "instead": "«структурное переранжирование»: оно предполагает отдельный шаг после поиска, которого в работе нет.",
          "instead_en": "«structural reranking»: it presupposes a separate step after retrieval, and the work has none.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "to": "none",
          "why": "Переранжирование — это вторая модель поверх первой. Здесь ступень одна.",
          "why_en": "Reranking is a second model on top of the first. Here there is only one stage."
        },
        {
          "code": "A1",
          "did": "Ранжируются узлы сети, но пользователю возвращаются целые пассажи: оценки узлов пересчитываются в оценки пассажей.",
          "did_en": "Nodes of the network are ranked, but whole passages are returned to the user: node scores are converted into passage scores.",
          "instead": "«узел и связь»: так было бы, если бы система возвращала фрагменты графа, а она возвращает текст.",
          "instead_en": "«node and edge»: that would hold if the system returned fragments of the graph, and it returns text.",
          "question": "Если считать единицей то, что ранжируется, а не то, что отдаётся, значение должно быть другим. Я выбрал «что отдаётся»: сравнение записей идёт по тому, с чем работает потребитель.",
          "question_en": "If the unit were taken to be what is ranked rather than what is returned, the value would have to differ. I chose «what is returned»: records are compared by what the consumer works with.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "to": "passage",
          "why": "Единица извлечения — то, что система отдаёт наружу. Сеть здесь устройство индекса, а не результат.",
          "why_en": "The retrieval unit is what the system hands outward. The network here is how the index is built rather than what it returns."
        },
        {
          "code": "A5",
          "did": "Для привязки сущностей запроса к узлам и для поиска синонимов берётся готовая модель представлений.",
          "did_en": "An off-the-shelf representation model is used to bind query entities to nodes and to find synonyms.",
          "instead": "«символьное»: сеть действительно символьная, но сопоставление ведётся векторами, а измерение описывает именно способ сопоставления.",
          "instead_en": "«symbolic»: the network is indeed symbolic, but matching is done with vectors, and this dimension describes exactly the manner of matching.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, построение индекса",
          "source_en": "arXiv:2405.14831, index construction",
          "technology_id": "hipporag",
          "to": "dense_single",
          "why": "Своей модели представления работа не вводит, а пользуется распространённой.",
          "why_en": "The work introduces no representation model of its own and uses a widespread one."
        },
        {
          "code": "C2",
          "did": "За один заход системы к индексу происходит одно блуждание; повторных обращений к поиску нет.",
          "did_en": "One walk happens per visit of the system to the index; there are no repeated calls to retrieval.",
          "instead": "«фиксированное число переходов»: оно означало бы несколько обращений к поиску подряд.",
          "instead_en": "«fixed number of hops»: that would mean several calls to retrieval in succession.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, аннотация и сравнение с итеративными методами",
          "source_en": "arXiv:2405.14831, abstract and the comparison with iterative methods",
          "technology_id": "hipporag",
          "to": "single_shot",
          "why": "Многошаговость обеспечена внутри одного обращения — движением по сети, а не серией запросов.",
          "why_en": "Multi-hop behaviour is provided inside a single call, by movement over the network rather than by a series of queries."
        },
        {
          "code": "G3",
          "did": "Модели берутся готовыми, как есть; работа их не доучивает.",
          "did_en": "The models are taken as they are; the work does not fine-tune them.",
          "instead": "«обучаемый поисковик»: обучение выполнено вне этой работы.",
          "instead_en": "«trainable retriever»: the training was done outside this work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.14831, построение индекса",
          "source_en": "arXiv:2405.14831, index construction",
          "technology_id": "hipporag",
          "to": "frozen",
          "why": "Измерение описывает, обучает ли что-нибудь сама система. То, что кто-то обучил эти модели раньше и для других целей, её свойством не является.",
          "why_en": "The dimension describes whether the system itself trains anything. That someone trained these models earlier and for other purposes is not a property of this system."
        },
        {
          "did": "Часть связей в сети добавлена не из текста, а по близости представлений: два разных написания одной сущности соединяются автоматически.",
          "did_en": "Part of the edges in the network is added not from the text but by closeness of representations: two different spellings of one entity are joined automatically.",
          "residual": "synonymy_edges",
          "residual_term": "рёбра синонимии между узлами индекса",
          "residual_term_en": "synonymy edges between index nodes",
          "source": "arXiv:2405.14831, построение индекса",
          "source_en": "arXiv:2405.14831, index construction",
          "technology_id": "hipporag",
          "why": "Схема говорит, какого рода структура у индекса, но не откуда взялись связи. А разница существенна: связь из текста утверждает факт, связь по близости — догадку.",
          "why_en": "The schema says what kind of structure the index has, and not where the edges came from. The difference matters: an edge from text asserts a fact, an edge from closeness asserts a guess."
        },
        {
          "did": "Из запроса вынимаются имена сущностей — они служат точками входа в сеть.",
          "did_en": "Entity names are taken out of the query and serve as entry points into the network.",
          "residual": "query_entity_extraction",
          "residual_term": "извлечение именованных сущностей из запроса",
          "residual_term_en": "named entity extraction from the query",
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "why": "Запрос не переписан и не разложен на подвопросы, он разобран. Такого действия среди значений преобразования запроса нет.",
          "why_en": "The query is neither rewritten nor split into sub-questions, it is taken apart. No value of query transformation covers such an action."
        },
        {
          "did": "Вес по сети распределяется случайным блужданием с возвратом к стартовым узлам.",
          "did_en": "Weight is distributed over the network by a random walk with return to the starting nodes.",
          "residual": "random_walk_ranking",
          "residual_term": "ранжирование случайным блужданием с предпочтением",
          "residual_term_en": "personalized random-walk ranking",
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "why": "«Обход графа» говорит, что структура обходится, но не по какому правилу распределяется важность. Разные правила дают разные результаты на одном графе.",
          "why_en": "«Graph traversal» says the structure is traversed, and not by what rule importance is distributed. Different rules give different results on the same graph."
        },
        {
          "did": "Оценки узлов пересчитываются в оценки пассажей, чтобы вернуть текст.",
          "did_en": "Node scores are converted into passage scores in order to return text.",
          "residual": "score_transfer_to_units",
          "residual_term": "перенос оценок узлов на единицы извлечения",
          "residual_term_en": "transfer of node scores onto retrieval units",
          "source": "arXiv:2405.14831, извлечение",
          "source_en": "arXiv:2405.14831, retrieval",
          "technology_id": "hipporag",
          "why": "Ранжируется одна структура, а возвращается другая. Ни оператор поиска, ни переранжирование этого перехода не описывают.",
          "why_en": "One structure is ranked and a different one is returned. Neither the search operator nor reranking describes that transition."
        },
        {
          "code": "A8",
          "did": "Узлы и связи графа извлекаются из текста моделью.",
          "did_en": "The nodes and edges of the graph are extracted from the text by a model.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "hipporag",
          "to": "extracted",
          "why": "Структура добыта из содержания: она не задана источником и не вычислена группировкой, а вычитана.",
          "why_en": "The structure is mined from the content: it is neither given by the source nor computed by clustering, it is read out."
        }
      ],
      "prose_id": "hipporag",
      "residual": [
        "рёбра синонимии между узлами индекса",
        "извлечение именованных сущностей из запроса",
        "ранжирование случайным блужданием с предпочтением",
        "перенос оценок узлов на единицы извлечения"
      ],
      "residual_en": [
        "synonymy edges between index nodes",
        "named entity extraction from the query",
        "personalized random-walk ranking",
        "transfer of node scores onto retrieval units"
      ],
      "summary": "Долговременная память по образцу гиппокампа: граф сущностей и обход методом персонализированного случайного блуждания.",
      "summary_en": "Long-term memory after the hippocampus: an entity graph traversed by personalised random walk."
    },
    {
      "aliases": [],
      "attention": 6.86,
      "attention_cohort": null,
      "attention_raw": 6.86,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "hyde",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "generation_seeds",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "HyDE устраняет несоответствие, заложенное в плотном поиске. Вопрос и документ написаны по-разному: вопрос короток, содержит вопросительные слова и не содержит терминов, которыми написан ответ. Векторное представление вопроса поэтому лежит не там, где лежат представления отвечающих на него документов, и близость между ними меньше, чем между двумя документами об одном предмете.\n\nПриём состоит в том, чтобы сравнивать однородное с однородным. Большая языковая модель порождает по вопросу вымышленный ответ, не обращаясь ни к какому источнику. Ответ этот содержит выдуманные подробности и как утверждение о мире ничего не стоит, но написан он в том же роде и теми же словами, что и настоящий документ по этому предмету. Векторное представление строится по вымышленному ответу, и поиск идёт по нему, а сам вопрос в индекс не поступает.\n\nВыдуманные подробности при этом не вредят: близость определяется общим направлением вектора, которое задают предмет и способ изложения, а не отдельные неверные имена и числа. Приём не требует ни обучения, ни разметки и работает поверх готового индекса. Плата состоит в одном вызове языковой модели перед каждым поиском, что добавляет задержку, и в том, что на вопросе о предмете, о котором модель не знает ничего, вымышленный ответ уводит поиск в сторону.",
      "description_en": "HyDE removes a mismatch built into dense retrieval. A question and a document are written differently: the question is short, carries interrogative words, and lacks the terms in which the answer is written. The vector representation of a question therefore does not lie where the representations of the documents answering it lie, and the closeness between them is smaller than between two documents on the same subject.\n\nThe technique is to compare like with like. A large language model generates an invented answer to the question without consulting any source. That answer contains fabricated particulars and is worthless as an assertion about the world, but it is written in the same register and the same vocabulary as a genuine document on the subject. The vector representation is built from the invented answer and the search runs on it, while the question itself never reaches the index.\n\nThe fabricated particulars do no harm: closeness is determined by the general direction of the vector, which is set by the subject and the manner of exposition rather than by individual wrong names and numbers. The technique requires neither training nor labelling and works over a ready index. It costs one language model call before every search, which adds latency, and on a question about a subject the model knows nothing of, the invented answer leads the search astray.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2212.10496",
          "type": "publication",
          "value": "arXiv:2212.10496 (2022)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385565351",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=273; year=2023; citation_velocity=6.349",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4312091824",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=20; year=2022; citation_velocity=0.455",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385565351",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=276; year=2023; citation_velocity=6.419",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385565351",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=287; year=2023; citation_velocity=6.674",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385565351",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=291; year=2023; citation_velocity=6.767",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385565351",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=295; year=2023; citation_velocity=6.86",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "G",
      "first_published": "2022",
      "groups": [
        "B"
      ],
      "id": "hyde",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2212.10496",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "HyDE",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Языковая модель сочиняет по вопросу вымышленный документ-ответ, и поиск ведётся уже по нему, а не по самому вопросу.",
          "did_en": "A language model composes an imagined answer-document from the question, and retrieval then runs on that rather than on the question itself.",
          "instead": "«без преобразования»: оно описало бы обычный поиск по вопросу, от которого приём и отличается.",
          "instead_en": "«no transformation»: it would describe ordinary retrieval on the question, which is exactly what the technique differs from.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10496, метод",
          "source_en": "arXiv:2212.10496, method",
          "technology_id": "hyde",
          "to": "hyde",
          "why": "Запрос подменяется порождённым текстом до всякого обращения к индексу. У схемы есть значение с этим именем.",
          "why_en": "The query is replaced by produced text before any call to the index. The schema has a value under that name."
        },
        {
          "code": "G3",
          "did": "Ни модель, сочиняющая документ, ни кодировщик не обучаются: обе берутся готовыми.",
          "did_en": "Neither the model that composes the document nor the encoder is trained: both are taken ready-made.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10496, метод",
          "source_en": "arXiv:2212.10496, method",
          "technology_id": "hyde",
          "to": "frozen",
          "why": "Приём складывает существующие части, ничего не доучивая.",
          "why_en": "The technique assembles existing parts without fine-tuning anything."
        },
        {
          "code": "E5",
          "did": "Модель сочиняет вымышленный документ, и поиск идёт по нему.",
          "did_en": "The model composes an imagined document, and retrieval runs on it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "hyde",
          "to": "generation_seeds",
          "why": "Порождённый текст служит запросом, но обратной связи нет: найденное на сочинённое уже не влияет. Тем и отличается от цикла.",
          "why_en": "Produced text serves as the query, but there is no feedback: what is found no longer affects what was composed. That is what distinguishes it from a loop."
        }
      ],
      "prose_id": "hyde",
      "residual": [],
      "residual_en": [],
      "summary": "Поиск по вымышленному ответу вместо вопроса: сравниваются документ с документом, а не вопрос с документом.",
      "summary_en": "Search by an invented answer rather than the question: document is compared with document, not question with document."
    },
    {
      "aliases": [],
      "attention": 3.498,
      "attention_cohort": "2023",
      "attention_raw": 6.442,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "lexical",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "static",
        "C1": "lexical",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "IRCoT соединяет пошаговое рассуждение с извлечением, чередуя их. Однократное извлечение по исходному вопросу не обслуживает вопросы, где ответ собирается из нескольких документов по цепочке. Чтобы узнать, где родился режиссёр определённого фильма, нужно сначала узнать, кто он, и только потом искать место его рождения. В исходном вопросе имени режиссёра нет, поэтому поиск по нему второго документа не находит.\n\nОбработка идёт кругами. По исходному вопросу выполняется извлечение, найденное подаётся модели, и та порождает один шаг рассуждения. Этот шаг служит запросом для следующего извлечения, найденное добавляется к контексту, порождается следующий шаг, и так далее. Цикл останавливается, когда очередной шаг содержит ответ либо когда исчерпано отведённое число кругов.\n\nСущественно направление связи: не только извлечение снабжает рассуждение, но и рассуждение задаёт извлечение, поэтому промежуточная сущность, названная моделью на первом шаге, становится поисковым запросом на втором. Расход соответствует числу кругов: каждый круг стоит одного вызова модели и одного обращения к индексу, а ошибка на раннем шаге уводит все последующие, потому что запросы строятся по уже порождённому.",
      "description_en": "IRCoT joins step-by-step reasoning to retrieval by alternating them. A single retrieval on the original question fails on questions whose answer is assembled from several documents in a chain. To learn where the director of a particular film was born, one must first learn who the director is and only then search for their place of birth. The director's name does not appear in the original question, so a search on it finds no second document.\n\nProcessing proceeds in rounds. Retrieval is performed on the original question, what is found is given to the model, and the model generates one step of reasoning. That step serves as the query for the next retrieval, what is found is added to the context, the next step is generated, and so on. The loop halts when a step contains the answer or when the allotted number of rounds is exhausted.\n\nThe direction of the coupling is what matters: retrieval feeds reasoning, but reasoning also drives retrieval, so an intermediate entity named by the model at the first step becomes the search query at the second. The expense scales with the number of rounds, each costing one model call and one consultation of the index, and an error at an early step carries every later one with it, because the queries are built from what has already been generated.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2212.10509",
          "type": "publication",
          "value": "arXiv:2212.10509 (2022)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385571271",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=257; year=2023; citation_velocity=5.977",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4312091845",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=18; year=2022; citation_velocity=0.409",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385571271",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=261; year=2023; citation_velocity=6.07",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385571271",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=266; year=2023; citation_velocity=6.186",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385571271",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=269; year=2023; citation_velocity=6.256",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385571271",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=277; year=2023; citation_velocity=6.442",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "C",
      "first_published": "2023",
      "groups": [
        "B",
        "C",
        "D"
      ],
      "id": "ircot",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2212.10509",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "IRCoT",
      "package": null,
      "parse_notes": [
        {
          "code": "A5",
          "did": "Поиск ведётся сопоставлением слов запроса со словами документов, без векторов.",
          "did_en": "Retrieval matches the words of the query against the words of documents, without vectors.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, постановка опытов",
          "source_en": "arXiv:2212.10509, experimental setup",
          "technology_id": "ircot",
          "to": "lexical",
          "why": "Это классический словарный поиск.",
          "why_en": "This is classic lexical search."
        },
        {
          "code": "C1",
          "did": "Оператор поиска — тот же словарный.",
          "did_en": "The search operator is the same lexical one.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, постановка опытов",
          "source_en": "arXiv:2212.10509, experimental setup",
          "technology_id": "ircot",
          "to": "lexical",
          "why": "Иных способов извлечения в работе нет.",
          "why_en": "The work has no other means of retrieval."
        },
        {
          "code": "C2",
          "did": "Система чередует шаги: породила предложение рассуждения — сходила в поиск — породила следующее. Цикл прекращается, когда в рассуждении появляется ответ, либо на восьмом шаге.",
          "did_en": "The system alternates steps: it produces a sentence of reasoning, goes to retrieval, produces the next one. The loop stops when an answer appears in the reasoning, or at the eighth step.",
          "instead": "«фиксированное число переходов»: у него нет условия остановки, а здесь оно есть и работает.",
          "instead_en": "«fixed number of hops»: it has no stopping condition, whereas here there is one and it works.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, метод",
          "source_en": "arXiv:2212.10509, method",
          "technology_id": "ircot",
          "to": "iterative_stopping",
          "why": "Число обращений заранее неизвестно и определяется условием остановки.",
          "why_en": "The number of calls is not known in advance and is set by a stopping condition."
        },
        {
          "code": "B1",
          "did": "Запросом каждого следующего обращения служит последнее предложение рассуждения, а не исходный вопрос.",
          "did_en": "The query of each next call is the last sentence of the reasoning rather than the original question.",
          "instead": "«разложение на подвопросы»: там запрос делится заранее, а здесь следующий запрос неизвестен, пока не породится рассуждение.",
          "instead_en": "«decomposition into sub-questions»: there the query is split in advance, whereas here the next query is unknown until the reasoning produces it.",
          "question": "Строго говоря, это не переформулирование исходного запроса, а порождение новых. Возможно, честнее оставить «без преобразования», а само чередование описать только остатком.",
          "question_en": "Strictly speaking this is not a reformulation of the original query but the production of new ones. It may be more honest to leave «no transformation» and describe the alternation only as a residual.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, метод",
          "source_en": "arXiv:2212.10509, method",
          "technology_id": "ircot",
          "to": "multi_reformulation",
          "why": "За один заход система выдаёт несколько разных запросов вместо одного.",
          "why_en": "In one visit the system issues several different queries instead of one."
        },
        {
          "code": "D2",
          "did": "Общее число собранных абзацев ограничено пятнадцатью, и предел выведен из размера окна модели — чтобы в него поместились ещё и примеры.",
          "did_en": "The total number of collected paragraphs is capped at fifteen, and the cap follows from the model's window size, so that the examples fit into it as well.",
          "instead": "«первые k»: этот предел не зависел бы от того, сколько места осталось.",
          "instead_en": "«top k»: that limit would not depend on how much room is left.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, постановка опытов",
          "source_en": "arXiv:2212.10509, experimental setup",
          "technology_id": "ircot",
          "to": "budget_aware",
          "why": "Отбор ограничен бюджетом окна, а не числом лучших.",
          "why_en": "Selection is bounded by the window budget rather than by a count of the best."
        },
        {
          "code": "D1",
          "did": "Собранные документы не упорядочиваются: работа отдельно оговаривает, что из-за этого к ним неприменимы обычные меры качества поиска.",
          "did_en": "The collected documents are not ordered: the work states separately that ordinary retrieval quality measures therefore do not apply to them.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, оценка",
          "source_en": "arXiv:2212.10509, evaluation",
          "technology_id": "ircot",
          "to": "none",
          "why": "Переранжирования нет по прямому указанию источника.",
          "why_en": "There is no reranking, by the direct statement of the source."
        },
        {
          "code": "G3",
          "did": "Ни поисковик, ни языковая модель не обучаются: метод целиком строится на подсказках.",
          "did_en": "Neither the retriever nor the language model is trained: the method rests entirely on prompting.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, постановка опытов",
          "source_en": "arXiv:2212.10509, experimental setup",
          "technology_id": "ircot",
          "to": "frozen",
          "why": "Обучения в системе нет.",
          "why_en": "There is no training in the system."
        },
        {
          "code": "E1",
          "did": "Рассуждение ведётся одним ходом, лишь прерываясь на извлечение. Черновика, который потом проверяют, нет.",
          "did_en": "The reasoning runs in a single pass, merely interrupted for retrieval. There is no draft that is checked afterwards.",
          "instead": "«черновик и проверка»: там текст сначала порождается целиком, потом пересматривается.",
          "instead_en": "«draft and check»: there the text is first produced whole and then revised.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2212.10509, метод",
          "source_en": "arXiv:2212.10509, method",
          "technology_id": "ircot",
          "to": "single_pass",
          "why": "Прерывание — это не второй проход по тексту.",
          "why_en": "An interruption is not a second pass over the text."
        },
        {
          "code": "E5",
          "did": "Каждое предложение рассуждения становится запросом, а найденное меняет следующее предложение.",
          "did_en": "Every sentence of the reasoning becomes a query, and what is found changes the next sentence.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "ircot",
          "to": "mutual_loop",
          "why": "Связь двусторонняя и повторяется: это цикл, а не однократное порождение запроса.",
          "why_en": "The coupling runs both ways and repeats: this is a loop rather than a one-off production of a query."
        }
      ],
      "prose_id": "ircot",
      "residual": [],
      "residual_en": [],
      "summary": "Чередование шагов рассуждения и обращений к поиску: каждая новая мысль задаёт следующий запрос.",
      "summary_en": "Reasoning steps and retrievals alternate: each new thought becomes the next query."
    },
    {
      "aliases": [],
      "attention": 5.642,
      "attention_cohort": "2024",
      "attention_raw": 3.267,
      "confidence": 1.0,
      "configuration": {
        "A3": "extracted_triples",
        "A4": "graph",
        "A8": "extracted",
        "C1": "graph_traversal",
        "C3": "score_normalization",
        "D1": "none",
        "E5": "none",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "KAG отвечает на затруднение, возникающее в областях со строгими правилами. Извлечение по сходству возвращает похожее, а в медицине, праве или расчёте льгот требуется вывод: заключение должно следовать из посылок по установленному правилу, и правдоподобие тут заменой не служит.\n\nСобрание раскладывается на две части. Одна часть образует граф знаний, где сущности и отношения приведены к общей схеме, а термины разных документов сведены к единым обозначениям. Другая часть остаётся исходным текстом, привязанным к вершинам графа, потому что не всё выражается тройками, а формулировка первоисточника нужна для проверки.\n\nВопрос разбирается на подзадачи, и каждая направляется тому средству, которое ей отвечает: обращение за фактом идёт к графу, вопрос о формулировке идёт к тексту, а шаг вывода выполняется по правилам предметной области. Промежуточные заключения проверяются на согласие с этими правилами, поэтому цепочка, где шаг правилам противоречит, отбрасывается до появления ответа. Плата состоит в подготовке: схему и правила пишет человек, знающий область, и в области, где правила не формализованы, подход неприменим.",
      "description_en": "KAG addresses a difficulty arising in fields governed by strict rules. Retrieval by similarity returns what resembles the query, whereas medicine, law, or the computation of entitlements require inference: a conclusion must follow from premises by an established rule, and plausibility is no substitute.\n\nThe collection is laid out in two parts. One part forms a knowledge graph, where entities and relations are brought to a common schema and the terms of different documents are reduced to uniform designations. The other part remains the original text, attached to the graph's nodes, because not everything is expressible in triples and the source wording is needed for verification.\n\nA question is decomposed into subtasks, and each is routed to the instrument that answers it: a request for a fact goes to the graph, a question about wording goes to the text, and an inference step is carried out by the rules of the field. Intermediate conclusions are checked for agreement with those rules, so a chain containing a step that contradicts them is discarded before any answer appears. The price is preparation: the schema and the rules are written by someone who knows the field, and where the rules are not formalised the approach does not apply.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2409.13731",
          "type": "publication",
          "value": "arXiv:2409.13731 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410636953",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=42; year=2025; citation_velocity=2.8",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410636953",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=48; year=2025; citation_velocity=3.2",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4410636953",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=49; year=2025; citation_velocity=3.267",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2024",
      "groups": [
        "A",
        "C",
        "G"
      ],
      "id": "kag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2409.13731",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "KAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Знания предметной области хранятся графом, причём граф и исходные куски текста указывают друг на друга.",
          "did_en": "Domain knowledge is kept as a graph, and the graph and the source pieces of text point at one another.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.13731, метод",
          "source_en": "arXiv:2409.13731, method",
          "technology_id": "kag",
          "to": "graph",
          "why": "Индекс связный, и связность двусторонняя: от факта можно вернуться к тексту.",
          "why_en": "The index is connected, and the connectivity runs both ways: from a fact one can return to the text."
        },
        {
          "code": "A8",
          "did": "Граф строится по документам предметной области.",
          "did_en": "The graph is built over the documents of the domain.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.13731, метод",
          "source_en": "arXiv:2409.13731, method",
          "technology_id": "kag",
          "to": "extracted",
          "why": "Структура добыта из содержания.",
          "why_en": "The structure is mined from the content."
        },
        {
          "code": "C3",
          "did": "Обход графа сочетается с векторным поиском, и результаты сводятся вместе.",
          "did_en": "Graph traversal is combined with vector search, and the results are brought together.",
          "question": "Правило слияния источник не раскрывает; выбрано сведение по величинам оценок как более общее, чем ранговое.",
          "question_en": "The source does not disclose the fusion rule; fusion by score magnitude was chosen as more general than by rank.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.13731, метод",
          "source_en": "arXiv:2409.13731, method",
          "technology_id": "kag",
          "to": "score_normalization",
          "why": "Два способа отбора работают одновременно и требуют слияния.",
          "why_en": "Two means of selection work at once and require fusion."
        },
        {
          "code": "G3",
          "did": "Работа отдельно называет усиление модели под задачи этого подхода.",
          "did_en": "The work separately names an enhancement of the model for the tasks of this approach.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.13731, метод",
          "source_en": "arXiv:2409.13731, method",
          "technology_id": "kag",
          "to": "trained_reader",
          "why": "Обучается порождающая сторона.",
          "why_en": "The producing side is trained."
        }
      ],
      "prose_id": "kag",
      "residual": [],
      "residual_en": [],
      "summary": "Соединение графа знаний с логическим выводом: рассуждение проверяется правилами, а не только правдоподобием.",
      "summary_en": "A knowledge graph joined to logical inference: reasoning is checked by rules, not merely by plausibility."
    },
    {
      "aliases": [
        "Language-Aware Multilingual Alignment Reranker"
      ],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "barriers": "Просто предпочесть язык запроса нельзя: так теряется смысловая относимость, ради которой переранжировщик и нужен. Оценки относимости к тому же несопоставимы между языками.",
      "barriers_en": "Simply preferring the query's language will not do: the semantic relevance the reranker exists for is then lost. Relevance scores are moreover not comparable across languages.",
      "confidence": 1.0,
      "configuration": {
        "D1": "cross_encoder",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [
        "A1",
        "A2",
        "A3",
        "A4",
        "A5",
        "A6",
        "A7",
        "A8",
        "B1",
        "B2",
        "C1",
        "C2",
        "C3",
        "C4",
        "D2",
        "D3",
        "E1",
        "E2",
        "E3",
        "E4",
        "E5",
        "F1",
        "F2",
        "F3",
        "G1",
        "G2"
      ],
      "configuration_reviewed": "2026-08-12",
      "configuration_variable": [],
      "description": "LAMAR занимается многоязычным извлечением, где поиск возвращает документы на разных языках. Переранжировщик расставляет их по смысловой относимости и языка при этом не учитывает, хотя язык найденного документа влияет на порождаемый ответ: модель, получившая источники на чужом языке, чаще отвечает неточно, а ссылка ведёт читателя к тексту, которого он не прочтёт.\n\nПрямое решение не годится. Если просто поднимать документы на языке запроса, теряется смысловая относимость, ради которой переранжировщик и заведён, и наверх выходит слабо относящийся документ на нужном языке. Складывать одно с другим тоже нельзя: оценки относимости, полученные для разных языков, лежат в несопоставимых шкалах.\n\nОбучение идёт поэтому в два захода. Сперва оценки учителя переносятся с английской пары «запрос, документ» на её смысловой двойник на другом языке, чем оценки и приводятся к общей шкале. Затем выравниванием предпочтений документ на языке запроса поднимается среди тех, что уже признаны равно относящимися, так что язык решает лишь при прочих равных и относимости не подменяет.",
      "description_en": "LAMAR takes up multilingual retrieval, where search returns documents in several languages. A reranker orders them by semantic relevance and disregards language, although the language of a retrieved document affects the answer produced: a model handed sources in a foreign language answers imprecisely more often, and a citation leads the reader to a text they will not read.\n\nThe direct fix will not do. Simply promoting documents in the query's language loses the semantic relevance the reranker exists for, and a barely relevant document in the right language rises to the top. Adding the two together will not do either: relevance scores obtained for different languages live on incommensurable scales.\n\nTraining therefore proceeds in two passes. First the teacher's scores are carried over from an English query and document pair to its semantic counterpart in another language, which brings the scores onto a common scale. Then, by preference alignment, a document in the query's language is raised among those already judged equally relevant, so that language decides only among equals and never substitutes for relevance.",
      "evidence": [
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2607.22042",
          "type": "publication",
          "value": "arXiv:2607.22042 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7171352433",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2026-07",
      "groups": [
        "D"
      ],
      "id": "lamar",
      "kind": "tool",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "LAMAR (arXiv:2607.22042, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2607.22042",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "LAMAR",
      "package": null,
      "parse_notes": [
        {
          "code": "D1",
          "did": "Модель читает пару «запрос и документ» вместе и выдаёт одну оценку относимости.",
          "did_en": "The model reads the query-document pair together and produces a single relevance score.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.22042, метод",
          "source_en": "arXiv:2607.22042, method",
          "technology_id": "lamar",
          "to": "cross_encoder",
          "why": "Это перекрёстный кодировщик по определению: вторая модель поверх поиска, читающая обе стороны сразу.",
          "why_en": "That is a cross-encoder by definition: a second model on top of retrieval, reading both sides at once."
        },
        {
          "code": "G3",
          "did": "Обучение идёт в два захода: перенос оценок учителя с английской пары на многоязычную, затем выравнивание предпочтений по языку.",
          "did_en": "Training runs in two stages: transfer of teacher scores from an English pair to a multilingual one, then preference alignment for language.",
          "instead": "«совместное обучение»: оно требует изменения и порождающей стороны, а её здесь нет вовсе.",
          "instead_en": "«joint training»: it requires the producing side to change as well, and there is none here at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.22042, метод",
          "source_en": "arXiv:2607.22042, method",
          "technology_id": "lamar",
          "to": "trained_retriever",
          "why": "Обучается переранжировщик, то есть поисковая сторона; читателя работа не трогает.",
          "why_en": "The reranker is trained, that is the retrieval side; the work does not touch the reader."
        },
        {
          "did": "При равной смысловой относимости выше ставится документ, написанный на языке запроса.",
          "did_en": "At equal semantic relevance, a document written in the query's language ranks higher.",
          "residual": "language_coherence_ranking",
          "residual_term": "предпочтение языку запроса при ранжировании",
          "residual_term_en": "preference for the query's language in ranking",
          "source": "arXiv:2607.22042, метод",
          "source_en": "arXiv:2607.22042, method",
          "technology_id": "lamar",
          "why": "Схема говорит, какой механизм пересматривает порядок, но не по какому признаку помимо относимости. Признак здесь и есть вклад работы.",
          "why_en": "The schema says which mechanism revisits the order, and not by what criterion besides relevance. That criterion is the contribution of the work."
        },
        {
          "code": "A5",
          "did": "Своего индекса и своего представления корпуса у переранжировщика нет: он получает кандидатов от первой ступени.",
          "did_en": "The reranker has no index and no representation of the corpus of its own: it receives candidates from the first stage.",
          "inapplicable": true,
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "lamar",
          "why": "Запись описывает ступень, а не систему. Значения представления знаний утверждали бы о том, чего у неё нет.",
          "why_en": "The record describes a stage rather than a system. Values of knowledge representation would assert what it does not have."
        }
      ],
      "problem": "В многоязычном извлечении поисковик возвращает документы на разных языках, и переранжировщик расставляет их по смыслу. Язык документа при этом не учитывается, хотя он влияет на порождаемый ответ.",
      "problem_en": "In multilingual retrieval the retriever returns documents in several languages, and the reranker orders them by meaning. The language of a document is not taken into account, although it affects the answer produced.",
      "prose_id": "lamar",
      "residual": [
        "предпочтение языку запроса при ранжировании"
      ],
      "residual_en": [
        "preference for the query's language in ranking"
      ],
      "solutions": "Обучение идёт в два захода. Сперва оценки учителя переносятся с английской пары на смысловой её двойник на другом языке, чем оценки приводятся к общей шкале. Затем выравниванием предпочтений документ на языке запроса поднимается выше при сохранении относимости.",
      "solutions_en": "Training runs in two stages. First the teacher's scores are transferred from an English pair to its semantic twin in another language, which brings the scores onto a common scale. Then preference alignment raises a document in the query's language while relevance is preserved.",
      "summary": "Переранжировщик, который при равной смысловой относимости ставит выше документ на языке запроса.",
      "summary_en": "A reranker that, at equal semantic relevance, places a document in the query's language higher."
    },
    {
      "aliases": [],
      "attention": 0.375,
      "attention_cohort": "2024",
      "attention_raw": 0.217,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "late_chunking",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "Late Chunking меняет порядок двух шагов, который до него не обсуждался. Обычно документ сначала режется на фрагменты, а затем каждый фрагмент независимо превращается в вектор. Модель, строящая вектор, при этом видит только сам фрагмент и ничего не знает о том, что стояло до и после, поэтому местоимение остаётся неразрешённым, а термин, введённый абзацем выше, воспринимается как незнакомое слово.\n\nПриём переставляет шаги местами. Документ целиком подаётся модели, обрабатывающей длинный вход, и на выходе получаются векторы по каждому токену, то есть по каждой единице разбиения текста. Только после этого проводятся границы фрагментов, и вектор фрагмента получается усреднением векторов его токенов. Поскольку каждый токен обрабатывался в присутствии всего документа, полученный вектор несёт контекст соседних частей, хотя относится к своему участку.\n\nЕдинственное, что требуется, это модель с достаточно длинным входом: документ должен помещаться в неё целиком. Никакого обращения к языковой модели при индексации не нужно, поэтому расход остаётся на уровне обычного построения векторов, а не растёт кратно, как при дописывании приставок. Документ длиннее входа модели приходится делить, и на месте деления приём даёт ровно то же, что дал бы обычный порядок.",
      "description_en": "Late Chunking reverses the order of two steps that had not been questioned before it. Ordinarily a document is first cut into fragments, and each fragment is then turned into a vector independently. The model building the vector sees only the fragment itself and knows nothing of what stood before and after, so a pronoun goes unresolved and a term introduced a paragraph earlier reads as an unfamiliar word.\n\nThe technique swaps the steps. The whole document is given to a model that handles long inputs, and the output is a vector for every token, that is, for every unit into which the text is divided. Only then are fragment boundaries drawn, and a fragment's vector is obtained by averaging the vectors of its tokens. Because each token was processed in the presence of the entire document, the resulting vector carries the context of neighbouring parts while still describing its own stretch.\n\nThe only requirement is a model with a sufficiently long input: the document must fit into it whole. No language model call is needed at indexing time, so the expense stays at the level of ordinary vector construction rather than rising several-fold as it does when prefixes are written. A document longer than the model's input has to be divided, and at the point of division the technique yields exactly what the ordinary order would have yielded.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2409.19773",
          "type": "publication",
          "value": "arXiv:2409.19773 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4403814295",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2024; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2409.04701",
          "type": "publication",
          "value": "arXiv:2409.04701 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4403882995",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=5; year=2024; citation_velocity=0.217",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": "H",
      "first_published": "2024",
      "groups": [
        "A"
      ],
      "id": "late_chunking",
      "kind": "technique",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2409.04701",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Late Chunking",
      "package": null,
      "parse_notes": [
        {
          "code": "A2",
          "did": "Документ сперва целиком пропускается через модель с длинным контекстом, и только потом полученные представления слов режутся на куски. Резка идёт после кодирования, а не до него.",
          "did_en": "The document is first passed whole through a long-context model, and only then are the resulting word representations cut into pieces. The cutting happens after encoding rather than before it.",
          "instead": "«семантическая»: там границы ищут по смыслу, но сам текст режется до кодирования, и кусок теряет окружение.",
          "instead_en": "«semantic»: there boundaries are sought by meaning, but the text itself is cut before encoding, and a piece loses its surroundings.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.04701, метод",
          "source_en": "arXiv:2409.04701, method",
          "technology_id": "late_chunking",
          "to": "late_chunking",
          "why": "Измерение описывает, как получаются куски. Здесь граница проводится по уже вычисленным представлениям, и каждый кусок несёт контекст всего документа — у схемы есть ровно такое значение.",
          "why_en": "The dimension describes how the pieces are obtained. Here the boundary is drawn over already computed representations, and every piece carries the context of the whole document. The schema has exactly such a value."
        }
      ],
      "prose_id": "late_chunking",
      "residual": [],
      "residual_en": [],
      "summary": "Сначала кодирование документа целиком, потом разрезание: каждый фрагмент наследует контекст соседей.",
      "summary_en": "Encode the whole document first, cut afterwards: every fragment inherits the context of its neighbours."
    },
    {
      "aliases": [
        "Light-RAG"
      ],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "episodic",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "LightRAG ставит целью удержать пользу графового представления, отказавшись от главного его расхода. В системах, строящих сообщества и отчёты по ним, добавление одного документа требует пересчёта кластеров и переписывания отчётов, поэтому собрание, которое пополняется, обходится дороже неподвижного.\n\nИзвлечение устроено в два уровня, работающих одновременно. Нижний уровень отвечает на точные вопросы: из запроса выделяются упоминания конкретных сущностей, по ним находятся вершины графа и смежные с ними рёбра. Верхний уровень отвечает на вопросы общего характера: из запроса выделяются обобщённые понятия, которым сопоставлены сводные описания групп вершин. Результаты обоих уровней объединяются в один контекст, поэтому запрос про отдельное имя и запрос про целое явление обслуживаются одной цепочкой обработки, а не двумя.\n\nПополнение собрания устроено дописыванием. Новый документ разбирается в вершины и рёбра, которые добавляются к существующему графу, а описания затрагиваемых групп обновляются точечно. Полного перестроения не происходит, и стоимость добавления не зависит от размера уже накопленного графа. Ценой служит то, что структура графа отражает порядок поступления документов: связь, которую видно только при взгляде на собрание целиком, при пошаговом дописывании может не возникнуть.",
      "description_en": "LightRAG sets out to keep the benefit of a graph representation while giving up its principal cost. In systems that build communities and write reports over them, adding a single document requires recomputing the clusters and rewriting the reports, so a growing collection costs more than a static one.\n\nRetrieval works on two levels at once. The lower level answers precise questions: mentions of specific entities are taken from the query, and the matching graph nodes and their adjacent edges are found. The upper level answers questions of a general nature: broader notions are taken from the query and matched against summary descriptions of groups of nodes. The results of both levels are merged into one context, so a question about a single name and a question about a whole phenomenon are served by one processing chain rather than two.\n\nGrowth of the collection is handled by appending. A new document is parsed into nodes and edges that are added to the existing graph, and the descriptions of the affected groups are updated locally. No full rebuild takes place, and the cost of an addition does not depend on the size of the graph accumulated so far. The price is that the structure of the graph reflects the order in which documents arrived: a connection visible only when the collection is viewed as a whole may never arise under incremental appending.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-05, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-08, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/lightrag-hku/",
          "type": "package_downloads",
          "value": "package=lightrag-hku; version=1.5.6; downloads_last_month=294411",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-09, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/lightrag-hku/",
          "type": "package_downloads",
          "value": "package=lightrag-hku; version=1.5.6; downloads_last_month=295206",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-10, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/lightrag-hku/",
          "type": "package_downloads",
          "value": "package=lightrag-hku; version=1.5.6; downloads_last_month=297589",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-11, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-13, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/lightrag-hku/",
          "type": "package_downloads",
          "value": "package=lightrag-hku; version=1.5.6; downloads_last_month=324649",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-17, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/lightrag-hku/",
          "type": "package_downloads",
          "value": "package=lightrag-hku; version=1.5.6; downloads_last_month=333076",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/LightRAG",
          "type": "repository",
          "value": "HKUDS/LightRAG: license=mit, last_push=2026-08-24, releases=yes",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 13,
      "family": "B",
      "first_published": "2025",
      "groups": [
        "A",
        "C",
        "F"
      ],
      "id": "lightrag",
      "kind": "architecture",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/HKUDS/LightRAG",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "LightRAG",
      "package": "lightrag-hku",
      "parse_notes": [
        {
          "code": "A4",
          "did": "Индекс совмещает граф сущностей и связей с векторными представлениями.",
          "did_en": "The index combines a graph of entities and relations with vector representations.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.05779, метод",
          "source_en": "arXiv:2410.05779, method",
          "technology_id": "lightrag",
          "to": "graph",
          "why": "У индекса есть связность помимо списка.",
          "why_en": "The index has connectivity besides a list."
        },
        {
          "code": "A3",
          "did": "Из текста извлекаются сущности и отношения между ними и хранятся вместе с ним.",
          "did_en": "Entities and the relations between them are extracted from the text and stored alongside it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.05779, метод",
          "source_en": "arXiv:2410.05779, method",
          "technology_id": "lightrag",
          "to": "extracted_triples",
          "why": "Единица индекса несёт добытые из неё утверждения.",
          "why_en": "A unit of the index carries the statements mined from it."
        },
        {
          "code": "C1",
          "did": "Поиск идёт на двух уровнях: по конкретным сущностям и по общим темам, двигаясь по связям.",
          "did_en": "Retrieval runs at two levels: over particular entities and over general topics, moving along the edges.",
          "question": "Два уровня поиска работают одновременно, а не выбираются. Схема хранит один оператор, и двухуровневость в неё не помещается — возможно, это остаток.",
          "question_en": "The two levels of retrieval work at once rather than being chosen between. The schema holds one operator, and the two-level arrangement does not fit into it, so it may be a residual.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.05779, метод",
          "source_en": "arXiv:2410.05779, method",
          "technology_id": "lightrag",
          "to": "graph_traversal",
          "why": "Отбор использует структуру индекса.",
          "why_en": "Selection uses the structure of the index."
        },
        {
          "code": "F1",
          "did": "Новые данные добавляются в индекс без полной пересборки.",
          "did_en": "New data is added to the index without a full rebuild.",
          "instead": "«нет записи обратно»: она означала бы неизменный после построения индекс.",
          "instead_en": "«no write-back»: it would mean an index unchanged after construction.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.05779, метод",
          "source_en": "arXiv:2410.05779, method",
          "technology_id": "lightrag",
          "to": "episodic",
          "why": "Состояние знаний пополняется по ходу, а не строится заново. Это запись обратно.",
          "why_en": "The knowledge state is extended as the system runs rather than built anew. That is write-back."
        },
        {
          "code": "D1",
          "did": "Отдельной ступени пересмотра порядка не описано.",
          "did_en": "No separate stage that revisits the order is described.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.05779, метод",
          "source_en": "arXiv:2410.05779, method",
          "technology_id": "lightrag",
          "to": "none",
          "why": "Порядок задаётся самим поиском.",
          "why_en": "The order is set by retrieval itself."
        },
        {
          "code": "A8",
          "did": "Сущности и отношения извлекаются из текста.",
          "did_en": "Entities and relations are extracted from the text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "lightrag",
          "to": "extracted",
          "why": "Структура добыта из содержания.",
          "why_en": "The structure is mined from the content."
        }
      ],
      "prose_id": "lightrag",
      "residual": [],
      "residual_en": [],
      "summary": "Двухуровневое извлечение из графа: точные сущности и обобщённые темы, с дописыванием новых документов без перестроения.",
      "summary_en": "Two-level graph retrieval, precise entities and general topics at once, with new documents appended rather than rebuilt."
    },
    {
      "aliases": [],
      "attention": 0.134,
      "attention_cohort": "2025",
      "attention_raw": 0.067,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "subquestion_decomposition",
        "B2": "static",
        "C1": "ann",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "multi_agent",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "MA-RAG разделяет обработку вопроса между несколькими исполнителями, каждый из которых занят одной задачей. Довод состоит в том, что единая подсказка, требующая от модели сразу планировать, искать, отбирать и излагать, задаёт ей несколько разнородных задач одновременно, и качество на каждой падает.\n\nИсполнителей четверо, и они вызываются по ходу. Составитель плана разбирает вопрос на подвопросы и назначает их порядок. Поисковый исполнитель переводит подвопрос в запрос к индексу с учётом того, что уже найдено. Исполнитель извлечения читает найденное и выписывает из него только то, что отвечает подвопросу, отбрасывая прочее. Составитель ответа собирает выписанное в связный текст со ссылками на источники. Каждый работает по своей подсказке и видит только нужную ему часть состояния.\n\nРазделение делает ход обработки наблюдаемым: неверный ответ прослеживается до исполнителя, который ошибся, тогда как в единой подсказке ошибка не локализуется. Плата состоит в числе вызовов, потому что каждый подвопрос проходит нескольких исполнителей, и в накоплении ошибки: неверно составленный план уводит всех последующих, а исправить его некому.",
      "description_en": "MA-RAG divides the handling of a question among several agents, each occupied with one task. The argument is that a single prompt requiring the model to plan, search, select, and compose all at once sets it several unlike tasks simultaneously, and quality on each of them falls.\n\nThere are four agents, invoked as the work proceeds. The planner decomposes the question into subquestions and fixes their order. The search agent turns a subquestion into a query against the index, taking into account what has already been found. The extraction agent reads what was retrieved and writes out only what answers the subquestion, discarding the rest. The composer assembles what was written out into connected prose with references to the sources. Each works from its own prompt and sees only the part of the state it needs.\n\nThe division makes the course of processing observable: a wrong answer can be traced to the agent that erred, whereas in a single prompt the error cannot be localised. The price is the number of calls, since every subquestion passes through several agents, and the accumulation of error: a badly drawn plan carries every later stage with it, and there is no one to correct it.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4414588074",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=1; year=2025; citation_velocity=0.067",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2505.20096",
          "type": "publication",
          "value": "arXiv:2505.20096 (2025)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "C",
      "first_published": "2025-05",
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "ma_rag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2505.20096 (исправлено: было 2406.18542 → LiDAR)",
          "label_en": "arXiv:2505.20096 (corrected: was 2406.18542, a LiDAR paper)",
          "status": "verified",
          "url": "https://arxiv.org/abs/2505.20096",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "MA-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Отдельный агент-планировщик разбирает неоднозначный вопрос и раскладывает его на подзадачи до всякого поиска.",
          "did_en": "A separate planner agent takes an ambiguous question apart and lays it out into sub-tasks before any retrieval.",
          "instead": "«многократное переформулирование»: там следующий запрос неизвестен, пока не породится предыдущий шаг.",
          "instead_en": "«repeated reformulation»: there the next query is unknown until the previous step produces it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2505.20096, устройство агентов",
          "source_en": "arXiv:2505.20096, how the agents are arranged",
          "technology_id": "ma_rag",
          "to": "subquestion_decomposition",
          "why": "Запрос делится заранее и сознательно, а не порождается по ходу рассуждения.",
          "why_en": "The query is divided in advance and deliberately rather than produced in the course of reasoning."
        },
        {
          "code": "C2",
          "did": "Сколько раз обращаться к поиску и за чем, решают агенты по ходу, обмениваясь промежуточными рассуждениями.",
          "did_en": "How many times to go to retrieval and for what is decided by the agents as they go, exchanging intermediate reasoning.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2505.20096, устройство агентов",
          "source_en": "arXiv:2505.20096, how the agents are arranged",
          "technology_id": "ma_rag",
          "to": "agentic_open_loop",
          "why": "Ни числа шагов, ни внешнего условия остановки нет — глубину выбирает система.",
          "why_en": "There is neither a step count nor an external stopping condition: the system chooses the depth."
        },
        {
          "code": "E1",
          "did": "Ответ собирают четыре роли: планировщик, определяющий шаги, извлекающий свидетельства и отвечающий.",
          "did_en": "The answer is assembled by four roles: a planner, one that defines the steps, one that retrieves evidence and one that answers.",
          "instead": "«сборка из фрагментов»: там части ответа порождаются одинаково и сводятся, а здесь у каждого агента своя роль.",
          "instead_en": "«assembly from fragments»: there the parts of the answer are produced alike and combined, whereas here each agent has its own role.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2505.20096, устройство агентов",
          "source_en": "arXiv:2505.20096, how the agents are arranged",
          "technology_id": "ma_rag",
          "to": "multi_agent",
          "why": "Синтез распределён по нескольким действующим лицам, а не выполняется одним проходом одной модели.",
          "why_en": "Synthesis is distributed across several actors rather than performed in one pass by one model."
        },
        {
          "code": "D1",
          "did": "Отбором занимается агент-извлекатель; отдельной модели переранжирования не описано.",
          "did_en": "Selection is done by the retriever agent; no separate reranking model is described.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2505.20096, устройство агентов",
          "source_en": "arXiv:2505.20096, how the agents are arranged",
          "technology_id": "ma_rag",
          "to": "none",
          "why": "Ступени пересмотра порядка в работе нет.",
          "why_en": "The work has no stage that revisits the order."
        },
        {
          "code": "E5",
          "did": "Агенты передают друг другу рассуждения, и следующий поиск определяется ими.",
          "did_en": "The agents pass reasoning to one another, and the next retrieval is determined by it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "ma_rag",
          "to": "mutual_loop",
          "why": "Связь двусторонняя.",
          "why_en": "The coupling runs both ways."
        }
      ],
      "prose_id": "ma_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Несколько узких исполнителей вместо одного: планирование, поиск, извлечение сведений и составление ответа разделены.",
      "summary_en": "Several narrow agents instead of one: planning, search, fact extraction, and answer composition are kept apart."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "hyde",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "latent_compression",
        "D3": "natural_order",
        "E1": "draft_verify",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "generation_seeds",
        "F1": "episodic",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "MemoRAG отвечает на вопросы, при которых непонятно, что искать. Поиск устроен так, что запрос должен быть похож на искомое, а вопрос вида «какая мысль проходит через все эти отчёты» ни на один отрезок текста не похож: искомого предложения в собрании нет.\n\nВводится промежуточное звено, названное памятью. Лёгкая языковая модель с длинным входом принимает всё собрание и удерживает его в сжатом виде, огрублённо, без подробностей. По вопросу эта модель порождает черновик ответа: приблизительный, с неточными именами и числами, зато называющий предметы, о которых в собрании речь. Черновик служит не ответом, а поисковым запросом.\n\nПо черновику выполняется обычное извлечение, найденные подлинные фрагменты подаются основной модели, и та порождает окончательный ответ. Схема близка к поиску по вымышленному ответу с той разницей, что черновик здесь порождается не из общих знаний модели, а из сжатого представления самого собрания, и потому называет то, что в нём действительно есть. Плата состоит в удержании этой памяти: она строится по всему собранию и обновляется при его изменении.",
      "description_en": "MemoRAG addresses questions where it is unclear what to search for. Search is built so that the query must resemble what is sought, and a question of the form \"what idea runs through all these reports\" resembles no stretch of the text: the sentence being sought is not in the collection.\n\nAn intermediate stage called memory is introduced. A light language model with a long input takes in the entire collection and holds it in compressed form, coarsely, without particulars. Given a question, this model generates a draft answer: approximate, with inexact names and numbers, but naming the subjects the collection actually discusses. The draft serves not as an answer but as a search query.\n\nOrdinary retrieval is performed on the draft, the genuine fragments found are given to the main model, and it generates the final answer. The scheme is close to search by an invented answer, with the difference that the draft here is generated not from the model's general knowledge but from a compressed view of the collection itself, and therefore names what is really in it. The price is maintaining that memory: it is built over the whole collection and must be refreshed as the collection changes.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/qhjqhj00/MemoRAG",
          "type": "repository",
          "value": "qhjqhj00/MemoRAG: license=apache-2.0, last_push=2025-09-11, releases=yes",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 1,
      "family": "F",
      "first_published": null,
      "groups": [
        "B",
        "D",
        "E",
        "F",
        "G"
      ],
      "id": "memorag",
      "kind": "architecture",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/qhjqhj00/MemoRAG",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "MemoRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Лёгкая модель с длинной памятью сперва пишет черновой ответ, и уже он служит подсказкой поиску по исходной базе.",
          "did_en": "A light model with long memory first writes a draft answer, and that draft serves as the cue for retrieval over the source base.",
          "instead": "«без преобразования»: оно описало бы поиск по вопросу, от которого работа отличается.",
          "instead_en": "«no transformation»: it would describe retrieval on the question, which is what the work differs from.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.05591, метод",
          "source_en": "arXiv:2409.05591, method",
          "technology_id": "memorag",
          "to": "hyde",
          "why": "Поиск ведётся по порождённому тексту, а не по исходному вопросу. Это тот же приём, что у гипотетического документа.",
          "why_en": "Retrieval runs on produced text rather than on the original question. It is the same technique as a hypothetical document."
        },
        {
          "code": "D2",
          "did": "Память о длинном контексте хранится сжатыми внутренними состояниями модели, а не текстом.",
          "did_en": "Memory of the long context is kept as compressed internal states of the model rather than as text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.05591, метод",
          "source_en": "arXiv:2409.05591, method",
          "technology_id": "memorag",
          "to": "latent_compression",
          "why": "Сжатие происходит в пространстве представлений; читаемого пересказа не образуется.",
          "why_en": "Compression happens in the space of representations; no readable retelling is formed."
        },
        {
          "code": "E1",
          "did": "Сперва дешёвая модель пишет черновик, затем дорогая порождает окончательный ответ по найденному.",
          "did_en": "First a cheap model writes a draft, then an expensive one produces the final answer from what was found.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.05591, метод",
          "source_en": "arXiv:2409.05591, method",
          "technology_id": "memorag",
          "to": "draft_verify",
          "why": "Порождение разделено на черновик и итог.",
          "why_en": "Production is split into a draft and a result."
        },
        {
          "code": "G3",
          "did": "Модель памяти обучается подкреплением по качеству итогового ответа.",
          "did_en": "The memory model is trained by reinforcement on the quality of the final answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.05591, метод",
          "source_en": "arXiv:2409.05591, method",
          "technology_id": "memorag",
          "to": "trained_reader",
          "why": "Обучается порождающая сторона, а не поисковик.",
          "why_en": "The producing side is trained rather than the retriever."
        },
        {
          "code": "F1",
          "did": "Память о контексте накапливается по ходу работы.",
          "did_en": "Memory of the context accumulates as the system runs.",
          "question": "Память здесь о текущем длинном контексте, а не о накопленном опыте между сессиями. Возможно, измерение эволюции состояния к ней не относится вовсе.",
          "question_en": "The memory here is of the current long context rather than of experience accumulated between sessions. The state-evolution dimension may not apply to it at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2409.05591, метод",
          "source_en": "arXiv:2409.05591, method",
          "technology_id": "memorag",
          "to": "episodic",
          "why": "Состояние знаний меняется во время работы.",
          "why_en": "The knowledge state changes while the system runs."
        },
        {
          "code": "E5",
          "did": "Лёгкая модель пишет черновик, служащий подсказкой поиску.",
          "did_en": "A light model writes a draft that serves as the cue for retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "memorag",
          "to": "generation_seeds",
          "why": "Порождение задаёт запрос однократно, цикла нет.",
          "why_en": "Production sets the query once, and there is no loop."
        }
      ],
      "prose_id": "memorag",
      "residual": [],
      "residual_en": [],
      "summary": "Черновая память по всему собранию: лёгкая модель хранит его сжатое представление и подсказывает, где искать.",
      "summary_en": "A draft memory of the whole collection: a light model holds a compressed view of it and points to where to search."
    },
    {
      "aliases": [
        "GraphRAG"
      ],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "summary_node",
        "A2": "fixed",
        "A3": "summary",
        "A4": "community_hierarchy",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "computed",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "budget_aware",
        "D3": "hierarchical",
        "E1": "ensemble_fragments",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [
        "A1",
        "A5",
        "C1",
        "E1"
      ],
      "description": "Microsoft GraphRAG строит по всему собранию документов единый граф знаний. Вершинами графа служат сущности, которые большая языковая модель извлекает из текста, а рёбрами служат отношения между этими сущностями. Затем алгоритм кластеризации разбивает граф на сообщества, то есть на группы плотно связанных вершин, и для каждого сообщества модель пишет отчёт с изложением того, о чём это сообщество говорит. Отчёты образуют иерархию: сообщества нижнего уровня объединяются в более крупные, а в корне стоит свод по всему собранию.\n\nСистема отвечает на вопрос одним из трёх способов. Локальный поиск применяется к вопросам об отдельных сущностях: система находит нужную вершину и обходит смежные с ней рёбра, собирая её окрестность. Глобальный поиск применяется к вопросам обо всём собрании сразу, на которые в отдельном документе ответа нет: модель отвечает по каждому отчёту сообщества независимо, после чего частные ответы сводятся в общий. Поиск DRIFT начинается как локальный и постепенно расширяет охват, переходя по рёбрам от найденной окрестности дальше.\n\nПлата за такое устройство вносится заранее. Построение графа требует обращения к языковой модели по каждому фрагменту текста при извлечении сущностей и по каждому сообществу при написании отчёта, поэтому индексация большого собрания обходится дорого и занимает часы. Последующие запросы дёшевы, но всякое изменение документов требует перестроить затронутую часть графа вместе с её отчётами.",
      "description_en": "Microsoft GraphRAG builds a single knowledge graph over the entire document collection. The nodes of the graph are entities that a large language model extracts from the text, and the edges are the relations between those entities. A clustering algorithm then partitions the graph into communities, that is, into groups of densely connected nodes, and for each community the model writes a report stating what that community is about. The reports form a hierarchy: lower-level communities are combined into larger ones, and a summary of the whole collection stands at the root.\n\nThe system answers a question in one of three ways. Local search applies to questions about individual entities: the system locates the relevant node and traverses the edges adjacent to it, gathering its neighbourhood. Global search applies to questions about the collection as a whole, the kind no single document answers: the model responds over each community report independently, and the partial responses are then combined into one. DRIFT search begins as a local search and widens its reach step by step, following edges outward from the neighbourhood it has found.\n\nThe price of this arrangement is paid in advance. Building the graph requires a call to the language model for every text fragment during entity extraction and for every community when its report is written, so indexing a large collection is expensive and takes hours. Subsequent queries are cheap, but any change to the documents requires rebuilding the affected part of the graph together with its reports.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/microsoft/graphrag",
          "type": "repository",
          "value": "microsoft/graphrag: license=mit, last_push=2026-08-05, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://github.com/microsoft/graphrag",
          "type": "industrial_use",
          "value": "Microsoft: выпуски с версионированием и документация поставщика",
          "value_en": "Microsoft: versioned releases and vendor documentation"
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=74263",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://github.com/microsoft/graphrag",
          "type": "repository",
          "value": "microsoft/graphrag: license=mit, last_push=2026-08-09, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2404.16130",
          "type": "publication",
          "value": "arXiv:2404.16130 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=72626",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=70829",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://github.com/microsoft/graphrag",
          "type": "repository",
          "value": "microsoft/graphrag: license=mit, last_push=2026-08-11, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=70720",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://github.com/microsoft/graphrag",
          "type": "repository",
          "value": "microsoft/graphrag: license=mit, last_push=2026-08-14, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=68574",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/graphrag/",
          "type": "package_downloads",
          "value": "package=graphrag; version=3.1.1; downloads_last_month=63376",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://github.com/microsoft/graphrag",
          "type": "repository",
          "value": "microsoft/graphrag: license=mit, last_push=2026-08-24, releases=yes",
          "value_en": null
        }
      ],
      "evidence_basis": "manual",
      "evidence_count": 13,
      "family": "B",
      "first_published": "2024",
      "groups": [
        "A",
        "C",
        "D",
        "E"
      ],
      "id": "msft_graphrag",
      "kind": "architecture",
      "level": "L5",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "manual",
        "missing": [
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2",
          "L3",
          "L4",
          "L5"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/microsoft/graphrag",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2404.16130",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Microsoft GraphRAG",
      "package": "graphrag",
      "parse_notes": [
        {
          "code": "A2",
          "did": "Документы режутся на куски постоянного размера с перекрытием; размер куска обсуждается как размен между числом обращений к модели и полнотой.",
          "did_en": "Documents are cut into pieces of constant size with overlap; the piece size is discussed as a trade-off between the number of model calls and completeness.",
          "instead": "«по структуре»: тогда границы шли бы по заголовкам и разделам.",
          "instead_en": "«by structure»: boundaries would then follow headings and sections.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, построение графа",
          "source_en": "arXiv:2404.16130, graph construction",
          "technology_id": "msft_graphrag",
          "to": "fixed",
          "why": "Границы задаются числом слов, а не структурой документа.",
          "why_en": "Boundaries are set by a word count rather than by the structure of the document."
        },
        {
          "code": "A4",
          "did": "Над графом сущностей строится иерархия сообществ: близкие узлы группируются, группы делятся дальше, пока делятся.",
          "did_en": "A hierarchy of communities is built over the entity graph: close nodes are grouped, and groups are split further while they can be split.",
          "instead": "оставить «граф»: значение существует и описывает структуру подробнее.",
          "instead_en": "leaving «graph»: the value exists and describes the structure in more detail.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, построение графа",
          "source_en": "arXiv:2404.16130, graph construction",
          "technology_id": "msft_graphrag",
          "to": "community_hierarchy",
          "why": "У схемы есть ровно такое значение, и оно точнее общего «графа»: оно сообщает, что у индекса есть уровни.",
          "why_en": "The schema has exactly such a value, and it is more precise than a general «graph»: it reports that the index has levels."
        },
        {
          "code": "C2",
          "did": "Обзорный режим делает один проход по сводкам сообществ; точечный — один проход от найденных сущностей. Повторных заходов, зависящих от предыдущего результата, ни там, ни там нет.",
          "did_en": "The global mode makes one pass over community summaries; the local one makes a single pass from the entities it found. Neither has repeated visits that depend on a previous result.",
          "question": "Третий режим системы по описанию итеративен, но его устройство я по источникам не читал и потому не размечал. Пометка «выбирается на ходу» здесь может понадобиться.",
          "question_en": "The system's third mode is iterative by its description, but I have not read how it works in the sources and therefore did not mark it. A «chosen at run time» mark may turn out to be needed here.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130 и документация обоих режимов",
          "source_en": "arXiv:2404.16130 and the documentation of both modes",
          "technology_id": "msft_graphrag",
          "to": "single_shot",
          "why": "Прежнее значение утверждало многошаговый обход, которого источники не описывают.",
          "why_en": "The former value asserted a multi-step traversal that the sources do not describe."
        },
        {
          "code": "E1",
          "did": "Обзорный режим порождает частичные ответы по сводкам параллельно и затем сводит их в один. Точечный отвечает одним проходом.",
          "did_en": "The global mode produces partial answers from the summaries in parallel and then reduces them into one. The local mode answers in a single pass.",
          "instead": "оставить «один проход»: это описало бы только точечный режим.",
          "instead_en": "leaving «single pass»: that would describe only the local mode.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, обзорный поиск",
          "source_en": "arXiv:2404.16130, global search",
          "technology_id": "msft_graphrag",
          "to": "ensemble_fragments",
          "variable": true,
          "why": "Режимы различаются устройством синтеза, поэтому измерение помечено; записано значение обзорного режима как более полное.",
          "why_en": "The modes differ in how synthesis is arranged, so the dimension is marked; the value of the global mode is recorded as the fuller one."
        },
        {
          "code": "D2",
          "did": "В обоих режимах отобранное добавляется в контекст, пока не кончится место в окне.",
          "did_en": "In both modes what is selected is added to the context until the window runs out of room.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130 и документация обоих режимов",
          "source_en": "arXiv:2404.16130 and the documentation of both modes",
          "technology_id": "msft_graphrag",
          "to": "budget_aware",
          "why": "Предел задан бюджетом окна, а не числом лучших.",
          "why_en": "The limit is set by the window budget rather than by a count of the best."
        },
        {
          "code": "D1",
          "did": "В обзорном режиме порядок сборки задаёт оценка полезности, которую языковая модель выставляет каждому частичному ответу.",
          "did_en": "In the global mode the assembly order is set by a usefulness score that the language model assigns to every partial answer.",
          "instead": "«структурное переранжирование»: структура графа порядок здесь не определяет.",
          "instead_en": "«structural reranking»: the structure of the graph does not determine the order here.",
          "question": "Документация точечного режима говорит, что кандидаты «приоритизируются», но чем именно — не раскрывает. Значение «нет» может оказаться неполным.",
          "question_en": "The documentation of the local mode says candidates are «prioritised» but does not disclose by what. The value «none» may prove incomplete.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, обзорный поиск",
          "source_en": "arXiv:2404.16130, global search",
          "technology_id": "msft_graphrag",
          "to": "none",
          "why": "Это не структура графа и не отдельная модель переранжирования, поэтому ни одно из значений измерения не подходит, и оно остаётся пустым.",
          "why_en": "That is neither the structure of the graph nor a separate reranking model, so none of the dimension's values fits and it stays empty."
        },
        {
          "code": "A5",
          "did": "Точечный режим находит входные сущности по смысловой близости, то есть по векторам. Обзорный не использует их вовсе — он берёт все сводки уровня.",
          "did_en": "The local mode finds entry entities by semantic closeness, that is by vectors. The global mode does not use them at all and takes every summary of a level.",
          "instead": "«нет модели представления»: я поставил это значение первым, разобрав систему по статье об обзорном режиме, и отверг, когда прочитал документацию точечного.",
          "instead_en": "«no representation model»: I set that value first, having parsed the system from the paper about the global mode, and rejected it once I read the documentation of the local one.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация точечного поиска",
          "source_en": "documentation of local search",
          "technology_id": "msft_graphrag",
          "to": "dense_single",
          "variable": true,
          "why": "Режимы различаются, поэтому измерение помечено; записано значение того режима, где представления есть.",
          "why_en": "The modes differ, so the dimension is marked; the value of the mode that does have representations is recorded."
        },
        {
          "code": "C1",
          "did": "Точечный режим идёт от найденных сущностей по связям — к смежным сущностям, отношениям и отчётам сообществ. Обзорный берёт уровень иерархии целиком, без всякого поиска.",
          "did_en": "The local mode moves from the entities it found along the edges, to adjacent entities, relations and community reports. The global mode takes a whole level of the hierarchy, without any search.",
          "instead": "«навигация по дереву»: я поставил это значение первым по статье об обзорном режиме и отверг по той же причине.",
          "instead_en": "«tree navigation»: I set that value first from the paper about the global mode and rejected it for the same reason.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация точечного поиска",
          "source_en": "documentation of local search",
          "technology_id": "msft_graphrag",
          "to": "graph_traversal",
          "variable": true,
          "why": "Режимы различаются, поэтому измерение помечено; записан обход графа как более содержательный из двух.",
          "why_en": "The modes differ, so the dimension is marked; graph traversal is recorded as the more substantial of the two."
        },
        {
          "code": "A1",
          "did": "Обзорный режим работает со сводками сообществ; точечный собирает и сущности, и отношения, и исходные куски текста.",
          "did_en": "The global mode works with community summaries; the local one collects entities, relations and the source pieces of text alike.",
          "instead": "«пассаж»: он есть в точечном режиме, но не отличает эту систему ни от чего.",
          "instead_en": "«passage»: it is present in the local mode but distinguishes this system from nothing.",
          "question": "Выбор в пользу сводки — суждение о том, что в системе главное, а не вывод из источника.",
          "question_en": "Choosing the summary is a judgement about what matters most in the system rather than a conclusion drawn from the source.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130 и документация обоих режимов",
          "source_en": "arXiv:2404.16130 and the documentation of both modes",
          "technology_id": "msft_graphrag",
          "to": "summary_node",
          "variable": true,
          "why": "Единица здесь смешанная. Записана сводка — то, чем эта система отличается от прочих.",
          "why_en": "The unit here is mixed. The summary is recorded, that being what distinguishes this system from the rest."
        },
        {
          "code": "A3",
          "did": "Сводки сообществ порождаются заранее, на этапе построения индекса, а не в ответ на запрос.",
          "did_en": "Community summaries are produced in advance, while the index is being built, rather than in response to a query.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, построение графа",
          "source_en": "arXiv:2404.16130, graph construction",
          "technology_id": "msft_graphrag",
          "to": "summary",
          "why": "Единица индекса несёт добавленный к ней пересказ.",
          "why_en": "A unit of the index carries a retelling attached to it."
        },
        {
          "code": "D3",
          "did": "Материал в контекст складывается по уровням иерархии сообществ.",
          "did_en": "Material is laid into the context by the levels of the community hierarchy.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130, обзорный поиск",
          "source_en": "arXiv:2404.16130, global search",
          "technology_id": "msft_graphrag",
          "to": "hierarchical",
          "why": "Порядок задан структурой индекса.",
          "why_en": "The order is set by the structure of the index."
        },
        {
          "code": "G3",
          "did": "Ничего не обучается: языковая модель применяется подсказками на всех этапах, включая построение графа.",
          "did_en": "Nothing is trained: the language model is applied by prompting at every stage, including the construction of the graph.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2404.16130 и документация обоих режимов",
          "source_en": "arXiv:2404.16130 and the documentation of both modes",
          "technology_id": "msft_graphrag",
          "to": "frozen",
          "why": "Обучения в системе нет.",
          "why_en": "There is no training in the system."
        },
        {
          "did": "Система предлагает несколько режимов работы, и они различаются значениями измерений, а запись в реестре одна.",
          "did_en": "The system offers several operating modes, they differ in the values of dimensions, and the registry holds one record.",
          "residual": "multiple_modes_one_record",
          "residual_term": "несколько режимов работы с разной конфигурацией",
          "residual_term_en": "several operating modes with differing configurations",
          "source": "документация обоих режимов",
          "source_en": "documentation of both modes",
          "technology_id": "msft_graphrag",
          "why": "Запись — точка конфигурационного пространства. Система с режимами занимает несколько точек, и объединение подтверждённого описывает её приблизительно.",
          "why_en": "A record is a point in the configuration space. A system with modes occupies several points, and the union of what is confirmed describes it approximately."
        },
        {
          "did": "Каждому частичному ответу языковая модель сама выставляет оценку полезности, и по этим оценкам ответы выстраиваются перед сведением.",
          "did_en": "The language model itself assigns a usefulness score to every partial answer, and the answers are ordered by those scores before being reduced.",
          "residual": "llm_scored_partial_answers",
          "residual_term": "оценка полезности частичных ответов моделью",
          "residual_term_en": "model-scored usefulness of partial answers",
          "source": "arXiv:2404.16130, обзорный поиск",
          "source_en": "arXiv:2404.16130, global search",
          "technology_id": "msft_graphrag",
          "why": "Порядок задан суждением модели, а не структурой индекса и не отдельной моделью переранжирования. Ни одно значение переранжирования этого не описывает.",
          "why_en": "The order is set by the model's own judgement rather than by the structure of the index or a separate reranking model. No value of reranking describes this."
        },
        {
          "code": "A8",
          "did": "Сообщества выделяются алгоритмом кластеризации, применяемым рекурсивно до неделимых.",
          "did_en": "Communities are found by a clustering algorithm applied recursively down to the indivisible.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "msft_graphrag",
          "to": "computed",
          "why": "Структура вычислена, а не задана источником.",
          "why_en": "The structure is computed rather than given by the source."
        }
      ],
      "prose_id": "msft_graphrag",
      "residual": [
        "несколько режимов работы с разной конфигурацией",
        "оценка полезности частичных ответов моделью"
      ],
      "residual_en": [
        "several operating modes with differing configurations",
        "model-scored usefulness of partial answers"
      ],
      "summary": "Единый граф знаний по всему собранию документов, разбитый на сообщества, с готовым отчётом по каждому сообществу.",
      "summary_en": "A single knowledge graph over the whole collection, partitioned into communities, with a ready report for each one."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Multi-Query Retrieval отвечает на хрупкость поиска по единственной формулировке. Векторное представление зависит от выбранных слов, и два способа спросить об одном и том же дают разные векторы, а значит и разные результаты. Документ, отвечающий на вопрос, но написанный другими словами, при одной формулировке не находится, и о том, что он существовал, система не узнаёт.\n\nПриём состоит в том, чтобы не полагаться на одну формулировку. Языковая модель переписывает исходный вопрос несколькими способами, меняя слова и угол зрения, но сохраняя смысл. Поиск выполняется по каждой формулировке отдельно, и полученные списки объединяются в один, причём повторы схлопываются.\n\nВыигрыш достигается за счёт полноты: документ, найденный хотя бы одной формулировкой, попадает в общий список. Проигрыш лежит в точности, потому что вместе с недостающим приходит и лишнее, а объединение без взвешивания уравнивает документ, найденный всеми формулировками, с документом, найденным одной. Приём поэтому обычно ставят перед переранжированием, которое восстанавливает порядок. Расход складывается из одного вызова модели и нескольких обращений к индексу вместо одного.",
      "description_en": "Multi-Query Retrieval answers the fragility of search on a single formulation. A vector representation depends on the words chosen, and two ways of asking the same thing yield different vectors and therefore different results. A document that answers the question but is written in other words is not found under one formulation, and the system never learns that it existed.\n\nThe technique is to avoid relying on a single formulation. A language model rewrites the original question in several ways, varying the words and the angle while preserving the meaning. Search is performed on each formulation separately, and the resulting lists are merged into one, with duplicates collapsed.\n\nThe gain is in recall: a document found by even one formulation reaches the combined list. The loss is in precision, because the superfluous arrives along with the missing, and an unweighted merge puts a document found by every formulation on the same footing as one found by a single formulation. The technique is therefore usually placed ahead of reranking, which restores the ordering. It costs one model call and several consultations of the index instead of one.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://api.github.com/repos/langchain-ai/langchain",
          "type": "framework_presence",
          "value": "frameworks=LangChain",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 1,
      "family": "G",
      "first_published": null,
      "groups": [
        "B",
        "C"
      ],
      "id": "multi_query",
      "kind": "technique",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://python.langchain.com/docs/modules/data_connection/retrievers/MultiQueryRetriever",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Multi-Query Retrieval",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Из одного вопроса порождается несколько переформулировок, и поиск идёт по каждой.",
          "did_en": "Several reformulations are produced from one question, and retrieval runs on each.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация LangChain, MultiQueryRetriever",
          "source_en": "LangChain documentation, MultiQueryRetriever",
          "technology_id": "multi_query",
          "to": "multi_reformulation",
          "why": "Запрос размножается до обращения к индексу.",
          "why_en": "The query is multiplied before the call to the index."
        },
        {
          "code": "C3",
          "did": "Найденное по разным переформулировкам сливается в один список.",
          "did_en": "What is found by the different reformulations is merged into one list.",
          "question": "Слияние по рангам — распространённая реализация приёма, но не единственная возможная; библиотеки допускают и простое объединение.",
          "question_en": "Fusion by rank is a widespread implementation of the technique but not the only possible one; libraries also allow a plain union.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация LangChain, MultiQueryRetriever",
          "source_en": "LangChain documentation, MultiQueryRetriever",
          "technology_id": "multi_query",
          "to": "rrf",
          "why": "Результаты нескольких поисков надо свести, и слияние здесь по рангам.",
          "why_en": "The results of several retrievals have to be brought together, and the fusion here is by rank."
        }
      ],
      "prose_id": "multi_query",
      "residual": [],
      "residual_en": [],
      "summary": "Один вопрос переписывается в несколько формулировок, поиск идёт по каждой, результаты объединяются.",
      "summary_en": "One question is rewritten into several formulations, each is searched, and the results are merged."
    },
    {
      "aliases": [],
      "attention": 1.964,
      "attention_cohort": null,
      "attention_raw": 1.964,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "vision_language",
        "A6": "snapshot",
        "A7": "image",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "joint_training"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "MuRAG снимает разделение между текстом и изображением в извлечении. Обычная система хранит их порознь, и вопрос, ответ на который складывается из подписи и самого снимка, обслуживается двумя несвязанными поисками с ручной сшивкой результатов.\n\nПамять здесь одна. Изображения и отрезки текста кодируются в общее пространство представлений моделью, обученной сопоставлять то и другое, поэтому снимок и описывающий его абзац оказываются рядом по построению. Поиск выполняется по этому общему пространству, и выдача содержит записи обеих модальностей вперемешку, упорядоченные по одной шкале близости.\n\nПорождающая модель принимает найденное как есть, не требуя предварительного перевода изображения в текст, поэтому сведения, которые словами не выражаются, доходят до ответа. Ограничения происходят от общего пространства: его качество определяет всё, а обучение такого пространства требует большого набора согласованных пар изображения и текста. Область, для которой таких пар мало, обслуживается заметно хуже.",
      "description_en": "MuRAG removes the separation between text and image in retrieval. An ordinary system keeps them apart, and a question whose answer is assembled from a caption and the picture itself is served by two unconnected searches with the results stitched together by hand.\n\nHere the memory is one. Images and stretches of text are encoded into a shared representation space by a model trained to match the two, so a picture and the paragraph describing it end up close together by construction. Search runs over that shared space, and the results contain records of both modalities intermixed, ordered on a single scale of closeness.\n\nThe generating model takes what is found as it stands, requiring no prior conversion of the image into text, so information that words do not express reaches the answer. The limitations come from the shared space: its quality decides everything, and training such a space requires a large set of matched image and text pairs. A field with few such pairs is served noticeably worse.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2210.02928",
          "type": "publication",
          "value": "arXiv:2210.02928 (2022)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385573236",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=104; year=2022; citation_velocity=1.891",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4303649072",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=9; year=2022; citation_velocity=0.196",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385573236",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=105; year=2022; citation_velocity=1.909",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4385573236",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=108; year=2022; citation_velocity=1.964",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": "E",
      "first_published": "2022",
      "groups": [
        "A",
        "G"
      ],
      "id": "murag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2210.02928",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "MuRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A7",
          "did": "Внешняя память содержит и изображения, и тексты; прежние работы этого рода умели искать только по тексту.",
          "did_en": "The external memory holds both images and texts; earlier works of this kind could search text only.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.02928, постановка",
          "source_en": "arXiv:2210.02928, problem statement",
          "technology_id": "murag",
          "to": "image",
          "why": "Модальность индексируемого материала перестала быть только текстовой — в этом вклад работы.",
          "why_en": "The modality of the indexed material has stopped being textual alone, and that is the contribution of the work."
        },
        {
          "code": "A5",
          "did": "Представления памяти строит модель, обученная на парах «изображение — текст» совместной функцией потерь.",
          "did_en": "Memory representations are built by a model trained on image-text pairs with a joint loss.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.02928, предобучение",
          "source_en": "arXiv:2210.02928, pre-training",
          "technology_id": "murag",
          "to": "vision_language",
          "why": "Одна модель представляет обе модальности в общем пространстве.",
          "why_en": "One model represents both modalities in a shared space."
        },
        {
          "code": "G3",
          "did": "Кодировщик памяти и генератор обучаются вместе, одной смесью задач: сопоставление и порождение.",
          "did_en": "The memory encoder and the generator are trained together, on one mixture of tasks: matching and production.",
          "instead": "«обучаемый поисковик»: он описал бы обучение только одной стороны.",
          "instead_en": "«trainable retriever»: it would describe the training of one side only.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.02928, предобучение",
          "source_en": "arXiv:2210.02928, pre-training",
          "technology_id": "murag",
          "to": "joint_training",
          "why": "Обучаются обе стороны сразу, а не одна из них.",
          "why_en": "Both sides are trained at once rather than one of them."
        },
        {
          "code": "D1",
          "did": "Отдельной ступени переранжирования в работе не описано.",
          "did_en": "No separate reranking stage is described in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.02928, метод",
          "source_en": "arXiv:2210.02928, method",
          "technology_id": "murag",
          "to": "none",
          "why": "Найденное подаётся генератору напрямую.",
          "why_en": "What is found is handed to the generator directly."
        }
      ],
      "prose_id": "murag",
      "residual": [],
      "residual_en": [],
      "summary": "Единая память из текста и изображений: извлечение идёт по обеим модальностям сразу.",
      "summary_en": "A single memory of text and images: retrieval runs over both modalities at once."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Naive Dense описывает простейшую работоспособную цепочку извлечения с порождением и служит точкой отсчёта для всего остального. Документы режутся на фрагменты постоянной длины, каждый фрагмент превращается в один вектор, векторы кладутся в указатель приближённого поиска ближайших соседей. Запрос превращается в вектор тем же способом, из указателя берутся k ближайших фрагментов, они подаются языковой модели вместе с вопросом, и та порождает ответ.\n\nНи одного решения сверх необходимого здесь не принимается: запрос не переписывается, найденное не переранжируется, обоснованность не проверяется, состояние между запросами не сохраняется. Именно поэтому такая цепочка и нужна: она задаёт базовую конфигурацию, относительно которой измеряется вклад любого приёма.\n\nСлабые места её известны и порождают почти все остальные записи реестра. Граница фрагмента проходит произвольно и разрывает мысль. Один вектор на фрагмент размывает содержание длинного отрезка. Вопрос и документ сравниваются между собой, хотя написаны по-разному. Обращение к указателю однократно, поэтому вопрос, требующий двух шагов, остаётся без ответа. Ответ ничем не проверяется на опору в найденном.",
      "description_en": "Naive Dense describes the simplest workable retrieval-and-generation chain and serves as the reference point for everything else. Documents are cut into fragments of constant length, each fragment is turned into a single vector, and the vectors are placed in an approximate nearest neighbour index. The query is turned into a vector the same way, the k nearest fragments are taken from the index, they are given to a language model along with the question, and the model generates an answer.\n\nNot a single decision beyond the necessary is made here: the query is not rewritten, what is found is not reranked, groundedness is not checked, and no state is kept between queries. That is exactly why such a chain is needed: it fixes the base configuration against which the contribution of any technique is measured.\n\nIts weak points are known and give rise to almost every other record in the registry. A fragment boundary falls arbitrarily and cuts a thought in half. One vector per fragment blurs the content of a long stretch. Question and document are compared with each other though written differently. The index is consulted once, so a question requiring two steps goes unanswered. The answer is checked against the retrieved material by nothing at all.",
      "evidence": [
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2004.04906",
          "type": "publication",
          "value": "venue=EMNLP 2020 11; peer_reviewed=true; citations_semantic_scholar=6517; year=2020",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2004.04906",
          "type": "publication",
          "value": "arXiv:2004.04906 (2020)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2004.04906",
          "type": "publication",
          "value": "venue=EMNLP 2020 11; peer_reviewed=true; citations_semantic_scholar=6596; year=2020",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2004.04906",
          "type": "publication",
          "value": "venue=EMNLP 2020 11; peer_reviewed=true; citations_semantic_scholar=6661; year=2020",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": null,
      "groups": [
        "A",
        "C"
      ],
      "id": "naive_dense",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2004.04906",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "Naive Dense",
      "package": null,
      "parse_notes": [
        {
          "code": "A5",
          "did": "Каждый пассаж кодируется одним вектором, вопрос тоже, и поиск идёт по близости этих векторов.",
          "did_en": "Every passage is encoded as a single vector, the question likewise, and retrieval runs by closeness of those vectors.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.04906, метод",
          "source_en": "arXiv:2004.04906, method",
          "technology_id": "naive_dense",
          "to": "dense_single",
          "why": "Это базовая точка отсчёта конфигурационного пространства: запись существует, чтобы остальным было от чего отличаться.",
          "why_en": "This is the base point of the configuration space: the record exists so that the rest have something to differ from."
        },
        {
          "code": "C1",
          "did": "Отбор ведётся приближённым поиском ближайших соседей.",
          "did_en": "Selection is done by approximate nearest-neighbour search.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2004.04906, метод",
          "source_en": "arXiv:2004.04906, method",
          "technology_id": "naive_dense",
          "to": "ann",
          "why": "Оператор поиска базовый.",
          "why_en": "The search operator is the base one."
        }
      ],
      "prose_id": "naive_dense",
      "residual": [],
      "residual_en": [],
      "summary": "Простейшая полная цепочка: фрагменты постоянной длины, один вектор на фрагмент, первые k по близости.",
      "summary_en": "The simplest complete chain: fixed-length fragments, one vector each, top k by closeness."
    },
    {
      "aliases": [
        "neuro-symbolic"
      ],
      "attention": 0.143,
      "attention_cohort": null,
      "attention_raw": 0.143,
      "barriers": "Общее препятствие состоит в том, что непрерывные представления и дискретный вывод устроены по-разному, и мост между ними приходится строить, а не брать готовым.\n\nЛогический вывод на больших графах разрастается по числу вариантов чрезвычайно быстро. Онтологию либо граф знаний надо построить и согласовать с текстовым собранием, а это либо ручной труд, либо дорогое извлечение языковой моделью. Общепринятого способа соединить поиск по близости представлений с запросами на языках описания знаний нет. Наконец, смешанное решение трудно отлаживать, потому что ошибка бывает и в поиске, и в выводе, и в переходе между ними.",
      "barriers_en": "The common obstacle is that continuous representations and discrete inference are built differently, so the bridge between them must be constructed rather than taken ready-made.\n\nLogical inference over large graphs expands in the number of alternatives extremely fast. An ontology or knowledge graph must be built and reconciled with the text collection, which means either manual labour or expensive extraction by a language model. There is no accepted way to join search by closeness of representations to queries in knowledge description languages. Finally, a mixed solution is hard to debug, because an error can lie in the search, in the inference, or in the passage between them.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "graph",
        "A5": "symbolic",
        "A6": "snapshot",
        "A7": "image",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "graph_structural",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "multi_agent",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7119757052",
          "type": "publication",
          "value": "venue=Maryland Shared Open Access Repository (USMAI Consortium); peer_reviewed=true; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2601.04568",
          "type": "publication",
          "value": "arXiv:2601.04568 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7119757052",
          "type": "publication",
          "value": "venue=Open MIND; peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7119922069",
          "type": "publication",
          "value": "venue=IEEE Intelligent Systems; peer_reviewed=true; cited_by=1; year=2026; citation_velocity=0.143",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2026-01",
      "groups": [
        "A",
        "C",
        "D",
        "G"
      ],
      "id": "neuro_symbolic_rag",
      "kind": "paradigm",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "Neurosymbolic Retrievers for RAG (arXiv:2601.04568, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2601.04568",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Hyper-RAG (Nature Communications, 2026, +12.3% acc.)",
          "label_en": null,
          "status": "verified",
          "url": "https://www.nature.com/articles/s41467-026-71411-1",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Neurosymbolic AI 2026 (kyield)",
          "label_en": null,
          "status": "verified",
          "url": "https://kyield.substack.com/p/neurosymbolic-ai-2026",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "NODES 2026 (Neo4j/Kipon)",
          "label_en": null,
          "status": "verified",
          "url": "https://www.youtube.com/watch?v=rGrdYOORLc4",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранние работы и первые прототипы. Внимание исследователей растёт резко: число работ по запросу о нейросимволическом искусственном интеллекте в Google Scholar выросло примерно со ста двенадцати до девяти тысяч пятидесяти за 2025 и 2026 годы.",
      "maturity_note_en": "Early work and first prototypes. Research attention is rising sharply: the number of Google Scholar results for neurosymbolic artificial intelligence grew from roughly one hundred and twelve to roughly nine thousand and fifty over 2025 and 2026.",
      "name": "Neuro-Symbolic RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Рядом с нейросетевым поиском работает граф знаний — символьная часть системы.",
          "did_en": "A knowledge graph works alongside neural retrieval as the symbolic part of the system.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2601.04568, метод",
          "source_en": "arXiv:2601.04568, method",
          "technology_id": "neuro_symbolic_rag",
          "to": "graph",
          "why": "Индекс включает связную структуру.",
          "why_en": "The index includes a connected structure."
        },
        {
          "code": "A5",
          "did": "Представление совмещает векторы с явными символьными признаками, и работа ценит это за объяснимость.",
          "did_en": "The representation combines vectors with explicit symbolic features, and the work values that for explainability.",
          "question": "Представление на деле смешанное: векторы уточняются символьными признаками. Схема хранит одно значение, и выбор в пользу символьного — суждение о том, что в работе главное.",
          "question_en": "The representation is in fact mixed: vectors are refined by symbolic features. The schema holds one value, and choosing the symbolic one is a judgement about what matters most in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2601.04568, метод",
          "source_en": "arXiv:2601.04568, method",
          "technology_id": "neuro_symbolic_rag",
          "to": "symbolic",
          "why": "Символьная часть здесь не вспомогательная, а определяющая.",
          "why_en": "The symbolic part here is decisive rather than auxiliary."
        },
        {
          "code": "C1",
          "did": "Один из предложенных способов обогащает запрос обходом графа знаний.",
          "did_en": "One of the proposed ways enriches the query by traversing the knowledge graph.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2601.04568, метод",
          "source_en": "arXiv:2601.04568, method",
          "technology_id": "neuro_symbolic_rag",
          "to": "graph_traversal",
          "why": "Отбор использует структуру.",
          "why_en": "Selection uses the structure."
        },
        {
          "code": "D1",
          "did": "Найденное переупорядочивается по проверенным рабочим правилам предметной области.",
          "did_en": "What is found is reordered by verified working rules of the domain.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2601.04568, метод",
          "source_en": "arXiv:2601.04568, method",
          "technology_id": "neuro_symbolic_rag",
          "to": "graph_structural",
          "why": "Порядок задаётся структурой знания, а не отдельной оценивающей моделью.",
          "why_en": "The order is set by the structure of knowledge rather than by a separate scoring model."
        },
        {
          "code": "G3",
          "did": "Обучаются сети, уточняющие представление запроса символьными признаками.",
          "did_en": "The networks that refine the query representation with symbolic features are trained.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2601.04568, метод",
          "source_en": "arXiv:2601.04568, method",
          "technology_id": "neuro_symbolic_rag",
          "to": "trained_retriever",
          "why": "Обучаемая часть относится к поисковой стороне.",
          "why_en": "The trained part belongs to the retrieval side."
        }
      ],
      "problem": "Обычное извлечение непрозрачно и ограничено сходством. Отбор объяснить нечем: система не сообщает, почему выбран именно этот документ, и логического вывода не делает вовсе.\n\nНа вопросах о причинах и на вопросах, ответ на которые собирается по цепочке, это оборачивается вымыслом: проверяемого рассуждения нет, а правдоподобие ответа его не заменяет.",
      "problem_en": "Ordinary retrieval is opaque and bounded by similarity. There is nothing by which to explain a selection: the system does not state why this particular document was chosen, and it performs no logical inference at all.\n\nOn questions about causes, and on questions whose answer is assembled along a chain, this turns into invention: there is no checkable reasoning, and the plausibility of an answer is no substitute for it.",
      "prose_id": "neuro_symbolic_rag",
      "residual": [],
      "residual_en": [],
      "solutions": "Извлекатели, выдающие след рассуждения по графу знаний, обосновывают каждый шаг отбора и делают его проверяемым.\n\nСближение с графовым извлечением превращает граф знаний в символьный слой, поверх которого работает поиск по представлениям. Промышленные установки уже существуют: Kipon и Neo4j показали такое извлечение на конференции NODES 2026. Подход Hyper-RAG на гиперграфах, опубликованный в Nature Communications, дал прирост точности на двенадцать целых три десятых процента.",
      "solutions_en": "Retrievers that emit a trace of their reasoning over a knowledge graph justify every selection step and make it checkable.\n\nConvergence with graph retrieval turns the knowledge graph into a symbolic layer over which representation search operates. Production deployments already exist: Kipon and Neo4j demonstrated such retrieval at the NODES 2026 conference. The Hyper-RAG approach over hypergraphs, published in Nature Communications, yielded an accuracy gain of twelve point three percent.",
      "summary": "Соединение поиска по представлениям с логическим выводом: каждый шаг отбора обоснован правилом, а не сходством.",
      "summary_en": "Representation search joined to logical inference: every selection step is justified by a rule rather than by similarity."
    },
    {
      "aliases": [],
      "attention": 1.578,
      "attention_cohort": "2025",
      "attention_raw": 0.789,
      "confidence": 1.0,
      "configuration": {
        "A1": "node_edge",
        "A2": "fixed",
        "A3": "none",
        "A4": "hypergraph",
        "A5": "lexical",
        "A6": "snapshot",
        "A7": "text",
        "A8": "given",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "set_cover",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "OG-RAG опирается на онтологию, то есть на заданное экспертами формальное описание понятий предметной области и допустимых отношений между ними. Отличие от графа, извлечённого языковой моделью из текста, состоит в источнике структуры: онтологию пишет человек, знающий область, и она задаёт, какие утверждения в этой области вообще имеют смысл.\n\nДокументы собрания раскладываются по понятиям онтологии, и извлечение работает не по сходству векторных представлений, а по отношениям, которые онтология объявила. Отбор нужного описан как задача покрытия множества: система ищет наименьший набор фактов, покрывающий все понятия, затронутые запросом. Это отсекает повторяющиеся сведения, потому что второй факт о том же понятии покрытие не расширяет.\n\nОтвет проверяется на согласие с онтологией до того, как будет показан. Утверждение, противоречащее объявленным отношениям, отбрасывается, поэтому обоснованность здесь опирается на явные правила, а не на суждение языковой модели о самой себе. Плата состоит в том, что онтологию нужно иметь: там, где её нет, метод неприменим, а там, где она неполна, верное утверждение может быть отброшено как противоречащее.",
      "description_en": "OG-RAG rests on an ontology, that is, on a formal description, written by domain experts, of the notions of a field and the relations admissible between them. What sets it apart from a graph extracted from text by a language model is the origin of the structure: an ontology is written by someone who knows the field, and it fixes which statements in that field are meaningful at all.\n\nThe documents of the collection are laid out against the notions of the ontology, and retrieval proceeds by the relations the ontology declares rather than by similarity of vector representations. Selecting what is needed is posed as a set cover problem: the system looks for the smallest set of facts covering every notion the query touches. This cuts out repeated material, because a second fact about the same notion does not extend the cover.\n\nThe answer is checked for agreement with the ontology before it is shown. A statement contradicting the declared relations is discarded, so groundedness here rests on explicit rules rather than on a language model's judgement of itself. The price is that an ontology must exist: where there is none the method does not apply, and where it is incomplete a correct statement may be discarded as contradictory.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2412.15235",
          "type": "publication",
          "value": "arXiv:2412.15235 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416035296",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=13; year=2025; citation_velocity=0.684",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4405713859",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=4; year=2024; citation_velocity=0.2",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416035296",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=14; year=2025; citation_velocity=0.737",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4416035296",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=15; year=2025; citation_velocity=0.789",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": "B",
      "first_published": "2025",
      "groups": [
        "A",
        "C",
        "D"
      ],
      "id": "og_rag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2412.15235",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "OG-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Документы области представляются структурой, где одна связь объединяет сразу группу фактов, собранных по онтологии предметной области.",
          "did_en": "Domain documents are represented by a structure where one edge joins a whole group of facts, gathered according to a domain ontology.",
          "instead": "«граф»: он предполагает связи между парами, а здесь связь охватывает целый пучок фактов.",
          "instead_en": "«graph»: it presupposes edges between pairs, whereas here an edge spans a whole bundle of facts.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.15235, метод",
          "source_en": "arXiv:2412.15235, method",
          "technology_id": "og_rag",
          "to": "hypergraph",
          "why": "Связь соединяет не пару узлов, а множество. У схемы есть значение с этим именем, и оно точнее обычного графа.",
          "why_en": "An edge joins not a pair of nodes but a set. The schema has a value under that name, and it is more precise than an ordinary graph."
        },
        {
          "code": "A1",
          "did": "Извлекаются эти самые групповые связи, а не куски текста.",
          "did_en": "What is retrieved are those very group edges rather than pieces of text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.15235, метод",
          "source_en": "arXiv:2412.15235, method",
          "technology_id": "og_rag",
          "to": "node_edge",
          "why": "Единица извлечения — фрагмент структуры.",
          "why_en": "The retrieval unit is a fragment of structure."
        },
        {
          "code": "C1",
          "did": "Отбор идёт по структуре связей.",
          "did_en": "Selection proceeds over the structure of edges.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.15235, метод",
          "source_en": "arXiv:2412.15235, method",
          "technology_id": "og_rag",
          "to": "graph_traversal",
          "why": "Ответ собирается движением по ней, а не сравнением представлений.",
          "why_en": "The answer is assembled by moving along it rather than by comparing representations."
        },
        {
          "code": "D1",
          "did": "Алгоритм выбирает наименьший набор связей, покрывающий вопрос: лишнее не берётся.",
          "did_en": "The algorithm picks the smallest set of edges that covers the question: nothing superfluous is taken.",
          "instead": "«перекрёстный кодировщик»: он менял бы порядок, а здесь решается, что вообще включить.",
          "instead_en": "«cross-encoder»: it would change the order, whereas here what is decided is what to include at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.15235, метод",
          "source_en": "arXiv:2412.15235, method",
          "technology_id": "og_rag",
          "to": "set_cover",
          "why": "Отбор ставит задачу покрытия, а не пересчёта порядка. У схемы есть ровно такое значение.",
          "why_en": "Selection poses a covering problem rather than a recomputation of order. The schema has exactly such a value."
        },
        {
          "code": "D2",
          "did": "Контекст ограничивается минимальным достаточным набором.",
          "did_en": "The context is bounded by the minimal sufficient set.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2412.15235, метод",
          "source_en": "arXiv:2412.15235, method",
          "technology_id": "og_rag",
          "to": "budget_aware",
          "why": "Отбор идёт от достаточности, а не от числа лучших.",
          "why_en": "Selection proceeds from sufficiency rather than from a count of the best."
        },
        {
          "code": "A8",
          "did": "Группы фактов собраны по онтологии предметной области, заданной заранее.",
          "did_en": "The groups of facts are gathered by a domain ontology given in advance.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "og_rag",
          "to": "given",
          "why": "Структура взята из источника: онтологию не выводили из корпуса, её принесли извне.",
          "why_en": "The structure is taken from a source: the ontology was not derived from the corpus, it was brought in from outside."
        }
      ],
      "prose_id": "og_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Извлечение поверх онтологии предметной области с проверкой ответа на соответствие её правилам.",
      "summary_en": "Retrieval over a domain ontology, with the answer checked against its rules."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "multiple_local",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [
        "E1",
        "E2",
        "E3",
        "E4",
        "B1",
        "B2"
      ],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "OpenSearch представляет собой открытую поисковую систему, ответвившуюся от Elasticsearch и развиваемую отдельно. Для извлечения она существенна тем, что держит в одном хранилище оба вида поиска, которые иначе пришлось бы разносить по разным системам.\n\nСловарный поиск здесь родной и достался по наследству: обратный указатель, оценивание по BM25, разбор запроса, фильтры по описательным полям. Векторный поиск добавлен как отдельный род поля, и по нему работает приближённый поиск ближайших соседей. Поскольку оба живут в одном указателе, запрос способен сочетать их сразу: отобрать по совпадению слов и упорядочить по близости представлений либо наоборот, причём фильтр по полям применяется до поиска, а не после.\n\nСлияние выдач выполняется внутри системы, поэтому смешанный поиск не требует стороннего слоя. Обстоятельство, существенное при выборе, состоит в происхождении: это поисковая система, к которой добавлены векторы, а не хранилище векторов, к которому добавлен текст. Отсюда сильные стороны в разборе запроса и в работе с описательными полями и более скромные показатели на очень больших наборах векторов по сравнению со специализированными хранилищами.",
      "description_en": "OpenSearch is an open search engine that branched off from Elasticsearch and is developed separately. What makes it significant for retrieval is that it holds both kinds of search in one store, which would otherwise have to be split across different systems.\n\nLexical search is native here and came by inheritance: an inverted index, BM25 scoring, query parsing, filters over descriptive fields. Vector search was added as a separate kind of field, served by approximate nearest neighbour search. Because both live in one index, a query can combine them directly: select by word overlap and order by closeness of representations, or the reverse, with field filters applied during the search rather than after it.\n\nResult merging is performed inside the system, so hybrid search needs no external layer. A circumstance that matters when choosing is provenance: this is a search engine to which vectors were added, not a vector store to which text was added. Hence its strengths in query parsing and in work with descriptive fields, and its more modest figures on very large vector sets compared with specialised stores.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://api.github.com/repos/langchain-ai/langchain",
          "type": "framework_presence",
          "value": "frameworks=LangChain, LlamaIndex",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=53685538",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://opensearch.org/docs/latest/",
          "type": "industrial_use",
          "value": "OpenSearch: документация проекта, версионированные выпуски, управляемые сервисы поставщиков",
          "value_en": "OpenSearch: project documentation, versioned releases, managed offerings"
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=53087871",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=52514974",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=53332648",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=53132593",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/opensearch-py/",
          "type": "package_downloads",
          "value": "package=opensearch-py; version=3.2.0; downloads_last_month=51844105",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 8,
      "family": null,
      "first_published": null,
      "groups": [
        "A",
        "C"
      ],
      "id": "opensearch",
      "kind": "tool",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://opensearch.org/",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "OpenSearch",
      "package": "opensearch-py",
      "parse_notes": [
        {
          "code": "C3",
          "did": "Хранилище умеет выполнять словарный и векторный поиск и сливать их результаты по рангам.",
          "did_en": "The store can perform lexical and vector retrieval and merge their results by rank.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация OpenSearch",
          "source_en": "OpenSearch documentation",
          "technology_id": "opensearch",
          "to": "rrf",
          "why": "Слияние источников встроено в сам продукт.",
          "why_en": "Source fusion is built into the product itself."
        },
        {
          "code": "C4",
          "did": "Данные разносятся по узлам кластера.",
          "did_en": "Data is spread over the nodes of a cluster.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация OpenSearch",
          "source_en": "OpenSearch documentation",
          "technology_id": "opensearch",
          "to": "multiple_local",
          "why": "Продукт работает распределённо.",
          "why_en": "The product runs distributed."
        }
      ],
      "prose_id": "opensearch",
      "residual": [],
      "residual_en": [],
      "summary": "Открытая поисковая система, объединяющая словарный и векторный поиск в одном хранилище.",
      "summary_en": "An open search engine combining lexical and vector search in one store."
    },
    {
      "aliases": [],
      "attention": 3.6,
      "attention_cohort": "2025",
      "attention_raw": 1.8,
      "confidence": 1.0,
      "configuration": {
        "A1": "node_edge",
        "A2": "fixed",
        "A3": "none",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "path_pruning",
        "D2": "top_k",
        "D3": "reliability_ascending",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "PathRAG отвечает на дефект графового извлечения, который его авторы называют избыточностью. Обычный обход графа собирает всю окрестность найденных вершин, и вместе с нужным в контекст попадает много постороннего: соседи соседей, связи общего характера, повторяющиеся сведения. Чем шире охват обхода, тем сильнее полезное разбавляется, и в какой-то момент добавление данных ухудшает ответ.\n\nВместо окрестности PathRAG отбирает пути, то есть цепочки рёбер, соединяющие ключевые сущности запроса между собой. Каждому пути назначается оценка по правилу затухания потока: величина, приписанная начальной вершине, убывает при переходе по каждому ребру, поэтому длинный путь и путь через вершину с большим числом связей получают низкую оценку. Пути с оценкой ниже порога отбрасываются, оставшиеся упорядочиваются по надёжности.\n\nПорядок подачи выбран из наблюдения о том, что языковая модель хуже удерживает сведения из середины поданного ей текста, чем из его начала и конца. Пути подаются по возрастанию надёжности, так что самый надёжный оказывается последним и попадает в положение, которое модель удерживает лучше всего. Метод применим только там, где граф уже построен, и стоимость его построения PathRAG не снижает.",
      "description_en": "PathRAG responds to a defect of graph retrieval that its authors call redundancy. An ordinary graph traversal collects the whole neighbourhood of the nodes it finds, so a great deal of irrelevant material enters the context alongside what is needed: neighbours of neighbours, links of a general nature, repeated facts. The wider the traversal reaches, the more the useful material is diluted, and past some point adding data makes the answer worse.\n\nInstead of a neighbourhood, PathRAG selects paths, that is, chains of edges connecting the key entities of the query to one another. Each path is scored by a rule of flow decay: a quantity assigned to the starting node diminishes at every edge it crosses, so a long path, or a path through a node with many links, receives a low score. Paths scoring below a threshold are discarded, and those that remain are ordered by reliability.\n\nThe order of presentation follows from an observation: a language model retains material from the middle of the text it is given less well than material from the beginning or the end. Paths are supplied in ascending order of reliability, so the most reliable one comes last and lands in the position the model holds best. The method applies only where a graph already exists, and it does nothing to reduce the cost of building one.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2502.14902",
          "type": "publication",
          "value": "arXiv:2502.14902 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7138333265",
          "type": "publication",
          "value": "venue=Proceedings of the AAAI Conference on Artificial Intelligence; peer_reviewed=true; cited_by=8; year=2026; citation_velocity=1.6",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W6948434932",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=1; year=2025; citation_velocity=0.056",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14902",
          "type": "publication",
          "value": "venue=AAAI 2026; peer_reviewed=true; citations_semantic_scholar=74; year=2025",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7138333265",
          "type": "publication",
          "value": "venue=Proceedings of the AAAI Conference on Artificial Intelligence; peer_reviewed=true; cited_by=9; year=2026; citation_velocity=1.8",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14902",
          "type": "publication",
          "value": "venue=AAAI 2026; peer_reviewed=true; citations_semantic_scholar=76; year=2025",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14902",
          "type": "publication",
          "value": "venue=AAAI 2026; peer_reviewed=true; citations_semantic_scholar=79; year=2025",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": "B",
      "first_published": "2025",
      "groups": [
        "A",
        "C",
        "D"
      ],
      "id": "pathrag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2502.14902",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "PathRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Индекс представляет текст графом сущностей и связей вместо набора кусков.",
          "did_en": "The index represents the text as a graph of entities and relations instead of a set of pieces.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "graph",
          "why": "У индекса есть связность, по которой строятся пути.",
          "why_en": "The index has connectivity, and paths are built along it."
        },
        {
          "code": "A1",
          "did": "Возвращаются не куски текста, а пути по графу — цепочки связей, переведённые затем в текст.",
          "did_en": "What is returned is not pieces of text but paths through the graph, chains of relations later rendered into text.",
          "instead": "«пассаж»: он описал бы прежний подход, от которого работа отталкивается.",
          "instead_en": "«passage»: it would describe the earlier approach the work pushes off from.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "node_edge",
          "why": "Единица извлечения здесь фрагмент структуры, а не пассаж.",
          "why_en": "The retrieval unit here is a fragment of structure rather than a passage."
        },
        {
          "code": "C1",
          "did": "Поиск идёт движением по связям графа.",
          "did_en": "Retrieval proceeds by moving along the graph's edges.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "graph_traversal",
          "why": "Ответ отбирается обходом структуры.",
          "why_en": "The answer is selected by traversing the structure."
        },
        {
          "code": "D1",
          "did": "Лишние пути отсекаются потоковым отсевом: работа считает бедой графовых методов избыток, а не нехватку найденного.",
          "did_en": "Superfluous paths are cut away by flow-based pruning: the work treats excess rather than shortage of retrieved material as the affliction of graph methods.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "path_pruning",
          "why": "У схемы есть значение, описывающее именно отсечение путей; общее «переранжирование» потеряло бы суть приёма.",
          "why_en": "The schema has a value describing exactly the pruning of paths; a general «reranking» would lose the point of the technique."
        },
        {
          "code": "D3",
          "did": "Пути размещаются в подсказке в заданном порядке, и работа связывает с ним связность ответа.",
          "did_en": "Paths are placed into the prompt in a set order, and the work ties the coherence of the answer to it.",
          "question": "Источник называет приём «подсказкой по путям», но точного правила порядка не раскрывает. Значение выбрано как ближайшее из имеющихся.",
          "question_en": "The source calls the technique «path-based prompting» but does not disclose the exact ordering rule. The value was chosen as the nearest available.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "reliability_ascending",
          "why": "Порядок задаётся сознательно, а не совпадает с порядком находки.",
          "why_en": "The order is chosen deliberately rather than inherited from the order of discovery."
        },
        {
          "code": "C2",
          "did": "Пути отбираются за один заход; повторных обращений к индексу не описано.",
          "did_en": "Paths are selected in one visit; no repeated calls to the index are described.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14902, метод",
          "source_en": "arXiv:2502.14902, method",
          "technology_id": "pathrag",
          "to": "single_shot",
          "why": "Многошаговость обеспечена длиной пути, а не серией запросов.",
          "why_en": "Multi-hop behaviour comes from the length of a path rather than from a series of queries."
        },
        {
          "code": "A8",
          "did": "Граф строится по корпусу извлечением сущностей и связей.",
          "did_en": "The graph is built over the corpus by extracting entities and relations.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "pathrag",
          "to": "extracted",
          "why": "Структура добыта из содержания.",
          "why_en": "The structure is mined from the content."
        }
      ],
      "prose_id": "pathrag",
      "residual": [],
      "residual_en": [],
      "summary": "Отбор связующих путей между сущностями с отсечением слабых маршрутов по затуханию потока.",
      "summary_en": "Selection of the paths connecting entities, with weak routes cut off by flow decay."
    },
    {
      "aliases": [
        "PIXELRAG",
        "Pixel RAG"
      ],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "confidence": 1.0,
      "configuration": {
        "A1": "page_image",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "vision_language",
        "A6": "snapshot",
        "A7": "image",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-13",
      "configuration_variable": [],
      "description": "PixelRAG доводит до конца мысль, начатую в поиске по изображениям страниц. Обычная работа с веб-страницей начинается с приведения её к тексту: разметка разворачивается в линейную последовательность, и вместе с ней теряются расположение элементов, вид таблицы, выделения, соседство подписи и рисунка. Потеря эта происходит до всякого поиска, поэтому восстановить утраченное дальнейшими шагами нельзя.\n\nСтраница здесь остаётся снимком и никогда не превращается в текст. Снимок режется на плитки, плитки и запрос кодируются зрительно-языковой моделью в общее пространство представлений, и найденные плитки подаются многомодальной модели изображениями. Ни на индексации, ни на чтении текстовой единицы не возникает, а различие с приёмами, кодирующими страницу целиком, состоит в масштабе: указатель собран по всей Википедии и содержит порядка тридцати миллионов снимков.\n\nОтдельное следствие касается расхода. Разрешение, с которым плитка подаётся модели, меняется независимо от числа плиток, и понижение его сокращает расход входа заявленно до трёх раз при сохранении точности. Это рычаг, которого у текстовой подачи нет вовсе: там сократить можно лишь число единиц. Заявленный выигрыш в точности достигает восемнадцати процентов относительно текстовых цепочек, причём в том числе на задачах, считавшихся чисто текстовыми.",
      "description_en": "PixelRAG carries to its conclusion an idea begun in retrieval over page images. Ordinary work with a web page starts by reducing it to text: the markup is unrolled into a linear sequence, and with it go the placement of elements, the shape of a table, emphasis, the adjacency of a caption to its figure. That loss occurs before any search takes place, so no later step can recover what was lost.\n\nHere the page stays a screenshot and never becomes text. The screenshot is cut into tiles, the tiles and the query are encoded by a vision-language model into a shared representation space, and the retrieved tiles are given to a multimodal model as images. No textual unit arises at indexing or at reading, and what sets this apart from techniques that encode a page as a whole is scale: the index was assembled over all of Wikipedia and holds on the order of thirty million screenshots.\n\nA separate consequence concerns cost. The resolution at which a tile is given to the model varies independently of the number of tiles, and lowering it reduces input spend by a reported factor of up to three at unchanged accuracy. This is a lever that textual presentation does not have at all: there, only the number of units can be cut. The reported accuracy gain reaches eighteen percent over text-based chains, including on tasks that had been taken for purely textual.",
      "evidence": [
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2606.28344",
          "type": "publication",
          "value": "arXiv:2606.28344 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7166706851",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2026-06",
      "groups": [
        "A",
        "C",
        "D"
      ],
      "id": "pixelrag",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2606.28344",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2606.28344",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "PixelRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A1",
          "did": "Единицей извлечения служит плитка снимка страницы: страница нарезается на прямоугольные участки, и найденная плитка подаётся модели изображением.",
          "did_en": "The unit of retrieval is a tile of a page screenshot: the page is cut into rectangular regions, and the retrieved tile is given to the model as an image.",
          "instead": "«фрагмент текста»: текста в цепочке нет вовсе, ни при индексации, ни при чтении.",
          "instead_en": "«text fragment»: there is no text in the chain at all, neither at indexing time nor at reading time.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, устройство",
          "source_en": "arXiv:2606.28344, method",
          "technology_id": "pixelrag",
          "to": "page_image",
          "why": "Ближайшее значение схемы описывает изображение страницы; плитка есть его часть, и текстовой единицы в цепочке не возникает ни на одном шаге.",
          "why_en": "The nearest value in the schema describes a page image; a tile is a part of one, and no textual unit arises anywhere in the chain."
        },
        {
          "code": "A2",
          "did": "Страница режется на плитки постоянного размера, без учёта того, где проходят границы разделов.",
          "did_en": "A page is cut into tiles of constant size, without regard for where section boundaries fall.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, индексация",
          "source_en": "arXiv:2606.28344, indexing",
          "technology_id": "pixelrag",
          "to": "fixed",
          "why": "Правило деления задано геометрией снимка, а не устройством документа.",
          "why_en": "The rule of division is set by the geometry of the screenshot rather than by the structure of the document."
        },
        {
          "code": "A5",
          "did": "Плитки и запрос кодируются зрительно-языковой моделью в общее пространство представлений.",
          "did_en": "Tiles and the query are encoded by a vision-language model into a shared representation space.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, представления",
          "source_en": "arXiv:2606.28344, representations",
          "technology_id": "pixelrag",
          "to": "vision_language",
          "why": "Запрос остаётся текстовым, а единица изображением, и сравнение возможно только в общем пространстве.",
          "why_en": "The query stays textual while the unit is an image, and comparison is possible only in a shared space."
        },
        {
          "code": "A7",
          "did": "Хранятся снимки страниц; собрание объёмом порядка тридцати миллионов изображений собрано по Википедии.",
          "did_en": "Page screenshots are stored; a collection on the order of thirty million images was assembled over Wikipedia.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, набор данных",
          "source_en": "arXiv:2606.28344, datastore",
          "technology_id": "pixelrag",
          "to": "image",
          "why": "Модальность хранимого материала изобразительная, хотя исходные страницы были размечены текстом.",
          "why_en": "The modality of the stored material is visual, although the source pages were marked up as text."
        },
        {
          "code": "A8",
          "did": "Плитки лежат плоским списком; связей между ними не строится.",
          "did_en": "Tiles lie in a flat list; no links between them are built.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, указатель",
          "source_en": "arXiv:2606.28344, index",
          "technology_id": "pixelrag",
          "to": "none",
          "why": "Структуры нет, поэтому и происхождения у неё нет.",
          "why_en": "There is no structure, so it has no origin."
        },
        {
          "code": "D2",
          "did": "Разрешение, с которым плитки подаются модели, понижается ради сокращения расхода входа: заявлено уменьшение до трёх раз при сохранении точности.",
          "did_en": "The resolution at which tiles are given to the model is lowered to reduce input spend: a reduction of up to threefold at unchanged accuracy is reported.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, стоимость",
          "source_en": "arXiv:2606.28344, cost",
          "technology_id": "pixelrag",
          "to": "budget_aware",
          "why": "Состав контекста определяется отведённым расходом, а не только числом первых кандидатов.",
          "why_en": "The composition of the context is settled by the spend allowed for it, not by a count of top candidates alone."
        },
        {
          "code": "G3",
          "did": "Используются готовая зрительно-языковая модель представлений и готовая многомодальная порождающая модель.",
          "did_en": "A ready vision-language representation model and a ready multimodal generative model are used.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2606.28344, устройство",
          "source_en": "arXiv:2606.28344, method",
          "technology_id": "pixelrag",
          "to": "frozen",
          "why": "Своего обучения работа не вводит, и выигрыш приписан представлению материала, а не донастройке.",
          "why_en": "The work introduces no training of its own, and the gain is attributed to the representation of the material rather than to fine-tuning."
        },
        {
          "did": "Разрешение подачи изменяется независимо от числа плиток и служит отдельным рычагом расхода.",
          "did_en": "The resolution of presentation varies independently of the number of tiles and serves as a separate lever on spend.",
          "residual": "resolution_as_cost_lever",
          "residual_term": "разрешение изображения как рычаг стоимости",
          "residual_term_en": "image resolution as a lever on cost",
          "source": "arXiv:2606.28344, стоимость",
          "source_en": "arXiv:2606.28344, cost",
          "technology_id": "pixelrag",
          "why": "Схема выражает, сколько единиц войдёт в контекст, но не то, во сколько обойдётся каждая из них.",
          "why_en": "The schema expresses how many units enter the context but not what each of them costs."
        }
      ],
      "prose_id": "pixelrag",
      "residual": [
        "разрешение изображения как рычаг стоимости"
      ],
      "residual_en": [
        "image resolution as a lever on cost"
      ],
      "summary": "Извлечение целиком в пиксельном пространстве: страница остаётся снимком, ищутся и читаются её плитки.",
      "summary_en": "Retrieval entirely in pixel space: the page stays a screenshot, and its tiles are what gets searched and read."
    },
    {
      "aliases": [],
      "attention": 1.368,
      "attention_cohort": "2025",
      "attention_raw": 0.684,
      "confidence": 1.0,
      "configuration": {},
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Poison-RAG переносит отравление собрания на рекомендательные системы, в которых подбор устроен извлечением. Отличие от нападения на вопросно-ответную систему лежит в цели: подменяется не ответ на вопрос, а положение объекта в выдаче, и заинтересованная сторона здесь не сторонний злоумышленник, а поставщик самого объекта.\n\nНападающий распоряжается описанием собственного товара и правит его так, чтобы векторное представление сместилось в сторону частых запросов. Правка не выглядит подлогом: меняются формулировки, добавляются признаки, переставляются ударения, причём описание остаётся правдоподобным и проверку человеком проходит. Возможно и обратное действие, при котором правка описания соперника понижает его выдачу.\n\nОпасность состоит в неразличимости. Отравляющая правка неотличима от добросовестного улучшения описания, потому что и то и другое состоит в подборе слов, а различаются они лишь намерением. Обнаружение по содержанию поэтому не работает, и защита переносится на наблюдение за поведением выдачи во времени, где резкое смещение положения после правки служит признаком.",
      "description_en": "Poison-RAG carries collection poisoning over to recommender systems whose selection works by retrieval. What sets it apart from an attack on a question-answering system is the objective: what is subverted is not the answer to a question but an item's position in the results, and the interested party here is not an outside intruder but the supplier of the item itself.\n\nThe attacker controls the description of their own item and edits it so that its vector representation shifts toward frequent queries. The edit does not look like a forgery: wordings change, attributes are added, emphasis is rearranged, and the description stays plausible and passes human review. The converse action is possible too, where editing a competitor's description pushes it down the results.\n\nThe danger lies in the indistinguishability. A poisoning edit is indistinguishable from a good-faith improvement to a description, because both consist in the choice of words and differ only in intent. Detection by content therefore does not work, and defence moves to watching how the results behave over time, where an abrupt shift in position following an edit serves as the signal.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2501.11759",
          "type": "publication",
          "value": "arXiv:2501.11759 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4409166754",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=11; year=2025; citation_velocity=0.579",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4409166754",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=12; year=2025; citation_velocity=0.632",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4409166754",
          "type": "publication",
          "value": "venue=Lecture notes in computer science; peer_reviewed=true; cited_by=13; year=2025; citation_velocity=0.684",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2025",
      "groups": [],
      "id": "poison_rag",
      "kind": "attack",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2501.11759",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "Poison-RAG",
      "package": null,
      "parse_notes": [
        {
          "did": "Атака на данные рекомендательной системы, построенной на извлечении: подготовленные записи подмешиваются в корпус так, чтобы менять выдачу.",
          "did_en": "An attack on the data of a recommender system built on retrieval: prepared records are mixed into the corpus so as to change what it serves.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.11759, постановка",
          "source_en": "arXiv:2501.11759, problem statement",
          "technology_id": "poison_rag",
          "why": "Род «атака» не занимает места в конфигурационном пространстве: у атаки нет ни индекса, ни извлечения, ни синтеза. Отсутствие конфигурации следует из рода, а не из пометок.",
          "why_en": "The kind «attack» occupies no place in the configuration space: an attack has neither an index nor retrieval nor synthesis. The absence of a configuration follows from the kind rather than from marks."
        }
      ],
      "prose_id": "poison_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Отравление рекомендательной системы, построенной на извлечении: правка описаний товаров меняет их положение в выдаче.",
      "summary_en": "Poisoning a retrieval-based recommender: editing item descriptions moves them up or down the results."
    },
    {
      "aliases": [],
      "attention": 0.691,
      "attention_cohort": "2024",
      "attention_raw": 0.4,
      "confidence": 1.0,
      "configuration": {},
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "PoisonedRAG описывает первую систематическую атаку на собрание, из которого система извлекает. Внимание при защите обычно сосредоточено на подсказке и на модели, тогда как собрание считается доверенным. Между тем собрания часто пополняются из источников, которые владелец не проверяет: страницы сети, вики, пользовательские материалы, обращения в поддержку.\n\nНападающий выбирает вопрос и желаемый ложный ответ и составляет несколько коротких отрывков, помещаемых в собрание. Каждый отрывок должен удовлетворить двум условиям сразу. Он должен находиться поиском по выбранному вопросу, для чего в него включают формулировки, близкие к вопросу. И он должен убедить языковую модель, для чего ложное утверждение излагается связно и уверенно, как излагался бы подлинный источник.\n\nСущественны две величины. Отрывков требуется единицы на всё собрание, то есть доля отравленного исчезающе мала и глазом не обнаруживается. Доля успешных срабатываний при этом высока. Из этого следует, что происхождение содержимого собрания принадлежит к защищаемому периметру наравне с моделью, а не считается его внешней частью.",
      "description_en": "PoisonedRAG describes the first systematic attack on the collection a system retrieves from. Defensive attention usually concentrates on the prompt and on the model, while the collection is taken to be trusted. Yet collections are often fed from sources the owner does not vet: web pages, wikis, user-contributed material, support tickets.\n\nThe attacker picks a question and a desired false answer and composes a few short passages to be placed in the collection. Each passage must satisfy two conditions at once. It must be findable by a search on the chosen question, for which wordings close to the question are worked into it. And it must persuade the language model, for which the false claim is set out coherently and confidently, as a genuine source would set it out.\n\nTwo quantities matter. Only a handful of passages are needed across the whole collection, so the poisoned share is vanishingly small and undetectable by eye. The rate at which the attack succeeds is nonetheless high. It follows that the provenance of what enters the collection belongs inside the defended perimeter alongside the model, rather than counting as external to it.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2402.07867",
          "type": "publication",
          "value": "arXiv:2402.07867 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4391801218",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=11; year=2024; citation_velocity=0.367",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4391801218",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=12; year=2024; citation_velocity=0.4",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 3,
      "family": "K",
      "first_published": "2024-02",
      "groups": [],
      "id": "poisonedrag",
      "kind": "attack",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2402.07867",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "PoisonedRAG",
      "package": null,
      "parse_notes": [
        {
          "did": "Это атака на чужое хранилище, а не система извлечения: работа добавляет в базу знаний несколько подготовленных текстов так, чтобы они находились по целевому вопросу и подменяли ответ.",
          "did_en": "This is an attack on someone else's store rather than a retrieval system: the work adds a few prepared texts to a knowledge base so that they are found for a target question and substitute the answer.",
          "instead": "оставить род «артефакт» и снять измерения пометками: это повторялось бы у каждой такой записи, и правило жило бы в данных вместо схемы.",
          "instead_en": "keeping the kind «artifact» and removing the dimensions with marks: that would repeat for every such record, and the rule would live in the data instead of the schema.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2402.07867, постановка",
          "source_en": "arXiv:2402.07867, problem statement",
          "technology_id": "poisonedrag",
          "why": "Конфигурационное пространство описывает системы RAG. Атака действует на такую систему извне: у неё нет ни индекса, ни извлечения, ни синтеза. Поэтому запись отнесена к роду «атака», и отсутствие конфигурации следует из рода, а не из двадцати шести пометок неприменимости.",
          "why_en": "The configuration space describes RAG systems. An attack acts on such a system from outside: it has neither an index nor retrieval nor synthesis. The record is therefore assigned to the kind «attack», and the absence of a configuration follows from the kind rather than from twenty-eight marks of inapplicability."
        }
      ],
      "prose_id": "poisonedrag",
      "residual": [],
      "residual_en": [],
      "summary": "Отравление собрания: несколько подложных отрывков заставляют систему выдать заданный ответ на заданный вопрос.",
      "summary_en": "Poisoning the collection: a handful of planted passages make the system return a chosen answer to a chosen question."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "multiple_local",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [
        "E1",
        "E2",
        "E3",
        "E4",
        "B1",
        "B2"
      ],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Qdrant представляет собой хранилище векторов с открытым исходным кодом. Оно решает одну задачу и потому устроено вокруг неё: хранить представления, искать ближайших соседей и отбирать по описательным полям.\n\nСущественная особенность состоит в том, как соединены поиск и отбор. Наивный способ отбирает после поиска, и тогда строгое условие оставляет от выдачи почти ничего: соседи нашлись, но условию не удовлетворяют. Другой наивный способ отбирает до поиска и вынуждает перебирать всё подходящее. Qdrant применяет условие во время обхода указателя, отбрасывая не подходящие под него вершины по ходу, поэтому строгий отбор не разрушает выдачу и не требует полного перебора.\n\nКроме того, поддерживается несколько представлений на одну запись, что нужно для схемы позднего взаимодействия, и разреженные векторы наравне с плотными, что позволяет вести смешанный поиск в одном хранилище. Отличие от поисковых систем, к которым векторы добавлены, состоит в предмете: здесь векторы первичны, а разбор текстового запроса и словарное оценивание развиты слабее.",
      "description_en": "Qdrant is an open-source vector store. It solves one task and is therefore built around it: hold representations, find nearest neighbours, and filter by descriptive fields.\n\nIts notable feature is how search and filtering are joined. The naive approach filters after the search, and then a strict condition leaves almost nothing of the results: neighbours were found but do not satisfy the condition. The other naive approach filters before the search and forces a scan of everything that qualifies. Qdrant applies the condition during the traversal of the index, discarding nodes that fail it as it goes, so strict filtering neither destroys the results nor demands an exhaustive scan.\n\nSeveral representations per record are supported besides, which is what late interaction requires, and sparse vectors alongside dense ones, which allows hybrid search within a single store. What distinguishes it from search engines with vectors bolted on is its subject: here vectors come first, while text query parsing and lexical scoring are less developed.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://api.github.com/repos/langchain-ai/langchain",
          "type": "framework_presence",
          "value": "frameworks=LangChain, LlamaIndex",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/qdrant-client/",
          "type": "package_downloads",
          "value": "package=qdrant-client; version=1.19.0; downloads_last_month=20147140",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://qdrant.tech/documentation/",
          "type": "industrial_use",
          "value": "Qdrant: документация поставщика, версионированные выпуски, облачный сервис",
          "value_en": "Qdrant: vendor documentation, versioned releases, cloud service"
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/qdrant-client/",
          "type": "package_downloads",
          "value": "package=qdrant-client; version=1.19.0; downloads_last_month=19739994",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/qdrant-client/",
          "type": "package_downloads",
          "value": "package=qdrant-client; version=1.19.0; downloads_last_month=19462751",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/qdrant-client/",
          "type": "package_downloads",
          "value": "package=qdrant-client; version=1.19.0; downloads_last_month=19342980",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/qdrant-client/",
          "type": "package_downloads",
          "value": "package=qdrant-client; version=1.19.0; downloads_last_month=18494312",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": null,
      "first_published": null,
      "groups": [
        "A",
        "C"
      ],
      "id": "qdrant",
      "kind": "tool",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://qdrant.tech/",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Qdrant",
      "package": "qdrant-client",
      "parse_notes": [
        {
          "code": "C1",
          "did": "Хранилище отвечает на запрос поиском ближайших соседей по векторам.",
          "did_en": "The store answers a query by nearest-neighbour search over vectors.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация Qdrant",
          "source_en": "Qdrant documentation",
          "technology_id": "qdrant",
          "to": "ann",
          "why": "Это его основная операция.",
          "why_en": "That is its principal operation."
        },
        {
          "code": "C4",
          "did": "Данные разносятся по узлам кластера с копиями.",
          "did_en": "Data is spread over the nodes of a cluster with replicas.",
          "instead": "«федерация»: она означала бы обращение к чужим независимым хранилищам, а здесь узлы свои.",
          "instead_en": "«federation»: it would mean calls to foreign independent stores, whereas here the nodes are its own.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация Qdrant",
          "source_en": "Qdrant documentation",
          "technology_id": "qdrant",
          "to": "multiple_local",
          "why": "Хранилище работает не одним экземпляром.",
          "why_en": "The store does not run as a single instance."
        },
        {
          "code": "E1",
          "did": "Хранилище ничего не порождает: оно отдаёт найденное.",
          "did_en": "The store produces nothing: it hands over what it found.",
          "inapplicable": true,
          "question": "Так же устроены все инструменты реестра: они не системы, а их части, и занимают одно-два измерения из двадцати шести. Возможно, роду «инструмент» нужно правило, а не пометки, — как это сделано для атак.",
          "question_en": "Every tool in the registry is arranged this way: they are parts of systems rather than systems, and they occupy one or two dimensions out of twenty-eight. The kind «tool» may need a rule rather than per-record marks, as was done for attacks.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "документация Qdrant",
          "source_en": "Qdrant documentation",
          "technology_id": "qdrant",
          "why": "Ступени синтеза нет, как и преобразования запроса: и то и другое делает система, которая хранилище использует.",
          "why_en": "There is no synthesis stage, nor any query transformation: both are done by the system that uses the store."
        }
      ],
      "prose_id": "qdrant",
      "residual": [],
      "residual_en": [],
      "summary": "Хранилище векторов с отбором по описательным полям, применяемым во время поиска, а не после него.",
      "summary_en": "A vector store whose field filters are applied during the search rather than after it."
    },
    {
      "aliases": [],
      "attention": 0.644,
      "attention_cohort": null,
      "attention_raw": 0.644,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "vision_language",
        "A6": "snapshot",
        "A7": "image",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "RA-CM3 соединяет извлечение и порождение в одной модели и распространяет это соединение на изображения наравне с текстом. Обычное устройство держит порознь три части: модель представлений для поиска, хранилище и порождающую модель, причём каждая обучалась отдельно и о задачах остальных не знает.\n\nМодель здесь одна и работает с обеими модальностями. Она принимает вход, где текст и изображения перемежаются, и порождает выход такого же смешанного вида. Извлечение выполняется той же моделью: представление запроса и представления записей хранилища берутся из неё, поэтому текст находит изображение и изображение находит текст без отдельного связующего звена. Найденное подаётся обратно на вход и участвует в порождении наравне с исходным запросом.\n\nСовмещение снимает расхождение между тем, что извлекатель считает похожим, и тем, что порождающей модели действительно полезно. Плата состоит в обучении: такую модель нужно обучать целиком и на согласованных парах изображения и текста, а не собирать из готовых частей. Обновление хранилища при этом обучения не требует, потому что записи представляются той же моделью на лету.",
      "description_en": "RA-CM3 unites retrieval and generation in a single model and extends that union to images alongside text. The usual arrangement keeps three parts apart: a representation model for search, a store, and a generating model, each trained separately and unaware of the others' tasks.\n\nHere the model is one and works with both modalities. It takes an input in which text and images are interleaved and produces an output of the same mixed kind. Retrieval is performed by that same model: the representation of the query and the representations of the stored records are taken from it, so text finds an image and an image finds text with no separate bridging stage. What is found is fed back into the input and takes part in generation on the same footing as the original query.\n\nThe union removes the divergence between what a retriever considers similar and what actually helps the generating model. The price is training: such a model must be trained as a whole, on matched image and text pairs, rather than assembled from ready parts. Updating the store requires no training, since records are represented by the same model on the fly.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4309953147",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=29; year=2022; citation_velocity=0.644",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2211.12561",
          "type": "publication",
          "value": "arXiv:2211.12561 (2022)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2022-11",
      "groups": [
        "A",
        "E",
        "G"
      ],
      "id": "ra_cm3",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2211.12561 (исправлено: было 2204.05021 → data extraction)",
          "label_en": "arXiv:2211.12561 (corrected: was 2204.05021, a data extraction paper)",
          "status": "verified",
          "url": "https://arxiv.org/abs/2211.12561",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "RA-CM3",
      "package": null,
      "parse_notes": [
        {
          "code": "A7",
          "did": "Из памяти извлекаются и текст, и изображения.",
          "did_en": "Both text and images are retrieved from memory.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2211.12561, постановка",
          "source_en": "arXiv:2211.12561, problem statement",
          "technology_id": "ra_cm3",
          "to": "image",
          "why": "Индексируемый материал не только текстовый.",
          "why_en": "The indexed material is not textual alone."
        },
        {
          "code": "A5",
          "did": "Поиск ведёт готовая модель, кладущая изображения и подписи в общее пространство.",
          "did_en": "Retrieval is done by an off-the-shelf model that places images and captions into a shared space.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2211.12561, устройство поиска",
          "source_en": "arXiv:2211.12561, how retrieval is arranged",
          "technology_id": "ra_cm3",
          "to": "vision_language",
          "why": "Представление общее для обеих модальностей.",
          "why_en": "The representation is shared by both modalities."
        },
        {
          "code": "G3",
          "did": "Генератор обучается работать с найденным; поисковая модель берётся готовой.",
          "did_en": "The generator is trained to work with what is retrieved; the retrieval model is taken ready-made.",
          "instead": "«совместное обучение»: источник совместного обучения двух сторон не описывает.",
          "instead_en": "«joint training»: the source does not describe joint training of the two sides.",
          "question": "Обучались ли поисковик и генератор совместно, из прочитанного не следует. Записано более осторожное значение.",
          "question_en": "Whether the retriever and the generator were trained jointly does not follow from what was read. The more cautious value is recorded.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2211.12561, обучение",
          "source_en": "arXiv:2211.12561, training",
          "technology_id": "ra_cm3",
          "to": "trained_reader",
          "why": "Обучается читатель, а не поисковик.",
          "why_en": "It is the reader that is trained, not the retriever."
        },
        {
          "code": "D1",
          "did": "Ступени пересмотра порядка найденного в работе не описано.",
          "did_en": "No stage that revisits the order of what was found is described in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2211.12561, метод",
          "source_en": "arXiv:2211.12561, method",
          "technology_id": "ra_cm3",
          "to": "none",
          "why": "Найденное подаётся генератору напрямую.",
          "why_en": "What is found is handed to the generator directly."
        }
      ],
      "prose_id": "ra_cm3",
      "residual": [],
      "residual_en": [],
      "summary": "Одна модель и извлекает, и порождает, причём и текст, и изображения.",
      "summary_en": "One model both retrieves and generates, over text and images alike."
    },
    {
      "aliases": [],
      "attention": 0.239,
      "attention_cohort": "2023",
      "attention_raw": 0.441,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "joint_training"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "RA-DIT исходит из того, что готовая языковая модель и готовый извлекатель обучались порознь и друг под друга не подогнаны. Модель не училась пользоваться поданным ей контекстом и полагается на него неровно: то принимает найденное за истину, то отвечает вопреки ему. Извлекатель, в свою очередь, отбирал документы по сходству с запросом и никогда не получал сведений о том, помог ли отобранный документ ответить.\n\nДонастройка идёт с двух сторон и по очереди. Языковую модель дообучают отвечать при поданном контексте, включая примеры, где найденное содержит постороннее и опираться на него не следует. Извлекатель дообучают так, чтобы отбирать документы, при которых языковая модель назначает верному ответу наибольшую вероятность, то есть признаком годности документа объявляется его польза для ответа, а не сходство с вопросом.\n\nСущественно, что стороны обучаются раздельно, а не одним совместным ходом. Совместное обучение требует пропускать сигнал через шаг отбора, а он не дифференцируем, и обходные приёмы дороги. Раздельная схема обходится двумя обычными донастройками и потому применима к готовым моделям. Плата состоит в том, что донастройка вообще нужна: приём неприменим там, где доступ к весам модели закрыт.",
      "description_en": "RA-DIT starts from the fact that a ready language model and a ready retriever were trained apart and were never fitted to each other. The model never learned to use the context it is handed and relies on it unevenly: sometimes it takes the retrieved material for truth, sometimes it answers in defiance of it. The retriever, for its part, selected documents by similarity to the query and never received any indication of whether the document it selected helped produce an answer.\n\nFine-tuning proceeds from both sides in turn. The language model is further trained to answer with context supplied, including examples where the retrieved material contains irrelevancies that should not be relied upon. The retriever is further trained to select documents under which the language model assigns the highest probability to the correct answer, which makes usefulness for the answer, rather than similarity to the question, the criterion of a good document.\n\nWhat matters is that the two sides are trained separately rather than in one joint pass. Joint training requires passing a signal through the selection step, which is not differentiable, and the workarounds are expensive. The separate scheme costs two ordinary fine-tunings and therefore applies to ready models. The price is that fine-tuning is needed at all: the technique does not apply where model weights are closed.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2310.01352",
          "type": "publication",
          "value": "arXiv:2310.01352 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4387322982",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=15; year=2023; citation_velocity=0.441",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "I",
      "first_published": "2023-10",
      "groups": [
        "G"
      ],
      "id": "ra_dit",
      "kind": "technique",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2310.01352",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "RA-DIT",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Обучение идёт в два захода: сперва языковая модель учится пользоваться найденным, затем поисковик учится находить то, что этой модели полезно.",
          "did_en": "Training runs in two passes: first the language model learns to use what is retrieved, then the retriever learns to find what is useful to that model.",
          "instead": "«обучаемый читатель»: оно описало бы только первый заход и потеряло бы взаимную подстройку, ради которой работа и сделана.",
          "instead_en": "«trainable reader»: it would describe only the first pass and lose the mutual adaptation the work exists for.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.01352, метод",
          "source_en": "arXiv:2310.01352, method",
          "technology_id": "ra_dit",
          "to": "joint_training",
          "why": "Обучаются обе стороны, и вторая подстраивается под первую. Это и есть совместное обучение.",
          "why_en": "Both sides are trained, and the second adapts to the first. That is joint training."
        }
      ],
      "prose_id": "ra_dit",
      "residual": [],
      "residual_en": [],
      "summary": "Раздельная донастройка обеих сторон: модель учат пользоваться найденным, извлекатель учат искать то, что модели помогает.",
      "summary_en": "Separate fine-tuning of both sides: the model learns to use what is retrieved, the retriever learns to find what helps the model."
    },
    {
      "aliases": [],
      "attention": 1.782,
      "attention_cohort": "2024",
      "attention_raw": 1.032,
      "confidence": 1.0,
      "configuration": {
        "B1": "subquestion_decomposition",
        "C2": "iterative_stopping",
        "D1": "none",
        "E2": "pre_gen_grounding",
        "E5": "mutual_loop"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "RA-ISF выстраивает решения об извлечении в виде трёх последовательных проверок, каждую из которых выполняет отдельно обученный оценщик. Довод состоит в том, что решения эти разнородны и одно суждение обо всём сразу выносится хуже, чем три суждения по отдельности.\n\nПервая проверка спрашивает, достаточно ли модели собственных знаний. При утвердительном ответе обработка на этом и кончается: обращения к источникам не происходит, и посторонний контекст не вносится. Иначе выполняется извлечение, и вторая проверка оценивает найденное на уместность. Уместное идёт в ответ. При неуместном включается третья проверка: вопрос признаётся слишком сложным для одного обращения, разбивается на подвопросы, и каждый подвопрос проходит ту же цепочку с начала.\n\nРазбиение рекурсивно, поэтому глубина определяется вопросом. Отличие от распределителя, выбирающего стратегию заранее, состоит в том, что здесь решения принимаются по ходу и опираются на действительный результат поиска, а не на предсказание сложности по одной формулировке. Плата состоит в трёх обученных оценщиках, которые надо получить, и в накоплении их ошибок вдоль рекурсии.",
      "description_en": "RA-ISF arranges the decisions about retrieval as three successive checks, each carried out by a separately trained evaluator. The argument is that these decisions are unalike, and one judgement about all of them at once is made worse than three judgements taken apart.\n\nThe first check asks whether the model's own knowledge suffices. If the answer is yes, processing ends there: no source is consulted and no extraneous context is introduced. Otherwise retrieval is performed, and the second check judges what was found for relevance. Relevant material goes into the answer. If it is not relevant, the third check comes into play: the question is judged too hard for a single consultation, is split into subquestions, and each subquestion passes through the same chain from the beginning.\n\nThe splitting is recursive, so depth is settled by the question. What distinguishes this from a router choosing a strategy in advance is that here the decisions are made as the work proceeds and rest on the actual result of a search rather than on a prediction of difficulty from a single formulation. The price is three trained evaluators that must be obtained, and the accumulation of their errors along the recursion.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2403.06840",
          "type": "publication",
          "value": "arXiv:2403.06840 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4402670862",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=30; year=2024; citation_velocity=0.968",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4402670862",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=31; year=2024; citation_velocity=1.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4402670862",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=32; year=2024; citation_velocity=1.032",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": null,
      "first_published": "2024",
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "ra_isf",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2403.06840",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "RA-ISF",
      "package": null,
      "parse_notes": [
        {
          "code": "E5",
          "did": "Модель разбирает, чего ей не хватает, и уточняет запрос.",
          "did_en": "The model works out what it lacks and refines the query.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "ra_isf",
          "to": "mutual_loop",
          "why": "Самооценка порождения задаёт следующий поиск.",
          "why_en": "Self-assessment of production sets the next retrieval."
        },
        {
          "code": "B1",
          "did": "Задача раскладывается на подзадачи, и разбор идёт по ним.",
          "did_en": "The task is laid out into sub-tasks, and the analysis proceeds by them.",
          "question": "Аннотация называет три подмодуля, но не раскрывает их. Значения выведены из общего описания итеративного разложения; полный текст получить не удалось.",
          "question_en": "The abstract names three submodules but does not disclose them. The values are inferred from the general description of iterative decomposition; the full text could not be obtained.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.06840, аннотация",
          "source_en": "arXiv:2403.06840, abstract",
          "technology_id": "ra_isf",
          "to": "subquestion_decomposition",
          "why": "Запрос делится заранее, а не порождается по ходу рассуждения.",
          "why_en": "The query is divided in advance rather than produced in the course of reasoning."
        },
        {
          "code": "C2",
          "did": "Разбор повторяется, пока задача не решена.",
          "did_en": "The analysis repeats until the task is solved.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.06840, аннотация",
          "source_en": "arXiv:2403.06840, abstract",
          "technology_id": "ra_isf",
          "to": "iterative_stopping",
          "why": "Число обращений определяется достаточностью, а не задано.",
          "why_en": "The number of calls is set by sufficiency rather than fixed."
        },
        {
          "code": "E2",
          "did": "Самооценка решает, хватает ли модели собственных знаний и годится ли найденное, до порождения ответа.",
          "did_en": "Self-assessment decides whether the model's own knowledge suffices and whether what was retrieved will do, before the answer is produced.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.06840, аннотация",
          "source_en": "arXiv:2403.06840, abstract",
          "technology_id": "ra_isf",
          "to": "pre_gen_grounding",
          "why": "Обоснованность обеспечивается отбором на входе.",
          "why_en": "Groundedness is secured by selection at the input."
        }
      ],
      "prose_id": "ra_isf",
      "residual": [],
      "residual_en": [],
      "summary": "Три оценки подряд: хватает ли собственных знаний, уместно ли найденное, нужно ли разбить вопрос.",
      "summary_en": "Three judgements in sequence: is own knowledge enough, is the retrieved material relevant, must the question be split."
    },
    {
      "aliases": [],
      "attention": 1.668,
      "attention_cohort": "2024",
      "attention_raw": 0.966,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "fragment_level",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "RAFT готовит языковую модель к тому, с чем она встретится в работе: к контексту, где рядом с нужным документом лежат посторонние. Модель, дообученная только на верных документах, приучается доверять всему поданному и на постороннем фрагменте строит ответ так же уверенно, как на уместном.\n\nОбучающий пример поэтому составляется намеренно смешанным. К вопросу прикладывается документ, содержащий ответ, и несколько отвлекающих: похожих по предмету, но ответа не содержащих. Требуемый ответ пишется в виде рассуждения, где сначала приводится дословная выдержка из нужного документа, а затем из неё выводится заключение. Часть примеров подаётся вовсе без нужного документа, и правильным поведением на них объявляется ответ по собственным знаниям.\n\nОбязательная выдержка играет двойную роль: она заставляет модель указать, на чём именно основано заключение, и делает ответ проверяемым, потому что выдержку можно сверить с источником. Приём привязан к предметной области, для которой готовился набор примеров, и переносится на другую область хуже, чем работает на своей. Как и всякая донастройка, он требует доступа к весам модели.",
      "description_en": "RAFT prepares a language model for what it will meet in service: a context where irrelevant documents lie beside the relevant one. A model fine-tuned only on correct documents learns to trust everything it is handed and builds an answer on an irrelevant fragment as confidently as on a pertinent one.\n\nThe training example is therefore deliberately mixed. The question is accompanied by a document containing the answer and several distractors: similar in subject but containing no answer. The required answer is written as a piece of reasoning that first quotes the relevant document verbatim and then draws a conclusion from that quotation. A portion of the examples carries no relevant document at all, and the correct behaviour on those is declared to be an answer from the model's own knowledge.\n\nThe obligatory quotation plays a double role: it forces the model to state what exactly the conclusion rests on, and it makes the answer checkable, because the quotation can be compared against the source. The technique is tied to the field for which the examples were prepared and transfers to another field less well than it works on its own. Like any fine-tuning, it requires access to the model's weights.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4392930030",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=28; year=2024; citation_velocity=0.966",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2403.10131",
          "type": "publication",
          "value": "arXiv:2403.10131 (2024)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "I",
      "first_published": "2024-03",
      "groups": [
        "E",
        "G"
      ],
      "id": "raft",
      "kind": "technique",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2403.10131",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "RAFT",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Модель дообучается отвечать в присутствии отвлекающих документов: узнавать нужные и не поддаваться лишним.",
          "did_en": "The model is fine-tuned to answer in the presence of distracting documents: to recognise the needed ones and not to yield to the superfluous.",
          "instead": "«совместное обучение»: источник изменения поисковика не описывает.",
          "instead_en": "«joint training»: the source describes no change to the retriever.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.10131, метод",
          "source_en": "arXiv:2403.10131, method",
          "technology_id": "raft",
          "to": "trained_reader",
          "why": "Обучается читатель; поисковик работа не трогает.",
          "why_en": "The reader is trained; the work does not touch the retriever."
        },
        {
          "code": "E3",
          "did": "Модель учат приводить дословный отрывок нужного документа вместе с рассуждением.",
          "did_en": "The model is taught to quote a verbatim passage of the needed document together with its reasoning.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2403.10131, метод",
          "source_en": "arXiv:2403.10131, method",
          "technology_id": "raft",
          "to": "fragment_level",
          "why": "Утверждение связывается с фрагментом, а не с документом целиком.",
          "why_en": "A statement is tied to a fragment rather than to a whole document."
        }
      ],
      "prose_id": "raft",
      "residual": [],
      "residual_en": [],
      "summary": "Обучение отвечать при подмешанных посторонних документах, с обязательной цитатой из нужного.",
      "summary_en": "Training to answer with distractor documents mixed in, and to quote the relevant one verbatim."
    },
    {
      "aliases": [
        "RAG Anything"
      ],
      "attention": 0.0,
      "attention_cohort": "2025",
      "attention_raw": 0.0,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "structure_aware",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "score_normalization",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "episodic",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-13",
      "configuration_variable": [
        "A1",
        "A5",
        "A7"
      ],
      "description": "RAG-Anything отвечает на разрыв между тем, как устроены документы, и тем, как устроено извлечение. Отчёт, статья или руководство состоят не из одного текста: в них есть таблицы с числами, схемы, формулы, снимки экрана. Обычная цепочка обработки берёт из такого документа текст, а остальное либо отбрасывает, либо пересказывает словами, и в обоих случаях сведения теряются.\n\nОбработка идёт в три шага. Сторонний разборщик выделяет элементы документа порознь и сохраняет их вложенность: заголовок, абзац, таблица, врезка. Затем большая языковая модель извлекает из элементов сущности и отношения между ними, включая отношения между элементами разных модальностей, и складывает всё в единый граф знаний. Наконец, извлечение сочетает поиск по близости представлений с обходом рёбер этого графа, а порядок выдачи учитывает род единицы: таблица и абзац сравниваются не только по близости к запросу.\n\nСистема построена поверх LightRAG и наследует от неё пополнение собрания дописыванием: новый документ добавляется к существующему графу без его перестроения. Расход при индексации остаётся высоким, потому что извлечение сущностей требует обращения к языковой модели по каждому элементу, а разбор изображений и таблиц добавляет к этому собственную стоимость. Качество разбора при этом определяется сторонним разборщиком, и ошибки его переходят в граф без исправления.",
      "description_en": "RAG-Anything addresses the gap between how documents are built and how retrieval is built. A report, a paper, or a manual does not consist of running text alone: it has tables of figures, diagrams, equations, screenshots. An ordinary processing chain takes the text out of such a document and either discards the rest or restates it in words, and information is lost either way.\n\nProcessing runs in three steps. An external parser isolates the document's elements and preserves their nesting: heading, paragraph, table, figure. A large language model then extracts entities and the relations between them from those elements, including relations between elements of different modalities, and assembles everything into a single knowledge graph. Finally, retrieval combines search by closeness of representations with traversal of that graph's edges, and the ordering of results accounts for the kind of unit: a table and a paragraph are compared by more than closeness to the query.\n\nThe system is built on LightRAG and inherits from it the growth of a collection by appending: a new document is added to the existing graph without rebuilding it. Indexing remains expensive, because entity extraction requires a language model call per element, and parsing images and tables adds a cost of its own. The quality of that parsing is settled by the external parser, and its errors pass into the graph uncorrected.",
      "evidence": [
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2510.12323",
          "type": "publication",
          "value": "arXiv:2510.12323 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415270293",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/RAG-Anything",
          "type": "repository",
          "value": "HKUDS/RAG-Anything: license=mit, last_push=2026-08-13, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/raganything/",
          "type": "package_downloads",
          "value": "package=raganything; version=1.3.1; downloads_last_month=31002",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://pypi.org/project/raganything/",
          "type": "package_downloads",
          "value": "package=raganything; version=1.3.1; downloads_last_month=29574",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://github.com/HKUDS/RAG-Anything",
          "type": "repository",
          "value": "HKUDS/RAG-Anything: license=mit, last_push=2026-08-20, releases=yes",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": "graph_rag",
      "first_published": "2025-10",
      "groups": [
        "A",
        "C",
        "D"
      ],
      "id": "rag_anything",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2510.12323",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2510.12323",
          "verified_at": "2026-08-14"
        },
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/HKUDS/RAG-Anything",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "RAG-Anything",
      "package": "raganything",
      "parse_notes": [
        {
          "code": "A1",
          "did": "Единицей извлечения служит элемент документа: отрезок текста, изображение, таблица либо формула. Разбор выделяет их порознь и сохраняет за каждым его род.",
          "did_en": "The unit of retrieval is a document element: a stretch of text, an image, a table, or an equation. Parsing separates them and keeps the kind of each.",
          "instead": "«вершина или ребро графа»: граф здесь надстроен над элементами и служит связями между ними, а возвращается читателю сам элемент.",
          "instead_en": "«graph node or edge»: the graph here is raised over the elements and serves as the links between them, while what is returned to the reader is the element itself.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, устройство цепочки",
          "source_en": "arXiv:2510.12323, pipeline description",
          "technology_id": "rag_anything",
          "to": "passage",
          "variable": true,
          "why": "Записано наиболее частое значение, а пометка переменного стоит потому, что род единицы выбирается содержимым документа, а не настройкой системы.",
          "why_en": "The most frequent value is recorded, and the run-time mark is there because the kind of unit is settled by the content of the document rather than by a setting."
        },
        {
          "code": "A2",
          "did": "Документ разбирается сторонним разборщиком (MinerU, Docling либо PaddleOCR), который выделяет заголовки, абзацы, таблицы и врезки и сохраняет их вложенность.",
          "did_en": "The document is parsed by an external parser (MinerU, Docling, or PaddleOCR) that isolates headings, paragraphs, tables, and figures and preserves their nesting.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, разбор документа",
          "source_en": "arXiv:2510.12323, document parsing",
          "technology_id": "rag_anything",
          "to": "structure_aware",
          "why": "Границы проводятся по устройству документа, а не по числу символов.",
          "why_en": "Boundaries follow the structure of the document rather than a character count."
        },
        {
          "code": "A3",
          "did": "Из элементов извлекаются сущности и отношения между ними, в том числе отношения между элементами разных модальностей.",
          "did_en": "Entities and the relations between them are extracted from the elements, including relations between elements of different modalities.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, построение графа",
          "source_en": "arXiv:2510.12323, graph construction",
          "technology_id": "rag_anything",
          "to": "extracted_triples",
          "why": "К единице добавляется то, чего в её собственном тексте нет: связи с другими единицами.",
          "why_en": "What is added to a unit is not present in its own text: its links to other units."
        },
        {
          "code": "A4",
          "did": "Извлечённые сущности и отношения складываются в граф знаний, охватывающий все модальности разом.",
          "did_en": "The extracted entities and relations are assembled into a knowledge graph spanning all modalities at once.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, построение графа",
          "source_en": "arXiv:2510.12323, graph construction",
          "technology_id": "rag_anything",
          "to": "graph",
          "why": "Единицы связаны рёбрами, и связь эта используется при извлечении.",
          "why_en": "Units are joined by edges, and those edges are used during retrieval."
        },
        {
          "code": "A5",
          "did": "Текстовые элементы представляются одним плотным вектором, изображения и таблицы обрабатываются своими средствами.",
          "did_en": "Text elements are represented by a single dense vector, while images and tables are handled by their own means.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, обработчики модальностей",
          "source_en": "arXiv:2510.12323, modality processors",
          "technology_id": "rag_anything",
          "to": "dense_single",
          "variable": true,
          "why": "Записано значение для текста как преобладающей модальности; пометка переменного стоит потому, что род представления меняется вместе с родом элемента.",
          "why_en": "The value recorded is the one for text as the prevailing modality; the run-time mark is there because the kind of representation changes with the kind of element."
        },
        {
          "code": "A7",
          "did": "Принимаются текст, изображения, таблицы и формулы; набор родов расширяется своими обработчиками.",
          "did_en": "Text, images, tables, and equations are accepted, and the set of kinds is extensible with custom processors.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, поддерживаемые форматы",
          "source_en": "arXiv:2510.12323, supported formats",
          "technology_id": "rag_anything",
          "to": "text",
          "variable": true,
          "why": "Записан текст как преобладающая модальность собрания; пометка переменного стоит потому, что в одном собрании присутствуют все перечисленные.",
          "why_en": "Text is recorded as the prevailing modality of a collection; the run-time mark is there because all of the listed kinds occur within one collection."
        },
        {
          "code": "A8",
          "did": "Связи между единицами получены языковой моделью из содержания документов, а не заданы источником.",
          "did_en": "The links between units are obtained by a language model from the content of the documents rather than given by the source.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, построение графа",
          "source_en": "arXiv:2510.12323, graph construction",
          "technology_id": "rag_anything",
          "to": "extracted",
          "why": "Происхождение структуры определяется тем, кто её построил, и здесь её построил разбор.",
          "why_en": "The origin of the structure is settled by what built it, and here it was built by parsing."
        },
        {
          "code": "C1",
          "did": "Извлечение сочетает поиск по близости представлений с обходом рёбер графа, сохраняя связность найденного.",
          "did_en": "Retrieval combines search by closeness of representations with traversal of graph edges, preserving the coherence of what is found.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, извлечение",
          "source_en": "arXiv:2510.12323, retrieval",
          "technology_id": "rag_anything",
          "to": "graph_traversal",
          "why": "Обход графа назван оператором потому, что именно он определяет состав выдачи: поиск по близости даёт начальные вершины, а состав окрестности решает обход.",
          "why_en": "Graph traversal is named as the operator because it is what settles the composition of the results: similarity search supplies the starting nodes, while the traversal decides the neighbourhood."
        },
        {
          "code": "C3",
          "did": "Результаты поиска по представлениям и обхода графа сводятся в один упорядоченный список.",
          "did_en": "The results of representation search and of graph traversal are brought into a single ordered list.",
          "question": "Способ слияния в описании назван взвешиванием, но шкала не указана. Возможно прочтение «обученное слияние», если веса подбираются, а не задаются.",
          "question_en": "The description calls the merge a weighting but does not name the scale. A reading of «learned fusion» is possible if the weights are fitted rather than fixed.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, извлечение",
          "source_en": "arXiv:2510.12323, retrieval",
          "technology_id": "rag_anything",
          "to": "score_normalization",
          "why": "Два оператора дают две выдачи в несопоставимых величинах, и свести их без приведения к общей шкале нельзя.",
          "why_en": "Two operators produce two result sets in incommensurable quantities, and they cannot be joined without being brought onto a common scale."
        },
        {
          "code": "F1",
          "did": "Пополнение собрания идёт дописыванием: новые документы разбираются и добавляются к существующему графу без его перестроения.",
          "did_en": "The collection grows by appending: new documents are parsed and added to the existing graph without rebuilding it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2510.12323, надстройка над LightRAG",
          "source_en": "arXiv:2510.12323, built on LightRAG",
          "technology_id": "rag_anything",
          "to": "episodic",
          "why": "Значение унаследовано от LightRAG, поверх которого построена система, и совпадает со значением у той записи.",
          "why_en": "The value is inherited from LightRAG, on which the system is built, and matches the value on that record."
        },
        {
          "did": "Порядок выдачи учитывает род единицы: текст, таблица и изображение сравниваются не только по близости к запросу.",
          "did_en": "The ordering of results accounts for the kind of unit: text, tables, and images are compared by more than closeness to the query.",
          "residual": "modality_aware_ranking",
          "residual_term": "ранжирование с учётом модальности единицы",
          "residual_term_en": "ranking that accounts for the modality of a unit",
          "source": "arXiv:2510.12323, ранжирование",
          "source_en": "arXiv:2510.12323, ranking",
          "technology_id": "rag_anything",
          "why": "Схема называет способ пересчёта порядка измерением D1, но признака, по которому сопоставляются единицы разных модальностей, в ней нет.",
          "why_en": "The schema names the manner of reordering in dimension D1, but it has no place for the criterion by which units of different modalities are compared."
        }
      ],
      "prose_id": "rag_anything",
      "residual": [
        "ранжирование с учётом модальности единицы"
      ],
      "residual_en": [
        "ranking that accounts for the modality of a unit"
      ],
      "summary": "Многомодальный граф знаний над разобранным документом: текст, таблицы, формулы и изображения в одном извлечении.",
      "summary_en": "A multimodal knowledge graph over a parsed document: text, tables, equations, and images in one retrieval."
    },
    {
      "aliases": [],
      "attention": 2.0,
      "attention_cohort": "2025",
      "attention_raw": 1.0,
      "barriers": "Общее препятствие состоит в управлении тем, как память меняется со временем, и оно распадается на четыре части.\n\nЗаписи нужно сводить в обобщённые и удалять устаревшие, а для этого требуется правило, по которому запись признаётся устаревшей. Между сохранёнными записями возникают противоречия, потому что положение дел меняется, и нужен порядок их разрешения. При многократном пересмотре смысл сохранённого постепенно смещается, и запись перестаёт означать то, ради чего заводилась. Наконец, поиск по изменяющейся памяти нарушает предположение, на котором стоит приближённый поиск ближайших соседей: указатель строится в расчёте на неподвижные векторы.",
      "barriers_en": "The common obstacle is governing how memory changes over time, and it falls into four parts.\n\nRecords must be consolidated and stale ones removed, and that calls for a rule by which a record is judged stale. Contradictions arise among stored records because the state of affairs changes, and an order of resolution is needed. Under repeated revision the meaning of what is stored gradually drifts, and a record ceases to mean what it was written for. Finally, search over a changing memory violates the assumption on which approximate nearest neighbour search rests: the index is built on the premise that vectors stay put.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "episodic",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4407831980",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=2; year=2025; citation_velocity=0.111",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7135244490",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=5; year=2026; citation_velocity=1.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2502.14802",
          "type": "publication",
          "value": "arXiv:2502.14802 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2603.11768",
          "type": "publication",
          "value": "arXiv:2603.11768 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14802",
          "type": "publication",
          "value": "venue=ICML 2025; peer_reviewed=true; citations_semantic_scholar=193; year=2025",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14802",
          "type": "publication",
          "value": "venue=ICML 2025; peer_reviewed=true; citations_semantic_scholar=204; year=2025",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2502.14802",
          "type": "publication",
          "value": "venue=ICML 2025; peer_reviewed=true; citations_semantic_scholar=210; year=2025",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 7,
      "family": null,
      "first_published": "2025-02",
      "groups": [
        "A",
        "C"
      ],
      "id": "rag_as_memory",
      "kind": "paradigm",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "From RAG to Memory (arXiv:2502.14802, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2502.14802",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "paper",
          "label": "Survey on Memory Mechanism of LLMs (ACM, 2025, 755 cit.)",
          "label_en": null,
          "status": "verified",
          "url": "https://dl.acm.org/doi/10.1145/3748302",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "ICLR 2026 Workshop on Memory for LLM Agents",
          "label_en": null,
          "status": "verified",
          "url": "https://iclr.cc/virtual/2026/workshop/10000792",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "Governing Evolving Memory (arXiv:2603.11768, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2603.11768",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранний продукт при активных исследованиях. Опорная работа 2025 года набрала триста тринадцать цитирований; на конференции ICLR 2026 прошло отдельное заседание по памяти для исполнителей на языковых моделях.",
      "maturity_note_en": "Early product with active research. The anchor paper of 2025 gathered three hundred and thirteen citations; ICLR 2026 held a dedicated workshop on memory for language-model agents.",
      "name": "RAG as Memory",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Работа продолжает подход с графом сущностей поверх пассажей, углубляя связь графа с исходным текстом.",
          "did_en": "The work continues the approach with an entity graph over passages, deepening the graph's tie to the source text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "to": "graph",
          "why": "Индекс остаётся графовым.",
          "why_en": "The index remains a graph."
        },
        {
          "code": "A3",
          "did": "Из пассажей по-прежнему извлекаются сущности и связи.",
          "did_en": "Entities and relations are still extracted from the passages.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "to": "extracted_triples",
          "why": "Единица индекса несёт добытые утверждения.",
          "why_en": "A unit of the index carries the statements mined from it."
        },
        {
          "code": "C1",
          "did": "Ранжирование выполняет случайное блуждание с предпочтением, как в предыдущей работе.",
          "did_en": "Ranking is done by a personalised random walk, as in the earlier work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "to": "graph_traversal",
          "why": "Отбор — движение по связям.",
          "why_en": "Selection is movement along the edges."
        },
        {
          "code": "A1",
          "did": "Возвращаются пассажи; граф остаётся устройством индекса.",
          "did_en": "Passages are returned; the graph remains how the index is built.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "to": "passage",
          "why": "Единица извлечения — то, что отдаётся наружу.",
          "why_en": "The retrieval unit is what is handed outward."
        },
        {
          "code": "D1",
          "did": "Отдельной ступени переранжирования не описано.",
          "did_en": "No separate reranking stage is described.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "to": "none",
          "why": "Порядок задаёт блуждание.",
          "why_en": "The order is set by the walk."
        },
        {
          "did": "Вес распределяется случайным блужданием с возвратом к стартовым узлам.",
          "did_en": "Weight is distributed by a random walk with return to the starting nodes.",
          "residual": "random_walk_ranking",
          "residual_term": "ранжирование случайным блужданием с предпочтением",
          "residual_term_en": "personalized random-walk ranking",
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "why": "Обход графа не говорит, по какому правилу распределяется важность.",
          "why_en": "Graph traversal does not say by what rule importance is distributed."
        },
        {
          "did": "Оценки узлов переводятся в оценки пассажей.",
          "did_en": "Node scores are converted into passage scores.",
          "residual": "score_transfer_to_units",
          "residual_term": "перенос оценок узлов на единицы извлечения",
          "residual_term_en": "transfer of node scores onto retrieval units",
          "source": "arXiv:2502.14802, метод",
          "source_en": "arXiv:2502.14802, method",
          "technology_id": "rag_as_memory",
          "why": "Ранжируется одна структура, возвращается другая.",
          "why_en": "One structure is ranked and a different one is returned."
        }
      ],
      "problem": "Извлечение в обычном виде состояния не имеет: каждый запрос читает неподвижный снимок собрания и ничего в нём не оставляет. Система не накапливает опыт, не пересматривает прежних заключений и не учится на своих ошибках.\n\nЭтим закрыты три применения сразу. Подстройка под пользователя невозможна, потому что предыдущие обращения нигде не сохраняются. Длительная работа исполнителя над задачей невозможна, потому что найденное на первом шаге к десятому уже потеряно. Непрерывное накопление знаний без переобучения модели невозможно по той же причине.",
      "problem_en": "Retrieval in its ordinary form is stateless: every query reads a fixed snapshot of the collection and leaves nothing behind in it. The system accumulates no experience, revises no earlier conclusions, and learns from none of its mistakes.\n\nThree applications are closed off at once. Adaptation to a user is impossible, because previous exchanges are stored nowhere. Prolonged work by an agent on a task is impossible, because what was found at the first step is already lost by the tenth. Continual accumulation of knowledge without retraining the model is impossible for the same reason.",
      "prose_id": "rag_as_memory",
      "residual": [
        "ранжирование случайным блужданием с предпочтением",
        "перенос оценок узлов на единицы извлечения"
      ],
      "residual_en": [
        "personalized random-walk ranking",
        "transfer of node scores onto retrieval units"
      ],
      "solutions": "Память разделяют по роду хранимого: события в исходном виде, сведённые из них устойчивые утверждения и приёмы решения задач хранятся порознь и обновляются по разным правилам.\n\nПересмотр ведут отдельным ходом, при котором система периодически перечитывает накопленное и перестраивает его; так устроены MemGPT и Generative Agents. Правила записи обратно задают явно, определяя, что именно и при каких условиях попадает в память. Изменения памяти протоколируются, чтобы всякое утверждение прослеживалось до породившего его события.",
      "solutions_en": "Memory is divided by the kind of thing stored: events in their original form, the stable statements consolidated from them, and procedures for solving tasks are kept apart and updated by different rules.\n\nRevision is carried out as a separate pass in which the system periodically rereads what it has accumulated and reorganises it; MemGPT and Generative Agents are built this way. Write-back rules are stated explicitly, fixing what enters memory and under what conditions. Changes to memory are logged, so that every statement can be traced back to the event that produced it.",
      "summary": "Извлечение как долговременная память: система накапливает опыт между запросами вместо чтения неподвижного снимка.",
      "summary_en": "Retrieval as long-term memory: the system accumulates experience between queries instead of reading a fixed snapshot."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "RAG-Fusion продолжает приём с несколькими формулировками запроса и решает то, что тот оставляет нерешённым: как соединить полученные списки. Простое объединение теряет сведения о порядке, а сравнивать оценки напрямую нельзя, потому что оценки разных поисков лежат в разных шкалах и не сопоставимы.\n\nСлияние выполняется по обратным рангам. Документу назначается вклад, обратный его месту в списке: первое место даёт наибольший вклад, десятое малый. Вклады, полученные документом во всех списках, складываются, и общий порядок определяется этой суммой. Существенно, что в расчёт идёт только место, а не оценка, поэтому сопоставлять шкалы не требуется вовсе.\n\nПравило устроено так, что документ, найденный несколькими формулировками на средних местах, обгоняет документ, найденный одной формулировкой на первом. Это и есть искомое поведение: согласие нескольких независимых взглядов на запрос служит признаком уместности. Приём не требует обучения и применим к любым источникам, дающим упорядоченный список, поэтому им же соединяют словарный и векторный поиск. Расход остаётся тем же, что у нескольких формулировок: один вызов модели и несколько обращений к индексу.",
      "description_en": "RAG-Fusion continues the multiple-formulation technique and settles what that technique leaves open: how to join the resulting lists. A plain merge loses the ordering, and the scores cannot be compared directly, because the scores of different searches live on different scales and are not commensurable.\n\nThe merge is by reciprocal rank. A document is assigned a contribution inversely proportional to its position in a list: first place gives the largest contribution, tenth a small one. The contributions a document receives across all lists are summed, and the overall ordering follows that sum. What matters is that only position enters the computation, not score, so no scales need be reconciled at all.\n\nThe rule is such that a document found by several formulations in middling positions overtakes a document found by one formulation in first place. That is precisely the wanted behaviour: agreement among several independent views of the query is evidence of relevance. The technique requires no training and applies to any source producing an ordered list, which is why it also serves to join lexical and vector search. The expense is that of multiple formulations: one model call and several consultations of the index.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/Raudaschl/rag-fusion",
          "type": "repository",
          "value": "Raudaschl/rag-fusion: license=mit, last_push=2026-04-26, releases=no",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 1,
      "family": "G",
      "first_published": null,
      "groups": [
        "B",
        "C"
      ],
      "id": "rag_fusion",
      "kind": "technique",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/Raudaschl/rag-fusion",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "RAG-Fusion",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Порождается несколько вариантов запроса, поиск выполняется по каждому.",
          "did_en": "Several variants of the query are produced, and retrieval is performed on each.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "репозиторий Raudaschl/rag-fusion",
          "source_en": "repository Raudaschl/rag-fusion",
          "technology_id": "rag_fusion",
          "to": "multi_reformulation",
          "why": "Запрос размножается до обращения к индексу.",
          "why_en": "The query is multiplied before the call to the index."
        },
        {
          "code": "C3",
          "did": "Списки результатов сливаются взаимным ранговым слиянием; в этом всё содержание приёма.",
          "did_en": "The result lists are merged by reciprocal rank fusion, and the whole content of the technique lies in that.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "репозиторий Raudaschl/rag-fusion",
          "source_en": "repository Raudaschl/rag-fusion",
          "technology_id": "rag_fusion",
          "to": "rrf",
          "why": "Способ слияния и есть то, чем приём отличается от простого размножения запроса.",
          "why_en": "The manner of fusion is precisely what distinguishes the technique from a plain multiplication of the query."
        }
      ],
      "prose_id": "rag_fusion",
      "residual": [],
      "residual_en": [],
      "summary": "Несколько формулировок запроса и слияние их списков по обратным рангам.",
      "summary_en": "Several formulations of the query, with their lists merged by reciprocal rank."
    },
    {
      "aliases": [],
      "attention": 1.504,
      "attention_cohort": "2024",
      "attention_raw": 0.871,
      "confidence": 1.0,
      "configuration": {
        "A1": "summary_node",
        "A2": "semantic",
        "A3": "summary",
        "A4": "tree",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "computed",
        "B1": "identity",
        "B2": "static",
        "C1": "tree_navigation",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "RAPTOR отвечает на вопросы, ответ на которые не содержится ни в одном отдельном фрагменте. Поиск по фрагментам находит места, похожие на запрос, и хорошо служит вопросу о конкретном факте. Вопрос вида «о чём вообще говорит этот отчёт» такой поиск обслужить не может: искомого предложения в тексте нет, оно возникает только при взгляде на весь текст сразу.\n\nПостроение идёт снизу вверх и повторяется. Фрагменты превращаются в векторы и группируются алгоритмом кластеризации по близости. Для каждой группы большая языковая модель пишет свод её содержания, своды сами превращаются в векторы и снова группируются, и так до тех пор, пока на верхнем уровне не останется один узел, описывающий собрание целиком. Получается дерево, где листья суть исходные фрагменты, а каждый внутренний узел суть обобщение своих потомков.\n\nИндексируются все узлы дерева наравне, поэтому поиск возвращает как отдельные фрагменты, так и своды разной степени общности, и уровень подбирается запросом сам собой. Стоимость построения складывается из вызова модели на каждую группу каждого уровня и потому растёт вместе с собранием. Своды, кроме того, остаются пересказом: сведение, потерянное при обобщении на нижнем уровне, до верхних уровней не доходит.",
      "description_en": "RAPTOR addresses questions whose answer is contained in no single fragment. Search over fragments finds places resembling the query and serves a question about a specific fact well. A question of the form \"what is this report about at all\" cannot be served that way: the sentence being sought is not in the text and arises only when the whole text is taken together.\n\nConstruction proceeds from the bottom up and repeats. Fragments are turned into vectors and grouped by a clustering algorithm according to proximity. For each group a large language model writes a summary of its content, the summaries are themselves turned into vectors and grouped again, and so on until a single node describing the whole collection remains at the top. The result is a tree whose leaves are the original fragments and whose every internal node is a generalisation of its descendants.\n\nAll nodes of the tree are indexed alike, so search returns both individual fragments and summaries of varying generality, and the query itself settles which level applies. The cost of construction consists of a model call per group per level and therefore grows with the collection. Summaries, moreover, remain restatements: a fact lost in generalisation at a lower level never reaches the upper ones.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4391463108",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=27; year=2024; citation_velocity=0.871",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://openreview.net/forum?id=GN921JHCRw",
          "type": "publication",
          "value": "venue=ICLR; peer_reviewed=true",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2401.18059",
          "type": "publication",
          "value": "arXiv:2401.18059 (2024)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 3,
      "family": "H",
      "first_published": "2024",
      "groups": [
        "A",
        "C"
      ],
      "id": "raptor",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2401.18059",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "RAPTOR",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Куски текста рекурсивно объединяются в группы и пересказываются, и так снизу вверх строится дерево.",
          "did_en": "Pieces of text are recursively grouped and summarised, and a tree is built bottom up in that way.",
          "instead": "«иерархия сообществ»: она предполагает разбиение графа, а здесь группируются куски текста.",
          "instead_en": "«community hierarchy»: it presupposes a partition of a graph, whereas here pieces of text are grouped.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.18059, метод",
          "source_en": "arXiv:2401.18059, method",
          "technology_id": "raptor",
          "to": "tree",
          "why": "Индекс имеет уровни, и это дерево, а не граф: у каждого узла один родитель.",
          "why_en": "The index has levels, and it is a tree rather than a graph: every node has one parent."
        },
        {
          "code": "A1",
          "did": "На верхних уровнях дерева лежат пересказы групп, и извлекаться могут они, а не только исходные куски.",
          "did_en": "The upper levels of the tree hold summaries of groups, and those may be retrieved rather than only the source pieces.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.18059, метод",
          "source_en": "arXiv:2401.18059, method",
          "technology_id": "raptor",
          "to": "summary_node",
          "why": "Единицей извлечения становится узел-пересказ.",
          "why_en": "The retrieval unit becomes a summary node."
        },
        {
          "code": "A3",
          "did": "Пересказы порождаются заранее, при построении дерева.",
          "did_en": "The summaries are produced in advance, while the tree is being built.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.18059, метод",
          "source_en": "arXiv:2401.18059, method",
          "technology_id": "raptor",
          "to": "summary",
          "why": "Единица индекса несёт добавленный к ней пересказ.",
          "why_en": "A unit of the index carries a retelling attached to it."
        },
        {
          "code": "C1",
          "did": "Извлечение работает по дереву, собирая сведения с разных уровней обобщения.",
          "did_en": "Retrieval works over the tree, gathering material from different levels of generality.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.18059, метод",
          "source_en": "arXiv:2401.18059, method",
          "technology_id": "raptor",
          "to": "tree_navigation",
          "why": "Ответ отбирается движением по уровням, а не сравнением в плоском списке.",
          "why_en": "The answer is selected by moving through levels rather than by comparison in a flat list."
        },
        {
          "code": "D1",
          "did": "Отдельной модели переранжирования в работе не описано.",
          "did_en": "No separate reranking model is described in the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2401.18059, метод",
          "source_en": "arXiv:2401.18059, method",
          "technology_id": "raptor",
          "to": "none",
          "why": "Порядок задаёт сам обход дерева.",
          "why_en": "The order is set by the traversal of the tree itself."
        },
        {
          "code": "A8",
          "did": "Группы кусков вычисляются кластеризацией представлений, применяемой рекурсивно.",
          "did_en": "The groups of pieces are computed by clustering of representations, applied recursively.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "raptor",
          "to": "computed",
          "why": "Структура вычислена алгоритмом: она зависит от модели представлений и может измениться при переиндексации. Тем и отличается от оглавления, при том же значении топологии.",
          "why_en": "The structure is computed by an algorithm: it depends on the representation model and may change on reindexing. That is what distinguishes it from a table of contents at the same topology value."
        }
      ],
      "prose_id": "raptor",
      "residual": [],
      "residual_en": [],
      "summary": "Дерево сводок над фрагментами: рекурсивная кластеризация с обобщением на каждом уровне.",
      "summary_en": "A tree of summaries over fragments: recursive clustering with a summary written at every level."
    },
    {
      "aliases": [
        "Relevance-Aware RipGrep Search Agent"
      ],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "barriers": "Относимость документа не позволяет ни отыскать нужное место в нём, ни составить ответ из частей, ни проверить его. Внутри длинного документа полезный отрывок теряется среди прочего содержания и в векторном пространстве не выделяется.",
      "barriers_en": "The relevance of a document allows neither locating the right place in it, nor composing an answer from parts, nor verifying it. Inside a long document a useful excerpt is lost among the rest of the content and does not stand out in the vector space.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A4": "flat",
        "A5": "dense_single",
        "B1": "multi_reformulation",
        "C1": "lexical",
        "C2": "agentic_open_loop",
        "D1": "none",
        "E1": "single_pass",
        "E5": "mutual_loop",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-12",
      "configuration_variable": [],
      "description": "RARG отвечает на наблюдение, расходящееся с ожиданием: исполнитель, работающий с собранием напрямую построчным поиском, отвечает лучше, чем тот же исполнитель, которому подают выдачу векторного поиска. Прямой обход при этом расточителен, потому что файлы обходятся вслепую и нужное находится поздно.\n\nПричина расхождения лежит в том, что относимость документа отвечает не на тот вопрос. Она говорит, что документ по теме, но не указывает место внутри него, не позволяет составить ответ из частей и не даёт способа проверить составленное. Внутри длинного документа полезный отрывок теряется среди прочего содержания и в пространстве представлений отдельно не выделяется, поэтому подача выдачи целиком даёт исполнителю много лишнего.\n\nRARG применяет относимость не как канал свидетельств, а как порядок действий. Отдельным средством исполнитель получает список путей, упорядоченный по относимости, начинает с обещающих мест и переранжирует найденные построчным поиском совпадения, вынося наверх те, что лежат в относящихся файлах. Свидетельством при этом остаётся то, что исполнитель прочитал сам, поэтому проверяемость прямого обхода сохраняется, а слепота его снимается.",
      "description_en": "RARG responds to an observation that runs against expectation: an agent working with a corpus directly by line-based search answers better than the same agent handed the output of a vector search. The direct walk is nonetheless wasteful, because files are traversed blindly and what is needed is found late.\n\nThe reason for the divergence is that document relevance answers the wrong question. It says the document is on topic, but it does not point to a place within it, does not let an answer be assembled from parts, and offers no way to verify what was assembled. Inside a long document a useful passage is lost among the rest of the content and is not separated out in representation space, so handing over the whole retrieved document gives the agent a great deal it does not need.\n\nRARG applies relevance not as a channel of evidence but as an order of operations. Through a separate tool the agent receives a list of paths ordered by relevance, starts with the promising places, and reranks the matches found by line-based search, bringing to the top those lying in relevant files. What counts as evidence remains what the agent read itself, so the verifiability of the direct walk is preserved while its blindness is removed.",
      "evidence": [
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2607.24223",
          "type": "publication",
          "value": "arXiv:2607.24223 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7171505919",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://github.com/LeqsNaN/RARG",
          "type": "repository",
          "value": "LeqsNaN/RARG: license=mit, last_push=2026-08-03, releases=no",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 3,
      "family": null,
      "first_published": "2026-07",
      "groups": [
        "B",
        "C",
        "D"
      ],
      "id": "rarg",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "RARG (arXiv:2607.24223, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2607.24223",
          "verified_at": "2026-08-14"
        },
        {
          "kind": "github",
          "label": "LeqsNaN/RARG",
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/LeqsNaN/RARG",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "RARG",
      "package": null,
      "parse_notes": [
        {
          "code": "C1",
          "did": "Свидетельства ищутся построчным поиском по файлам корпуса: агенту доступны две команды, оболочка с grep и чтение куска документа.",
          "did_en": "Evidence is sought by line-wise search over the corpus files: the agent has two commands, a shell running grep and a read of a slice of a document.",
          "instead": "«поиск ближайших соседей»: векторный поиск в системе есть, но он подсказывает порядок обхода и свидетельств не отдаёт.",
          "instead_en": "«nearest-neighbour search»: vector retrieval is present in the system, but it suggests the order of traversal and hands over no evidence.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "lexical",
          "why": "Канал свидетельств словарный: совпадение ищется по буквам, а не по близости представлений.",
          "why_en": "The evidence channel is lexical: a match is sought by letters rather than by closeness of representations."
        },
        {
          "code": "C2",
          "did": "Агент сам выбирает, какие команды выполнять и когда остановиться, и повторяет обращения, пока не сочтёт, что готов ответить.",
          "did_en": "The agent chooses which commands to run and when to stop, repeating calls until it judges itself ready to answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "agentic_open_loop",
          "why": "Ни числа шагов, ни внешнего условия остановки нет: состав обращений выбирается по ходу.",
          "why_en": "There is neither a step count nor an external stopping condition: the composition of calls is chosen as it goes."
        },
        {
          "code": "A5",
          "did": "Отдельная модель представлений ранжирует пути документов по относимости к порождённому запросу и записывает их в файл.",
          "did_en": "A separate representation model ranks document paths by relevance to a produced query and writes them to a file.",
          "question": "Представление здесь обслуживает порядок обхода, а не отбор ответа. Измерение не различает эти роли, и значение читается сильнее, чем есть на деле.",
          "question_en": "The representation here serves the order of traversal rather than the selection of the answer. The dimension does not distinguish these roles, and the value reads stronger than it is.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "dense_single",
          "why": "Модель представления в системе есть, и она одновекторная.",
          "why_en": "The system does have a representation model, and it is single-vector."
        },
        {
          "code": "A4",
          "did": "Корпус лежит файлами, и никакой структуры над ним не строится: обход идёт по путям.",
          "did_en": "The corpus lies as files, and no structure is built over it: traversal goes by paths.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "flat",
          "why": "Ни дерева, ни графа нет.",
          "why_en": "There is neither a tree nor a graph."
        },
        {
          "code": "B1",
          "did": "Языковая модель сама составляет и запросы к модели представлений, и образцы для построчного поиска, и делает это несколько раз за ответ.",
          "did_en": "The language model composes both the queries to the representation model and the patterns for line-wise search, doing so several times per answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "multi_reformulation",
          "why": "За один заход возникает несколько разных запросов вместо исходного.",
          "why_en": "Several different queries arise in one visit instead of the original one."
        },
        {
          "code": "D1",
          "did": "Совпадения построчного поиска пересматриваются той же моделью представлений, которая ранжировала пути.",
          "did_en": "The matches of the line-wise search are revisited by the same representation model that ranked the paths.",
          "instead": "«перекрёстный кодировщик»: он читает запрос и документ вместе, а здесь работает та же двухбашенная модель, что и ищет.",
          "instead_en": "«cross-encoder»: it reads query and document together, whereas here the same bi-encoder that retrieves does the work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "none",
          "why": "Перекрёстного кодировщика здесь нет, а других значений для пересмотра порядка моделью схема не даёт. Значение оставлено пустым, а механизм записан остатком.",
          "why_en": "There is no cross-encoder here, and the schema offers no other value for a model revisiting the order. The value is left empty and the mechanism is recorded as a residual."
        },
        {
          "code": "E5",
          "did": "Рассуждение задаёт следующую команду, а её вывод меняет рассуждение, и так до ответа.",
          "did_en": "Reasoning sets the next command, and its output changes the reasoning, and so on until the answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "mutual_loop",
          "why": "Связь двусторонняя и повторяется.",
          "why_en": "The coupling runs both ways and repeats."
        },
        {
          "code": "G3",
          "did": "Ни языковая модель, ни модель представлений не обучаются: работа складывает существующие части и меняет порядок их применения.",
          "did_en": "Neither the language model nor the representation model is trained: the work assembles existing parts and changes the order in which they are applied.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "to": "frozen",
          "why": "Обучения в системе нет. Работа отдельно упоминает обучаемые агенты как чужой подход.",
          "why_en": "There is no training in the system. The work separately mentions trained agents as somebody else's approach."
        },
        {
          "did": "Более широкий набор совпадений пересчитывается моделью представлений, и наверх выводятся только лучшие.",
          "did_en": "A broader pool of matches is rescored by the representation model, and only the best are surfaced.",
          "residual": "biencoder_rerank",
          "residual_term": "переранжирование двухбашенной моделью представлений",
          "residual_term_en": "reranking by a bi-encoder representation model",
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "why": "Среди механизмов переранжирования схема называет перекрёстный кодировщик; двухбашенной модели в этой роли значения нет.",
          "why_en": "Among reranking mechanisms the schema names the cross-encoder; there is no value for a bi-encoder in that role."
        },
        {
          "did": "Оценка относимости задаёт, какие документы построчный поиск обойдёт первыми, и с каких мест он начнёт.",
          "did_en": "A relevance estimate sets which documents the line-wise search visits first, and from which places it starts.",
          "residual": "relevance_ordered_traversal",
          "residual_term": "порядок обхода корпуса по оценке относимости",
          "residual_term_en": "corpus traversal ordered by a relevance estimate",
          "source": "arXiv:2607.24223, метод",
          "source_en": "arXiv:2607.24223, method",
          "technology_id": "rarg",
          "why": "Оператор поиска говорит, чем ищут, управление обходом — насколько глубоко, а порядок обхода не выражает ни одно измерение. В этом порядке и состоит вклад работы.",
          "why_en": "The search operator says what searches, traversal control says how deep, and no dimension expresses the order of traversal. That order is the contribution of the work."
        }
      ],
      "problem": "Агенты, работающие с корпусом напрямую построчным поиском, находят нужное поздно: они обходят файлы вслепую. Векторный поиск знает, где искать, но подача его выдачи прямо модели работает хуже прямого обхода.",
      "problem_en": "Agents that work with a corpus directly by line-wise search find what they need late: they walk the files blind. Vector retrieval knows where to look, but feeding its output straight to the model works worse than direct traversal.",
      "prose_id": "rarg",
      "residual": [
        "переранжирование двухбашенной моделью представлений",
        "порядок обхода корпуса по оценке относимости"
      ],
      "residual_en": [
        "reranking by a bi-encoder representation model",
        "corpus traversal ordered by a relevance estimate"
      ],
      "solutions": "Относимость применяется не как канал свидетельств, а как порядок действий. Отдельным средством модель получает список путей, упорядоченный по относимости, начинает с обещающих мест и переранжирует найденные совпадения, вынося наверх содержательные.",
      "solutions_en": "Relevance is applied as an order of actions rather than as the evidence channel. Through a separate tool the model receives a list of paths ordered by relevance, starts from promising places and reranks the matches found, surfacing the substantial ones.",
      "summary": "Агент ищет по собранию построчно, а оценка относимости задаёт порядок обхода, не подменяя собой свидетельства.",
      "summary_en": "The agent searches the corpus line by line, while relevance sets the order of the walk rather than standing in for evidence."
    },
    {
      "aliases": [],
      "attention": 6.823,
      "attention_cohort": "2023",
      "attention_raw": 12.565,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "lexical",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "multi_reformulation",
        "B2": "static",
        "C1": "lexical",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "ReAct описывает общую схему, в которой языковая модель чередует рассуждение и действия. Извлечение оказывается здесь частным случаем: поиск суть один из инструментов, доступных модели наряду с другими.\n\nКруг состоит из трёх частей. Модель порождает мысль, то есть рассуждение о том, что известно и чего недостаёт. Затем она порождает действие, обращаясь к одному из доступных инструментов с определёнными доводами. Среда выполняет действие и возвращает наблюдение, то есть его результат. Наблюдение добавляется к контексту, и круг повторяется, пока модель не порождает действие «ответить».\n\nСхема отличается от простого пошагового рассуждения тем, что мысли проверяются внешним миром: неверное предположение о факте опровергается наблюдением на следующем же круге и не доживает до ответа. От простого вызова инструментов она отличается тем, что перед каждым действием стоит явное рассуждение о его цели. Число кругов заранее не ограничено, поэтому это открытый цикл, и его расход не предсказуем по вопросу: цикл продолжается, пока модель не сочтёт задачу решённой либо пока не сработает внешнее ограничение.",
      "description_en": "ReAct describes a general scheme in which a language model alternates reasoning with action. Retrieval turns out to be a special case of it: search is one of the tools available to the model alongside others.\n\nA round consists of three parts. The model generates a thought, that is, reasoning about what is known and what is missing. It then generates an action, invoking one of the available tools with particular arguments. The environment carries the action out and returns an observation, that is, its result. The observation is added to the context and the round repeats, until the model generates the action \"answer\".\n\nThe scheme differs from plain step-by-step reasoning in that thoughts are checked against the outside world: a false assumption about a fact is refuted by an observation on the very next round and does not survive into the answer. It differs from plain tool invocation in that every action is preceded by explicit reasoning about its purpose. The number of rounds is not bounded in advance, which makes this an open loop, and its expense cannot be predicted from the question: the loop continues until the model judges the task solved or until an external limit intervenes.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2210.03629",
          "type": "publication",
          "value": "arXiv:2210.03629 (2022)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4304195432",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=573; year=2022; citation_velocity=12.457",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://openreview.net/forum?id=WE_vluYUL-X",
          "type": "publication",
          "value": "venue=ICLR; peer_reviewed=true",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4304195432",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=574; year=2022; citation_velocity=12.478",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4304195432",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=576; year=2022; citation_velocity=12.522",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4304195432",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=578; year=2022; citation_velocity=12.565",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": "C",
      "first_published": "2023",
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "react",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2210.03629",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "ReAct",
      "package": null,
      "parse_notes": [
        {
          "code": "C2",
          "did": "Извлечение здесь не ступень конвейера, а одно из действий: модель сама решает, искать ли, что искать и когда остановиться, чередуя рассуждение с действиями.",
          "did_en": "Retrieval here is not a stage of a pipeline but one of the actions: the model itself decides whether to search, what to search for and when to stop, alternating reasoning with actions.",
          "instead": "«остановка по условию»: там цикл один и условие внешнее, а здесь модель выбирает между разными действиями.",
          "instead_en": "«stop on condition»: there the loop is single and the condition external, whereas here the model chooses between different actions.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.03629, метод",
          "source_en": "arXiv:2210.03629, method",
          "technology_id": "react",
          "to": "agentic_open_loop",
          "why": "Число и состав обращений заранее не заданы и не выводятся из условия остановки — их выбирает модель по ходу. Это и есть открытый цикл.",
          "why_en": "Neither the number nor the composition of calls is fixed in advance, and they do not follow from a stopping condition: the model picks them as it goes. That is an open loop."
        },
        {
          "code": "B1",
          "did": "Запрос каждого поискового действия модель формулирует сама, исходя из уже выведенного.",
          "did_en": "The query of every search action is formulated by the model itself, out of what it has already inferred.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.03629, метод",
          "source_en": "arXiv:2210.03629, method",
          "technology_id": "react",
          "to": "multi_reformulation",
          "why": "За один заход возникает несколько разных запросов вместо исходного.",
          "why_en": "Several different queries arise in one visit instead of the original one."
        },
        {
          "code": "A5",
          "did": "Поиск идёт через простой программный доступ к справочнику — по словам, без векторов.",
          "did_en": "Retrieval goes through simple programmatic access to a reference work, by words and without vectors.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.03629, постановка опытов",
          "source_en": "arXiv:2210.03629, experimental setup",
          "technology_id": "react",
          "to": "lexical",
          "why": "Иных способов извлечения в работе нет.",
          "why_en": "The work has no other means of retrieval."
        },
        {
          "code": "C1",
          "did": "Оператор поиска — тот же словарный доступ к справочнику.",
          "did_en": "The search operator is that same lexical access to the reference work.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.03629, постановка опытов",
          "source_en": "arXiv:2210.03629, experimental setup",
          "technology_id": "react",
          "to": "lexical",
          "why": "Действие поиска обращается к внешнему указателю по словам.",
          "why_en": "The search action addresses an external index by words."
        },
        {
          "code": "D1",
          "did": "Найденное подаётся модели как есть; ступени пересмотра порядка нет.",
          "did_en": "What is found is handed to the model as it is; there is no stage that revisits the order.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2210.03629, метод",
          "source_en": "arXiv:2210.03629, method",
          "technology_id": "react",
          "to": "none",
          "why": "Переранжирование в работе не описано.",
          "why_en": "No reranking is described in the work."
        },
        {
          "code": "E5",
          "did": "Рассуждение выбирает действие, результат действия меняет рассуждение.",
          "did_en": "Reasoning chooses an action, and the result of the action changes the reasoning.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "react",
          "to": "mutual_loop",
          "why": "Связь двусторонняя и повторяется.",
          "why_en": "The coupling runs both ways and repeats."
        }
      ],
      "prose_id": "react",
      "residual": [],
      "residual_en": [],
      "summary": "Чередование рассуждения и действий с внешними инструментами, где результат действия возвращается в рассуждение.",
      "summary_en": "Reasoning alternates with actions on external tools, and the result of each action returns into the reasoning."
    },
    {
      "aliases": [],
      "attention": 3.206,
      "attention_cohort": "2023",
      "attention_raw": 5.903,
      "confidence": 1.0,
      "configuration": {
        "C3": "score_normalization",
        "D1": "none",
        "E5": "none",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "REPLUG исходит из положения, в котором находится большинство применений: языковая модель доступна только по внешнему обращению, её веса закрыты, и дообучить её нельзя. Всё, чем можно распорядиться, это выбор документов, подаваемых ей на вход.\n\nОбучается поэтому один извлекатель, а языковая модель служит для него учителем и сама не меняется. Признак годности документа берётся у неё же: документ хорош настолько, насколько он повышает вероятность, которую модель назначает верному ответу. Извлекатель дообучается так, чтобы его порядок документов сошёлся с этим порядком, и обучающий сигнал получается без ручной разметки, из одних лишь ответов модели.\n\nВторой составляющей служит подача документов порознь. Вместо того чтобы складывать найденное в один контекст, каждый документ подаётся модели отдельно, и полученные распределения по следующему слову складываются с весами по оценке документа. Это снимает ограничение на длину входа и не даёт постороннему документу испортить весь контекст сразу. Расход при этом растёт: вместо одного вызова модели на запрос делается столько вызовов, сколько взято документов.",
      "description_en": "REPLUG starts from the situation most deployments are in: the language model is reachable only through an external call, its weights are closed, and it cannot be further trained. All that can be arranged is the choice of documents fed to its input.\n\nOne retriever is therefore trained, with the language model serving as its teacher and remaining unchanged. The criterion for a good document is taken from that same model: a document is good to the extent that it raises the probability the model assigns to the correct answer. The retriever is trained so that its ordering of documents converges to that ordering, and the training signal is obtained without any hand labelling, from the model's responses alone.\n\nThe second component is separate presentation of documents. Rather than gathering the retrieved material into a single context, each document is given to the model on its own, and the resulting distributions over the next word are combined with weights taken from the document scores. This removes the limit on input length and prevents one irrelevant document from spoiling the whole context at once. The expense rises accordingly: instead of one model call per query there are as many calls as documents taken.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2301.12652",
          "type": "publication",
          "value": "arXiv:2301.12652 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042773",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=169; year=2024; citation_velocity=5.452",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042773",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=172; year=2024; citation_velocity=5.548",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042773",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=176; year=2024; citation_velocity=5.677",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042773",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=178; year=2024; citation_velocity=5.742",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4401042773",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=183; year=2024; citation_velocity=5.903",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": null,
      "first_published": "2023",
      "groups": [
        "C",
        "G"
      ],
      "id": "replug",
      "kind": "technique",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2301.12652",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "REPLUG",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Языковая модель остаётся чёрным ящиком и не меняется; обучается поисковик, причём учителем ему служит сама модель — он ищет то, что улучшает её предсказание.",
          "did_en": "The language model stays a black box and does not change; the retriever is trained, and the model itself serves as its teacher, since the retriever seeks what improves the model's prediction.",
          "instead": "«совместное обучение»: оно требует изменения обеих сторон, а здесь одна неприкосновенна.",
          "instead_en": "«joint training»: it requires both sides to change, whereas here one is untouchable.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2301.12652, метод",
          "source_en": "arXiv:2301.12652, method",
          "technology_id": "replug",
          "to": "trained_retriever",
          "why": "Обучается поисковая сторона. Замороженность модели здесь не следствие, а условие: приём тем и ценен, что применим к закрытой модели.",
          "why_en": "The retrieval side is trained. The model being frozen is a condition here rather than a consequence: the technique is valuable precisely because it applies to a closed model."
        },
        {
          "code": "C3",
          "did": "Документы подаются модели по отдельности, а их вклады сводятся по вероятностям её ответа.",
          "did_en": "Documents are handed to the model separately, and their contributions are combined by the probabilities of its answer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2301.12652, метод",
          "source_en": "arXiv:2301.12652, method",
          "technology_id": "replug",
          "to": "score_normalization",
          "why": "Результаты нескольких обращений сливаются по величинам оценок, а не по рангам.",
          "why_en": "The results of several calls are fused by score magnitude rather than by rank."
        }
      ],
      "prose_id": "replug",
      "residual": [],
      "residual_en": [],
      "summary": "Языковая модель остаётся неизменной и служит учителем: обучается только извлекатель.",
      "summary_en": "The language model stays untouched and acts as the teacher: only the retriever is trained."
    },
    {
      "aliases": [
        "ROZA",
        "ROZA Graphs"
      ],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "append_only",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "graph_structural",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "consolidating",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-13",
      "configuration_variable": [],
      "description": "ROZA Graphs исходит из наблюдения о расточительности обычной цепочки. Система оценивает найденное при каждом запросе заново: решает, относится ли отрывок к делу, годится ли он в обоснование, стоит ли на него опираться. Как только ответ построен, все эти решения отбрасываются. Тот же самый отрывок при следующем запросе оценивается с нуля, и оценка может выйти другой, отчего один и тот же вопрос получает разные ответы в разные дни.\n\nПредложены два хранилища, переживающие запрос. Первое, названное графом рассуждений, хранит вынесенные оценки: узел отвечает материалу, а накопленные при нём записи говорят, как этот материал оценивался прежде и в каких обстоятельствах. Второе, названное графом извлечения, хранит противоположное: кандидатов, отвергнутых однажды, чтобы они не возвращались впредь. При новом запросе система читает историю по каждому кандидату и упорядочивает выдачу с её учётом.\n\nНи языковая модель, ни модель представлений при этом не дообучаются, и работа заявляет это своим свойством: накопление идёт вне их весов и потому применимо к моделям, доступным только по внешнему обращению. Оценивать работу пока не на чем: это препринт одного автора без цитирований, проверенный на трёх наборах многошаговых вопросов, и независимого воспроизведения у него нет. В реестре она занимает пустовавшее место: направление самонастраивающихся систем до сих пор стояло без единой конкретной системы под собой.",
      "description_en": "ROZA Graphs starts from an observation about the wastefulness of an ordinary chain. The system judges what it retrieves anew on every query: it decides whether a passage bears on the matter, whether it will serve as grounds, whether it should be relied upon. As soon as the answer is built, all those decisions are discarded. The very same passage is judged from scratch at the next query, the judgement may come out differently, and the same question receives different answers on different days.\n\nTwo stores that outlive a query are proposed. The first, called the reasoning graph, holds the judgements passed: a node stands for a piece of material, and the records accumulated at it say how that material was judged before and under what circumstances. The second, called the retrieval graph, holds the opposite: candidates rejected once, so that they do not return thereafter. On a new query the system reads the history of each candidate and orders the results with it in view.\n\nNeither the language model nor the representation model is fine-tuned, and the work states this as a property of its own: accumulation happens outside their weights and is therefore applicable to models reachable only through an external call. There is as yet nothing on which to judge the work: it is a single-author preprint with no citations, evaluated on three sets of multi-hop questions, with no independent reproduction. In the registry it fills a place that stood empty: the direction of self-improving systems had until now no concrete system under it at all.",
      "evidence": [
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2604.07595",
          "type": "publication",
          "value": "arXiv:2604.07595 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7154505616",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2026-04",
      "groups": [
        "D",
        "F"
      ],
      "id": "roza_graphs",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "arXiv:2604.07595",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2604.07595",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "ROZA Graphs",
      "package": null,
      "parse_notes": [
        {
          "code": "D1",
          "did": "Порядок кандидатов определяется обходом графа рассуждений: для каждого кандидата система читает, как этот же материал оценивался в прежних прогонах, и учитывает накопленные оценки.",
          "did_en": "The order of candidates is settled by traversing the reasoning graph: for each candidate the system reads how the same material was judged in earlier runs and takes the accumulated judgements into account.",
          "instead": "«совместный кодировщик»: он пересчитывает пару заново на каждом запросе, тогда как здесь используется уже вынесенная прежде оценка.",
          "instead_en": "«joint encoder»: it recomputes the pair afresh on every query, whereas here a judgement made earlier is reused.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2604.07595, устройство",
          "source_en": "arXiv:2604.07595, method",
          "technology_id": "roza_graphs",
          "to": "graph_structural",
          "why": "Переранжирование опирается на положение кандидата в графе накопленных оценок, а не на совместный прогон модели по паре «запрос, кандидат».",
          "why_en": "Reranking rests on the candidate's position in the graph of accumulated judgements rather than on a joint model pass over the query and candidate pair."
        },
        {
          "code": "F1",
          "did": "Оценки свидетельств, вынесенные при обработке запросов, сохраняются между прогонами и сводятся в граф, а не остаются отдельными записями о каждом случае.",
          "did_en": "The judgements of evidence made while serving queries are kept between runs and consolidated into a graph rather than left as separate records of individual cases.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2604.07595, устройство",
          "source_en": "arXiv:2604.07595, method",
          "technology_id": "roza_graphs",
          "to": "consolidating",
          "why": "Сохраняемое обобщается: узел графа накапливает историю оценок по материалу, а не хранит перечень эпизодов.",
          "why_en": "What is stored is generalised: a graph node accumulates the history of judgements about a piece of material rather than holding a list of episodes."
        },
        {
          "code": "A6",
          "did": "Память пополняется дописыванием оценок; прежние записи не переписываются.",
          "did_en": "Memory grows by appending judgements; earlier records are not overwritten.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2604.07595, устройство",
          "source_en": "arXiv:2604.07595, method",
          "technology_id": "roza_graphs",
          "to": "append_only",
          "why": "Измерение определено, поскольку запись обратно включена, а отношение хранилища ко времени задаётся способом пополнения.",
          "why_en": "The dimension is defined because write-back is enabled, and the store's relation to time is settled by the manner of growth."
        },
        {
          "code": "G3",
          "did": "Ни языковая модель, ни модель представлений не дообучаются: выигрыш достигается накоплением оценок вне их весов.",
          "did_en": "Neither the language model nor the representation model is fine-tuned: the gain comes from judgements accumulated outside their weights.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2604.07595, аннотация",
          "source_en": "arXiv:2604.07595, abstract",
          "technology_id": "roza_graphs",
          "to": "frozen",
          "why": "Работа прямо заявляет отсутствие переобучения как своё свойство, и это отличает её от прочих самонастраивающихся систем.",
          "why_en": "The work states the absence of retraining as a property of its own, and that is what sets it apart from other self-improving systems."
        },
        {
          "code": "C2",
          "did": "Работа проверена на многошаговых наборах задач, но многошагового обхода указателя в описании не заявлено.",
          "did_en": "The work is evaluated on multi-hop task sets, but no multi-hop traversal of the index is claimed in the description.",
          "question": "Возможно прочтение «повторение до условия остановки», если накопленные оценки используются в нескольких кругах одного запроса. Из аннотации это не следует.",
          "question_en": "A reading of «repetition until a stopping condition» is possible if accumulated judgements are used across several rounds of one query. The abstract does not support it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2604.07595, проверка",
          "source_en": "arXiv:2604.07595, evaluation",
          "technology_id": "roza_graphs",
          "to": "single_shot",
          "why": "Записано базовое значение, потому что обратное из источника не следует: набор задач говорит о вопросах, а не об устройстве обхода.",
          "why_en": "The base value is recorded because the source does not support the alternative: a task set speaks about the questions, not about the manner of traversal."
        },
        {
          "did": "Между запросами сохраняется вынесенная оценка свидетельства, а не сам материал.",
          "did_en": "What is kept between queries is the judgement passed on a piece of evidence, not the material itself.",
          "residual": "decisions_as_memory",
          "residual_term": "хранение решений об оценке, а не самих сведений",
          "residual_term_en": "storing evaluation decisions rather than the facts themselves",
          "source": "arXiv:2604.07595, устройство",
          "source_en": "arXiv:2604.07595, method",
          "technology_id": "roza_graphs",
          "why": "Схема различает роды сохраняемого по способу накопления, но не отделяет сведение о мире от суждения системы о нём.",
          "why_en": "The schema distinguishes kinds of stored material by the manner of accumulation but does not separate a fact about the world from the system's judgement about it."
        },
        {
          "did": "Граф извлечения исключает однажды отвергнутых кандидатов из последующих выдач.",
          "did_en": "The retrieval graph excludes candidates rejected once from subsequent results.",
          "residual": "rejected_candidate_pruning",
          "residual_term": "постоянное исключение отвергнутых кандидатов из выдачи",
          "residual_term_en": "permanent exclusion of rejected candidates from future results",
          "source": "arXiv:2604.07595, устройство",
          "source_en": "arXiv:2604.07595, method",
          "technology_id": "roza_graphs",
          "why": "Забывание описывает, как перестаёт учитываться сохранённое, тогда как исключается здесь то, что в память не попадало.",
          "why_en": "Forgetting describes how stored material ceases to count, whereas what is excluded here never entered memory."
        }
      ],
      "prose_id": "roza_graphs",
      "residual": [
        "хранение решений об оценке, а не самих сведений",
        "постоянное исключение отвергнутых кандидатов из выдачи"
      ],
      "residual_en": [
        "storing evaluation decisions rather than the facts themselves",
        "permanent exclusion of rejected candidates from future results"
      ],
      "summary": "Оценки свидетельств, вынесенные прежде, сохраняются между запросами и задают порядок выдачи.",
      "summary_en": "Judgements of evidence made earlier are kept between queries and settle the order of results."
    },
    {
      "aliases": [],
      "attention": 0.084,
      "attention_cohort": "2023",
      "attention_raw": 0.154,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "pre_gen_grounding",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "SAIL занимается тем же затруднением, что и прочие приёмы обучения с поиском, но подходит к нему со стороны разметки. Поисковая выдача содержит уместное и постороннее вперемешку, и модель, обученная на выдаче как она есть, наследует её шум.\n\nОбучающие примеры размечаются по уместности: для каждого найденного документа указывается, относится ли он к вопросу. Модель обучается на такой разметке отвечать с явным учётом этих указаний, то есть опираться на отмеченное уместным и не опираться на прочее. Тем самым отбор переносится внутрь модели: во время работы разметки нет, но приученная отличать одно от другого модель делает это сама.\n\nОтличие от донастройки на смешанных примерах состоит в том, что там нужное и постороннее различаются лишь неявно, через требуемый ответ, а здесь различие названо прямо и служит частью обучающего сигнала. Плата состоит в разметке: указания об уместности нужно откуда-то взять, а получают их либо ручным трудом, либо более сильной моделью, и во втором случае разметка наследует её ошибки.",
      "description_en": "SAIL takes up the same difficulty as other retrieval-aware training methods but approaches it from the side of labelling. Search results contain the pertinent and the irrelevant intermixed, and a model trained on those results as they stand inherits their noise.\n\nTraining examples are labelled for relevance: for each retrieved document it is stated whether it bears on the question. The model is trained on such labels to answer with those indications explicitly in view, that is, to rely on what is marked relevant and not on the rest. Selection is thereby moved inside the model: at service time no labels exist, but a model accustomed to telling one from the other does so on its own.\n\nWhat sets this apart from fine-tuning on mixed examples is that there the relevant and the irrelevant differ only implicitly, through the required answer, whereas here the difference is stated outright and forms part of the training signal. The price is the labelling: relevance indications must come from somewhere, and they are obtained either by hand or from a stronger model, in which case the labels inherit that model's errors.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4378474184",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=6; year=2023; citation_velocity=0.154",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2305.15225",
          "type": "publication",
          "value": "arXiv:2305.15225 (2023)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "I",
      "first_published": "2023-05",
      "groups": [
        "E",
        "G"
      ],
      "id": "sail",
      "kind": "technique",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2305.15225",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "SAIL",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Языковая модель дообучается на выдаче поисковых систем, куда намеренно попадает шум и противоречия, и учится отличать надёжное от отвлекающего.",
          "did_en": "The language model is fine-tuned on the output of search engines, into which noise and contradictions are deliberately allowed, and learns to tell the reliable from the distracting.",
          "instead": "«обучаемый поисковик»: поиск здесь внешний и не меняется.",
          "instead_en": "«trainable retriever»: retrieval here is external and does not change.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.15225, метод",
          "source_en": "arXiv:2305.15225, method",
          "technology_id": "sail",
          "to": "trained_reader",
          "why": "Обучается читатель; поисковые системы берутся готовыми.",
          "why_en": "The reader is trained; the search engines are taken ready-made."
        },
        {
          "code": "E2",
          "did": "Модель обучена отбирать заслуживающее доверия до того, как порождать ответ.",
          "did_en": "The model is trained to select what deserves trust before producing an answer.",
          "instead": "«проверка после порождения»: она смотрела бы на результат, а здесь работа идёт с исходным материалом.",
          "instead_en": "«post-hoc check»: it would look at the result, whereas here the work happens on the source material.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2305.15225, метод",
          "source_en": "arXiv:2305.15225, method",
          "technology_id": "sail",
          "to": "pre_gen_grounding",
          "why": "Обоснованность обеспечивается отбором на входе, а не проверкой готового текста.",
          "why_en": "Groundedness is secured by selection at the input rather than by checking a finished text."
        }
      ],
      "prose_id": "sail",
      "residual": [],
      "residual_en": [],
      "summary": "Обучение на разметке уместности: модель учат отбрасывать найденное, которое к вопросу не относится.",
      "summary_en": "Training on relevance labels: the model learns to discard retrieved material that does not bear on the question."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "barriers": "Общее препятствие состоит в том, откуда взять признак качества, по которому система будет себя настраивать, и оно распадается на четыре части.\n\nТакой признак надо сперва определить: им бывают действия пользователя, его прямые оценки либо суждение отдельной языковой модели, и все три несовершенны. Далее, всякий признак поддаётся подгонке: система улучшает измеряемую величину, не улучшая того, ради чего величина заведена. Обучение по ходу работы неустойчиво, потому что приспособление к недавним запросам вытесняет умение отвечать на прежние. Наконец, в работающей системе нет заведомо верных ответов, и оценивать изменения не с чем.",
      "barriers_en": "The common obstacle is where to obtain the quality signal by which the system is to tune itself, and it falls into four parts.\n\nSuch a signal must first be defined: it may be user actions, explicit ratings, or the judgement of a separate language model, and all three are imperfect. Next, every signal is open to gaming: the system improves the measured quantity without improving what the quantity was introduced for. Learning while in service is unstable, because adapting to recent queries displaces the ability to answer earlier ones. Finally, a running system has no known-correct answers, so there is nothing to evaluate changes against.",
      "confidence": null,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "llm_router",
        "C1": "ann",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "consolidating",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [],
      "evidence_basis": null,
      "evidence_count": 0,
      "family": null,
      "first_published": null,
      "groups": [
        "C",
        "F",
        "G"
      ],
      "id": "self_evolving",
      "kind": "paradigm",
      "level": null,
      "level_reason": null,
      "links": [
        {
          "kind": "other",
          "label": "Adaptive-RAG (NAACL, 2024, 719 cit.)",
          "label_en": null,
          "status": "verified",
          "url": "https://aclanthology.org/2024.naacl-long.389.pdf",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "paper",
          "label": "SERAG: Self-Evolving RAG (ACM, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://dl.acm.org/doi/10.1145/3769826",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранние работы. Adaptive RAG широко цитируется, семьсот девятнадцать цитирований; полностью самонастраивающийся вариант только зарождается.",
      "maturity_note_en": "Early work. Adaptive RAG is widely cited, at seven hundred and nineteen citations; a fully self-tuning variant is only emerging.",
      "name": "Self-Evolving and Fully Adaptive RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "F1",
          "did": "Система накапливает опыт работы и перестраивает по нему своё состояние знаний, а не только дописывает новое.",
          "did_en": "The system accumulates experience of its work and rebuilds its knowledge state by it rather than only appending what is new.",
          "instead": "«эпизодическая запись»: она только дописывает, не пересматривая накопленное.",
          "instead_en": "«episodic write»: it only appends, without revisiting what has accumulated.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "aclanthology.org/2024.naacl-long.389, метод",
          "source_en": "aclanthology.org/2024.naacl-long.389, method",
          "technology_id": "self_evolving",
          "to": "consolidating",
          "why": "Запись обратно здесь с переработкой, в этом смысл названия.",
          "why_en": "Write-back here comes with rework, and that is the sense of the name."
        },
        {
          "code": "G3",
          "did": "Поисковая сторона подстраивается по ходу работы системы.",
          "did_en": "The retrieval side adapts as the system runs.",
          "question": "Запись собрана из нескольких источников о самообучающихся системах, а не об одной работе. Точность её ниже, чем у записей об отдельных статьях.",
          "question_en": "The record is assembled from several sources about self-evolving systems rather than from one work. It is less precise than records about individual papers.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "aclanthology.org/2024.naacl-long.389",
          "source_en": "aclanthology.org/2024.naacl-long.389",
          "technology_id": "self_evolving",
          "to": "trained_retriever",
          "why": "Обучаемость относится к поиску.",
          "why_en": "Trainability belongs to retrieval."
        },
        {
          "code": "C2",
          "did": "Обращения к поиску повторяются, пока система не сочтёт достаточным.",
          "did_en": "Calls to retrieval repeat until the system judges them sufficient.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "aclanthology.org/2024.naacl-long.389",
          "source_en": "aclanthology.org/2024.naacl-long.389",
          "technology_id": "self_evolving",
          "to": "iterative_stopping",
          "why": "Число шагов определяется условием, а не задано.",
          "why_en": "The number of steps is set by a condition rather than fixed."
        }
      ],
      "problem": "Цепочки извлечения настраиваются вручную и после настройки остаются неподвижными. Между тем меняются и собрание, и вопросы, которые ему задают.\n\nНастройка, дававшая лучшую полноту месяц назад, сегодня даёт худшую, и обнаруживается это лишь тогда, когда кто-нибудь заметит и возьмётся перенастраивать. Портится качество непрерывно, а исправляется рывками.",
      "problem_en": "Retrieval chains are tuned by hand and, once tuned, stay put. Yet both the collection and the questions put to it change.\n\nA setting that gave the best recall a month ago gives the worst today, and this comes to light only when someone notices and undertakes to retune. Quality degrades continuously and is repaired in jerks.",
      "prose_id": "self_evolving",
      "residual": [],
      "residual_en": [],
      "solutions": "Простейший работающий случай состоит в выборе стратегии под каждый запрос обученным распределителем, как в Adaptive RAG, где настройка ограничена выбором из нескольких заранее заданных путей.\n\nДальше идут системы, донастраивающие собственные части: SERAG обучает свой преобразователь запросов на поступающей обратной связи. Обратную связь от человека вводят размеренными кругами, а не непрерывно, чтобы изменения проходили просмотр и не накапливались бесконтрольно.",
      "solutions_en": "The simplest workable case is choosing a strategy per query with a trained router, as in Adaptive RAG, where tuning is confined to a choice among several predefined routes.\n\nBeyond that come systems that fine-tune their own parts: SERAG trains its query transformer on incoming feedback. Human feedback is introduced in measured rounds rather than continuously, so that changes are reviewed and do not accumulate unchecked.",
      "summary": "Цепочка обработки, настраивающая сама себя по обратной связи, вместо однажды подобранной вручную.",
      "summary_en": "A processing chain that tunes itself from feedback, rather than one settled by hand and left alone."
    },
    {
      "aliases": [],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "llm_router",
        "C1": "ann",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "draft_verify",
        "E2": "decoding_reflection",
        "E3": "fragment_level",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [
        "C2"
      ],
      "description": "Self-RAG встраивает решения об извлечении в саму генерацию. Обычная система обращается к поиску всегда и одинаково, независимо от того, нужен ли внешний источник для этого вопроса вообще. Вопрос, на который модель отвечает из собственных знаний, получает лишний контекст, а он не нейтрален: посторонний фрагмент способен увести ответ в сторону.\n\nМодель обучается порождать, наряду с обычным текстом, служебные метки, которые называются метками отражения. Первая из них решает, требуется ли обращение к поиску на текущем шаге. Дальнейшие оценивают каждый найденный фрагмент на уместность, оценивают порождённое предложение на опору в этом фрагменте и оценивают полезность ответа в целом. Метки представляют собой обычные единицы словаря, поэтому обучение идёт тем же способом, что и обучение порождению текста.\n\nСущественно то, что метки доступны во время порождения, а не только после него. Система порождает несколько продолжений, читает их оценки и продолжает то, которое опирается на источник лучше, поэтому отбор идёт по ходу, а не отбраковкой готового ответа. Плата состоит в необходимости обучения: обычная модель меток не порождает, и применить приём к готовой модели без донастройки нельзя.",
      "description_en": "Self-RAG builds decisions about retrieval into generation itself. An ordinary system consults search always and identically, regardless of whether an external source is needed for the question at all. A question the model answers from its own knowledge receives superfluous context, and that context is not neutral: an irrelevant fragment is quite capable of leading the answer astray.\n\nThe model is trained to emit, alongside ordinary text, service tokens known as reflection tokens. The first of them decides whether retrieval is required at the current step. The rest judge each retrieved fragment for relevance, judge each generated sentence for support in that fragment, and judge the usefulness of the answer as a whole. The tokens are ordinary vocabulary items, so training proceeds in the same manner as training to generate text.\n\nWhat matters is that the tokens are available during generation rather than only after it. The system generates several continuations, reads their scores, and continues the one better supported by its source, so selection happens as the answer is built rather than by rejecting a finished one. The price is the need for training: an ordinary model emits no such tokens, and the technique cannot be applied to a ready model without fine-tuning.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "manual",
          "source": "https://openreview.net/forum?id=hSyW5go0v8",
          "type": "publication",
          "value": "venue=ICLR; peer_reviewed=true",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 1,
      "family": "A",
      "first_published": "2023",
      "groups": [
        "B",
        "C",
        "E",
        "G"
      ],
      "id": "self_rag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://selfrag.github.io/",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Self-RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "B2",
          "did": "Модель сама решает на каждом шаге, нужно ли обращаться к поиску, и сообщает это особым служебным словом в порождаемом тексте.",
          "did_en": "At every step the model decides for itself whether to go to retrieval and states it with a special control token in the text it produces.",
          "instead": "«обученный классификатор»: там маршрут выбирает отдельная модель до генерации, здесь — сама генерирующая, по ходу.",
          "instead_en": "«trained classifier»: there a separate model chooses the route before generation, whereas here the generating model does it as it goes.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, метод",
          "source_en": "arXiv:2310.11511, method",
          "technology_id": "self_rag",
          "to": "llm_router",
          "why": "Решение о маршруте принимает та же языковая модель, а не отдельный классификатор снаружи.",
          "why_en": "The routing decision is made by the same language model rather than by a separate classifier outside it."
        },
        {
          "code": "C2",
          "did": "Извлечение происходит по требованию и может не происходить вовсе: для простого вопроса модель отвечает без обращения к поиску.",
          "did_en": "Retrieval happens on demand and may not happen at all: for a simple question the model answers without going to retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, метод",
          "source_en": "arXiv:2310.11511, method",
          "technology_id": "self_rag",
          "to": "iterative_stopping",
          "variable": true,
          "why": "Число обращений заранее не задано и решается по ходу, поэтому измерение помечено как выбираемое на ходу; записана самая полная ветвь.",
          "why_en": "The number of calls is not fixed in advance and is decided as it goes, so the dimension is marked as chosen at run time; the fullest branch is recorded."
        },
        {
          "code": "E1",
          "did": "Модель порождает продолжение и тут же оценивает его служебными словами: подтверждается ли оно найденным и полезно ли оно.",
          "did_en": "The model produces a continuation and immediately grades it with control tokens: whether it is supported by what was found, and whether it is useful.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, метод",
          "source_en": "arXiv:2310.11511, method",
          "technology_id": "self_rag",
          "to": "draft_verify",
          "why": "Порождение и проверка разделены внутри одного прохода — это черновик с последующей проверкой, а не однопроходная генерация.",
          "why_en": "Production and checking are separated inside a single pass, which is a draft followed by a check rather than single-pass generation."
        },
        {
          "code": "E2",
          "did": "Обоснованность проверяется во время порождения текста: служебные слова говорят, подтверждается ли утверждение найденным отрывком.",
          "did_en": "Groundedness is checked while the text is produced: control tokens say whether a statement is supported by the retrieved passage.",
          "instead": "«проверка после порождения»: она смотрела бы на готовый ответ, а здесь оценка идёт по ходу.",
          "instead_en": "«post-hoc check»: it would look at a finished answer, whereas here the grading runs as it goes.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, метод",
          "source_en": "arXiv:2310.11511, method",
          "technology_id": "self_rag",
          "to": "decoding_reflection",
          "why": "Контроль встроен в порождение, а не выполняется после него отдельной проверкой.",
          "why_en": "The control is built into production rather than performed afterwards as a separate check."
        },
        {
          "code": "E3",
          "did": "Утверждения связываются с конкретными найденными отрывками, и работа отдельно измеряет точность таких ссылок.",
          "did_en": "Statements are tied to particular retrieved passages, and the work measures the precision of such references separately.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, оценка",
          "source_en": "arXiv:2310.11511, evaluation",
          "technology_id": "self_rag",
          "to": "fragment_level",
          "why": "Привязка идёт к фрагменту, а не к документу целиком.",
          "why_en": "The binding is to a fragment rather than to a whole document."
        },
        {
          "code": "G3",
          "did": "Языковая модель дообучается порождать служебные слова; поисковик берётся готовым.",
          "did_en": "The language model is fine-tuned to produce the control tokens; the retriever is taken ready-made.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, обучение",
          "source_en": "arXiv:2310.11511, training",
          "technology_id": "self_rag",
          "to": "trained_reader",
          "why": "Обучается читатель, а не поисковик.",
          "why_en": "It is the reader that is trained, not the retriever."
        },
        {
          "code": "D1",
          "did": "Отдельной ступени пересмотра порядка найденного нет: оценку отрывкам даёт сама модель при порождении.",
          "did_en": "There is no separate stage that revisits the order of what was found: the model itself grades the passages while producing text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.11511, метод",
          "source_en": "arXiv:2310.11511, method",
          "technology_id": "self_rag",
          "to": "none",
          "why": "Переранжирование — это вторая модель поверх поиска; здесь её роль играет генератор.",
          "why_en": "Reranking is a second model on top of retrieval; here the generator plays that part."
        },
        {
          "code": "E5",
          "did": "Модель решает служебными словами, обращаться ли к поиску, и оценивает найденное по ходу.",
          "did_en": "The model decides with control tokens whether to go to retrieval, and grades what it finds as it goes.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "self_rag",
          "to": "mutual_loop",
          "why": "Порождение управляет поиском, а найденное влияет на продолжение.",
          "why_en": "Production drives retrieval, and what is retrieved shapes the continuation."
        }
      ],
      "prose_id": "self_rag",
      "residual": [],
      "residual_en": [],
      "summary": "Модель сама решает, когда обращаться к поиску, и сама оценивает найденное и собственный ответ служебными метками.",
      "summary_en": "The model decides for itself when to retrieve, then judges what it found and what it wrote using service tokens."
    },
    {
      "aliases": [],
      "attention": 1.0,
      "attention_cohort": "2024",
      "attention_raw": 0.579,
      "confidence": 1.0,
      "configuration": {
        "E5": "none",
        "G3": "trained_reader"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "SimRAG отвечает на нехватку размеченных примеров в узких предметных областях. Донастройка требует пар «вопрос, ответ» по тому самому собранию, с которым системе предстоит работать, а в медицине, праве или технической документации организации таких пар не существует, и составление их специалистом обходится дорого.\n\nРазметка добывается из самого собрания. Модель читает документы и составляет к ним вопросы вместе с ответами, получая тем самым обучающие примеры без участия человека. Составленное так содержит и негодное: вопросы, ответ на которые в собрании не содержится, вопросы, понятные лишь при чтении исходного абзаца, ответы, не следующие из текста. Поэтому вводится отбор: каждый вопрос прогоняется через саму систему, и пример сохраняется, если найденное по нему подтверждает составленный ответ. Не подтвердившиеся отбрасываются.\n\nНа отобранном модель дообучается, после чего цикл можно повторить, поскольку улучшенная модель составляет более годные вопросы. Слабое место состоит в замкнутости: и вопросы, и отбор происходят от одной модели, поэтому её систематическая ошибка отбором не обнаруживается, а закрепляется обучением.",
      "description_en": "SimRAG addresses the scarcity of labelled examples in narrow fields. Fine-tuning requires question and answer pairs over the very collection the system will serve, and in medicine, law, or an organisation's technical documentation no such pairs exist, while having a specialist compose them is expensive.\n\nThe labels are obtained from the collection itself. The model reads the documents and composes questions along with answers, thereby producing training examples without human involvement. What it composes includes unusable material: questions the collection does not answer, questions intelligible only while reading the source paragraph, answers that do not follow from the text. A filter is therefore introduced: each question is run through the system itself, and the example is kept if what is retrieved for it supports the composed answer. Those not supported are discarded.\n\nThe model is fine-tuned on what survives, after which the cycle may repeat, since an improved model composes more usable questions. The weak point is its closedness: both the questions and the filtering come from one model, so a systematic error of that model is not exposed by the filter but entrenched by the training.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2410.17952",
          "type": "publication",
          "value": "arXiv:2410.17952 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4411119264",
          "type": "publication",
          "value": "venue=ACL Anthology; peer_reviewed=true; cited_by=11; year=2025; citation_velocity=0.579",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2024",
      "groups": [
        "G"
      ],
      "id": "simrag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2410.17952",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "SimRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "G3",
          "did": "Модель сама порождает по корпусу области вопросы и ответы, отбирает удачные и дообучается на них.",
          "did_en": "The model produces questions and answers over the domain corpus itself, selects the successful ones and fine-tunes on them.",
          "instead": "«обучаемый поисковик»: изменения поиска источник не описывает.",
          "instead_en": "«trainable retriever»: the source describes no change to retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2410.17952, метод",
          "source_en": "arXiv:2410.17952, method",
          "technology_id": "simrag",
          "to": "trained_reader",
          "why": "Обучается порождающая сторона на собственных данных; поисковик работа не меняет.",
          "why_en": "The producing side is trained on its own data; the work does not change the retriever."
        }
      ],
      "prose_id": "simrag",
      "residual": [],
      "residual_en": [],
      "summary": "Самообучение на своих же вопросах: модель сама составляет вопросы к собранию и учится на тех, что подтверждаются.",
      "summary_en": "Self-training on its own questions: the model composes questions over the collection and learns from those that hold up."
    },
    {
      "aliases": [],
      "attention": 0.56,
      "attention_cohort": "2025",
      "attention_raw": 0.28,
      "barriers": "Главная проблема состоит в оценке уверенности. Первая подпроблема заключается в надёжной оценке уверенности для skip-retrieval, поскольку ложноположительный пропуск ведёт к галлюцинации, а ложноотрицательный пропуск теряет оптимизацию. Вторая подпроблема состоит в избегании регрессии корректности при пропуске retrieval. Третья подпроблема заключается в накладных расходах оркестрации, поскольку параллельные гонки draft и retrieve сложнее простой последовательной схемы.",
      "barriers_en": "The central difficulty is confidence estimation. First, a reliable confidence estimate is needed for skipping retrieval: a false positive skip leads to hallucination, a false negative loses the optimisation. Second, correctness must not regress when retrieval is skipped. Third, orchestration overhead: racing draft against retrieve in parallel is harder than a simple sequential scheme.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "ensemble_fragments",
        "E2": "external_judge",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Speculative RAG распределяет работу между двумя моделями разного размера по образцу спекулятивного порождения, где дешёвая модель предлагает, а дорогая проверяет. Затруднение, которое при этом снимается, состоит в том, что длинный контекст из многих найденных документов дорог для большой модели и одновременно ухудшает её ответ, потому что противоречивые сведения смешиваются в одном входе.\n\nНайденные документы сначала группируются по содержанию так, чтобы каждая группа отражала свой взгляд на вопрос. По каждой группе отдельно малая модель, дообученная на этом собрании, пишет черновик ответа вместе с обоснованием. Черновиков получается столько, сколько групп, и каждый опирается на короткий однородный контекст, а не на всё найденное сразу.\n\nБольшая модель черновиков не пишет, а только оценивает: она читает каждый вместе с его обоснованием и выбирает наиболее обоснованный. Проверка обходится дешевле порождения, поэтому расход на большую модель падает, а качество держится за счёт того, что каждый черновик строился на согласованном наборе документов. Плата состоит в двух моделях вместо одной и в дообучении малой из них.",
      "description_en": "Speculative RAG splits the work between two models of different size, after the pattern of speculative decoding, where a cheap model proposes and an expensive one verifies. The difficulty removed is that a long context of many retrieved documents is expensive for a large model and at the same time worsens its answer, because contradictory material is mixed into one input.\n\nThe retrieved documents are first grouped by content so that each group reflects its own view of the question. Over each group separately, a small model fine-tuned on this collection writes a draft answer together with its rationale. There are as many drafts as groups, and each rests on a short homogeneous context rather than on everything retrieved at once.\n\nThe large model writes no drafts and only judges: it reads each one along with its rationale and selects the best supported. Verification costs less than generation, so spending on the large model falls, while quality holds because every draft was built on a coherent set of documents. The price is two models instead of one, and the fine-tuning of the smaller.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4400611538",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=7; year=2024; citation_velocity=0.28",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2407.08223",
          "type": "publication",
          "value": "arXiv:2407.08223 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.08223",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=113; year=2024",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.08223",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=114; year=2024",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2407.08223",
          "type": "publication",
          "value": "venue=ICLR 2025; peer_reviewed=true; citations_semantic_scholar=115; year=2024",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": "A",
      "first_published": "2025",
      "groups": [
        "D",
        "E"
      ],
      "id": "speculative_rag",
      "kind": "paradigm",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2407.08223",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "RAG in 2026: Architecture Shifts (Medium, 2026)",
          "label_en": null,
          "status": "guarded",
          "url": "https://medium.com/@elammarisoufiane/rag-in-2026-architecture-shifts-emerging-patterns-and-what-it-means-for-java-developers-6f2803e39787",
          "verified_at": "2026-08-11"
        },
        {
          "kind": "other",
          "label": "HTEC: Speculative RAG and RAG-Fusion (2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://htec.com/insights/blogs/exploring-rag-systems-graphrag-speculative-rag-and-rag-fusion/",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Концепт и ранний архитектурный паттерн. Флагманской статьи пока нет; подход описан в архитектурных обзорах 2026 года.",
      "maturity_note_en": "A concept and an early architectural pattern. There is no flagship paper yet; the approach is described in architectural surveys of 2026.",
      "name": "Speculative RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "E1",
          "did": "Меньшая специализированная модель порождает несколько черновиков ответа параллельно, каждый по своему подмножеству найденного.",
          "did_en": "A smaller specialised model produces several draft answers in parallel, each from its own subset of what was retrieved.",
          "instead": "«черновик и проверка»: там черновик один и правится, здесь их несколько и один выбирается.",
          "instead_en": "«draft and check»: there the draft is single and gets corrected, whereas here there are several and one is chosen.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.08223, метод",
          "source_en": "arXiv:2407.08223, method",
          "technology_id": "speculative_rag",
          "to": "ensemble_fragments",
          "why": "Ответ складывается из нескольких порождённых частей, а не пишется одним проходом.",
          "why_en": "The answer is assembled from several produced parts rather than written in one pass."
        },
        {
          "code": "E2",
          "did": "Большая модель одним проходом проверяет черновики и выносит решение.",
          "did_en": "A large model checks the drafts in one pass and delivers a verdict.",
          "instead": "«проверка после порождения»: она была бы тем же генератором, а здесь судья другой.",
          "instead_en": "«post-hoc check»: it would be the same generator, whereas here the judge is another.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.08223, метод",
          "source_en": "arXiv:2407.08223, method",
          "technology_id": "speculative_rag",
          "to": "external_judge",
          "why": "Проверяет не тот, кто порождал: обоснованность оценивается отдельной моделью.",
          "why_en": "The checker is not the producer: groundedness is judged by a separate model."
        },
        {
          "code": "D2",
          "did": "Найденное делится на подмножества, и каждый черновик видит только своё.",
          "did_en": "What is retrieved is split into subsets, and every draft sees only its own.",
          "question": "Источник объясняет деление разнообразием взглядов на свидетельства, а не бюджетом окна. Возможно, здесь нужен остаток, а не значение отбора.",
          "question_en": "The source explains the split by diversity of perspectives on the evidence rather than by a window budget. A residual may be needed here rather than a value of selection.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2407.08223, метод",
          "source_en": "arXiv:2407.08223, method",
          "technology_id": "speculative_rag",
          "to": "budget_aware",
          "why": "Контекст каждого порождения ограничен намеренно, ради скорости.",
          "why_en": "The context of every production is bounded deliberately, for the sake of speed."
        }
      ],
      "problem": "RAG добавляет фиксированную retrieval-latency к каждому запросу, даже когда модель уже знает ответ из параметрических знаний. Для тривиальных вопросов retrieval представляет собой чистые издержки.",
      "problem_en": "Retrieval adds a fixed latency to every query, even when the model already knows the answer from its parameters. For trivial questions retrieval is pure overhead.",
      "prose_id": "speculative_rag",
      "residual": [],
      "residual_en": [],
      "solutions": "Logprob-thresholded skip пропускает retrieval, если logprob draft-генерации превышает пороговое значение. Parallel draft и retrieve race выполняет оба процесса параллельно, и победителем становится тот, кто дал confident-ответ первым. Архитектурные обзоры 2026 года описывают эти паттерны как развивающиеся практики.",
      "solutions_en": "A probability-thresholded skip omits retrieval when the draft generation is confident enough. Racing draft and retrieve in parallel lets whichever produces a confident answer first win. Architectural surveys of 2026 describe these patterns as emerging practice.",
      "summary": "Малая модель пишет несколько черновиков по разным подмножествам найденного, большая выбирает лучший.",
      "summary_en": "A small model writes several drafts over different subsets of the retrieved material; a large one picks the best."
    },
    {
      "aliases": [
        "HybridRAG",
        "Hybrid RAG"
      ],
      "attention": 3.239,
      "attention_cohort": null,
      "attention_raw": 3.239,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "rrf",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Standard HybridRAG соединяет два способа поиска, которые ошибаются по-разному. Словарный поиск отбирает документы по совпадению слов и надёжен там, где слово запроса встречается в документе буквально: имя собственное, обозначение детали, номер статьи. Синонима он не понимает, и вопрос, заданный другими словами, остаётся без ответа. Плотный поиск по векторным представлениям понимает синонимию и перифразу, но склонен подменять точное слово похожим и на редком обозначении, которого не было в обучении, промахивается.\n\nСоединение состоит в том, что оба поиска выполняются по одному запросу независимо, каждый даёт свой упорядоченный список, а списки сливаются в один. Слияние идёт либо по обратным рангам, где учитывается только место документа, либо приведением оценок к общей шкале, если шкалы известны.\n\nСхема не даёт ни новой единицы извлечения, ни нового устройства индекса и потому служит основанием, а не архитектурой: её ставят под другими приёмами и от неё отсчитывают их выигрыш. Плата состоит в двух индексах вместо одного, которые нужно строить и держать согласованными, и в двух обращениях на каждый запрос.",
      "description_en": "Standard HybridRAG joins two kinds of search that fail in different ways. Lexical search selects documents by word overlap and is dependable where a query word appears in the document literally: a proper name, a part number, an article of a statute. It understands no synonym, so a question asked in other words goes unanswered. Dense search over vector representations understands synonymy and paraphrase, but it tends to substitute a similar word for the exact one and misses on a rare designation absent from its training.\n\nThe joining consists in running both searches on the same query independently, each producing its own ordered list, and merging the lists into one. The merge proceeds either by reciprocal rank, where only a document's position counts, or by bringing the scores onto a common scale where those scales are known.\n\nThe scheme introduces neither a new unit of retrieval nor a new index structure and therefore serves as a baseline rather than an architecture: it is placed underneath other techniques, and their gains are measured from it. It costs two indexes instead of one, which must be built and kept in step, and two consultations per query.",
      "evidence": [
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "manual",
          "source": "https://opensearch.org/docs/latest/vector-search/ai-search/hybrid-search/",
          "type": "industrial_use",
          "value": "OpenSearch: смешанный поиск как штатная возможность, со слиянием выдач внутри хранилища",
          "value_en": "OpenSearch: hybrid search as a supported feature, with result fusion inside the store"
        },
        {
          "fetched_at": "2026-08-13",
          "obtained_by": "manual",
          "source": "https://qdrant.tech/documentation/concepts/hybrid-queries/",
          "type": "industrial_use",
          "value": "Qdrant: смешанные запросы с разреженными и плотными векторами и слиянием по обратным рангам",
          "value_en": "Qdrant: hybrid queries over sparse and dense vectors with reciprocal rank fusion"
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W2148972377",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=645; year=2009; citation_velocity=3.146",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W2148972377",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=653; year=2009; citation_velocity=3.185",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://openalex.org/W2148972377",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=655; year=2009; citation_velocity=3.195",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://openalex.org/W2148972377",
          "type": "publication",
          "value": "venue=ACM; peer_reviewed=true; cited_by=664; year=2009; citation_velocity=3.239",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 6,
      "family": "D",
      "first_published": "2009",
      "groups": [
        "A",
        "C",
        "D"
      ],
      "id": "standard_hybridrag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "paper",
          "label": "Cormack, Clarke, Büttcher. Reciprocal rank fusion. SIGIR 2009",
          "label_en": "Cormack, Clarke, Büttcher. Reciprocal rank fusion. SIGIR 2009",
          "status": "guarded",
          "url": "https://doi.org/10.1145/1571941.1572114",
          "verified_at": "2026-08-13"
        },
        {
          "kind": "product",
          "label": "OpenSearch: смешанный поиск",
          "label_en": "OpenSearch: hybrid search",
          "status": "verified",
          "url": "https://opensearch.org/docs/latest/vector-search/ai-search/hybrid-search/",
          "verified_at": "2026-08-13"
        },
        {
          "kind": "product",
          "label": "Qdrant: смешанные запросы",
          "label_en": "Qdrant: hybrid queries",
          "status": "verified",
          "url": "https://qdrant.tech/documentation/concepts/hybrid-queries/",
          "verified_at": "2026-08-13"
        }
      ],
      "name": "Standard HybridRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "C3",
          "did": "Словарный и векторный поиск выполняются оба, а их списки сливаются по рангам.",
          "did_en": "Lexical and vector retrieval are both performed, and their lists are merged by rank.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "обзор гибридного RAG, atlan.com",
          "source_en": "a survey of hybrid RAG, atlan.com",
          "technology_id": "standard_hybridrag",
          "to": "rrf",
          "why": "Слияние двух источников и есть определяющая черта сочетания.",
          "why_en": "The fusion of two sources is the defining trait of the combination."
        },
        {
          "code": "D1",
          "did": "Поверх слитого списка работает отдельная модель переранжирования.",
          "did_en": "A separate reranking model works over the merged list.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "обзор гибридного RAG, atlan.com",
          "source_en": "a survey of hybrid RAG, atlan.com",
          "technology_id": "standard_hybridrag",
          "to": "cross_encoder",
          "why": "Ступень пересмотра порядка присутствует и выполняется другой моделью.",
          "why_en": "A stage that revisits the order is present and is performed by another model."
        }
      ],
      "prose_id": "standard_hybridrag",
      "residual": [],
      "residual_en": [],
      "summary": "Словарный и векторный поиск одновременно с последующим слиянием их списков.",
      "summary_en": "Lexical and vector search run together, with their lists merged afterwards."
    },
    {
      "aliases": [],
      "attention": 0.367,
      "attention_cohort": "2023",
      "attention_raw": 0.676,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "step_back",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Step-Back Prompting отвечает на затруднение, возникающее с узкими вопросами. Вопрос о частном случае содержит подробности, которых нет ни в одном документе именно в таком сочетании, и поиск по нему возвращает документы, похожие на вопрос словами, но не содержащие нужного правила.\n\nПриём вводит промежуточный шаг. Языковая модель по исходному вопросу порождает более общий вопрос, отступая от частностей к принципу, которым частность управляется. Вопрос об исходе конкретного опыта при определённом давлении и температуре превращается в вопрос о законе, связывающем эти величины. Поиск выполняется по общему вопросу, а найденное вместе с исходным вопросом подаётся модели для окончательного ответа.\n\nПриём годится там, где предметная область устроена по правилам, и правила эти в собрании записаны: физика, право, устав организации. Там, где ответ определяется не правилом, а единичным фактом, отступ уводит от нужного документа, потому что общий вопрос о нём ничего не сообщает. Расход состоит из одного дополнительного вызова модели, обучения приём не требует.",
      "description_en": "Step-Back Prompting addresses a difficulty that arises with narrow questions. A question about a particular case carries details found in no single document in that exact combination, and a search on it returns documents resembling the question in wording but lacking the rule that is needed.\n\nThe technique inserts an intermediate step. From the original question a language model generates a more general one, stepping back from the particulars to the principle that governs them. A question about the outcome of a specific experiment at a given pressure and temperature becomes a question about the law relating those quantities. The search runs on the general question, and what is found is given to the model along with the original question for the final answer.\n\nThe technique suits fields organised by rules where those rules are recorded in the collection: physics, law, an organisation's regulations. Where the answer is settled not by a rule but by a single fact, the step back leads away from the needed document, because the general question says nothing about it. It costs one additional model call and requires no training.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2310.06117",
          "type": "publication",
          "value": "arXiv:2310.06117 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4387560733",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=23; year=2023; citation_velocity=0.676",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": "G",
      "first_published": "2023-10",
      "groups": [
        "B"
      ],
      "id": "step_back",
      "kind": "technique",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2310.06117",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Step-Back Prompting",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "По частному вопросу модель выводит более общий и ищет ответ на него, чтобы затем вернуться к исходному.",
          "did_en": "From a particular question the model derives a more general one and searches for the answer to that, in order to return to the original afterwards.",
          "instead": "«разложение на подвопросы»: там вопрос дробится вширь, а здесь поднимается на уровень выше.",
          "instead_en": "«decomposition into sub-questions»: there the question is split sideways, whereas here it is raised a level up.",
          "question": "Аннотация описывает приём как способ рассуждения и об извлечении говорит вскользь. Значение выведено из названия приёма и его применения в реестре, а не из явного описания поиска.",
          "question_en": "The abstract describes the technique as a way of reasoning and mentions retrieval only in passing. The value is inferred from the name of the technique and its use in the registry rather than from an explicit description of retrieval.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2310.06117, метод",
          "source_en": "arXiv:2310.06117, method",
          "technology_id": "step_back",
          "to": "step_back",
          "why": "Запрос заменяется его обобщением. У схемы есть значение с этим именем.",
          "why_en": "The query is replaced by its generalisation. The schema has a value under that name."
        }
      ],
      "prose_id": "step_back",
      "residual": [],
      "residual_en": [],
      "summary": "Отступ к общему вопросу: сначала находится принцип, затем по нему решается частный случай.",
      "summary_en": "A step back to a general question: the principle is found first, then the particular case is settled by it."
    },
    {
      "aliases": [],
      "attention": 0.0,
      "attention_cohort": "2025",
      "attention_raw": 0.0,
      "barriers": "Общее препятствие состоит в стоимости обновления, и оно распадается на четыре части.\n\nПересчёт векторных представлений при каждом изменении обходится дорого, а полное перестроение указателя занимает существенное время. Согласованность во времени нужно поддерживать особо, потому что утверждение, верное в один момент, ложно в другой, и указатель должен различать эти случаи. События поступают не в том порядке, в каком произошли, и запись, пришедшая позже своего предшественника, нарушает порядок в указателе. Наконец, свежесть и задержка противоречат друг другу: чем ближе указатель к текущему состоянию потока, тем дороже обходится каждый запрос.",
      "barriers_en": "The common obstacle is the cost of updating, and it falls into four parts.\n\nRecomputing vector representations on every change is expensive, and a full rebuild of the index takes considerable time. Consistency over time has to be maintained explicitly, because a statement true at one moment is false at another, and the index must tell the two cases apart. Events arrive out of the order in which they occurred, and a record arriving after its successor disturbs the ordering in the index. Finally, freshness and latency work against each other: the closer the index tracks the current state of the stream, the more each query costs.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "extracted_triples",
        "A4": "graph",
        "A5": "vision_language",
        "A6": "append_only",
        "A7": "image",
        "A8": "extracted",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "episodic",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4406840604",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2501.14101",
          "type": "publication",
          "value": "arXiv:2501.14101 (2025)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2025-01",
      "groups": [
        "A",
        "F"
      ],
      "id": "streaming_rag",
      "kind": "paradigm",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "StreamingRAG (arXiv:2501.14101, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2501.14101",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "StreamRAG for video (CVPR, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://openaccess.thecvf.com/content/CVPR2026/papers/Xie_StreamRAG_Enhancing_Real-Time_Video_Understanding_with_Retrieval_Augmentation_CVPR_2026_paper.pdf",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранний продукт. Наборы средств Confluent и Solace выходят на рынок; вариант с графом знаний, учитывающим время, остаётся предметом исследований.",
      "maturity_note_en": "Early product. The Confluent and Solace toolkits are reaching the market; the variant with a time-aware knowledge graph remains a research subject.",
      "name": "Streaming RAG",
      "package": null,
      "parse_notes": [
        {
          "code": "A6",
          "did": "Граф сцены строится по потоку данных и растёт со временем, сохраняя временные отношения.",
          "did_en": "A scene graph is built from a stream of data and grows over time, keeping temporal relations.",
          "instead": "«снимок»: он описал бы неизменный после построения индекс.",
          "instead_en": "«snapshot»: it would describe an index unchanged after construction.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "append_only",
          "why": "Состояние знаний накапливается, а не заменяется снимком. У схемы есть значение с этим именем.",
          "why_en": "The knowledge state accumulates rather than being replaced by a snapshot. The schema has a value under that name."
        },
        {
          "code": "A4",
          "did": "Отношения между сценой, объектами и сущностями хранятся графом.",
          "did_en": "Relations between scene, objects and entities are kept as a graph.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "graph",
          "why": "У индекса есть связность.",
          "why_en": "The index has connectivity."
        },
        {
          "code": "C1",
          "did": "Источник описывает построение графа сцены, но способ поиска по нему не раскрывает.",
          "did_en": "The source describes how the scene graph is built but does not disclose how it is searched.",
          "question": "Способ поиска в работе не описан. Базовое значение здесь означает не «проверено и совпало», а «источник молчит».",
          "question_en": "The work does not describe the manner of search. The default value here means «the source is silent» rather than «checked and matched».",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "ann",
          "why": "Значение оставлено базовым. Раньше здесь стоял обход графа, выведенный из ограничения схемы; ограничение оказалось неверным и снято, а вместе с ним ушло и основание приписывать значение.",
          "why_en": "The value is left at its default. Graph traversal stood here before, inferred from a schema constraint; the constraint proved wrong and was removed, and with it went the ground for assigning the value."
        },
        {
          "code": "A7",
          "did": "Обрабатываются потоки разных модальностей, включая видео.",
          "did_en": "Streams of several modalities are processed, video among them.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, постановка",
          "source_en": "arXiv:2501.14101, problem statement",
          "technology_id": "streaming_rag",
          "to": "image",
          "why": "Материал не только текстовый.",
          "why_en": "The material is not only textual."
        },
        {
          "code": "A5",
          "did": "Представления строит модель, читающая изображение и текст вместе.",
          "did_en": "Representations are built by a model that reads image and text together.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "vision_language",
          "why": "Модальности сводятся в общее пространство.",
          "why_en": "The modalities are brought into a shared space."
        },
        {
          "code": "A3",
          "did": "Из потока извлекаются сущности и отношения между ними.",
          "did_en": "Entities and the relations between them are extracted from the stream.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "extracted_triples",
          "why": "Единица индекса несёт добытые утверждения.",
          "why_en": "A unit of the index carries the statements mined from it."
        },
        {
          "code": "F1",
          "did": "Граф пополняется по мере поступления данных.",
          "did_en": "The graph is extended as data arrives.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2501.14101, метод",
          "source_en": "arXiv:2501.14101, method",
          "technology_id": "streaming_rag",
          "to": "episodic",
          "why": "Состояние знаний меняется во время работы, а не только при построении.",
          "why_en": "The knowledge state changes while the system runs rather than only while it is built."
        }
      ],
      "problem": "Указатель, построенный разом по всему собранию, слеп ко времени. Он не отвечает на вопрос о том, что было верно в определённый момент, и не поспевает за быстро меняющимся содержимым: новостями, биржевыми сведениями, показаниями приборов, видеопотоком.\n\nВсякое пополнение собрания при таком устройстве требует перестроения указателя, а перестроение занимает время, и применения, где ответ нужен немедленно, оказываются закрыты.",
      "problem_en": "An index built over a whole collection at once is blind to time. It does not answer the question of what was true at a particular moment, and it fails to keep pace with rapidly changing content: news, market data, instrument readings, video streams.\n\nUnder such an arrangement, every addition to the collection requires rebuilding the index, and rebuilding takes time, so applications where an answer is needed at once are closed off.",
      "prose_id": "streaming_rag",
      "residual": [],
      "residual_en": [],
      "solutions": "Обновление ведут дописыванием, а не перестроением: цепочки на основе Apache Kafka и Confluent переносят изменения в хранилище представлений по мере поступления.\n\nУчёт времени обеспечивают графом знаний, где у каждого утверждения проставлены отметки времени, поэтому вопрос о состоянии дел на определённую дату разрешается обходом с ограничением по этим отметкам. Работа StreamRAG, представленная на конференции CVPR 2026, распространяет такое извлечение на видеопоток, сохраняя порядок событий и причинные связи между ними.",
      "solutions_en": "Updates are applied by appending rather than rebuilding: chains based on Apache Kafka and Confluent carry changes into the representation store as they arrive.\n\nAwareness of time is provided by a knowledge graph in which every statement carries timestamps, so a question about the state of affairs on a given date is settled by a traversal bounded by those stamps. The StreamRAG work presented at CVPR 2026 extends such retrieval to video streams, preserving the order of events and the causal links between them.",
      "summary": "Извлечение из непрерывно поступающего потока с учётом того, что было верно в заданный момент.",
      "summary_en": "Retrieval over a continuously arriving stream, aware of what held true at a given moment."
    },
    {
      "aliases": [],
      "attention": 0.0,
      "attention_cohort": "2025",
      "attention_raw": 0.0,
      "barriers": "Общее препятствие состоит в стоимости повторений, и оно распадается на четыре части.\n\nКаждый круг складывается из обращения к указателю и вызова языковой модели, поэтому время ответа растёт вместе с числом кругов. Момент остановки надо на чём-то основывать: ранняя остановка теряет часть ответа, поздняя тратит вычисления впустую. Рассуждение склонно замыкаться, возвращаясь к одному и тому же обстоятельству по кругу, и этот случай надо распознавать. Наконец, когда несколько исполнителей работают над вопросом вместе, их надо согласовывать между собой.",
      "barriers_en": "The common obstacle is the cost of repetition, and it falls into four parts.\n\nEvery round consists of a consultation of the index and a language model call, so response time grows with the number of rounds. The moment to stop must rest on something: stopping early loses part of the answer, stopping late spends computation for nothing. Reasoning tends to close on itself, returning to the same circumstance in a loop, and that case must be recognised. Finally, when several agents work on a question together, they have to be coordinated.",
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "extracted",
        "B1": "subquestion_decomposition",
        "B2": "static",
        "C1": "graph_traversal",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "ensemble_fragments",
        "E2": "external_judge",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "mutual_loop",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/DavidZWZ/Awesome-RAG-Reasoning",
          "type": "repository",
          "value": "DavidZWZ/Awesome-RAG-Reasoning: license=mit, last_push=2026-07-23, releases=no",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7077909566",
          "type": "publication",
          "value": "venue=Proceedings of the AAAI Conference on Artificial Intelligence; peer_reviewed=true; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2508.18260",
          "type": "publication",
          "value": "arXiv:2508.18260 (2025)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7077909566",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2025; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://paperswithcode.co/api/v1/papers/2508.18260",
          "type": "publication",
          "value": "venue=AAAI 2026; peer_reviewed=true; citations_semantic_scholar=7; year=2025",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 5,
      "family": null,
      "first_published": "2025-08",
      "groups": [
        "B",
        "C",
        "E"
      ],
      "id": "test_time",
      "kind": "paradigm",
      "level": "L3",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2",
          "L3"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": "AlignRAG: Test-Time Critique (OpenReview, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://openreview.net/forum?id=cnUq7GkS6d",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "MIRAGE (arXiv:2508.18260, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2508.18260",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Adaptive-RAG (NAACL, 2024, 719 cit.)",
          "label_en": null,
          "status": "verified",
          "url": "https://aclanthology.org/2024.naacl-long.389.pdf",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Survey of RAG-Reasoning (EMNLP, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://aclanthology.org/2025.findings-emnlp.648.pdf",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "github",
          "label": "Awesome-RAG-Reasoning (GitHub)",
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/DavidZWZ/Awesome-RAG-Reasoning",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранние работы, быстро переходящие в готовые средства. Adaptive RAG широко цитируется.",
      "maturity_note_en": "Early work moving quickly into ready toolkits. Adaptive RAG is widely cited.",
      "name": "RAG with Test-Time Reasoning",
      "package": null,
      "parse_notes": [
        {
          "code": "B1",
          "did": "Сложный вопрос разбивается на подвопросы, привязанные к сущностям.",
          "did_en": "A complex question is split into sub-questions tied to entities.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "subquestion_decomposition",
          "why": "Запрос делится заранее и осознанно.",
          "why_en": "The query is divided in advance and deliberately."
        },
        {
          "code": "A4",
          "did": "Свидетельства собираются по графу знаний расширением соседства и переходами.",
          "did_en": "Evidence is gathered over a knowledge graph by neighbourhood expansion and hops.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "graph",
          "why": "Индекс связный.",
          "why_en": "The index is connected."
        },
        {
          "code": "C1",
          "did": "Отбор идёт движением по связям графа.",
          "did_en": "Selection proceeds by moving along the graph's edges.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "graph_traversal",
          "why": "Ответ собирается обходом структуры.",
          "why_en": "The answer is assembled by traversing the structure."
        },
        {
          "code": "C2",
          "did": "Глубина обхода наращивается по мере надобности, а не задана заранее.",
          "did_en": "Traversal depth is increased as needed rather than fixed in advance.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "iterative_stopping",
          "why": "Число обращений определяется ходом рассуждения.",
          "why_en": "The number of calls is set by the course of the reasoning."
        },
        {
          "code": "E1",
          "did": "Рассуждение ведётся несколькими цепочками параллельно.",
          "did_en": "Reasoning runs as several chains in parallel.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "ensemble_fragments",
          "why": "Ответ складывается из нескольких порождений, а не пишется одним.",
          "why_en": "The answer is assembled from several productions rather than written in one."
        },
        {
          "code": "E2",
          "did": "Противоречия между цепочками разрешаются взаимной проверкой.",
          "did_en": "Contradictions between chains are resolved by mutual checking.",
          "question": "Проверка идёт между цепочками одной модели, а не отдельным судьёй. Возможно, ближе «проверка после порождения».",
          "question_en": "The checking runs between chains of one model rather than by a separate judge. «Post-hoc check» may be closer.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2508.18260, метод",
          "source_en": "arXiv:2508.18260, method",
          "technology_id": "test_time",
          "to": "external_judge",
          "why": "Обоснованность проверяется сопоставлением независимых порождений, а не самим порождающим.",
          "why_en": "Groundedness is checked by comparing independent productions rather than by the producer itself."
        },
        {
          "code": "E5",
          "did": "Цепочки рассуждения расширяют обход графа по мере надобности.",
          "did_en": "Chains of reasoning extend the graph traversal as needed.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "test_time",
          "to": "mutual_loop",
          "why": "Порождение задаёт глубину поиска.",
          "why_en": "Production sets the depth of retrieval."
        }
      ],
      "problem": "Однократное извлечение не справляется с вопросами в несколько шагов, потому что поиск и рассуждение между собой не связаны. Система не располагает способом заметить, что её собственное рассуждение разошлось с найденным.\n\nСложный вопрос требует чередования: найти, подумать, найти снова по тому, что выяснилось. Расход на такой ответ заранее неизвестен и зависит от вопроса.",
      "problem_en": "A single retrieval does not cope with questions taking several steps, because search and reasoning are not coupled. The system has no means of noticing that its own reasoning has diverged from what was retrieved.\n\nA hard question calls for alternation: find, think, find again on what came to light. The cost of such an answer is not known in advance and depends on the question.",
      "prose_id": "test_time",
      "residual": [],
      "residual_en": [],
      "solutions": "Самооценку после каждого круга вводит AlignRAG, где модель судит о собственной уверенности и решает, продолжать ли.\n\nПоследовательность заменяют одновременностью: MIRAGE ведёт несколько путей обхода графа параллельно, отчего время ответа перестаёт расти пропорционально глубине. Разные предположения проверяют разными исполнителями одновременно, как в MA-RAG. Наиболее цитируемым остаётся простейший подход, при котором стратегия выбирается заранее по сложности вопроса.",
      "solutions_en": "Self-assessment after each round is introduced by AlignRAG, where the model judges its own confidence and decides whether to continue.\n\nSequence is replaced by simultaneity: MIRAGE pursues several graph traversal paths in parallel, so response time stops growing in proportion to depth. Different hypotheses are tested by different agents at once, as in MA-RAG. The most cited approach remains the simplest, in which the strategy is chosen in advance from the difficulty of the question.",
      "summary": "Рассуждение и извлечение чередуются во время ответа, и глубина определяется вопросом, а не настройкой.",
      "summary_en": "Reasoning and retrieval alternate while the answer is produced, and depth is settled by the question rather than a setting."
    },
    {
      "aliases": [],
      "attention": 0.807,
      "attention_cohort": "2023",
      "attention_raw": 1.486,
      "confidence": 1.0,
      "configuration": {
        "A1": "node_edge",
        "A4": "graph",
        "A8": "given",
        "C1": "graph_traversal",
        "C2": "iterative_stopping",
        "D1": "none",
        "E5": "mutual_loop"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Think-on-Graph соединяет языковую модель с готовым графом знаний так, что рассуждение идёт прямо по его рёбрам. Обычное обращение к графу переводит запрос в формальный вид, выполняет его и возвращает результат целиком; ошибка в переводе даёт пустой ответ, и исправить её по ходу нельзя.\n\nОбход разбит на шаги, и на каждом решение принимает модель. Из вопроса выделяются начальные сущности, им сопоставляются вершины графа. Далее модели показывают вершину вместе со списком исходящих из неё рёбер, и она выбирает, по какому ребру идти, исходя из того, чего недостаёт для ответа. Переход выполняется, новая вершина добавляется к пройденному пути, и шаг повторяется. Одновременно ведётся несколько путей, чтобы неудачный выбор на раннем шаге не закрывал остальные направления.\n\nОбход прекращается, когда модель признаёт собранный путь достаточным. Существенно, что ответ опирается на подлинные рёбра графа, а путь целиком виден и служит объяснением. Ограничения происходят от графа: связи, которой в нём нет, обход не найдёт, а каждый шаг требует вызова модели, поэтому длинная цепочка обходится дорого.",
      "description_en": "Think-on-Graph couples a language model to an existing knowledge graph so that reasoning proceeds along its edges. An ordinary query to a graph translates the request into a formal form, executes it, and returns the result whole; an error in translation yields an empty answer that cannot be corrected along the way.\n\nThe traversal is broken into steps, and at each of them the model decides. Starting entities are taken from the question and matched to graph nodes. The model is then shown a node together with the list of edges leaving it, and it chooses which edge to follow, guided by what is still missing for an answer. The move is made, the new node is added to the path walked, and the step repeats. Several paths are pursued at once so that an unlucky choice at an early step does not close off the other directions.\n\nTraversal stops when the model judges the assembled path sufficient. What matters is that the answer rests on genuine edges of the graph, and that the whole path is visible and serves as the explanation. The limitations come from the graph: a connection it does not contain will not be found, and every step requires a model call, so a long chain is expensive.",
      "evidence": [
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2307.07697",
          "type": "publication",
          "value": "arXiv:2307.07697 (2023)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4384643740",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=54; year=2023; citation_velocity=1.459",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4384643740",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=55; year=2023; citation_velocity=1.486",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 3,
      "family": null,
      "first_published": "2023",
      "groups": [
        "A",
        "C",
        "E"
      ],
      "id": "think_on_graph",
      "kind": "architecture",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2307.07697",
          "verified_at": "2026-08-11"
        }
      ],
      "name": "Think-on-Graph",
      "package": null,
      "parse_notes": [
        {
          "code": "C1",
          "did": "Языковая модель шагает по графу знаний лучевым поиском, на каждом шаге выбирая, за какой связью идти дальше.",
          "did_en": "The language model walks the knowledge graph by beam search, choosing at every step which edge to follow next.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2307.07697, метод",
          "source_en": "arXiv:2307.07697, method",
          "technology_id": "think_on_graph",
          "to": "graph_traversal",
          "why": "Отбор — движение по структуре, и направление выбирается по ходу.",
          "why_en": "Selection is movement through the structure, and the direction is chosen as it goes."
        },
        {
          "code": "A8",
          "did": "Граф знаний берётся готовым, а не строится по корпусу.",
          "did_en": "The knowledge graph is taken ready-made rather than built over a corpus.",
          "instead": "«извлечена из содержания»: это описало бы построение графа по текстам, которого здесь нет.",
          "instead_en": "«extracted from content»: that would describe building a graph over texts, which does not happen here.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2307.07697, постановка",
          "source_en": "arXiv:2307.07697, problem statement",
          "technology_id": "think_on_graph",
          "to": "given",
          "why": "Структура задана источником: работа подключается к существующему графу и ничего не извлекает.",
          "why_en": "The structure is given by a source: the work connects to an existing graph and extracts nothing."
        },
        {
          "code": "E5",
          "did": "Рассуждение выбирает следующий шаг обхода, найденное меняет рассуждение.",
          "did_en": "Reasoning chooses the next step of the traversal, and what is found changes the reasoning.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2307.07697, метод",
          "source_en": "arXiv:2307.07697, method",
          "technology_id": "think_on_graph",
          "to": "mutual_loop",
          "why": "Связь двусторонняя и повторяется.",
          "why_en": "The coupling runs both ways and repeats."
        }
      ],
      "prose_id": "think_on_graph",
      "residual": [],
      "residual_en": [],
      "summary": "Пошаговый обход графа знаний, где следующее ребро на каждом шаге выбирает языковая модель.",
      "summary_en": "Step-by-step traversal of a knowledge graph, with a language model choosing the next edge at each step."
    },
    {
      "aliases": [
        "Unified Embedding"
      ],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "barriers": "Разреженное представление получают из словаря модели, а у порождающей модели с причинным вниманием каждая лексема видит только предшествующие. Прямое приписывание весов всему словарю с одной позиции даёт низкое качество.",
      "barriers_en": "A sparse representation is obtained from the model's vocabulary, and in a decoder-only model with causal attention every token sees only the past. Assigning weights over the whole vocabulary from a single position directly gives poor quality.",
      "confidence": 1.0,
      "configuration": {
        "A5": "vision_language",
        "A7": "image",
        "G3": "trained_retriever"
      },
      "configuration_inapplicable": [
        "A1",
        "A2",
        "A3",
        "A4",
        "A6",
        "A8",
        "B1",
        "B2",
        "C1",
        "C2",
        "C3",
        "C4",
        "D1",
        "D2",
        "D3",
        "E1",
        "E2",
        "E3",
        "E4",
        "E5",
        "F1",
        "F2",
        "F3",
        "G1",
        "G2"
      ],
      "configuration_reviewed": "2026-08-12",
      "configuration_variable": [
        "A5"
      ],
      "description": "UEmbed сводит в одну модель то, что обычно требует двух или трёх. Обученный разреженный поиск, где документ описывается весами слов словаря, до сих пор строился на двунаправленных кодировщиках, то есть на моделях, каждая позиция которых видит вход целиком. Плотный поиск по одному вектору строился отдельно. Перенос того и другого на изображения требовал ещё и связующих частей. Держать несколько моделей дорого и хлопотно вдвойне, потому что обновлять и согласовывать надо каждую.\n\nЗатруднение состоит в устройстве современных порождающих моделей. Веса словаря берутся с выходного слоя, а такая модель использует причинное внимание: каждая позиция видит только предшествующие. Приписать веса всему словарю с одной последней позиции можно, но качество получается низким, потому что одной позиции не хватает, чтобы выразить документ по всему словарю сразу.\n\nРешение состоит в разделении труда между несколькими служебными позициями. К входу приписывается несколько служебных лексем, а словарь делится между ними на непересекающиеся части: каждая отвечает за свою часть, и вместе они складываются в полный разреженный вектор. Плотное представление берётся с тех же позиций, поэтому оба представления получаются за один проход, а изображения обслуживаются той же моделью без отдельного связующего звена.",
      "description_en": "UEmbed brings into one model what usually takes two or three. Learned sparse retrieval, where a document is described by weights over vocabulary words, had until now been built on bidirectional encoders, that is, on models each of whose positions sees the whole input. Dense retrieval over a single vector was built separately. Carrying either over to images called for further bridging parts. Maintaining several models is expensive and doubly troublesome, because each must be updated and kept in step with the others.\n\nThe difficulty lies in how modern generative models are built. Vocabulary weights are taken from the output layer, and such a model uses causal attention: each position sees only what precedes it. Assigning weights over the whole vocabulary from one final position is possible but yields poor quality, because a single position does not suffice to express a document across the entire vocabulary.\n\nThe solution divides the labour among several service positions. Several service tokens are appended to the input, and the vocabulary is split among them into disjoint parts: each is responsible for its own part, and together they compose the full sparse vector. The dense representation is taken from the same positions, so both representations come out of a single pass, and images are served by the same model with no separate bridging stage.",
      "evidence": [
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2608.02583",
          "type": "publication",
          "value": "arXiv:2608.02583 (2026)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7172392400",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2026-08",
      "groups": [
        "A"
      ],
      "id": "uembed",
      "kind": "tool",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": "UEmbed (arXiv:2608.02583, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2608.02583",
          "verified_at": "2026-08-14"
        },
        {
          "kind": "product",
          "label": "Страница проекта",
          "label_en": "Project page",
          "status": "verified",
          "url": "https://alibaba-nlp.github.io/UEmbed",
          "verified_at": "2026-08-14"
        }
      ],
      "name": "UEmbed",
      "package": null,
      "parse_notes": [
        {
          "code": "A5",
          "did": "Представления строит декодерная мультимодальная модель: к входу приписываются N служебных лексем, словарь делится на N непересекающихся частей, и каждая лексема предсказывает веса по своей части. За тот же проход выдаётся и плотный вектор.",
          "did_en": "Representations are built by a decoder-only multimodal model: N special tokens are appended to the input, the vocabulary is split into N disjoint subsets, and each token predicts weights over its own subset. The same pass also emits a dense vector.",
          "instead": "«разреженное»: оно описало бы одну из двух выдач и умолчало бы о второй, тогда как работа существует ради их объединения.",
          "instead_en": "«lexical»: it would describe one of the two outputs and pass over the second, whereas the work exists for their union.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2608.02583, метод",
          "source_en": "arXiv:2608.02583, method",
          "technology_id": "uembed",
          "to": "vision_language",
          "variable": true,
          "why": "Модель читает изображение и текст вместе, поэтому значение описывает именно совместное представление. Пометка переменного стоит потому, что потребитель выбирает, каким из двух представлений пользоваться.",
          "why_en": "The model reads image and text together, so the value describes exactly a joint representation. The run-time mark is there because the consumer chooses which of the two representations to use."
        },
        {
          "code": "A7",
          "did": "На вход принимаются изображения наравне с текстом.",
          "did_en": "Images are accepted on the input alongside text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2608.02583, метод",
          "source_en": "arXiv:2608.02583, method",
          "technology_id": "uembed",
          "to": "image",
          "why": "Модальность материала перестала быть только текстовой.",
          "why_en": "The modality of the material has stopped being textual alone."
        },
        {
          "code": "G3",
          "did": "Модель обучается под задачу поиска на открытых данных, выпущена в трёх размерах.",
          "did_en": "The model is trained for the retrieval task on public data and released at three sizes.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2608.02583, метод",
          "source_en": "arXiv:2608.02583, method",
          "technology_id": "uembed",
          "to": "trained_retriever",
          "why": "Обучаемая часть относится к поисковой стороне.",
          "why_en": "The trained part belongs to the retrieval side."
        },
        {
          "did": "Разреженное лексическое и плотное представление выдаются одной моделью за один причинный проход.",
          "did_en": "A sparse lexical representation and a dense one are emitted by one model in a single causal pass.",
          "residual": "sparse_and_dense_one_pass",
          "residual_term": "разреженное и плотное представление одной моделью за проход",
          "residual_term_en": "sparse and dense representations from one model in a single pass",
          "source": "arXiv:2608.02583, метод",
          "source_en": "arXiv:2608.02583, method",
          "technology_id": "uembed",
          "why": "Схема хранит один вид представления на запись. Здесь их два, и выбор между ними делает потребитель.",
          "why_en": "The schema holds one kind of representation per record. Here there are two, and the consumer chooses between them."
        },
        {
          "code": "E1",
          "did": "Модель ничего не порождает и запросов не преобразует: она отдаёт представления.",
          "did_en": "The model produces nothing and transforms no queries: it hands over representations.",
          "inapplicable": true,
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "uembed",
          "why": "Это часть системы, а не система. Измерения синтеза, запроса и извлечения к ней не относятся, и базовые значения утверждали бы о несуществующем.",
          "why_en": "It is a part of a system rather than a system. The dimensions of synthesis, query and retrieval do not apply to it, and the defaults would assert something that does not exist."
        }
      ],
      "problem": "Обученный разреженный поиск до сих пор строился на двунаправленных кодировщиках, а перенос его на изображения требовал отдельных связующих частей. Держать две модели, разреженную и плотную, дорого и вдвойне хлопотно.",
      "problem_en": "Learned sparse retrieval has so far rested on bidirectional encoders, and carrying it over to images required separate bridging parts. Keeping two models, a sparse one and a dense one, is expensive and twice the trouble.",
      "prose_id": "uembed",
      "residual": [
        "разреженное и плотное представление одной моделью за проход"
      ],
      "residual_en": [
        "sparse and dense representations from one model in a single pass"
      ],
      "solutions": "К входу приписываются несколько служебных лексем, а словарь делится между ними на непересекающиеся части: каждая лексема отвечает за свою часть, и вместе они складываются в полный разреженный вектор. Плотное представление берётся из того же прохода.",
      "solutions_en": "Several special tokens are appended to the input and the vocabulary is divided between them into disjoint subsets: every token answers for its own subset, and together they add up to the full sparse vector. The dense representation comes from the same pass.",
      "summary": "Одна модель выдаёт разреженное и плотное представление за один проход, для текста и изображений сразу.",
      "summary_en": "One model produces a sparse and a dense representation in a single pass, for text and images alike."
    },
    {
      "aliases": [],
      "attention": 0.0,
      "attention_cohort": null,
      "attention_raw": 0.0,
      "barriers": "Общее препятствие состоит в согласовании схем, и оно распадается на четыре части.\n\nПонятия, которыми описаны таблица, граф знаний и указатель представлений, надо свести к общим обозначениям, иначе одна и та же сущность окажется тремя разными. Порядок обращения к хранилищам надо планировать, потому что от того, какое опрашивается первым, зависит объём работы остальных. Упорядочить выдачу единым образом не удаётся напрямую: близость представлений, точное совпадение в таблице и число переходов по графу измеряются в несопоставимых величинах. Наконец, сведение всего к графу само по себе обходится дорого.",
      "barriers_en": "The common obstacle is reconciling schemas, and it falls into four parts.\n\nThe notions describing a table, a knowledge graph, and a representation index must be brought to common designations, or one and the same entity ends up as three different ones. The order in which stores are consulted must be planned, because which one is asked first decides how much work the others face. Results cannot be ordered uniformly in any direct way: closeness of representations, an exact match in a table, and a number of graph hops are measured in incommensurable quantities. Finally, reducing everything to a graph is itself expensive.",
      "confidence": 1.0,
      "configuration": {
        "A1": "node_edge",
        "A2": "fixed",
        "A3": "none",
        "A4": "graph",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "given",
        "B1": "identity",
        "B2": "static",
        "C1": "boolean_query",
        "C2": "agentic_open_loop",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "budget_aware",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W7140314965",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=0; year=2026; citation_velocity=0.0",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2603.22340",
          "type": "publication",
          "value": "arXiv:2603.22340 (2026)",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 2,
      "family": null,
      "first_published": "2026-03",
      "groups": [
        "A",
        "C"
      ],
      "id": "unified",
      "kind": "paradigm",
      "level": "L1",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1"
        ]
      },
      "links": [
        {
          "kind": "other",
          "label": "Graph-based RAG in Unified Framework (VLDB PVLDB v18, 2025)",
          "label_en": null,
          "status": "verified",
          "url": "https://www.vldb.org/pvldb/vol18/p5623-zhou.pdf",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "preprint",
          "label": "Graphs RAG at Scale (arXiv:2603.22340, 2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2603.22340",
          "verified_at": "2026-08-09"
        },
        {
          "kind": "other",
          "label": "Memgraph SQL2Graph and Unstructured2Graph (2026)",
          "label_en": null,
          "status": "verified",
          "url": "https://memgraph.com/blog/introducing-ai-toolkit-for-graphrag-sql2graph-unstructured2graph",
          "verified_at": "2026-08-09"
        }
      ],
      "maturity_note": "Ранний продукт: набор средств Memgraph. Работы по сведению хранилищ опубликованы в трудах VLDB.",
      "maturity_note_en": "Early product: the Memgraph toolkit. Work on reconciling stores is published in the VLDB proceedings.",
      "name": "Unified RAG over Structured and Unstructured Data",
      "package": null,
      "parse_notes": [
        {
          "code": "A4",
          "did": "Документы переводятся в граф свойств или троек и хранятся в графовой базе.",
          "did_en": "Documents are turned into a property graph or triples and kept in a graph database.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2603.22340, метод",
          "source_en": "arXiv:2603.22340, method",
          "technology_id": "unified",
          "to": "graph",
          "why": "Индекс связный и типизированный.",
          "why_en": "The index is connected and typed."
        },
        {
          "code": "A1",
          "did": "Возвращаются узлы и связи графа, а не куски текста.",
          "did_en": "What is returned are nodes and edges of the graph rather than pieces of text.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2603.22340, метод",
          "source_en": "arXiv:2603.22340, method",
          "technology_id": "unified",
          "to": "node_edge",
          "why": "Единица извлечения — фрагмент структуры.",
          "why_en": "The retrieval unit is a fragment of structure."
        },
        {
          "code": "C1",
          "did": "Вопрос переводится на язык запросов графовой базы и выполняется как запрос, а не как поиск похожего.",
          "did_en": "The question is translated into the query language of the graph database and executed as a query rather than as a search for something similar.",
          "instead": "«обход графа»: он описал бы движение по связям, а здесь исполняется запрос целиком.",
          "instead_en": "«graph traversal»: it would describe movement along edges, whereas here a whole query is executed.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2603.22340, метод",
          "source_en": "arXiv:2603.22340, method",
          "technology_id": "unified",
          "to": "boolean_query",
          "why": "Отбор задаётся условиями запроса. У схемы есть значение с этим именем, и оно точнее обхода.",
          "why_en": "Selection is set by the conditions of the query. The schema has a value under that name, and it is more precise than traversal."
        },
        {
          "code": "D2",
          "did": "Число возвращаемых документов не задаётся заранее, а определяется запросом.",
          "did_en": "The number of documents returned is not fixed in advance and is determined by the query.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2603.22340, метод",
          "source_en": "arXiv:2603.22340, method",
          "technology_id": "unified",
          "to": "budget_aware",
          "why": "Отбор идёт от достаточности, а не от числа лучших.",
          "why_en": "Selection proceeds from sufficiency rather than from a count of the best."
        },
        {
          "code": "A8",
          "did": "Документы переводятся в тройки по ключам исходных данных.",
          "did_en": "Documents are turned into triples by the keys of the source data.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "unified",
          "to": "given",
          "why": "Структура задана исходными данными: ключи полуструктурированного документа переносятся в граф как есть.",
          "why_en": "The structure is given by the source data: the keys of a semi-structured document are carried into the graph as they are."
        }
      ],
      "problem": "Извлечение из текста, обращение к таблицам на языке запросов и обход графа знаний сегодня строятся раздельно и не отвечают на вопрос совместно.\n\nМежду тем вопросы, охватывающие всё сразу, обычны. Просьба найти договор с определённым условием, сумма по которому в учётной системе превышает заданную, и назвать связанные с ним стороны требует и текста договора, и записи в таблице, и отношения из графа. Ни одна из трёх систем такого запроса не обслуживает, а сшивать их ответы приходится вручную.",
      "problem_en": "Retrieval from text, querying tables in a query language, and traversing a knowledge graph are today built separately and do not answer a question jointly.\n\nYet questions spanning all three are commonplace. A request to find a contract with a given clause whose amount in the accounting system exceeds a threshold, and to name the parties connected to it, requires the text of the contract, a row in a table, and a relation from the graph. None of the three systems serves such a request, and their answers have to be stitched together by hand.",
      "prose_id": "unified",
      "residual": [],
      "residual_en": [],
      "solutions": "Один путь состоит в приведении всего к графу: средства SQL2Graph и Unstructured2Graph переводят таблицы и текст в единое графовое представление, после чего извлечение остаётся одно.\n\nДругой путь оставляет хранилища на месте и вводит над ними согласующий слой, который переводит запрос в обращения к каждому и сводит ответы. Теоретическое основание для такого сведения, где извлечение разложено на сочетаемые операции, изложено в трудах VLDB, том 18.",
      "solutions_en": "One route reduces everything to a graph: the SQL2Graph and Unstructured2Graph tools translate tables and text into a single graph representation, after which one retrieval suffices.\n\nAnother route leaves the stores in place and introduces a reconciling layer above them, which turns a query into requests to each and combines the answers. The theoretical basis for such reconciliation, where retrieval is decomposed into composable operators, is set out in the VLDB proceedings, volume 18.",
      "summary": "Один запрос сразу к документам, таблицам и графу, вместо трёх раздельных систем.",
      "summary_en": "One query reaching documents, tables, and a graph at once, instead of three separate systems."
    },
    {
      "aliases": [
        "PageIndex"
      ],
      "attention": null,
      "attention_cohort": null,
      "attention_raw": null,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "structure_aware",
        "A3": "none",
        "A4": "tree",
        "A5": "none",
        "A6": "snapshot",
        "A7": "text",
        "A8": "given",
        "B1": "identity",
        "B2": "static",
        "C1": "tree_navigation",
        "C2": "iterative_stopping",
        "C3": "none",
        "C4": "single_store",
        "D1": "none",
        "D2": "top_k",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-10",
      "configuration_variable": [],
      "description": "Vectorless отказывается от векторного представления как средства поиска. Довод состоит в том, что близость векторов приблизительна по устройству: она отвечает на вопрос о похожести, тогда как читателю нужен ответ на вопрос об уместности, а эти вопросы совпадают не всегда. Векторный указатель, кроме того, требует построения, хранения и перестроения при изменении документов.\n\nВместо указателя строится дерево, повторяющее устройство самого документа: части, разделы, подразделы, с кратким описанием содержания каждого узла. Такое дерево у документа обычно уже есть в виде оглавления, и извлекать его из текста дешевле, чем строить векторы. Поиск выполняется спуском по дереву, и решение на каждой развилке принимает большая языковая модель: ей показывают запрос и описания дочерних узлов, она выбирает, куда идти дальше, и спуск продолжается до листа.\n\nВыигрыш состоит в отсутствии этапа построения векторов и в том, что путь спуска сам по себе объясняет, почему найден именно этот раздел. Плата состоит в задержке и стоимости: каждая развилка требует вызова модели, и обращение к индексу превращается из одной операции в цепочку из нескольких вызовов. Метод, кроме того, применим лишь к документам с внятной структурой и не работает на плоском собрании разрозненных записей.",
      "description_en": "Vectorless dispenses with vector representation as a means of search. The argument is that vector closeness is approximate by construction: it answers the question of resemblance, whereas the reader needs an answer to the question of relevance, and the two do not always coincide. A vector index, moreover, has to be built, stored, and rebuilt whenever the documents change.\n\nIn place of an index, a tree is built that mirrors the structure of the document itself: parts, sections, subsections, with a brief description of each node's content. Documents usually carry such a tree already in the form of a table of contents, and extracting it from the text costs less than building vectors. Search proceeds by descending the tree, and the decision at each fork is made by a large language model: it is shown the query and the descriptions of the child nodes, it chooses where to go next, and the descent continues to a leaf.\n\nThe gain is that the vector-building stage disappears and that the path of the descent explains by itself why this particular section was found. The price is latency and cost: every fork requires a model call, and consulting the index turns from one operation into a chain of several. The method also applies only to documents with a clear structure and does not work over a flat collection of disconnected records.",
      "evidence": [
        {
          "fetched_at": "2026-08-05",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-04, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-08, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-09, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-10",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-10, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-12",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-12, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-14, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-17",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-16, releases=yes",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-24",
          "obtained_by": "auto",
          "source": "https://github.com/VectifyAI/PageIndex",
          "type": "repository",
          "value": "VectifyAI/PageIndex: license=mit, last_push=2026-08-22, releases=yes",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 8,
      "family": "H",
      "first_published": null,
      "groups": [
        "A",
        "C"
      ],
      "id": "vectorless",
      "kind": "technique",
      "level": "L0",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L1",
          "L2",
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0"
        ]
      },
      "links": [
        {
          "kind": "github",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://github.com/VectifyAI/PageIndex",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "Vectorless",
      "package": null,
      "parse_notes": [
        {
          "code": "A5",
          "did": "Представлений не строится вовсе: навигация идёт по оглавлению документа логическими шагами.",
          "did_en": "No representations are built at all: navigation follows the document's table of contents in logical steps.",
          "instead": "«плотное представление»: приём существует именно как отказ от него.",
          "instead_en": "«dense representation»: the technique exists precisely as a refusal of it.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "репозиторий VectifyAI/PageIndex",
          "source_en": "repository VectifyAI/PageIndex",
          "technology_id": "vectorless",
          "to": "none",
          "why": "Модели представления в приёме нет, и это его определяющее свойство.",
          "why_en": "The technique has no representation model, and that is its defining property."
        },
        {
          "code": "A4",
          "did": "Индекс — дерево оглавления документа.",
          "did_en": "The index is the tree of the document's table of contents.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "репозиторий VectifyAI/PageIndex",
          "source_en": "repository VectifyAI/PageIndex",
          "technology_id": "vectorless",
          "to": "tree",
          "why": "Структура иерархическая, у каждого узла один родитель.",
          "why_en": "The structure is hierarchical, and every node has one parent."
        },
        {
          "code": "C1",
          "did": "Нужный раздел находится спуском по дереву оглавления.",
          "did_en": "The section needed is found by descending the tree of contents.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "репозиторий VectifyAI/PageIndex",
          "source_en": "repository VectifyAI/PageIndex",
          "technology_id": "vectorless",
          "to": "tree_navigation",
          "why": "Отбор — движение по структуре, а не сравнение представлений.",
          "why_en": "Selection is movement through the structure rather than a comparison of representations."
        },
        {
          "code": "A8",
          "did": "Дерево индекса — это оглавление документа, написанное человеком.",
          "did_en": "The index tree is the document's table of contents, written by a person.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "выведено из разбора записи",
          "source_en": "inferred from the parse of this record",
          "technology_id": "vectorless",
          "to": "given",
          "why": "Структура взята из источника как есть и верна по построению: её не вычисляли, и переиндексация её не изменит.",
          "why_en": "The structure is taken from the source as it is and is correct by construction: it was not computed, and reindexing will not change it."
        }
      ],
      "prose_id": "vectorless",
      "residual": [],
      "residual_en": [],
      "summary": "Обход дерева оглавления языковой моделью вместо поиска по векторным представлениям.",
      "summary_en": "A language model descends a table-of-contents tree instead of searching vector representations."
    },
    {
      "aliases": [],
      "attention": 0.891,
      "attention_cohort": "2024",
      "attention_raw": 0.516,
      "confidence": 1.0,
      "configuration": {
        "A1": "passage",
        "A2": "fixed",
        "A3": "none",
        "A4": "flat",
        "A5": "dense_single",
        "A6": "snapshot",
        "A7": "text",
        "A8": "none",
        "B1": "identity",
        "B2": "static",
        "C1": "ann",
        "C2": "single_shot",
        "C3": "none",
        "C4": "single_store",
        "D1": "cross_encoder",
        "D2": "latent_compression",
        "D3": "natural_order",
        "E1": "single_pass",
        "E2": "none",
        "E3": "none",
        "E4": "no_refusal",
        "E5": "none",
        "F1": "none",
        "F2": "none",
        "F3": "none",
        "G1": "open",
        "G2": "server",
        "G3": "frozen"
      },
      "configuration_inapplicable": [],
      "configuration_reviewed": "2026-08-09",
      "configuration_variable": [],
      "description": "xRAG отвечает на расход, который в извлечении с порождением заметнее всего. Найденные документы занимают место во входе языковой модели, и стоимость обращения растёт вместе с их числом и длиной. Половина отведённого входа при этом уходит на документы, из которых нужны две строки.\n\nПриём переводит документ из текста в единственный вектор. Векторное представление, построенное для поиска, уже существует, и xRAG приспосабливает его к другой роли: между пространством представлений и пространством, в котором языковая модель ожидает свои входные единицы, обучается простое отображение. После него документ подаётся модели не словами, а одной единицей входа наравне с обычными.\n\nСжатие получается двузначное по числу занятых позиций, и на длинном контексте выигрыш во времени и стоимости оказывается кратным. Обучается при этом только отображение, тогда как ни языковая модель, ни модель представлений не меняются. Плата состоит в потере подробностей: из одного вектора нельзя извлечь дословную цитату, поэтому атрибуция на уровне отдельного утверждения при таком сжатии недостижима, а точные имена и числа теряются раньше прочего.",
      "description_en": "xRAG addresses the expense most visible in retrieval-augmented generation. Retrieved documents occupy space in the language model's input, and the cost of a call grows with their number and length. Half the allotted input goes to documents from which two lines are wanted.\n\nThe technique converts a document from text into a single vector. The vector representation built for search already exists, and xRAG adapts it to another role: a simple mapping is trained between the representation space and the space in which the language model expects its input units. After that mapping, the document is given to the model not as words but as one input unit alongside the ordinary ones.\n\nThe compression is two orders of magnitude in positions occupied, and on long contexts the gain in time and cost is proportional. Only the mapping is trained, while neither the language model nor the representation model changes. The price is loss of detail: a verbatim quotation cannot be recovered from a single vector, so attribution at the level of an individual claim is unreachable under such compression, and exact names and numbers are the first things to go.",
      "evidence": [
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415795887",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=14; year=2024; citation_velocity=0.452",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-08",
          "obtained_by": "auto",
          "source": "https://arxiv.org/abs/2405.13792",
          "type": "publication",
          "value": "arXiv:2405.13792 (2024)",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-09",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4398796143",
          "type": "publication",
          "value": "venue=arXiv (Cornell University); peer_reviewed=false; cited_by=3; year=2024; citation_velocity=0.111",
          "value_en": null
        },
        {
          "fetched_at": "2026-08-14",
          "obtained_by": "auto",
          "source": "https://openalex.org/W4415795887",
          "type": "publication",
          "value": "venue=DOI 10.52202; peer_reviewed=true; cited_by=16; year=2024; citation_velocity=0.516",
          "value_en": null
        }
      ],
      "evidence_basis": "computed",
      "evidence_count": 4,
      "family": "F",
      "first_published": "2024",
      "groups": [
        "D"
      ],
      "id": "xrag",
      "kind": "architecture",
      "level": "L2",
      "level_reason": {
        "confidence": 1.0,
        "evidence_basis": "computed",
        "missing": [
          "L3",
          "L4",
          "L5",
          "L6"
        ],
        "satisfied": [
          "L0",
          "L1",
          "L2"
        ]
      },
      "links": [
        {
          "kind": "preprint",
          "label": null,
          "label_en": null,
          "status": "verified",
          "url": "https://arxiv.org/abs/2405.13792",
          "verified_at": "2026-08-09"
        }
      ],
      "name": "xRAG",
      "package": null,
      "parse_notes": [
        {
          "code": "D2",
          "did": "Документ подаётся модели не текстом, а одним вектором — тем самым представлением, которое и так вычислено для поиска; переводит его в пространство модели небольшой обучаемый мост.",
          "did_en": "A document is handed to the model not as text but as a single vector, the very representation already computed for retrieval; a small trainable bridge carries it into the model's space.",
          "instead": "«пересказ»: там контекст сокращается словами, которые можно прочесть, а здесь читаемого текста не остаётся вовсе.",
          "instead_en": "«retelling»: there the context is shortened into words one can read, whereas here no readable text remains at all.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.13792, метод",
          "source_en": "arXiv:2405.13792, method",
          "technology_id": "xrag",
          "to": "latent_compression",
          "why": "Сжатие происходит в пространстве представлений, а не пересказом текста. Это и есть скрытое сжатие.",
          "why_en": "Compression happens in the space of representations rather than by retelling the text. That is latent compression."
        },
        {
          "code": "G3",
          "did": "Обучается только мост между пространствами; поисковик и языковая модель остаются неизменными.",
          "did_en": "Only the bridge between the spaces is trained; the retriever and the language model stay unchanged.",
          "instead": "«обучаемый читатель»: модель как раз заморожена, в этом и смысл — сохранить сменяемость частей.",
          "instead_en": "«trainable reader»: the model is precisely frozen, and that is the point, to keep the parts replaceable.",
          "residual_term": null,
          "residual_term_en": null,
          "source": "arXiv:2405.13792, метод",
          "source_en": "arXiv:2405.13792, method",
          "technology_id": "xrag",
          "to": "frozen",
          "why": "Измерение описывает обучение поисковика и читателя — ни то, ни другое здесь не обучается.",
          "why_en": "The dimension describes the training of the retriever and the reader, and neither is trained here."
        }
      ],
      "prose_id": "xrag",
      "residual": [],
      "residual_en": [],
      "summary": "Документ сжимается в один вектор, понятный языковой модели: контекст перестаёт занимать место в тексте.",
      "summary_en": "A document is compressed into a single vector the language model understands: context stops occupying text."
    }
  ]
}
