Як побудувати AI агента на Python: покроковий посібник для початківців

Покроковий посібник для початківців із створення AI агента на Python з нуля

AI агенти — це програми, які самостійно приймають рішення, викликають інструменти та виконують завдання без постійного втручання людини. У цьому туторіалі ми побудуємо справжнього агента, який вміє шукати інформацію в інтернеті та відповідати на складні запити — від нуля до робочого коду за 60–90 хвилин. Тобі знадобляться базові знання Python (цикли, функції, словники) та комп’ютер з доступом до інтернету. Жодного попереднього досвіду з AI не потрібно.

🛠️ Що знадобиться

  • Python 3.11+ — основна мова розробки; завантажити безкоштовно на python.org
  • OpenAI API ключ — для доступу до GPT-4o mini як мозку агента; є безкоштовний стартовий кредит $5 для нових акаунтів
  • Бібліотека LangChain 0.3+ — фреймворк для побудови агентів; безкоштовна, встановлюється через pip
  • Tavily Search API — інструмент для пошуку в інтернеті в реальному часі; безкоштовний план дає 1000 запитів на місяць
  • VS Code або PyCharm — редактор коду; обидва безкоштовні для особистого використання

📋 Покрокова інструкція

Крок 1: Налаштування середовища та встановлення залежностей

Відкрий термінал (на Windows — PowerShell, на Mac/Linux — Terminal) і створи окрему папку для проєкту: введи mkdir ai-agent && cd ai-agent. Потім створи віртуальне середовище командою python -m venv venv і активуй його: на Windows — venv\Scripts\activate, на Mac/Linux — source venv/bin/activate. Після активації ти побачиш (venv) перед рядком у терміналі — це означає, що середовище працює. Тепер встанови всі необхідні бібліотеки однією командою: pip install langchain langchain-openai langchain-community tavily-python python-dotenv — процес займе 1–2 хвилини.

Крок 2: Отримання API ключів та створення .env файлу

Перейди на platform.openai.com → увійди в акаунт або зареєструйся → натисни у лівому меню “API Keys” → клікни зелену кнопку “Create new secret key” → скопіюй ключ (він виглядає як sk-proj-...) — більше ти його не побачиш, тому збережи одразу. Потім зайди на tavily.com → натисни “Get API Key” → зареєструйся через Google або email → скопіюй ключ у форматі tvly-.... У папці проєкту створи файл .env (через VS Code: File → New File → збережи як .env) і встав туди такий вміст, замінивши значення на свої реальні ключі:

OPENAI_API_KEY=sk-proj-твій_ключ_тут
TAVILY_API_KEY=tvly-твій_ключ_тут

Важливо: одразу створи файл .gitignore і додай туди рядок .env, щоб випадково не залити ключі на GitHub.

Крок 3: Створення інструментів для агента

Створи файл agent.py у папці проєкту та відкрий його у редакторі. Скопіюй і встав цей код — він визначає інструменти, якими агент може користуватися:

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain.tools import tool
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import datetime

load_dotenv()

@tool
def get_current_datetime(query: str) -> str:
    """Повертає поточну дату і час. Використовуй коли питають про час."""
    now = datetime.datetime.now()
    return f"Зараз: {now.strftime('%d.%m.%Y %H:%M')}"

@tool
def calculate(expression: str) -> str:
    """Обчислює математичний вираз. Наприклад: '25 * 4 + 100'."""
    try:
        result = eval(expression, {"__builtins__": {}})
        return f"Результат: {result}"
    except Exception as e:
        return f"Помилка у виразі: {e}"

Ці два інструменти написані вручну — агент зможе перевіряти час і робити обчислення без виклику API.

Крок 4: Збірка агента та запуск

Одразу після попереднього коду у тому ж файлі agent.py додай цей блок, який збирає всього агента разом:

search_tool = TavilySearchResults(max_results=3)

tools = [search_tool, get_current_datetime, calculate]

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

prompt = ChatPromptTemplate.from_messages([
    ("system", "Ти корисний AI асистент. Відповідай українською мовою. "
                "Використовуй доступні інструменти щоб давати точні відповіді."),
    MessagesPlaceholder(variable_name="chat_history", optional=True),
    ("human", "{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad"),
])

agent = create_openai_tools_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

if __name__ == "__main__":
    print("AI Агент запущено! Введи 'вихід' для завершення.\n")
    while True:
        user_input = input("Ти: ")
        if user_input.lower() in ["вихід", "exit", "quit"]:
            break
        response = agent_executor.invoke({"input": user_input})
        print(f"\nАгент: {response['output']}\n")

Збережи файл і запусти агента командою python agent.py. Якщо все налаштовано правильно, у терміналі з’явиться напис “AI Агент запущено!” — тепер можеш вводити запити.

Крок 5: Тестування агента та перевірка результату

Протестуй агента кількома запитами, щоб переконатися, що всі інструменти працюють. Введи: “Яка зараз дата?” — агент має викликати інструмент get_current_datetime і повернути точний час. Потім спробуй: “Скільки буде 347 помножити на 29?” — агент повинен скористатися калькулятором. Нарешті введи: “Які головні новини про AI сьогодні?” — агент звернеться до Tavily і поверне актуальні результати з інтернету. У режимі verbose=True ти бачитимеш у терміналі весь процес міркувань агента: які інструменти він обирає і чому — це і є “мислення” агента в дії.

⚠️ Типові помилки та як їх уникнути

  • AuthenticationError від OpenAI — перевір, що файл .env знаходиться в тій самій папці, що й agent.py, і що ключ скопійований без зайвих пробілів на початку чи в кінці
  • ModuleNotFoundError після встановлення — це означає, що pip встановив бібліотеки в глобальне середовище, а не у venv; переконайся, що бачиш (venv) у терміналі перед запуском pip install
  • Агент зациклюється і не дає відповіді — додай параметр max_iterations=5 у AgentExecutor: це обмежить кількість кроків і захистить від нескінченних петель
  • Tavily повертає порожні результати — безкоштовний план має ліміт запитів; перевір свій залишок на tavily.com у розділі Dashboard → Usage

💡 Поради для кращого результату

По-перше, змінюй системний промпт під конкретне завдання — замість загального асистента зроби агента-юриста або агента для аналізу ринку, просто переписавши рядок "system". По-друге, встановлюй temperature=0 для задач де потрібна точність (обчислення, факти) і temperature=0.7 для творчих завдань — це один параметр, який кардинально змінює поведінку. По-третє, логуй всі запити та відповіді у файл: додай import json; open('log.jsonl','a').write(json.dumps({...})+'\n') — через тиждень побачиш патерни використання і зрозумієш, які інструменти справді потрібні. По-четверте, для production-використання замінюй eval() у калькуляторі на бібліотеку sympy — це безпечніше, бо eval може виконати шкідливий код якщо хтось зловмисно підбере вхідні дані.

❓ Часті запитання (FAQ)

1. Скільки коштуватиме використання OpenAI API?
GPT-4o mini — одна з найдешевших моделей: приблизно $0.002 за 1000 токенів. Типова розмова з агентом (10–15 повідомлень) коштує менше $0.01. Для навчання та тестування стартового кредиту $5 вистачить на сотні сесій.

2. Чи можна використати безкоштовну альтернативу OpenAI?
Так! Замість OpenAI підключи Groq (безкоштовний, дуже швидкий) — встанови langchain-groq і заміни ChatOpenAI на ChatGroq(model="llama-3.3-70b-versatile"). Groq у 2026 році підтримує function calling, тому агент працюватиме так само.

3. Як зберегти пам’ять розмови між сесіями?
Додай from langchain.memory import ConversationBufferMemory, створи об’єкт пам’яті і передавай chat_history у кожен виклик агента. Для збереження між перезапусками програми записуй історію у JSON файл і підвантажуй на старті.

4. Чи можна розгорнути агента як веб-сервіс?
Так, найпростіший спосіб — обернути агента у FastAPI ендпоінт (5–10 рядків коду) і задеплоїти на Railway або Render — обидві платформи мають безкоштовний план. Увесь процес деплою займає близько 20 хвилин.

5. Скільки інструментів можна давати агенту?
Технічно — необмежено, але практично GPT-4o mini найкраще працює з 5–8 інструментами. При більшій кількості модель починає плутатися у виборі. Якщо інструментів багато — групуй їх у “підагентів” і будуй мульти-агентну архітектуру через LangGraph.

🏁 Підсумок

Ти побудував повноцінного AI агента на Python, який вміє шукати інформацію в реальному часі, робити обчислення, перевіряти час і вести розмову — використовуючи LangChain, OpenAI та Tavily як основний стек. Тепер у тебе є робоча база, яку можна розширювати новими інструментами під будь-яке завдання.

Почни прямо зараз: запусти агента і додай свій перший кастомний інструмент — наприклад, функцію, яка читає файл з диска або звертається до будь-якого публічного API. Саме через практику написання інструментів ти швидко зрозумієш, як агенти працюють зсередини.

РОЗСИЛКА

📬 Щотижневий AI-дайджест

Найкращі статті про ШІ та автоматизацію — без спаму, лише суть

Без спаму · Відписатись будь-коли

Telegram