Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

41 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Глава 3 · Память пользователя и базы знаний
> Позволяет агентам помнить пользователя между сессиями и обращаться к внешним знаниям. Охватывает системы пользовательской памяти, базовые пайплайны RAG, а также организацию и извлечение знаний за пределами плоского текста (структурированные индексы, графы знаний и т. д.).
← [К оглавлению](../docs/ru/README.md) · 📖 [Читать главу](../book-ru/chapter3.md)
## Как читать эксперименты
В основном тексте короткие скелеты механизмов объясняют поток управления; в каталогах экспериментов находятся полные адаптеры SDK, журналы, тесты и приёмочные доказательства. Читать каждый файл построчно не требуется.
- **Starter:** Начните с цели, минимальной команды и условий приёмки; начните с [user-memory](user-memory/) / [retrieval-pipeline](retrieval-pipeline/);
- **Builder:** Проследите точку входа, основной цикл, схему состояния/сообщений, инструменты и проверяющий модуль.
- **Maintainer:** Затем изучите тесты, манифесты доказательств, обработку сбоев, откат и адаптеры провайдеров.
При первом чтении можно пропустить ключи, слой представления и совместимость провайдеров; вернитесь при воспроизведении чисел.
## Сопутствующие проекты
| Эксп. | Проект | Тип | Описание |
| :--: | --- | :--: | --- |
| 3-1, 3-2 | [user-memory](user-memory/) | ✅ | Строит систему долговременной пользовательской памяти, позволяя агенту помнить предпочтения и историю взаимодействий для персонализированного обслуживания. |
| 3-1 | [user-memory-evaluation](user-memory-evaluation/) | ✅ | Систематически оценивает точность, релевантность и эффективность систем пользовательской памяти, включая множество тестовых сценариев и метрик. |
| 3-2 | [mem0](mem0/) · [memobase](memobase/) | ✅ | Реализует пользовательскую память на каждом из двух открытых фреймворков памяти — mem0 и Memobase — как сравнительную реализацию для эксперимента 3-2 «Сравнение стратегий памяти», удобную для горизонтального сравнения форм извлечения и качества ответов у разных решений. |
| 3-3 | [log-sanitization](log-sanitization/) | ✅ | Интеллектуальная санитизация логов с использованием локальной модели Ollama для обнаружения и маскирования секретов и PII с сохранением отладочной ценности. |
| 3-4 | [dense-embedding](dense-embedding/) | ✅ | Строит сервис поиска по векторному сходству, сравнивая алгоритмы приближённого поиска ближайших соседей ANNOY (на деревьях) и HNSW (на графах). Показывает компромиссы между стратегиями индексации по скорости, памяти и способности к обновлению. |
| 3-5 | [sparse-embedding](sparse-embedding/) | ✅ | С нуля реализует поисковый движок на разреженных векторах на базе алгоритма BM25. Даёт богатое логирование и визуализацию для понимания внутренней работы движка, включая расчёт весов частот терминов и принципы инвертированного индекса. |
| 3-6 | [retrieval-pipeline](retrieval-pipeline/) | ✅ | Строит полный пайплайн извлечения, объединяя плотный поиск, разреженный поиск и нейросетевое переранжирование. На тщательно подобранных тест-кейсах систематически показывает взаимодополняющие преимущества гибридного поиска в разных сценариях. |
| 3-7 | [structured-index](structured-index/) | ✅ | Реализует и сравнивает два структурированных индекса — RAPTOR (рекурсивное дерево абстракций) и GraphRAG (граф знаний). |
| 3-8 | [agentic-rag](agentic-rag/) | ✅ | Сравнивает качество традиционного не-агентного RAG и агентного RAG. Показывает, как агент по паттерну ReAct ведёт итеративное извлечение информации, значительно повышая качество ответов в сложных юридических вопросах-ответах. |
| 3-9 | [agentic-rag-for-user-memory](agentic-rag-for-user-memory/) | ✅ | Применяет фреймворк агентного RAG для управления историей диалогов пользователя. Использует многораундовый итеративный поиск для извлечения памяти между сессиями, обеспечивая базовое припоминание и кросс-сессионное извлечение. |
| 3-10 | [contextual-retrieval](contextual-retrieval/) | ✅ | Реализует технику контекстного извлечения, предложенную Anthropic. За счёт генерации префиксных сводок с ключевым контекстом для фрагментов текста решает проблему потери контекста при традиционном разбиении, снижая долю неудачных извлечений на 49–67%. |
| 3-11 | [contextual-retrieval-for-user-memory](contextual-retrieval-for-user-memory/) | ✅ | Применяет технику контекстного извлечения к построению пользовательской памяти. Сочетает Advanced JSON Cards с Contextual RAG, образуя двухслойную структуру памяти для более высокоуровневого проактивного обслуживания. |
| 3-12 | [structured-knowledge-extraction](structured-knowledge-extraction/) | ✅ | На примере судебных прецедентов реализует трёхэтапный пайплайн: «восходящее обнаружение факторов → кластеризация прототипов дел → диалоговый агент-консультант». Без заранее заданных жёстких полей LLM самостоятельно обнаруживает факторы из множества дел и обобщает их в модульную схему (базовые факторы + факторы-расширения под конкретный состав). Затем дела кластеризуются в несколько прототипов, и для каждого вычисляется важность каждого фактора. Агент сопоставляет факты нового дела с наиболее похожим прототипом, запрашивает недостающую информацию по важности факторов и даёт обоснованный доказательствами совет (с юридической оговоркой). |
## Типы проектов
| Значок | Тип | Значение |
| :--: | --- | --- |
| ✅ | **Автономный** | Полный код в этом репозитории, запускается после настройки API-ключа |
| 📖 | **Гайд по воспроизведению** | Подробный документ, зависящий от **внешних репозиториев** через `git clone` |
| 🚧 | **Проектный документ** | Только архитектура/план реализации, рабочий код ещё в разработке |