fix(assistant): «Спроси» отвечает и на учебные вопросы, без эмодзи

Промпт был слишком узким (только навигация по справке) — на «1+1» и учебные
вопросы Квантик отказывался. Расширил: платформенные вопросы — по справке,
учебные/общие (математика, физика, объяснения) — по существу. Запрет эмодзи.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-04 17:34:55 +03:00
parent 9dbc0443af
commit 638b684f77
@@ -233,9 +233,12 @@ const LLM_LOCAL = /\/\/(localhost|127\.0\.0\.1)/.test(LLM_URL);
async function askModel(q, hits) {
if (typeof fetch !== 'function') return null;
const ctx = hits.map((h, i) => `${i + 1}. ${h.q}\n${h.a}${h.url ? ` (раздел: ${h.url})` : ''}`).join('\n') || '(пусто)';
const sys = 'Ты — Квантик, дружелюбный помощник в учебной платформе LearnSpace. ' +
'Отвечай по-русски, кратко (2–4 предложения), на «ты». Помогай пользоваться платформой, ' +
'опираясь ТОЛЬКО на справку ниже. Если в справке нет ответа — честно скажи и предложи поиск (Ctrl+K). Не выдумывай.';
const sys = 'Ты — Квантик, дружелюбный помощник учебной платформы LearnSpace. ' +
'Отвечай по-русски, кратко и понятно, на «ты», как для школьника. ' +
'Если вопрос о работе платформы — опирайся на справку ниже и не выдумывай разделы/кнопки, которых в ней нет ' +
'(если не знаешь — предложи поиск Ctrl+K). ' +
'Если это учебный или общий вопрос (математика, физика, объяснить понятие, решить пример) — отвечай по существу и помоги разобраться. ' +
'Не используй эмодзи.';
const ctrl = new AbortController();
const timer = setTimeout(() => ctrl.abort(), 12000);
try {