Сессии (Постоянная память)
AnyLLM включает мощную функцию сессий, которая превращает вашего ИИ-помощника в настоящего постоянного парного программиста. Она наделяет ИИ динамической, долговременной памятью, позволяя ему запоминать контекст вашего проекта, ваши прошлые взаимодействия и даже адаптировать свое понимание вашей кодовой базы между запусками.
Почему сессии так мощны
Представьте, что вы работаете над сложной функцией. Без сессий каждый раз, когда вы перезапускаете AnyLLM, ИИ начинает с чистого листа, требуя от вас повторного объяснения проекта и вашей текущей задачи. С сессиями ИИ:
- Помнит разговоры: Вспоминает предыдущие обсуждения, вопросы и ответы.
- Понимает состояние проекта: Знает, какие файлы вы недавно читали или изменяли.
- Адаптируется к вашему фокусу: Динамически корректирует свой взгляд на вашу кодовую базу на основе вашего текущего запроса.
Это означает меньше повторений, более быстрое решение проблем и более естественный, непрерывный рабочий процесс.
Как это работает: Умный контекст
Когда режим сессии включен, AnyLLM создает скрытый каталог .anyllm в корне вашего проекта. Внутри этого каталога хранится файл project_context.json, который содержит богатое, JSON-структурированное резюме ваших взаимодействий. Этот контекст загружается каждый раз, когда вы запускаете AnyLLM в режиме сессии, обеспечивая ИИ всестороннее понимание текущего состояния и истории проекта.
Ключевые компоненты этого умного контекста включают:
- Динамическая карта проекта (
repo_map): Это не просто статическое дерево файлов. Основываясь на вашем текущем запросе и недавней активности, AnyLLM интеллектуально генерирует сфокусированный вид вашего проекта. Нерелевантные директории сворачиваются (например,node_modules/ (1200 файлов)), в то время как релевантные разделы разворачиваются, предоставляя ИИ краткий, но подробный обзор файлов, относящихся к вашей задаче. - Подсветка кода (
code_highlights): Для наиболее релевантных файлов, определенных динамической картой, AnyLLM извлекает и предоставляет сводку ключевых символов (классов, функций) внутри них. Это дает ИИ немедленное представление о структуре кода без необходимости читать весь файл. - История разговоров: Подробный журнал ваших прошлых запросов и ответов ИИ, позволяющий ИИ продолжить работу с того места, где вы остановились.
- Отслеживаемые файлы: Записывает, какие файлы были прочитаны или изменены, помогая ИИ понять вашу недавнюю работу.
- Выполненные команды: Регистрирует команды терминала, предоставляя контекст о предыдущих действиях.
Включение сессий
Вы можете включить режим сессии двумя способами.
1. С помощью флага --session
Запустите приложение с флагом командной строки --session:
./anyllm --session
Это полезно для временного включения сессий для конкретной команды.
2. С помощью anyllm.json
Для проектов, где вы хотите, чтобы сессии были включены всегда, вы можете добавить параметр в ваш файл anyllm.json:
{
"session": true,
"provider": {
// ... ваша конфигурация провайдера
}
}
Установка "session": true сделает режим сессии режимом по умолчанию для этого проекта.
Пример использования
Представьте себе следующий рабочий процесс:
Запуск 1: Анализ файла
./anyllm --session
> Проанализируй файл @src/Domain/Agent/BaseAgent.php и скажи мне его назначение.
ИИ читает файл и дает вам сводку. Затем вы выходите. Контекст этого взаимодействия сохраняется.
Запуск 2: Восстановление контекста
Позже вы открываете новый терминал.
./anyllm --session
> Основываясь на файле, который мы только что обсуждали, предложи новый метод для добавления в него.
Поскольку сессия была сохранена, ИИ помнит, о каком файле вы говорили, и может дать релевантное предложение без необходимости снова указывать файл.