telegram-cli-bot/SYSTEM_PROMPT.md

163 lines
6.5 KiB
Markdown
Raw 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.

# Системный промпт для Telegram CLI Bot
## 📋 Обзор
Системный промпт — это набор инструкций для Qwen AI, который определяет:
- Роль и задачи бота
- Доступные инструменты (capabilities)
- Правила автономного использования инструментов
- Форматы ответов
## 🏗️ Архитектура
```
system_prompt.md # Файл с системным промптом
qwen_integration.py # Загружает промпт при инициализации
bot.py (handle_ai_task) # Добавляет промпт к каждому запросу
Qwen Code CLI # Получает промпт + контекст + запрос
```
## 🔧 Как это работает
### 1. Загрузка промпта
При первом запросе к Qwen менеджер загружает промпт из файла:
```python
system_prompt = qwen_manager.load_system_prompt()
```
Промпт кэшируется в памяти для последующих запросов.
### 2. Формирование полного запроса
Каждый запрос к Qwen включает:
```
[СИСТЕМНЫЙ ПРОМПТ]
[КОНТЕКСТ ПАМЯТИ] (из ChromaDB RAG)
[ИСТОРИЯ ДИАЛОГА] (последние 20 сообщений)
[ЗАПРОС ПОЛЬЗОВАТЕЛЯ]
```
### 3. Автономное использование инструментов
AI агент анализирует запрос пользователя и **сам решает** какой инструмент использовать:
| Триггеры | Инструмент | Пример |
|----------|------------|--------|
| "найди", "погугли", "узнай" | `ddgs_search` | "найди информацию про asyncio" |
| "новости", "rss", "лента" | `rss_reader` | "что нового в Linux?" |
| "выполни команду", "ssh" | `ssh_executor` | "проверь нагрузку на сервере" |
| "напомни", "запланируй" | `cron_manager` | "напомни каждый день в 9 утра" |
## 📁 Структура system_prompt.md
### Разделы промпта:
1. **Роль и задачи** — кто такой бот, для кого работает
2. **Доступные инструменты** — описание каждого инструмента:
- Название и функция
- Когда использовать
- Параметры
- Примеры вызова
3. **Принципы работы** — автономность, контекст, прозрачность, приоритеты
4. **Форматы ответов** — как оформлять результаты
5. **Важные правила** — технические ограничения, форматирование
6. **Примеры диалогов** — few-shot prompting для лучшего понимания
## 🎯 Приоритеты инструментов
При принятии решения AI следует приоритету:
1. **SSH** — явные системные задачи
2. **Cron** — планирование и напоминания
3. **Поиск (DDGS)** — свежие данные из интернета
4. **RSS** — новости из подписанных лент
## 🔄 Обновление промпта
Для изменения поведения бота:
1. Отредактируйте `system_prompt.md`
2. Перезапустите бота (или оставьте как есть — кэш обновится при следующем запросе)
3. Для сброса кэша: `qwen_manager._system_prompt = None`
## 💡 Советы по настройке
### Добавление нового инструмента
1. Опишите инструмент в разделе "Доступные инструменты":
```markdown
### N. Название (`tool_name`)
**Назначение:** ...
**Когда использовать:**
- Триггер 1
- Триггер 2
**Параметры:**
- `param1` (type): описание
**Пример вызова:**
```python
tool_name(param1="value")
```
```
2. Добавьте триггеры в `bot/ai_agent.py`:
```python
NEW_TOOL_TRIGGERS = ['триггер1', 'триггер2']
```
3. Реализуйте логику проверки в `_should_use_new_tool()`
4. Добавьте обработку в `decide()`
### Изменение поведения
- **Более агрессивное использование инструментов:** уменьшите пороги confidence в `ai_agent.py`
- **Более консервативное:** увеличьте пороги или добавьте больше условий
- **Изменение формата ответов:** отредактируйте раздел "Формат ответов" в промпте
## 📊 Мониторинг
Для отслеживания использования инструментов:
```python
# История использования инструментов
ai_agent.get_tool_history(limit=10)
# Предпочтения пользователя
ai_agent.get_user_preference(user_id, 'preferred_tool')
```
## ⚠️ Ограничения
- **Размер контекста:** до 200K токенов (безопасный лимит)
- **Время выполнения:** 5 минут максимум на задачу
- **Кэширование:** системный промпт кэшируется в памяти менеджера
## 📈 Версии
| Версия | Изменения |
|--------|-----------|
| 0.8.0 | Исправление SSH (wait_and_read_ssh), команда /restart_bot |
| 0.7.0 | Векторная память (ChromaDB RAG), ИИ-агент с памятью |
| 0.6.0 | Автоматическая установка, SOCKS5 прокси |
| 0.5.3 | Базовая реализация системного промпта |
| 0.5.2 | AI агент с авто-выбором инструментов |
| 0.5.1 | Интеграция RSS reader |
| 0.5.0 | Интеграция DDGS search |
---
*Документация для разработчиков Telegram CLI Bot*