Еще важный момент: Попросите LLM с которой будете пробовать адаптировать файл персонального контекста (PCT) под задачу и тему: Какие рекомендации по использованию PCT для минимизации ошибок от LLM при использовании для изучения математики (там где важны формулы и расчеты?
Далее смотрите ответ и решаете что попросить добавить в ваш файлик персонального контекста для повышения точности. Вот пример, как может выглядеть файл контекста, настроенный для минимизации ошибок LLM при изучении математики:
{ "basic_info": { "learning_goals": ["Подготовиться к магистратуре по математике", "Освоить математический анализ и линейную алгебру"], "learning_style": ["Пошаговые математические выводы", "Формулы в формате LaTeX", "Схемы для сложных выводов"] }, "current_knowledge": { "beginner": ["Теория чисел"], "intermediate": ["Тригонометрия", "Математический анализ"], "advanced": [] }, "progress": { "current_topic": "Математический анализ: ряды Тейлора", "milestones": [ {"task": "Тригонометрия: основные тождества", "status": "done"}, {"task": "Ряды Тейлора: разложение функций", "status": "in progress", "notes": "LLM иногда ошибается в коэффициентах"}, {"task": "Пределы: правило Лопиталя", "status": "needs review"} ] }, "instruction": "При решении математических задач всегда проверяй формулы и расчеты на точность. Используй пошаговые объяснения и формулы в формате LaTeX. Если мой запрос неоднозначен, задавай уточняющие вопросы. Для сложных расчетов предлагай проверить результат с помощью Wolfram Alpha или SymPy. После объяснения предлагай 1–2 задачи для самопроверки. Если я укажу на ошибку, пересмотри шаги и предложи исправление." }
Структурированный промпт в виде файла, который в себе имеет инструкции для LLM по работе с файлом (обновление/изменение) и данные для обучения, в том примере что в статье. Он прикрепляется в начале нового чата для общения на одну тему. Это позволяет сохранять контекст между сессиями (новыми чатами) не превышать лимиты контекстного окна и хранить/редактировать файл локально. Ответы получаются более точные. Возможно идея не нова, однако таких решений я до марта месяца не встречал (похожая технология есть в у DeepMind https://blog.google/products/gemini/gemini-personalization/) . Так же это позволяет использовать любые модели для взаимодействия с сохранением контекста локально пользователем и хотя бы понимать какие данные я предоставлял.
У AI компании думаю безумный интерес к данным пользователей. А вот будут ли они предоставлять возможность пользователям для их контроля, вопрос. Мне нравится ваш подход, так как он решает проблему в ограниченной длине контекста. Я для себя остановится на решении подгружаемых файлов, ссылки на которые есть в главном документе. В общем пробую двигаться в модульность в этой области.
Администрация или НЛО, удалите пожалуйста эту новость, так как она опубликована из отложенных по ошибке. Я вчера уже опубликовал https://habr.com/ru/articles/892144/
В одном чате можно общаться пока не достигнешь лимитов по длине контекста для той или иной модели. Чем больше там текста, тем больше вероятность что модель будет галюцинировать (т.е выдавать менее точные результаты). Так же рекомендуется в одном чате обсуждать одну тему.
Если вы имеете ввиду JSON формат, который в примерах используется для описания структуры и данных в файле, то это удобный формат для хранения и редактирования контекста. К системному промту какой либо модели он отношения не имеет.
Из моего. Там суть в том что дипсик или другая модель будет сама в процессе общения дополнять или обновлять данные, что обеспечит релевантность и актуальность проста при его сохранении и повторном использовании.
{
"instruction": {
"primary": "Используй представленный ниже личный контекст при ответах на мои вопросы. Этот контекст содержит информацию обо мне, моих предпочтениях и целях.",
"context_update": "Если в процессе общения ты узнаешь новую информацию обо мне, добавляй её в соответствующий раздел контекста в поле 'updates' и используй в дальнейшем, указывая имя нейросети, которая вносит изменения. В конце каждого ответа сообщай о внесенных изменениях в разделе 'context_updates_summary', также указывая имя нейросети. Удалять существующие поля из контекста нельзя. По просьбе 'Завершение сессии' сохраняй изменения в соответствующие разделы контекста, добавляй их в файл, затем удаляй данные из списка `context_updates.updates` и `current_session.context_updates_summary` и `current_session.temporary_preferences`, а также очищай все данные из полей `updates` в разделах `personal_context`, если они были добавлены в существующие поля или новые и после этого показывай обновленный файл и предоставляй краткие итоги сессии и предлагай скопировать или сохранить файл с изменениями. Если пользователь просит 'Обновить контекст для нового пользователя', задай ему вопросы для заполнения основной информации и объясни ему кратко как пользоваться персональным контекстом. Если какой-либо информации из контекста для ответа на мой вопрос недостаточно или её там нет, сообщи мне об этом и задавай мне вопросы для дополнения этой информации. Если ты понимаешь как можно улучшить файл контекста для большей эффективности в общении, предлагай варианты для улучшения в поле 'personal_context_upgrades'. Уточняй текущую дату и время при первом чтении контекста в новом чате, после обновляй данные в поле 'current_session.current_date'. Регулярно пересматривай и обновляй раздел `personal_context.life_plan` при поступлении новых данных или изменении существующих, с частотой не реже одного раза в месяц или при значимых изменениях (например, после медицинских обследований, изменения дохода, завершения этапов плана), указывая дату последнего обновления и изменения в плане.",
"updates": []
},
"personal_context": {
"basic_info": {
"name": "Анна",
"preferred_address": "Анна",
"age_years": 28,
"location": "Москва, Россия",
"languages": ["русский (родной)"]
},
"professional_info": {
"occupation": "дизайнер",
"specialization": "не указано",
"experience": "не указано",
"education": {
"level": "не указано",
"field": "не указано",
"institution": "не указано",
"graduation_year": "не указано"
},
"current_projects": ["не указано"],
"skills": {
"primary_language": "не указано",
"frameworks": [],
"databases": [],
"version_control": [],
"containerization": [],
"api_experience": [],
"additional_languages": []
},
"updates": [
{"detail": "Уточнен доход — 120 000 руб./мес.", "added": "2025-03-11", "updated_by": "Grok 3"}
]
},
"interests": {
"professional": [],
"personal": [],
"priority_topics": [],
"financial_interests": [],
"updates": []
},
"learning_goals": {
"current_focus": [],
"future_interests": []
},
"communication_preferences": {
"response_style": "подробный с примерами за и против, с оценкой вероятностей событий и шансов на успех, используй код для математических расчетов",
"formality_level": "наиболее эффективный на основе контекста",
"explanation_style": "наиболее эффективный на основе контекста",
"code_examples": {
"preferred_languages": [],
"preferred_format": "с комментариями",
"math_calculations": "предпочтительно в виде кода"
},
"additional_preferences": []
},
"ai_usage_patterns": {
"primary_goals": [],
"frequency": "не указано",
"preferred_formats": [],
"updates": []
},
"personal_life": {
"family": [],
"pets": [],
"assets": [],
"updates": []
}
},
"context_updates": {
"session_id": "2025-03-11_002",
"last_updated": "2025-03-11",
"updates": [
{
"section": "personal_context",
"detail": "Полностью обновлен контекст для нового пользователя: Анна, 28 лет, дизайнер из Москвы, доход 120 000 руб./мес.",
"added": "2025-03-11",
"updated_by": "Grok 3"
}
]
},
"current_session": {
"temporary_preferences": {
"focus_areas": [],
"specific_requirements": []
},
"context_updates_summary": "Контекст полностью обновлен для нового пользователя Анны. Изменения внесены нейросетью Grok 3.",
"current_date": "2025-03-14 01:20 UTC+7"
},
"response_format": {
"structure": [
"Напиши какой информации недостаточно для точного ответа на вопрос",
"Ответ на вопрос",
"context_updates_summary (если есть обновления)",
"personal_context_upgrades (если есть предложения улучшения)"
]
}
}
Еще важный момент: Попросите LLM с которой будете пробовать адаптировать файл персонального контекста (PCT) под задачу и тему:
Какие рекомендации по использованию PCT для минимизации ошибок от LLM при использовании для изучения математики (там где важны формулы и расчеты?
Далее смотрите ответ и решаете что попросить добавить в ваш файлик персонального контекста для повышения точности. Вот пример, как может выглядеть файл контекста, настроенный для минимизации ошибок LLM при изучении математики:
{"basic_info": {
"learning_goals": ["Подготовиться к магистратуре по математике", "Освоить математический анализ и линейную алгебру"],
"learning_style": ["Пошаговые математические выводы", "Формулы в формате LaTeX", "Схемы для сложных выводов"]
},
"current_knowledge": {
"beginner": ["Теория чисел"],
"intermediate": ["Тригонометрия", "Математический анализ"],
"advanced": []
},
"progress": {
"current_topic": "Математический анализ: ряды Тейлора",
"milestones": [
{"task": "Тригонометрия: основные тождества", "status": "done"},
{"task": "Ряды Тейлора: разложение функций", "status": "in progress", "notes": "LLM иногда ошибается в коэффициентах"},
{"task": "Пределы: правило Лопиталя", "status": "needs review"}
]
},
"instruction": "При решении математических задач всегда проверяй формулы и расчеты на точность. Используй пошаговые объяснения и формулы в формате LaTeX. Если мой запрос неоднозначен, задавай уточняющие вопросы. Для сложных расчетов предлагай проверить результат с помощью Wolfram Alpha или SymPy. После объяснения предлагай 1–2 задачи для самопроверки. Если я укажу на ошибку, пересмотри шаги и предложи исправление."
}
Спасибо за ваш отзыв, очень рад, что статья понравилась! Пишите, если будут вопросы, с радостью помогу :)
А как вам такой поход к обучению ? https://habr.com/ru/articles/897014/
Спасибо за ответ и мнение ;)
Структурированный промпт в виде файла, который в себе имеет инструкции для LLM по работе с файлом (обновление/изменение) и данные для обучения, в том примере что в статье. Он прикрепляется в начале нового чата для общения на одну тему. Это позволяет сохранять контекст между сессиями (новыми чатами) не превышать лимиты контекстного окна и хранить/редактировать файл локально. Ответы получаются более точные. Возможно идея не нова, однако таких решений я до марта месяца не встречал (похожая технология есть в у DeepMind https://blog.google/products/gemini/gemini-personalization/) . Так же это позволяет использовать любые модели для взаимодействия с сохранением контекста локально пользователем и хотя бы понимать какие данные я предоставлял.
Спасибо вам за обратную связь! Этого очень не хватает, сейчас очень много шума вокруг темы с ИИ и донести полезную информацию сложно, как и найти.
а как вам такая статья ? https://habr.com/ru/articles/897014/
Мне) А остальное уже зависит от политики тех кто предоставляет услугу общения с ИИ.
Как вариант ещё можно попробовать VSCode с расширением Cline, там есть ветвление.
А длины контекста хватает?
Попробуйте тупо локально сохранять «точки останова» и ветвитесь от них, подгружая файлы. Но один фиг упретесь в длину контекста.
У AI компании думаю безумный интерес к данным пользователей. А вот будут ли они предоставлять возможность пользователям для их контроля, вопрос. Мне нравится ваш подход, так как он решает проблему в ограниченной длине контекста. Я для себя остановится на решении подгружаемых файлов, ссылки на которые есть в главном документе. В общем пробую двигаться в модульность в этой области.
Администрация или НЛО, удалите пожалуйста эту новость, так как она опубликована из отложенных по ошибке. Я вчера уже опубликовал https://habr.com/ru/articles/892144/
Кнопки удалить не нашел.
JSON это тоже текстовый формат, только структурированный. Это больше вопрос удобства для пользователя, что использовать.
В одном чате можно общаться пока не достигнешь лимитов по длине контекста для той или иной модели. Чем больше там текста, тем больше вероятность что модель будет галюцинировать (т.е выдавать менее точные результаты). Так же рекомендуется в одном чате обсуждать одну тему.
Если вы имеете ввиду JSON формат, который в примерах используется для описания структуры и данных в файле, то это удобный формат для хранения и редактирования контекста. К системному промту какой либо модели он отношения не имеет.
Супер! Тоже пробовал. У меня затык был с сохранением обновлённого контекста:)
Из моего. Там суть в том что дипсик или другая модель будет сама в процессе общения дополнять или обновлять данные, что обеспечит релевантность и актуальность проста при его сохранении и повторном использовании.
А вы попробуйте с этим промптом . Хотя просто попросите объяснить инструкции из него чтобы понять что он делает
Постараюсь написать об этом в следующих публикациях, либо можете сами проверить.