🏗️ От QA-бота к агенту задач: руководство по архитектуре
TL;DR: Перестаньте создавать чат-ботов, которые просто отвечают на вопросы. Начните создавать агентов задач, которые действительно выполняют работу.
Это руководство объясняет архитектурный переход от монолитных QA-ботов к агентам задач с использованием статических правил, динамических навыков и детерминированных хуков — с конкретными примерами кода и ссылками на открытые источники.

1. Основной переход: QA-бот → Агент задач
Большинство современных ИИ-систем все еще являются контекстными QA-ботами:
• Они хорошо отвечают на вопросы
• Они галлюцинируют под давлением
• У них нет гарантий выполнения, безопасности и согласованности
💡 Ключевая идея: не масштабируйте контекст. Структурируйте его.
2. Архитектура с тремя уровнями
🧱 1. Статический контекст — Правила (Всегда включено)
- •Ментальная модель: Справочник для сотрудников
- •Всегда загружен
- •Определяет идентичность, стандарты кодирования, поведенческие ограничения
- •Предотвращает галлюцинации и отклонения в стиле
- •Маленький, стабильный, редактируемый человеком
🛠️ 2. Динамический контекст — Навыки (По запросу)
- •Ментальная модель: Инструментальный ящик
- •Загружается только по мере необходимости
- •Каждый навык — это самодостаточная возможность
- •Сохраняет чистоту контекстного окна
⚓ 3. Детерминированные хуки — Ограничения
- •Ментальная модель: Уровень безопасности + Соответствия
- •Не вероятностный
- •Запускается до / после рассуждений LLM
- •Применяет правила, которые никогда не должны давать сбой
3. Рекомендуемая структура проекта
my-task-agent/ ├── .cursorrules ├── main.py ├── tools/ │ └── linear_mcp.py └── README.md
4. Пример статического контекста: .cursorrules
# РОЛЬ Вы старший инженер Python, сосредоточенный на системах производственного уровня. # ПРАВИЛА - НИКОГДА не используйте print() для отладки - ВСЕГДА указывайте типы для функций - Предложите план, если затрагиваете более 3 файлов # ПОВЕДЕНИЕ - Будьте краткими - Задавайте уточняющие вопросы, если необходимо Ссылка: https://github.com/PatrickJS/awesome-cursorrules
5. Пример динамического навыка (MCP)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("DevTools")
@mcp.tool()
def create_linear_ticket(title: str, priority: str = "low") -> str:
ticket_id = f"LIN-{hash(title) % 10000}"
return f"Создан билет {ticket_id} с приоритетом={priority}"
if __name__ == "__main__":
mcp.run()
Ссылка: https://github.com/modelcontextprotocol/python-sdk6. Пример детерминированного хука
def compliance_check_hook(state):
user_input = state["messages"][-1].content.lower()
if "password" in user_input or "api_key" in user_input:
return {"error": "Обнаружено нарушение безопасности"}
return agent_node(state)
Ссылка: https://langchain-ai.github.io/langgraph/Если ваш агент только отвечает на вопросы, это чат-бот. Если он надежно выполняет работу, это Агент Задач.
Take the next step
Putting what you read into practice.
Связанные статьи
DS & AI Engineering
Как мы создали систему производства контента на основе ИИ (не просто инструменты)

Practical AI Platform: How Mid-Sized Tech Companies Win with AI
