Fix: обновлён промпт для явного указания команд на выполнение

- Добавлен маркер === КОМАНДА НА ВЫПОЛНЕНИЕ === для yolo=True
- Обновлён SYSTEM_PROMPT с инструкцией выполнять команды
- Qwen будет понимать где история разговоров, а где команда

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-03-19 02:06:00 +08:00
parent 29e7dbf7b2
commit a0f16fa45a
1 changed files with 12 additions and 6 deletions

View File

@ -15,7 +15,13 @@ SYSTEM_PROMPT = """Ты Валера - дружелюбный Telegram-бот а
Ты помогаешь с программированием, отвечаешь на вопросы. Ты помогаешь с программированием, отвечаешь на вопросы.
Будь кратким, используй кодовые блоки. Будь кратким, используй кодовые блоки.
Твое имя - Валера.""" Твое имя - Валера.
=== ИНСТРУКЦИЯ ПО ВЫПОЛНЕНИЮ КОМАНД ===
Если видишь маркер "=== КОМАНДА НА ВЫПОЛНЕНИЕ ===" - это значит что пользователь хочет выполнить команду на сервере.
В этом случае ты ДОЛЖЕН выполнить команду с помощью инструмента и вернуть результат.
Не отвечай текстом - ВЫПОЛНЯЙ команду!
========================================"""
class Orchestrator: class Orchestrator:
@ -41,10 +47,6 @@ class Orchestrator:
return any(keyword in result_lower for keyword in rate_limit_keywords) return any(keyword in result_lower for keyword in rate_limit_keywords)
def _build_prompt(self, user_prompt: str, chat_id: int, yolo: bool = False) -> str: def _build_prompt(self, user_prompt: str, chat_id: int, yolo: bool = False) -> str:
# Для команд с yolo=True не добавляем контекст - отправляем только команду
if yolo:
return user_prompt
context = self.memory.get_context_for_prompt(chat_id) context = self.memory.get_context_for_prompt(chat_id)
full_prompt = f"{SYSTEM_PROMPT}\n\n" full_prompt = f"{SYSTEM_PROMPT}\n\n"
@ -59,6 +61,10 @@ class Orchestrator:
if context: if context:
full_prompt += f"История текущего разговора:\n{context}\n\n" full_prompt += f"История текущего разговора:\n{context}\n\n"
# Для команд с yolo=True явно указываем что это команда на выполнение
if yolo:
full_prompt += f"=== КОМАНДА НА ВЫПОЛНЕНИЕ ===\n{user_prompt}\n============================"
else:
full_prompt += f"Вопрос пользователя: {user_prompt}" full_prompt += f"Вопрос пользователя: {user_prompt}"
return full_prompt return full_prompt