Головна / Статті

Створення вашого першого агента LangChain за допомогою LangGraph у 2026 році

Створіть агента LangChain крок за кроком за допомогою LangGraph, інструментів, пам’яті та трасування, уникайте чотирьох поширених помилок та дізнайтеся, як це використовував служба підтримки боуткемпу.

Видавець: REACTAPP.TOP10 хв читання2399 слів

Джерела: Building AI Agents with LangChain: A Beginner’s Guide for 2026

Багато розробників пройшли навчальні матеріали LangChain та у кінцевому підсумку отримали чат-ботів, які вигадують назви інструментів та продовжують працювати, поки не закінчується бюджет токенів. Існує велика різниця між готовою інсталяцією та функціональним агентом, готовим до використання, і більшість навчальних матеріалів пропускають ті частини, які спричиняють проблеми. Ось що насправді робить агент, як створити його за допомогою сучасних інструментів, яких помилок слід уникати та як виглядає реалістичне впровадження в освітніх технологіях.

Коротко кажучи: агент LangChain поєднує здатності ШІ до міркувань із зовнішніми інструментами для виконання багатоетапних завдань. Останні версії LangChain використовують LangGraph для створення агентів із станом та з можливістю циклічної роботи, а не лише старий AgentExecutor. Інструменти, механізми пошуку та пам’ять несуть основний тягар у будь-якому продакшн-рішенні.

Що робить щось агентом

Чат-бот приймає вхідні дані та повертає результат одразу після обробки. Агент бере на себе мету, обирає інструменти, запускає їх, аналізує отримані результати та вирішує, який крок зробити далі, повторюючи цей процес до досягнення мети або виконання умови зупинки. Саме ця різниця є ключовою.

Це дуже важливо для навчальних продуктів. Уявіть студента, який пише: «Перевірте мене за розділом 5, подивіться мої останні три результати тестування та ускладніть завдання, якщо мої оцінки будуть вище 80%.» Статичний чат-бот не може впоратися з цим. Агент може розділити запит на частини, викликати API тестування, звернутися до бази даних оцінок, застосувати умовну логіку та повернути індивідуалізований набір завдань. Навчальні платформи та стартапи у сфері LMS зараз будують саме таку архітектуру.

Дизайн складається з трьох шарів:

  • Основа у вигляді LLM, така як GPT-4o, Claude, Gemini або модель з відкритим кодом.
  • Шар інструментів: звичайні функції Python, зовнішні API чи вбудовані інструменти LangChain, такі як Tavily Search, Wikipedia та користувацькі SQL-запити.
  • Шар пам’яті: все від тимчасового буфера для розмов до довгострокових векторних сховищ чи пам’яті ентитетів.
  • З’єднайте їх за допомогою станової машини LangGraph, і у вас буде система, яку можна використовувати в продакшені.

    Створення поетапно

    Дотримуйтесь кроків у правильному порядку. Пропуск одного з кроків — це поширена причина, чому агенти-початківці зазнають невдач, коли з’являються справжні користувачі.

    1. Встановіть необхідні компоненти. Виконайте команду pip install langchain langchain-openai langgraph langchain-community tavily-python у Python 3.11 або новішій версії. Розмістіть значення OPENAI_API_KEY та TAVILY_API_KEY у змінних середовища, а не закодуйте їх безпосередньо у коді.
  • Запишіть мету в одному реченні перед тим, як приступати до коду. Наприклад: агент відповідає на запитання щодо прогресу студента у курсі, запитуючи API LMS та узагальнюючи результат. Нечіткі мети призводять до несправних агентів, а чітке визначення мети з самого початку дозволяє заощадити години на виправленні помилок.
  • Налаштуйте модель. ChatOpenAI(model="gpt-4o", temperature=0) забезпечує більш стабільне мислення, а значення температури нуль є важливим для використання інструментів, оскільки це зменшує ймовірність вигаданих викликів. Для сценаріїв, де важлива економія коштів, gpt-4o-mini може виконувати значну частину роботи за значно нижчою ціною.
  • Визначте інструменти за допомогою декоратора @tool. Кожен з них — це функція Python із чітким документуванням, оскільки модель читає це документування, щоб вирішити, коли його викликати. Погане документування означає, що інструмент ніколи не буде викликаний або буде викликаний у неправильний момент.
  • Створіть стан та вузли LangGraph. Оголосіть схему стану у вигляді TypedDict, створіть один вузол для міркувань моделі та один — для виконання інструментів, а потім з’єднайте їх через StateGraph за допомогою умовних ребер. Ці ребра утворюють цикл міркувань.
  • Додайте пам’ять. Клас MemorySaver з LangGraph відповідає за короткостроковий стан. Для довгострокової пам’яті, від якої залежать персоналізовані навчальні агенти, під’єднайте сховище векторів, таке як Pinecone або Chroma.
  • Компілюйте, тестуйте та спостерігайте. Компілюйте за допомогою graph.compile(checkpointer=memory), запустіть його з тестовим запитом та використайте платформу трасування LangChain — LangSmith, щоб перевірити кожен крок: який інструмент був використаний, які дані надійшли та що вирішила модель після цього.
  • Зробіть його більш надійним. Додайте можливість повторних спроб, обмеження бюджету токенів (max_iterations), перевірку вхідних даних та recursion_limit, щоб агент, який загубився, не міг безкінечно циклювати. Логуйте кожен виклик інструменту у вашій системі моніторингу.
  • Яке місце займають агенти в технологіях освіти

    Платформи LMS, такі як Moodle, Canvas чи власні системи, можуть використовувати агентів як помічників у курсах. Вони запитують про оцінки, рекомендують наступний модуль, підсвічують учителям учнів, які мають труднощі, та створюють запитання для тестів на основі завантажених PDF-файлів за допомогою технології RAG. Один постачальник середнього розміру LMS повідомив про скорочення часу на адміністрування з боку викладачів на 40% після того, як агенти почали відповідати на запитання щодо прогресу учнів.

    Штучні інтелект-наставники найкраще працюють у форматі агентів, а не як окремі виклики моделей. Наставник перевіряє, що студент вже знає (завдяки пам’яті), запозичує відповідні навчальні матеріали (RAG), коригує спосіб пояснення матеріалу (за допомогою інструменту профілю уподобань) та планує подальший тест (за допомогою інструменту календаря). Механізм поєднання інструментів LangChain дозволяє зберегти обсяг коду приблизно на рівні 500 рядків Python.

    Університетські та дослідницькі портали також є ідеальним середовищем для їх використання. Аспіранти використовують агентів для пошуку матеріалів у інституційних репозиторіях, узагальнення статей, перевірки посилань та підготовки розділів огляду літератури. Агент виконує рутинну роботу з пошуку та отримання інформації, тоді як студент займається аналізом — це розумний та безпечний з точки зору посилань робочий процес при належній налаштуванні.

    Платформи навчання, засновані на навичках, такі як курси програмування та професійні сертифікації, використовують агентів для проведення оцінки коду в реальному часі, порівняння результатів учня з критеріями оцінювання, надання цілеспрямованих відгуків та оновлення діаграм навичок. Хороша платформа не просто ставить оцінки — вона аналізує причини певних помилок учня та створює короткі, цілеспрямовані уроки.

    Вибір фреймворку

    Порівняння LangChain, LlamaIndex, CrewAI та AutoGen заслуговує на окрему статтю, але існує просте правило, яке допомагає у виборі. LangChain разом із LangGraph є кращим варіантом для універсальних агентів, яким потрібні інструменти, пам’ять та механізми міркування. LlamaIndex оптимізований для процесів пошуку інформації та відповідей на запитання до документів. Багато продакшн-систем поєднують їх: LlamaIndex відповідає за отримання та пошук даних, тоді як LangChain координує роботу агента.

    Потік однієї запиту виглядає так: визначається мета та системний запит, налаштовується модель та під’єднуються інструменти, створюється стан графу та вузли, після чого агент запитує себе, який інструмент йому потрібен. Він запускає цей інструмент із згенерованим вхідним даним, спостерігає за результатом та вирішує, чи завершено завдання, чи потрібно продовжити цикл. Коли це зроблено, він повертає відповідь.

    З цього процесу можна виділити кілька важливих уроків.

    • Параметр температури має більше значення, ніж вибір моделі. Встановлення його на нуль у моделі агента зазвичай значно зменшує кількість хибних викликів інструментів порівняно з вищими значеннями, незалежно від того, яку модель ви використовуєте. Будь-який конкретний відсоток, який ви бачите в Інтернеті, слід розглядати як приблизну оцінку, і перевіряти його за допомогою власних інструментів.
    • Документація є інструкційним посібником агента. Нечіткий опис у одному рядку є найпоширенішою причиною неправильного використання інструментів у проектах початківців.
  • LangGraph замінив AgentExecutor не просто так. AgentExecutor підходить для простих агентів, які виконують один прохід, але для будь-чого з розгалуженнями, кроками з участю людини чи паралельними викликами інструментів потрібна машина станів на основі вузлів.
  • Sаме поєднання RAG та агента надає освітнім продуктам справжньої цінності. Без функції пошуку інформації агент може робити висновки лише на основі даних навчання. З нею агент може відповідати на запитання щодо вашого фактичного навчального контенту, даних студентів чи інституційних знань.
  • Відстеження дій агента — це не опція. Не випускайте агента без LangSmith чи еквівалентного інструменту, адже виправлення помилок у агенті з циклами без відстеження — це лише здогадки, тоді як за допомогою відстеження аналіз первинної причини займає кілька хвилин.
  • Кейс-стаді: служба підтримки буткемпу

    Це був середнього розміру онлайн-буткемп з програмування, де навчалося близько 1 200 активних студентів на курсах з Python, науки про дані та розробки веб-сайтів. Служба підтримки щотижня отримувала понад 800 запитань від студентів, приблизно 60% з яких були повторними та стосувалися кінцевих термінів, відгуків щодо проектів та пошуку інформації в навчальній програмі.

    До появи цього агента усі справи обробляли три штатні працівники через спільну скриньку повідомлень. Середній час відповіді становив 6,2 години, рівень задоволення студентів (CSAT) — 62%, а кожен викладач витрачав близько 11 годин на тиждень на адміністративні запити.

    Команда з двох розробників протягом шести тижнів створила агента LangGraph із чотирма інструментами. Один з них шукав матеріали курсів за допомогою технології RAG у базі знань LMS. Інший перевіряв прогрес студентів через API LMS. Третій розраховував кінцеві терміни за календарем курсу. Останній передавав складні запити людині разом із повною інформацією.

    Через дев’яносто днів після запуску були отримані такі результати:

    • Агент обробив 74% всіх надійших запитів.
    • Середній час відповіді скоротився до 8 секунд.
    • Рівень CSAT піднявся до 81%.
    • Кількість заявок на людську підтримку зменшилась на 52%.
    • Кожен інструктор заощаджував близько 7 годин на тиждень.
    • Витрати на розробку були повернуті приблизно за 4,5 місяці.

    Найважливішим уроком стало використання інструменту для ескалації, який виявився найважливішим елементом усього набору. Студенти почали більше довіряти агенту, коли стало зрозуміло, що він знає свої обмеження та ефективно передає завдання. Саме спосіб передачі завдань сприяв кращій задоволеності, ніж будь-які покращення в логіці роботи.

    Ці цифри походять з власних звітів команди, тому використовуйте їх як приклад форми покращень, а не як стандарт, якого слід досягти.

    Чотири поширені помилки

    Використання AgentExecutor для складних агентів

    Він не підтримує умовне розгалуження, паралельну виконуваність інструментів чи стан, який зберігається між етапами розмови, а у 2026 році це є стандартними вимогами. Перейдіть на LangGraph. Спочатку крива навчання є більш крутою, але ви отримуєте повний контроль над циклом міркувань, і власна документація LangChain тепер вказує на LangGraph як стандарт для будь-яких складних сценаріїв.

    Відсутність обмеження на рекурсію

    Без параметра recursion_limit агент може безкінечно циклюватися, витрачаючи токени та гроші. Ризик зростає у агентах, які активно використовують інструменти, адже одна невдала спроба може призвести до багаторазових повторень. Встановіть recursion_limit=25 або менше у налаштуваннях компіляції LangGraph та вкажіть чіткі умови зупинки у логіці вузлів, замість того щоб залишати це на розсуд моделі.

    Раннє пропускання функції трасування LangSmith

    Коли агент дає неправильну відповідь, існує десяток можливих причин, чому це сталося, і без слідів ви просто читаєте кінцевий результат та здогадуєтесь. Увімкніть LangSmith вже з першого дня, адже його можна безкоштовно використовувати для розробки. Експортуйте значення LANGCHAIN_TRACING_V2=true та LANGCHAIN_API_KEY ще до того, як напишете перший рядок коду агента — це допоможе вам під час першої сесії дебагування.

    Створення інструментів із нечіткими документаційними описами

    Вибір інструменту здійснюється виключно на основі моделі, яка аналізує ваш документаційний текст. Фраза на кшталт „отримує дані користувача“ не надає їй жодних матеріалів для роботи, тому вона буде викликати інструмент випадково або взагалі не буде цього робити. Детально описайте мету інструменту, вхідні дані та ситуації, у яких він застосовується. Хороший опис виглядає так: отримує останні п’ять результатів тестування студента з бази даних LMS за заданим student_id для використання, коли користувач запитує про попередні результати чи історію тестувань.

    Швидкі відповіді

    Що робить LangChain для початківців? Це фреймворк на Python, який поєднує мовні моделі з інструментами, джерелами даних та пам’яттю. Ви передаєте моделі набір інструментів, і вона вирішує, який з них викликати для досягнення мети. Почніть з документації до швидкого старту та простого агента для виклику інструментів, перш ніж пробувати багатоетапні робочі процеси.

    Чи є LangChain кращим за LlamaIndex для агентів? Для універсальних агентів із інструментами, пам’яттю та механізмами міркувань LangChain у поєднанні з LangGraph є кращим вибором. LlamaIndex краще підходить для пошуку інформації та перевірки якості документів, і багато команд використовують обидва інструменти.

    Скільки часу потрібно для створення першого агента? Простий агент із одним інструментом вимагає від розробника з базовими знаннями Python приблизно двох–чотирьох годин. Агент промислового рівня з кількома інструментами, пам’яттю, механізмами обробки помилок та можливостями моніторингу через LangSmith зазвичай створюється протягом одного–трьох тижнів, залежно від складності API.

    Що таке RAG та чи потрібен він? Технологія Retrieval-augmented generation дозволяє агенту відповідати на запитання щодо ваших власних даних — таких як контент курсів, записи студентів чи PDF-файли — шляхом пошуку відповідних фрагментів перед тим, як написати відповідь. Він потрібен тоді, коли агенту необхідно знати щось, чого немає у даних для навчання моделі, що майже завжди стосується продуктів для навчання.

    Чи замінює LangGraph LangChain? Ні, він його розширює. LangChain забезпечує базові елементи (моделі, інструменти, пам’ять), а LangGraph додає можливості оркестрації графів із збереженням стану для виконання циклів, розгалужень та координації кількох агентів. Це рекомендований підхід для будь-якого складного агента в екосистемі LangChain.

    Почніть з малого

    Вам більше не потрібно бути дослідником у галузі штучного інтелекту чи інженером у великій технологічній компанії, щоб створювати агентів. Людина з базовими знаннями Python може створити функціонального агента за вихідні за допомогою LangGraph, LangSmith та чіткого процесу. Адаптивні викладачі, асистенти LMS та тренери з прогресу — усе це вже доступно, а інструменти достатньо розвинені для використання у продакшені.

    Команди, які досягають успіху, — це не ті, у яких найбільші моделі. Вони добре розуміють архітектуру агентів, щоб розробляти здорові набори інструментів, надійну пам’ять та механізми ефективного усунення помилок. Почніть з одного інструменту, однієї мети та одного агента, а потім вдосконалюйте їх.