От идеи до работающего агента за один гайд. Сравниваем no-code конструкторы (Dify, Flowise, Coze) и Python-фреймворки (LangGraph, OpenAI SDK, CrewAI), добавляем инструменты и память через function calling и RAG, настраиваем тестирование и деплой. Реальный код, SVG-схема и пошаговый план для новичка без опыта в ML.
Создать AI-агента в 2026 году можно двумя путями: собрать за вечер в визуальном конструкторе без единой строчки кода или написать на Python с полным контролем над логикой. Оба пути валидны, и выбор между ними — не вопрос «кто круче», а вопрос вашей задачи, бюджета и готовности команды. Этот гайд проводит через весь процесс: от формулировки задачи до агента, который реально выполняет работу, а не просто пересказывает ответы GPT. Все примеры — рабочие, их можно запустить на своём компьютере. Если вы никогда не писали код — не пугайтесь: половина этого гайда посвящена визуальным конструкторам, где агент собирается перетаскиванием готовых блоков, а код нужен только для тех, кто хочет полного контроля над логикой.
Первый и самый важный шаг — сформулировать, что именно агент должен делать, и как вы поймёте, что он делает это хорошо. Плохая формулировка: «агент, который помогает с клиентами». Хорошая: «агент отвечает на вопросы о доставке по базе знаний и эскалирует спорные случаи оператору; цель — закрывать 60% тикетов без человека».
Три вопроса, на которые нужно ответить до написания кода:
01. Какие данные нужны агенту — база знаний, CRM, внешние API?
02. Какие действия он должен выполнять — искать, писать, менять записи, отправлять письма?
03. Где проходит граница — что агенту делать запрещено и когда звать человека?
Конкретный пример формулировки. Задача: «автоответчик по базе знаний интернет-магазина». Данные — статьи о доставке, возвратах, гарантии и способах оплаты. Действия — поиск по базе знаний и ответ цитатой из найденного документа; при низкой уверенности — эскалация на оператора. Граница — агент не меняет заказы, не сообщает персональные данные и не обещает компенсации от имени компании. Метрика успеха — доля вопросов, закрытых без человека, и точность ответов по контрольной выборке из 30 запросов.
Такая формулировка занимает пятнадцать минут, но именно она отделяет работающий инструмент от «ещё одной болталки», которую команда отключит через неделю за бесполезность. Хороший агент — это всегда узкая задача с чёткой метрикой, а не попытка скопировать человека целиком.
Если вы не разработчик — начинайте с конструктора. Dify (open-source, можно развернуть на своём сервере) — де-факто стандарт для бизнес-агентов с RAG: вы загружаете документы в базу знаний, описываете системный промпт, подключаете инструменты и получаете готовый API. Flowise — визуальный граф в стиле Node-RED для LLM-воркфлоу. Coze (от ByteDance) — облачный конструктор с щедрым бесплатным тарифом и встроенной интеграцией с мессенджерами.
Типичный сценарий в Dify выглядит так: создать приложение → выбрать модель → загрузить документы в «Knowledge» → включить RAG → опубликовать → получить endpoint. Весь процесс занимает 30–60 минут и не требует ни одной строки кода.
# Создание агента в Dify (self-hosted) cd dify/docker cp .env.example .env # задать SECRET_KEY docker compose up -d # поднять платформу # Дальше в веб-интерфейсе: # Apps → Create → Chatbot → Knowledge (загрузить документы) # → Prompt (системный промпт) → Publish → API Access
Для нестандартной логики и полного контроля выбирайте фреймворк. Три основных варианта: LangGraph — графы состояний для сложных воркфлоу, OpenAI SDK — минималистичный function calling, CrewAI — команды агентов с ролями. Ниже — минимальный агент на LangGraph, который ищет информацию и отвечает.
from typing import TypedDict from langgraph.graph import StateGraph, START, END class State(TypedDict): question: str answer: str def research(state: State) → State: # вызов LLM с системным промптом answer = call_llm(state["question"]) return {"answer": answer} graph = StateGraph(State) graph.add_node("research", research) graph.add_edge(START, "research") graph.add_edge("research", END) app = graph.compile() result = app.invoke({"question": "Что такое RAG?"}) print(result["answer"])
Агент без инструментов — просто чат. Function calling даёт модели возможность вызывать ваши функции: она сама решает, когда и с какими аргументами. А RAG-память позволяет агенту отвечать по вашим документам, а не по «памяти» модели.
import json from openai import OpenAI client = OpenAI() # Инструмент, который видит модель tools = [{ "type": "function", "function": { "name": "get_weather", "description": "Текущая погода в городе", "parameters": { "type": "object", "properties": { "city": {"type": "string"} }, "required": ["city"], }, }, }] resp = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "Какая погода в Москве?"}], tools=tools, ) # Модель вернёт tool_call с аргументом {"city": "Москва"} tool_call = resp.choices[0].message.tool_calls[0] print(json.loads(tool_call.function.arguments))
Агента нельзя «протестировать» как обычную функцию — у него нет детерминированного ответа. Поэтому используют eval-наборы: коллекцию из 20–50 реальных запросов с эталонными ответами, на которых проверяют точность. Два подхода: LLM-as-a-judge (другая модель оценивает ответы) и метрики на основе правил (совпал ли ответ с эталоном по ключевым фактам).
Базовые метрики для оценки: точность (доля корректных ответов), частота эскалации (сколько запросов ушло оператору — слишком много = слабая база знаний), латентность (время ответа, критично для чата) и стоимость за запрос (токены). Запускайте eval после каждого изменения промпта или модели.
Готового агента нужно вывести в мир. Самый простой путь — обернуть логику в веб-API через FastAPI и упаковать в Docker. Тогда агента можно встроить в Telegram-бота, сайт или CRM.
from fastapi import FastAPI from pydantic import BaseModel api = FastAPI() class Query(BaseModel): text: str @api.post("/ask") def ask(q: Query): return {"answer": run_agent(q.text)} # uvicorn main:api --host 0.0.0.0 --port 8000 # docker build -t my-agent . && docker run -p 8000:8000 my-agent
Стоимость агента складывается из трёх частей. Токены модели: GPT-4o стоит ~$2.5/1M входных токенов, более дешёвые GPT-4o-mini и DeepSeek — на порядок меньше; для тысячи диалогов в день это единицы-десятки долларов в месяц. Платформа: self-hosted Dify и Flowise бесплатны, SaaS-тарифы — от $30/мес. Инфраструктура: VPS от $5/мес хватает для пилота. Для пользователей из России добавляется вопрос оплаты зарубежных API — он решается виртуальными картами, посредниками или переходом на отечественные GigaChat/YandexGPT.
Выбор пути — это компромисс между скоростью и контролем. Конструктор даёт результат за вечер, но ограничивает нестандартную логику и, если вы не разворачиваете self-hosted версию, держит данные в облаке вендора. Фреймворк даёт полную свободу и владение данными, но требует разработчика и времени. Эмпирическое правило простое: если задача укладывается в типовой сценарий «база знаний + ответы по ней» — берите конструктор. Если нужны сложные цепочки шагов, интеграции с внутренними системами и кастомные проверки безопасности — пишите код.
Отдельно стоит учесть командный фактор: агент, собранный в конструкторе, сможет поддерживать бизнес-аналитик, а агент на Python потребует постоянного присутствия разработчика. Для долгоживущего проекта это ключевой аргумент — техдолг по «магическому» коду, который никто не понимает, обходится дороже лицензии на платформу.
| Критерий | No-code (Dify / Flowise / Coze) | Код (LangGraph / SDK / CrewAI) |
|---|---|---|
| Скорость запуска | 1–2 часа | 1–3 дня |
| Гибкость логики | ограничена шаблонами | без ограничений |
| Владение данными | облако вендора / self-hosted | полное (ваш сервер) |
| Нужен разработчик | нет | да |
| Стоимость | бесплатно / $30–500 в месяц | токены + VPS от $5 в месяц |
Самый практичный способ оценки качества без ручной разметки — попросить другую модель выставить балл ответу агента по чётким критериям. Это быстрее ручной проверки и хорошо ловит явные галлюцинации, когда агент отвечает «уверенно, но мимо». Соберите 30–50 реальных вопросов с эталонными ответами, прогоните их через агента и посчитайте средний балл судьи. Если он ниже 4 из 5 — ищите проблему в промпте или базе знаний, а не в модели.
def judge(question, answer, reference) -> int: prompt = ( f"Вопрос: {question}\n" f"Ответ агента: {answer}\n" f"Эталон: {reference}\n" "Оцени от 1 до 5: точность, полнота, отсутствие выдумок." ) resp = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}], ) return int(resp.choices[0].message.content) # средний балл по eval-набору — главная метрика итераций
01. Задача сформулирована узко и измеримо.
02. Выбран путь: конструктор для скорости, фреймворк для гибкости.
03. Подключены инструменты (function calling) и память (RAG).
04. Собран eval-набор и посчитаны метрики точности.
05. Есть эскалация на человека и логирование действий.
06. Агент выведен через API/Docker и встроен в реальный канал.
Создать AI-агента в 2026 году реально за один вечер — вопрос лишь в правильном выборе пути. Нет опыта в коде — берите конструктор Dify или Flowise и получайте рабочего агента с RAG за час. Есть dev-ресурс и нестандартная логика — LangGraph или OpenAI SDK дадут полный контроль. В обоих случаях успех определяют не технологии, а дисциплина: узкая задача, измеримая метрика, инструменты и память, eval-набор и эскалация на человека. Начните с малого, запустите пилот и итерируйте по реальной обратной связи — именно так агенты превращаются из демо в работающий инструмент.