логотип

Присоединяйтесь к Curify, чтобы глобализировать свои видео

или

Используя Curify, вы соглашаетесь с нашими
Условия использования и политика конфиденциальности

🏗️ От 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-sdk

6. Пример детерминированного хука

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