Частый вопрос и проблема в проектах Django, как делить на приложения и как не делать сильно связанные приложения.
Видел разное, но то, что делает LLM это топ.
Сделала импорт views из другого приложения и наследовала его.
"Здесь наши полномочия всё"
Видел разное, но то, что делает LLM это топ.
Сделала импорт views из другого приложения и наследовала его.
"Здесь наши полномочия всё"
😁8👍1
Михаил Омельченко | AI&IT
Photo
Последний день до активной разработки в сезоне.
В клубе сформировали две команды. Новые ребята знакомиться с проектом.
Клуб по программированию был объединён с клубом по веб разработке. Если вы учите питон, то тоже можете присоединиться.
Если у вас есть свой пет проект или ищите такой, можете постараться найти команду или проект в клубе.
Ждём вас.
В клубе сформировали две команды. Новые ребята знакомиться с проектом.
Клуб по программированию был объединён с клубом по веб разработке. Если вы учите питон, то тоже можете присоединиться.
Если у вас есть свой пет проект или ищите такой, можете постараться найти команду или проект в клубе.
Ждём вас.
🔥6
SEO под нейросети в 2025: руководство по GEO/AEO для получения трафика из нейроответов / Хабр https://share.google/fwaA3s0oToezbZzv9
Хабр
SEO под нейросети в 2025: руководство по GEO/AEO для получения трафика из нейроответов
SEO умирает? Отвечу своей фоточкой Меняется? Да. Умирает – нет. Даже сейчас, с нейроответами и прочим. Приходит какое-то новое AI-SEO. То есть SEO под нейросети и поисковые системы. В этой статье:...
Google представила Gemini CLI — инструмент командной строки, который подключает пользователей напрямую к модели Gemini 2.5 Pro. Решение распространяется как open-source (лицензия Apache 2.0) и доступно бесплатно при входе через личный аккаунт Google.
Контекстное окно до 1 млн токенов и суточный лимит 1 000 запросов (до 60 запросов в минуту). Для расширенных сценариев поддерживаются ключи Google AI Studio, Vertex AI и платные планы Gemini Code Assist.
CLI клиент выполняет задачи анализа и генерации кода, работы с файлами и запуска shell-команд. Функции расширяются с помощью MCP или встроенные расширения. Запросы можно использовать в неинтерактивных скриптах. При необходимости агент подгружает актуальные данные из Google Search.
Gemini CLI разделяет тех. базу с Gemini Code Assist, один и тот же движок доступен в VS Code, и в терминале.
Ссылка на GitHub
#ai #gemini #tools
Контекстное окно до 1 млн токенов и суточный лимит 1 000 запросов (до 60 запросов в минуту). Для расширенных сценариев поддерживаются ключи Google AI Studio, Vertex AI и платные планы Gemini Code Assist.
CLI клиент выполняет задачи анализа и генерации кода, работы с файлами и запуска shell-команд. Функции расширяются с помощью MCP или встроенные расширения. Запросы можно использовать в неинтерактивных скриптах. При необходимости агент подгружает актуальные данные из Google Search.
Gemini CLI разделяет тех. базу с Gemini Code Assist, один и тот же движок доступен в VS Code, и в терминале.
Ссылка на GitHub
#ai #gemini #tools
🔥11
CrewAI когда и зачем использовать
Что такое CrewAI
CrewAI это оркестратор многоагентных пайплайнов. Он помогает формализовать:
- роли (agents) с чёткими целями и инструментами,
- задачи (tasks) для этих ролей,
- процесс (process), по которому всё это исполняется.
CrewAI нужен, когда вы:
▪️ хотите разделить ответственность: Writer / Editor / Critic / Planner / Coder / DevOps
▪️ используете инструменты (tools): БД, веб-поиск, Telegram Bot API, RAG и т.д.
▪️ делаете планирование и самопроверку (self-critique, debate, manager/worker),
▪️ готовите масштабируемые и поддерживаемые пайплайны (CI/CD, тесты, Docker).
Если у вас одна линейная задача, например, "сгенерь текст", то LLM SDK + одна функция почти всегда быстрее, дешевле и проще.
Базовые сущности (очень коротко)
Agent — роль с goal, backstory, инструментами и моделью.
Task — конкретная работа, которая назначается агенту.
Crew — собирает агентов и задачи; отвечает за процесс выполнения.
Process — стратегия исполнения sequential, hierarchical, и др.
Когда CrewAI — это оверкилл
У тебя 1 запрос к модели → просто вызови SDK (OpenAI, Gemini, Ollama). Отсутсвуют инструменты, память, проверка качества, планирование. Нет нужды в поддерживаемом пайплайне (не продакшен, не CI/CD, не тесты).
#crewai
Что такое CrewAI
CrewAI это оркестратор многоагентных пайплайнов. Он помогает формализовать:
- роли (agents) с чёткими целями и инструментами,
- задачи (tasks) для этих ролей,
- процесс (process), по которому всё это исполняется.
CrewAI нужен, когда вы:
▪️ хотите разделить ответственность: Writer / Editor / Critic / Planner / Coder / DevOps
▪️ используете инструменты (tools): БД, веб-поиск, Telegram Bot API, RAG и т.д.
▪️ делаете планирование и самопроверку (self-critique, debate, manager/worker),
▪️ готовите масштабируемые и поддерживаемые пайплайны (CI/CD, тесты, Docker).
Если у вас одна линейная задача, например, "сгенерь текст", то LLM SDK + одна функция почти всегда быстрее, дешевле и проще.
Базовые сущности (очень коротко)
Agent — роль с goal, backstory, инструментами и моделью.
Task — конкретная работа, которая назначается агенту.
Crew — собирает агентов и задачи; отвечает за процесс выполнения.
Process — стратегия исполнения sequential, hierarchical, и др.
Когда CrewAI — это оверкилл
У тебя 1 запрос к модели → просто вызови SDK (OpenAI, Gemini, Ollama). Отсутсвуют инструменты, память, проверка качества, планирование. Нет нужды в поддерживаемом пайплайне (не продакшен, не CI/CD, не тесты).
#crewai
🔥7
Минимальный рабочий пример Crew AI
Запуск
#crewai
# если пользуешься uv
uv tool install crewai
# или классика
python -m venv .venv
source .venv/bin/activate # (Windows: .venv\Scripts\activate)
pip install crewai
# file: main.py
from crewai import Agent, Task, Crew, Process, LLM
def run():
llm = LLM(model="ollama/gemma3:latest", base_url="http://localhost:11434")
TOPIC = "локальные LLM: как выбрать между Ollama, vLLM и LM Studio (для новичков)"
writer = Agent(
role="Writer",
goal="Писать краткие, технически точные посты для Telegram",
backstory="""Ты технический автор и разработчик.
Пишешь коротко, без воды, даёшь минимально достаточный код/аргументы.""",
verbose=True,
llm=llm,
)
task = Task(
description=f"Сделай пост для Telegram на тему: {TOPIC}",
expected_output="""Структурированный пост до 2500 символов, с TL;DR (3 буллета), и коротким выводом. Без упоминания CrewAI.""",
agent=writer,
)
crew = Crew(agents=[writer], tasks=[task])
print(crew.kickoff())
Запуск
uv run crewai run
#crewai
🔥9
Частые ошибки новичков в CrewAI
✔️ Не привязали Task к Agent → ValidationError. Всегда указывай agent в задаче или в YAML.
✔️ Неописанный backstory.
✔️ Смешивают промпт задачи в агенте. Роль и цель → в Agent; что сделать → в Task.
✔️ Нет expected_output. Формализуй формат результата (форма, длина, ключевые секции).
✔️ Процесс не указан, поведение неочевидно. Явно ставь process=Process.sequential (или другой), чтобы было ясно, как исполняются задачи.
#crewai
✔️ Не привязали Task к Agent → ValidationError. Всегда указывай agent в задаче или в YAML.
✔️ Неописанный backstory.
✔️ Смешивают промпт задачи в агенте. Роль и цель → в Agent; что сделать → в Task.
✔️ Нет expected_output. Формализуй формат результата (форма, длина, ключевые секции).
✔️ Процесс не указан, поведение неочевидно. Явно ставь process=Process.sequential (или другой), чтобы было ясно, как исполняются задачи.
#crewai
👍8
В видеоредакторе Filmora 14.8 появилась поддержка генерации видео в Veo 3.
Смотреть пример на YouTube
#veo3 #filmora #tools
Смотреть пример на YouTube
#veo3 #filmora #tools
YouTube
What’s New in Filmora 14.8: Full VEO3 Tutorial + Game-Changing AI Video Tools
BIG news in Filmora 14.8!
You can now generate VEO3 AI videos directly inside Filmora—and edit them with ZERO extra steps. From prompt to pro edit, all in one app. 🎬
📌 Tired of 8-second limits on AI-generated videos?
Filmora x VEO3 lets you create stories…
You can now generate VEO3 AI videos directly inside Filmora—and edit them with ZERO extra steps. From prompt to pro edit, all in one app. 🎬
📌 Tired of 8-second limits on AI-generated videos?
Filmora x VEO3 lets you create stories…
👍8
Часть 2. Архитектура CrewAI: Agent, Task, Crew, Process
Зачем вообще разбирать архитектуру
Если не разделить роли и зоны ответственности, вы получаете "одного большого промпт-монстра", который сложно поддерживать, тестировать, масштабировать и объяснять заказчику. CrewAI вводит четыре базовые сущности: Agent, Task, Crew, Process и вся магия начинается только тогда, когда вы начинаете мыслить ими как отдельными блоками.
🔸 Agent тот, кто делает работу. Роль с целью, предысторией, инструментами и тоном. Это персонаж, которого можно многократно переиспользовать.
🔸 Task то, что именно сейчас нужно сделать. Конкретное задание для конкретного агента, с чётким форматом ожидаемого результата.
🔸 Crew это оркестратор. Он собирает агентов и задачи в один рабочий процесс.
🔸 Process это стратегия исполнения задач. Например, по порядку (sequential) или с менеджментом иерархии (hierarchical).
Представьте продакшн команду
🔹 Agent = роль: автор, редактор, аналитик, менеджер, исполнитель.
🔹 Task = поручение: “написать драфт”, “проверить факты”, “сделать итоговый отчёт”.
🔹 Crew = команда проекта: вы собрали нужные роли и расписали, кто что делает.
🔹 Process = регламент: идём строго по шагам или менеджер сначала строит план, а потом раздаёт задачи.
#crewai
Зачем вообще разбирать архитектуру
Если не разделить роли и зоны ответственности, вы получаете "одного большого промпт-монстра", который сложно поддерживать, тестировать, масштабировать и объяснять заказчику. CrewAI вводит четыре базовые сущности: Agent, Task, Crew, Process и вся магия начинается только тогда, когда вы начинаете мыслить ими как отдельными блоками.
🔸 Agent тот, кто делает работу. Роль с целью, предысторией, инструментами и тоном. Это персонаж, которого можно многократно переиспользовать.
🔸 Task то, что именно сейчас нужно сделать. Конкретное задание для конкретного агента, с чётким форматом ожидаемого результата.
🔸 Crew это оркестратор. Он собирает агентов и задачи в один рабочий процесс.
🔸 Process это стратегия исполнения задач. Например, по порядку (sequential) или с менеджментом иерархии (hierarchical).
Представьте продакшн команду
🔹 Agent = роль: автор, редактор, аналитик, менеджер, исполнитель.
🔹 Task = поручение: “написать драфт”, “проверить факты”, “сделать итоговый отчёт”.
🔹 Crew = команда проекта: вы собрали нужные роли и расписали, кто что делает.
🔹 Process = регламент: идём строго по шагам или менеджер сначала строит план, а потом раздаёт задачи.
#crewai
2🔥8👍1
Что обязательно должно быть у Agent
Role это короткое имя роли (Writer, Critic, Manager…).
Goal это зачем роль существует, какой результат она должна обеспечивать в принципе.
Backstory это контекст, стиль, ограничения, принципы.
Tools (если есть) — чем агент может пользоваться: веб‑поиск, БД, RAG, Telegram Bot API и т.п.
Модель какая LLM стоит за агентом (локальная/облачная и т.д.).
Важно: Агент не описывает конкретную текущую задачу, он описывает поведение роли в целом.
Что обязательно должно быть у Task
Description это то, что именно нужно сделать сейчас, конкретно.
Expected output это формат результата: длина, структура, стиль, ограничения, файл и т.д.
Agent это тот, кто выполняет задачу.
Сontext (опционально) на каких данных/предыдущих шагах основана эта задача.
Важно: отсутствие expected_output почти гарантирует расплывчатый результат.
Crew отвечает за то, чтобы:
🔸 собрать набор агентов и задач,
🔸 определить process (как они будут исполняться),
🔸 запустить их в нужной последовательности,
🔸 обеспечивать передачу контекста между задачами, если задано процессом/конфигурацией.
Process
Sequential (последовательный) простая линейная цепочка шагов. Хорош, когда план заранее понятен, и нам просто нужно пройти от А до Я. Дешевле в настройке, легче объяснить.
Когда выбирать: есть чёткий pipeline: Writer → Critic → Publisher.
Hierarchical (иерархический) есть агент (часто мanager), который планирует и распределяет работу.
Подходит, когда задачи не определены заранее, их нужно сформулировать, разбить и контролировать. Сложнее, но даёт гибкость.
Когда выбирать: задача расплывчата (сделать продуктовое исследование) и вам нужен планировщик.
Consensual в разработке, пока не реализован. Демократический подход к управлению задачами.
Цель в совместном принятии решений между агентами.
#crewai
Role это короткое имя роли (Writer, Critic, Manager…).
Goal это зачем роль существует, какой результат она должна обеспечивать в принципе.
Backstory это контекст, стиль, ограничения, принципы.
Tools (если есть) — чем агент может пользоваться: веб‑поиск, БД, RAG, Telegram Bot API и т.п.
Модель какая LLM стоит за агентом (локальная/облачная и т.д.).
Важно: Агент не описывает конкретную текущую задачу, он описывает поведение роли в целом.
Что обязательно должно быть у Task
Description это то, что именно нужно сделать сейчас, конкретно.
Expected output это формат результата: длина, структура, стиль, ограничения, файл и т.д.
Agent это тот, кто выполняет задачу.
Сontext (опционально) на каких данных/предыдущих шагах основана эта задача.
Важно: отсутствие expected_output почти гарантирует расплывчатый результат.
Crew отвечает за то, чтобы:
🔸 собрать набор агентов и задач,
🔸 определить process (как они будут исполняться),
🔸 запустить их в нужной последовательности,
🔸 обеспечивать передачу контекста между задачами, если задано процессом/конфигурацией.
Process
Sequential (последовательный) простая линейная цепочка шагов. Хорош, когда план заранее понятен, и нам просто нужно пройти от А до Я. Дешевле в настройке, легче объяснить.
Когда выбирать: есть чёткий pipeline: Writer → Critic → Publisher.
Hierarchical (иерархический) есть агент (часто мanager), который планирует и распределяет работу.
Подходит, когда задачи не определены заранее, их нужно сформулировать, разбить и контролировать. Сложнее, но даёт гибкость.
Когда выбирать: задача расплывчата (сделать продуктовое исследование) и вам нужен планировщик.
Consensual в разработке, пока не реализован. Демократический подход к управлению задачами.
Цель в совместном принятии решений между агентами.
#crewai
👍5
Часть 3. Инструменты (tool) для агентов
Что такое tool в контексте агентной системы
Под инструментом будем понимать описанную и ограниченную способность агента вызывать внешний мир. Это может быть веб поиск, обращение в БД, RAG, отправка сообщения в Telegram, получение расшифровки видео и т.д.
Инструмент должен иметь ясные границы, чтобы вы могли предсказуемо тестировать и поддерживать пайплайн.
Работа с файлами и локальными данными
Базовые операции чтение/запись фалов. Поверх них идут специализированные RAG: PDF/DOCX/JSON/CSV/XML/MDX/TXT.
Для навигации по проекту есть DirectoryReadTool облегчает чтение и обработку структур каталогов, и их содержимого. DirectorySearchTool инструмент RAG для поиска в каталогах, полезный для навигации по файловым системам.
Web Scraping и управление браузером
Для парсинга подойдёт ScrapeWebsiteToo, если нужны точечные элементы по CSS селектору, то ScrapeElementFromWebsiteTool.
Динамические сайты с JS отрабатывают через SeleniumScrapingTool. Для больших объёмов и обхода антибот доступны интеграции уровня Firecrawl и Scrapfly, есть и Spider быстрый краулер.
Когда требуется управлять облачными headless браузерами и сложными сценариями, пригодятся BrowserbaseLoadTool, HyperbrowserLoadTool и обёртка Stagehand для пошаговой автоматизации.
Поиск и исследование
Чтобы искать по всему интернету, используются: SerperDevTool, TavilySearchTool, EXASearchTool. Есть и приватный BraveSearchTool.
Для RAG внутри конкретных ресурсов предусмотрен WebsiteSearchTool, а также инструменты для YouTube (YoutubeVideoSearchTool) поиск по каналу и по видео с извлечением релевантных фрагментов.
Для инженерных задач полезны GithubSearchTool поиск по репозиториям и CodeDocsSearchTool поиск по документации SDK/библиотек.
SQL и векторные БД
Когда данные лежат в БД, пригодятся PGSearchTool и MySQLSearchTool. Для преобразования естественного языка в SQL запросы — NL2SQLTool.
Если речь о семантическом поиске по embedding, есть интеграции с Weaviate и Qdrant.
RAG, интерпретатор кода, изображения и зрение
RagTool динамическая база знаний, наполняемая вашими источниками.
CodeInterpreterTool позволяет агентам CrewAI выполнять код Python, который они генерируют автономно. Эта функция особенно ценна, поскольку позволяет агентам создавать код, выполнять его, получать результаты и использовать эту информацию для принятия последующих решений и действий.
DallETool для генерации изображений в DALL‑E и Vision инструменты для извлечения текста с изображений.
MCP подключение внешних инструментов
CrewAI умеет использовать серверы по Model Context Protocol (MCP) как источники инструментов. Это открывает доступ к целым экосистемам действий, которые можно прикрепить к агенту практически без кода вокруг API.
Это не все возможности CrewAI, у фреймворка богатая библиотека инструментов. Также есть возможность писать свои инструменты.
#crewai
Что такое tool в контексте агентной системы
Под инструментом будем понимать описанную и ограниченную способность агента вызывать внешний мир. Это может быть веб поиск, обращение в БД, RAG, отправка сообщения в Telegram, получение расшифровки видео и т.д.
Инструмент должен иметь ясные границы, чтобы вы могли предсказуемо тестировать и поддерживать пайплайн.
Работа с файлами и локальными данными
Базовые операции чтение/запись фалов. Поверх них идут специализированные RAG: PDF/DOCX/JSON/CSV/XML/MDX/TXT.
Для навигации по проекту есть DirectoryReadTool облегчает чтение и обработку структур каталогов, и их содержимого. DirectorySearchTool инструмент RAG для поиска в каталогах, полезный для навигации по файловым системам.
Web Scraping и управление браузером
Для парсинга подойдёт ScrapeWebsiteToo, если нужны точечные элементы по CSS селектору, то ScrapeElementFromWebsiteTool.
Динамические сайты с JS отрабатывают через SeleniumScrapingTool. Для больших объёмов и обхода антибот доступны интеграции уровня Firecrawl и Scrapfly, есть и Spider быстрый краулер.
Когда требуется управлять облачными headless браузерами и сложными сценариями, пригодятся BrowserbaseLoadTool, HyperbrowserLoadTool и обёртка Stagehand для пошаговой автоматизации.
Поиск и исследование
Чтобы искать по всему интернету, используются: SerperDevTool, TavilySearchTool, EXASearchTool. Есть и приватный BraveSearchTool.
Для RAG внутри конкретных ресурсов предусмотрен WebsiteSearchTool, а также инструменты для YouTube (YoutubeVideoSearchTool) поиск по каналу и по видео с извлечением релевантных фрагментов.
Для инженерных задач полезны GithubSearchTool поиск по репозиториям и CodeDocsSearchTool поиск по документации SDK/библиотек.
SQL и векторные БД
Когда данные лежат в БД, пригодятся PGSearchTool и MySQLSearchTool. Для преобразования естественного языка в SQL запросы — NL2SQLTool.
Если речь о семантическом поиске по embedding, есть интеграции с Weaviate и Qdrant.
RAG, интерпретатор кода, изображения и зрение
RagTool динамическая база знаний, наполняемая вашими источниками.
CodeInterpreterTool позволяет агентам CrewAI выполнять код Python, который они генерируют автономно. Эта функция особенно ценна, поскольку позволяет агентам создавать код, выполнять его, получать результаты и использовать эту информацию для принятия последующих решений и действий.
DallETool для генерации изображений в DALL‑E и Vision инструменты для извлечения текста с изображений.
MCP подключение внешних инструментов
CrewAI умеет использовать серверы по Model Context Protocol (MCP) как источники инструментов. Это открывает доступ к целым экосистемам действий, которые можно прикрепить к агенту практически без кода вокруг API.
Это не все возможности CrewAI, у фреймворка богатая библиотека инструментов. Также есть возможность писать свои инструменты.
#crewai
🔥7👍2
Часть 4. Память, контекст и рассуждение в CrewAI
Без памяти агент не помнит предыдущие шаги, каждый ответ формируется с нуля и не учитывает, что было раньше. В многошаговых задачах это резко снижает качество, теряется цель, повторяются ошибки, расходуется больше токенов.
В CrewAI память решает три задачи
Краткосрочная память хранит историю конкретного запуска: что агент уже сделал, какие факты получил, какие инструменты вызывал. Это нужно, чтобы не дублировать действия и строить связный результат.
Долгосрочная, сохраняет знания между сессиями: инструкции, результаты прошлых запусков, внутренние заметки. Она превращает набор одноразовых задач в обучаемую систему.
Рабочий контекст это часть информации, которую агент вкладывает в каждый новый запрос: цели, ограничения, текущий статус. Без этого цепочки действий становятся хаотичными.
Настройка памяти
В CrewAI память включается непосредственно при создании Crew и автоматически включает три уровня:
🔸 Short‑Term Memory, в рамках одного запуска
🔸 Long‑Term Memory, персистентная база SQLite по умолчанию
🔸 Entity Memory, структура фактов о сущностях с RAG
Пример:
По умолчанию используются локальные хранилища ChromaDB для short-term, SQLite для long-term. Можно переопределить путь через CREWAI_STORAGE_DIR или подключить свой LongTermMemory/ShortTermMemory.
Рассуждение
С включённым параметром
Пример:
Без памяти агенты не масштабируются, каждый новый шаг обнуляет всё, что было. С памятью и минимальным рассуждением появляется возможность строить последовательные, надёжные и самокорректирующиеся пайплайны.
Как это работает
Вместе они обеспечивают: цепочку контекста + возможность самопроверки и планирования.
Частые ошибки
Просто
Переопределён бекенд памяти вручную, но storage не сериализует нужные объекты → возможны ошибки.
Ожидать полноценной самокритики от агента. Чтобы не было поверхностного планирования: включите
#crewai
Без памяти агент не помнит предыдущие шаги, каждый ответ формируется с нуля и не учитывает, что было раньше. В многошаговых задачах это резко снижает качество, теряется цель, повторяются ошибки, расходуется больше токенов.
В CrewAI память решает три задачи
Краткосрочная память хранит историю конкретного запуска: что агент уже сделал, какие факты получил, какие инструменты вызывал. Это нужно, чтобы не дублировать действия и строить связный результат.
Долгосрочная, сохраняет знания между сессиями: инструкции, результаты прошлых запусков, внутренние заметки. Она превращает набор одноразовых задач в обучаемую систему.
Рабочий контекст это часть информации, которую агент вкладывает в каждый новый запрос: цели, ограничения, текущий статус. Без этого цепочки действий становятся хаотичными.
Настройка памяти
В CrewAI память включается непосредственно при создании Crew и автоматически включает три уровня:
🔸 Short‑Term Memory, в рамках одного запуска
🔸 Long‑Term Memory, персистентная база SQLite по умолчанию
🔸 Entity Memory, структура фактов о сущностях с RAG
Пример:
crew = Crew(
agents=[writer, critic],
tasks=[...],
process=Process.sequential,
memory=True,# включает все уровни памяти
verbose=True
)
По умолчанию используются локальные хранилища ChromaDB для short-term, SQLite для long-term. Можно переопределить путь через CREWAI_STORAGE_DIR или подключить свой LongTermMemory/ShortTermMemory.
Рассуждение
С включённым параметром
reasoning
, агент заранее оценивает задачу, может построить внутренний план или критически переосмыслить само решение. Можно комбинировать с агентом критиком, который анализирует результат. Пример:
agent = Agent(
role="Writer",
goal="...",
backstory="...",
reasoning=True,# включает рассуждение
max_reasoning_attempts=2,# сколько попыток на анализ
verbose=True
)
Без памяти агенты не масштабируются, каждый новый шаг обнуляет всё, что было. С памятью и минимальным рассуждением появляется возможность строить последовательные, надёжные и самокорректирующиеся пайплайны.
Как это работает
memory=True
сохраняет результаты задач, промежуточные тексты, сущности и позволяет последующим task'ам / агентам учесть историю.reasoning=True
позволяет агенту сначала проанализировать задачу, возможно переопределить стратегию, прежде чем приступать к приведению результата.Вместе они обеспечивают: цепочку контекста + возможность самопроверки и планирования.
Частые ошибки
Просто
reasoning=True
, но нет max_reasoning_attempts
→ агент может зациклиться на анализе.Переопределён бекенд памяти вручную, но storage не сериализует нужные объекты → возможны ошибки.
Ожидать полноценной самокритики от агента. Чтобы не было поверхностного планирования: включите
reasoning=True
и добавьте отдельно агента критика для проверки результата.#crewai
🔥7
Часть 5. Flow в CrewAI и контроль сложных сценариев
CrewAI изначально строит агентные команды (Crews), но настоящий контроль достигается при помощи Flows — структурированных, событийно-управляемых сценариев исполнения. Это возможность вставлять условия, ветвления, параллели и динамическую маршрутизацию задач.
Flow позволяет:
🔸 запускать код, выполнять прямые запросы в LLM и запускать агентов внутри одного пайплайна
🔸 отслеживать состояние во время всего выполнения (state → state lifecycle)
🔸 реагировать на события и результаты предыдущих шагов через декораторы
Flow запускается через CLI
Flow эффективен в задачах создания интерактивных ассистентов, реализации бизнес-логики, автоматизации техподдержки, генерации отчётов, публикаций и сценариев с участием человека.
Интеграция с Crews
Flow запускает Crews как шаги, передавая им параметры состояния, затем обрабатывает результаты.
Это позволяет: контролировать, какие агенты когда запускаются, проверять условия перед запуском Crew и управлять результатами сверху. Flow работает на уровне верхнего оркестра, а Crews на уровне агентской команды.
#crewai
CrewAI изначально строит агентные команды (Crews), но настоящий контроль достигается при помощи Flows — структурированных, событийно-управляемых сценариев исполнения. Это возможность вставлять условия, ветвления, параллели и динамическую маршрутизацию задач.
Flow позволяет:
🔸 запускать код, выполнять прямые запросы в LLM и запускать агентов внутри одного пайплайна
🔸 отслеживать состояние во время всего выполнения (state → state lifecycle)
🔸 реагировать на события и результаты предыдущих шагов через декораторы
@start()
и @listen()
, включая and_()
, or_()
или @router()
для условной маршрутизацииFlow запускается через CLI
crewai flow kickoff
. Состояние делают на основе словаря или Pydantic модели. Состояние автоматически сохраняется между этапами и может быть сохранено для долгосрочных сценариев.Flow эффективен в задачах создания интерактивных ассистентов, реализации бизнес-логики, автоматизации техподдержки, генерации отчётов, публикаций и сценариев с участием человека.
Интеграция с Crews
Flow запускает Crews как шаги, передавая им параметры состояния, затем обрабатывает результаты.
Это позволяет: контролировать, какие агенты когда запускаются, проверять условия перед запуском Crew и управлять результатами сверху. Flow работает на уровне верхнего оркестра, а Crews на уровне агентской команды.
#crewai
👍2
Часть 6. Как писать goal и backstory для агентов в CrewAI
При создании агента в CrewAI две ключевые характеристики формируют его поведение и специализацию: goal (цель) и backstory (предыстория). Они используются при генерации системных промптов и напрямую влияют на эффективность агента в рамках задачи.
Что такое цель (goal)?
Цель это чёткое и краткое описание миссии агента. Оно должно быть конкретным и релевантным его роли.
✅ Пример правильной цели:
Собирать свежие новости IT и переписывать их в короткие публикации для Telegram канала.
❌ Плохая цель:
Работать с текстом.
(слишком общее и непонятно, что именно агент должен делать)
Что такое backstory?
Backstory описывает личность и манеру агента: его опыт, принципы работы и стиль общения. В официальном гайде говорится, что backstory помогает задать мотивацию и тон агента в нужном контексте. Она может включать: опыт и компетенции, стиль работы, предпочтения в подаче информации, мотивацию и характер.
✅ Пример хорошего backstory:
Ты — опытный редактор, который работает в сфере технологий. Умеешь быстро находить суть в потоке информации, писать короткие, понятные и цепляющие тексты. Делаешь новости живыми и интересными.
❌ Плохой backstory:
Ты работаешь с информацией.
(недостаточно контекста и поведенческих указаний)
CrewAI автоматически добавляет системные инструкции поверх ваших goal и backstory, гарантируя, что ответ следует нужному формату и стилю. Поэтому важно, чтобы эти поля были дизайн ориентированы, а не литературные.
Рекомендации по созданию
Начните с ясной цели, что создаётся, кем, какое качество.
Затем сформируйте backstory, почему и как этот агент делает работу, какой у него тон, аудитория и ценности.
По возможности уточняйте роль агента: вместо обобщённого "Писатель" или "Иследователь" лучше использовать конкретные формулировки, например "Старший исследователь в области искусственного интеллекта".
#crewai
При создании агента в CrewAI две ключевые характеристики формируют его поведение и специализацию: goal (цель) и backstory (предыстория). Они используются при генерации системных промптов и напрямую влияют на эффективность агента в рамках задачи.
Что такое цель (goal)?
Цель это чёткое и краткое описание миссии агента. Оно должно быть конкретным и релевантным его роли.
✅ Пример правильной цели:
Собирать свежие новости IT и переписывать их в короткие публикации для Telegram канала.
❌ Плохая цель:
Работать с текстом.
(слишком общее и непонятно, что именно агент должен делать)
Что такое backstory?
Backstory описывает личность и манеру агента: его опыт, принципы работы и стиль общения. В официальном гайде говорится, что backstory помогает задать мотивацию и тон агента в нужном контексте. Она может включать: опыт и компетенции, стиль работы, предпочтения в подаче информации, мотивацию и характер.
✅ Пример хорошего backstory:
Ты — опытный редактор, который работает в сфере технологий. Умеешь быстро находить суть в потоке информации, писать короткие, понятные и цепляющие тексты. Делаешь новости живыми и интересными.
❌ Плохой backstory:
Ты работаешь с информацией.
(недостаточно контекста и поведенческих указаний)
CrewAI автоматически добавляет системные инструкции поверх ваших goal и backstory, гарантируя, что ответ следует нужному формату и стилю. Поэтому важно, чтобы эти поля были дизайн ориентированы, а не литературные.
Рекомендации по созданию
Начните с ясной цели, что создаётся, кем, какое качество.
Затем сформируйте backstory, почему и как этот агент делает работу, какой у него тон, аудитория и ценности.
По возможности уточняйте роль агента: вместо обобщённого "Писатель" или "Иследователь" лучше использовать конкретные формулировки, например "Старший исследователь в области искусственного интеллекта".
#crewai
🔥6
Часть 7. Как писать Task в CrewAI
Task это формализованное задание, которое включает не только описание действия, но и его контекст, ожидаемый результат и привязку к конкретному агенту. От того, насколько грамотно вы его сформулируете, зависит точность, воспроизводимость и надёжность всей системы.
Что включает Task
В
Дополнительные параметры:
🔸 context=[...] — передаёт результат предыдущих Task.
🔸 tools=[...] — инструменты которыми может пользоваться агент.
🔸 output_json / output_pydantic — валидация результата по pydantic модели.
🔸 callback / guardrail — обработка результата или проверка качества перед следующими действиями.
Пример Task
Частые ошибки
Слишком общее задание: "Сделай анализ текста" - неясно, как именно анализировать, что считать результатом.
Несколько целей в одной таске: "Проанализируй текст, найди фрагменты и сделай нарезку" — разбейте на отдельные задачи.
В description не пишите общий контекст или цели, для этого есть goal, backstory, context.
Советы
🔸 Помните, каждый Task это единица логики, которую можно тестировать и переиспользовать.
🔸 Делайте Task атомарными: одна задача = один результат.
🔸 Не бойтесь быть конкретным. Чем точнее задание, тем лучше результат.
🔸 Для сложных систем пишите output с помощью pydantic.
#crewai
Task это формализованное задание, которое включает не только описание действия, но и его контекст, ожидаемый результат и привязку к конкретному агенту. От того, насколько грамотно вы его сформулируете, зависит точность, воспроизводимость и надёжность всей системы.
Что включает Task
description
это формулировка задания. Должна описывать, что именно агент должен сделать, и в каком виде должен быть результат. Не путайте с goal агента, description описывает конкретную задачу, а не общую роль.expected_output
это чёткое указание, как должен выглядеть результат. Это снижает галлюцинации модели и делает вывод предсказуемым. Можно указать формат: JSON, Markdown, список тезисов, статья и т.д.В
agent
указываем агента, который будет выполнять задачу. Без этого Task в sequential режиме не выполнится.Дополнительные параметры:
🔸 context=[...] — передаёт результат предыдущих Task.
🔸 tools=[...] — инструменты которыми может пользоваться агент.
🔸 output_json / output_pydantic — валидация результата по pydantic модели.
🔸 callback / guardrail — обработка результата или проверка качества перед следующими действиями.
Пример Task
Task(
description="""Проанализируй текстовую расшифровку видео и выдели 3 наиболее интересных фрагмента длительностью от 5 до 60 секунд. Каждый фрагмент должен содержать: время начала, длительность и краткое описание того, чем он интересен.""",
expected_output="JSON с полями start_time, duration, summary",
agent=analyst_agent,
context=[transcription_task],
output_json=VideoFragmentList
)
Частые ошибки
Слишком общее задание: "Сделай анализ текста" - неясно, как именно анализировать, что считать результатом.
Несколько целей в одной таске: "Проанализируй текст, найди фрагменты и сделай нарезку" — разбейте на отдельные задачи.
В description не пишите общий контекст или цели, для этого есть goal, backstory, context.
Советы
🔸 Помните, каждый Task это единица логики, которую можно тестировать и переиспользовать.
🔸 Делайте Task атомарными: одна задача = один результат.
🔸 Не бойтесь быть конкретным. Чем точнее задание, тем лучше результат.
🔸 Для сложных систем пишите output с помощью pydantic.
#crewai
🔥10