Простой прототип может состоять из одного файла на Python. Однако по мере добавления инструментов, памяти, API, тестов, различных моделей или привлечения новых участников команды такая структура становится трудноподдерживаемой. Лучший подход — организовать структуру вашего агента с самого начала: → "README.md" — документация и инструкции по настройке → "requirements.txt" — зависимости проекта → ".env" — API-ключи и переменные окружения → ".gitignore" — список файлов, которые Git должен игнорировать → "docker-compose.yml" — вспомогательные сервисы → "main.py" — точка входа в приложение → "agent/" — цикл работы агента, его состояние, выполнение задач и память → "tools/" — инструменты: поиск, калькулятор, API, пользовательские инструменты → "models/" — LLM, эмбеддинги и конфигурации моделей → "prompts/" — системные промпты и шаблоны для повторного использования → "utils/" — логирование, конфигурации и вспомогательные функции → "api/" — маршруты (routes) и схемы для FastAPI/Flask → Тесты для агента → Тесты для инструментов → API-тесты и интеграционные тесты → Примеры наборов данных → Базы знаний → Данные для оценки качества (evaluation data) → Отладочная информация и логи приложения Основная идея проста: Одна папка — одна зона ответственности. Нужна новая функциональность? Добавьте её в "tools/". Меняете LLM? Обновите "models/". Хотите улучшить поведение агента? Загляните в "agent/" или "prompts/". Что-то сломалось? Тесты и логи подскажут, с чего начать поиск проблемы. Хорошая архитектура — это не про усложнение проекта. Это про то, чтобы проект было легко расширять, отлаживать, тестировать и передавать другим разработчикам. Сохраните эту структуру, если вы создаете AI-агентов, которые выходят за рамки простого прототипа.