Zpět na domů

Jak vytvořit AI agenta s LangChain: Podrobný průvodce

Tento podrobný tutoriál vás naučí, jak vytvořit AI agenta s LangChain, zahrnující nastavení prostředí, integraci LLM, definici nástrojů a implementaci paměti. Vytvoříte funkčního agenta pro správu souborů a naučíte se pokročilé vzory pro multi-agentové systémy.

Podrobný tutoriál: Vytvořte AI agenta s LangChain
Advertisement 728x90

Vytvořte bezpečnou dočasnou pracovní složku

Přechod od velkých jazykových modelů (VJM), které pouze generují text, k AI agentům schopným provádět akce, je jedním z nejdůležitějších momentů v moderním vývoji softwaru. Agentní systém vnímá své okolí, rozhoduje se a používá nástroje k dosažení konkrétních cílů, čímž překračuje rámec jednoduchých chatbotů pro otázky a odpovědi. LangChain, framework s otevřeným zdrojovým kódem, se stal standardem pro vytváření takových složitých aplikací, propojuje VJM s externími daty, nástroji a dalšími VJM.

Tento průvodce představuje podrobný popis toho, jak vytvořit AI agenta s LangChain. Naučíte se základní koncepty a projdete si praktickou implementací, což vám umožní vytvářet vlastní autonomní agenty schopné plnit reálné úkoly.

Co se naučíte

Na konci této příručky pochopíte základní principy agentní AI a frameworku LangChain. Budete schopni nastavit vývojové prostředí, připojit se k VJM, definovat vlastní nástroje a vytvořit funkčního agenta pomocí moderního API create_agent. Vytvoříte a spustíte plnohodnotného AI agenta, který může interagovat s lokálním souborovým systémem na základě příkazů v přirozeném jazyce, což vám poskytne praktický základ pro vytváření složitějších automatizací.

Google AdInline article slot

1. Základy LangChain a klíčové koncepty

Než se ponoříme do kódu, je důležité pochopit, co je AI agent a jak LangChain zjednodušuje jeho vytváření. Agent je ve své podstatě systém, který používá VJM jako mechanismus uvažování. Agent obdrží požadavek uživatele, navrhne VJM, aby se rozhodl o akci, provede tuto akci (často voláním nástroje) a poté zpracuje výsledek pro formulaci odpovědi. Tento cyklus pokračuje, dokud není úkol dokončen.

LangChain poskytuje standardní framework pro implementaci tohoto cyklu uvažování, především prostřednictvím podpory frameworku ReAct (Reason + Act). LangChain je nástroj na vysoké úrovni, postavený na LangGraph, nízkotrovňovém orchestračním frameworku, který vám poskytuje detailní kontrolu nad pracovním postupem a stavem agenta.

Pro vytvoření agenta s LangChain budete potřebovat čtyři hlavní komponenty:

Google AdInline article slot
  1. VJM: Mechanismus uvažování vašeho agenta.
  2. Nástroje: Funkce, které umožňují agentovi interagovat s vnějším světem, jako jsou API, databáze nebo souborový systém.
  3. Cyklus agenta: Orchestrační vrstva, která spravuje VJM, nástroje a stav.
  4. Paměť (kontrolní body): Schopnost ukládat stav agenta, což mu umožňuje pamatovat si minulé interakce v rámci dialogu.

2. Nastavení vývojového prostředí

Nejprve musíte nainstalovat LangChain a jeho hlavní závislosti. Tento průvodce demonstruje proces v Pythonu, ale koncepty a vzory na vysoké úrovni jsou podobné pro uživatele TypeScriptu.

Nejprve se ujistěte, že máte v systému nainstalované Python 3 a Pip. Pro systémy založené na Debian/Ubuntu můžete použít následující příkazy. Pro jiné operační systémy postupujte podle odpovídající metody instalace.

sudo apt update
sudo apt install python3 python3-pip

Poté nainstalujte hlavní balíčky LangChain. Balíček langchain je základní framework. langchain-community obsahuje nástroje podporované komunitou a langgraph je nezbytný pro moderní API pro vytváření agentů.

Google AdInline article slot
pip install langchain langgraph langchain-community

3. Integrace velkého jazykového modelu

Prvním krokem při vytváření vašeho agenta je připojení k VJM. LangChain podporuje desítky poskytovatelů modelů, včetně Google Gemini, OpenAI, Anthropic a dalších. Pro tento průvodce použijeme model Google Gemini.

Budete potřebovat API klíč z konzole Gemini. Jakmile jej získáte, můžete nainstalovat integrační balíček Google GenAI a nastavit prostředí.

pip install -qU "langchain[google-genai]"

Nyní můžete napsat kód v Pythonu pro inicializaci modelu. Modul getpass se používá pro bezpečné vyžádání API klíče.

import getpass
import os
from langchain.chat_models import init_chat_model
from langchain_core.messages import HumanMessage, SystemMessage

if not os.environ.get("GOOGLE_API_KEY"):
    os.environ["GOOGLE_API_KEY"] = getpass.getpass("Zadejte API klíč pro Google Gemini: ")

model = init_chat_model("gemini-2.0-flash", model_provider="google_genai")

Nastavení můžete ověřit zavoláním modelu s jednoduchým dotazem.

response = model.invoke("Kdy začala Francouzská revoluce?")
print(response.content)

4. Definice nástrojů pro vašeho agenta

Nástroje jsou to, co dělá agenty výkonnými. Umožňují VJM provádět akce, které přesahují generování textu. V tomto průvodci vytvoříme agenta, který může spravovat soubory na vašem lokálním počítači pomocí FileManagementToolkit od LangChain.

FileManagementToolkit je součástí balíčku langchain-community, který jste již nainstalovali. Tato sada nástrojů umožňuje určit, které operace se soubory může agent provádět, jako je čtení, zápis a výpis souborů.

Importujte potřebné moduly a definujte nástroje. Kriticky důležitým bezpečnostním opatřením je omezení agenta na dočasnou složku, místo aby měl plný přístup k celému souborovému systému.

from langchain_community.agent_toolkits import FileManagementToolkit
from tempfile import TemporaryDirectory

working_directory = TemporaryDirectory()

# Inicializace sady nástrojů s vybranými nástroji a kořenovou složkou
tools = FileManagementToolkit(
    root_dir=str(working_directory.name),
    selected_tools=["read_file", "write_file", "list_directory"],
).get_tools()

5. Vytvoření agenta pomocí create_agent

Jakmile jsou VJM a nástroje připraveny, můžete začít s vytvářením agenta. Moderní a doporučený způsob vytváření agentů v LangChain je použití funkce create_agent.

Tato funkce přijímá váš model a seznam nástrojů a vytváří vykonavatele agenta, který spravuje cyklus uvažování. Zjednodušuje proces tím, že odstraňuje potřebu ručně vytvářet agenta ReAct a vykonavatele.

from langchain.agents import create_agent

# Proměnné "model" a "tools" z předchozích kroků.
agent = create_agent(
    model=model,
    tools=tools
)

Tento jediný řádek kódu vytváří komplexního agenta. Agent používá model k rozhodnutí, který nástroj zavolat na základě vstupu uživatele. Může zpracovávat řetězce volání více nástrojů k provedení složitého úkolu.

⚠️ Důležité: Ačkoli lze LangChain používat se staršími metodami vytváření agentů, jako je create_react_agent, API create_agent je moderní, doporučený přístup a měl by být vaší výchozí volbou pro vytváření nových agentů.

6. Spuštění vašeho prvního agenta

Nyní, když je agent vytvořen, můžete jej spustit zavoláním se zprávou uživatele. Následující příkazy demonstrují schopnost agenta interagovat se souborovým systémem.

Začněte dotazem na agenta, aby vypsal soubory v aktuální pracovní složce. V tuto chvíli je složka prázdná.

input_message = {"role": "user", "content": "Vypiš soubory v aktuální pracovní složce"}
response = agent.invoke({"messages": [input_message]})

for message in response["messages"]:
    message.pretty_print()

Poté dejte agentovi příkaz k vytvoření souboru s názvem sample-file.txt.

input_message = {"role": "user", "content": "Vytvoř soubor s názvem sample-file.txt"}
response = agent.invoke({"messages": [input_message]})

for message in response["messages"]:
    message.pretty_print()

Nakonec požádejte agenta, aby znovu vypsal soubory. Nyní ukáže, že sample-file.txt existuje.

input_message = {"role": "user", "content": "Vypiš soubory v aktuální pracovní složce"}
response = agent.invoke({"messages": [input_message]})

for message in response["messages"]:
    message.pretty_print()

Jak vidíte, agent úspěšně interpretoval příkazy v přirozeném jazyce, zavolal odpovídající nástroje (list_directory, write_file) a poskytl zpětnou vazbu o provedených akcích. Toto je jednoduchá, ale výkonná demonstrace toho, jak vytvořit AI agenta s LangChain.

7. Přidání paměti agentovi

Jedním z klíčových omezení agenta bez stavu je, že po dokončení volání zapomene veškerý kontext. Chcete-li vytvořit dialogového agenta, který si pamatuje minulé interakce, musíte přidat paměť. Toho se dosáhne pomocí „kontrolního bodu“, který ukládá stav agenta.

LangGraph poskytuje třídu MemorySaver, což je jednoduchý kontrolní bod v paměti. V produkčním prostředí byste použili robustnější variantu, jako je PostgresSaver nebo kontrolní bod založený na MongoDB, ale MemorySaver je ideální pro testování a vývoj.

Nejprve importujte a inicializujte kontrolní bod.

from langgraph.checkpoint.memory import MemorySaver

checkpointer = MemorySaver()

Poté znovu vytvořte svého agenta a předejte checkpointer jako argument.

agent_with_memory = create_agent(
    model=model,
    tools=tools,
    checkpointer=checkpointer
)

Chcete-li použít paměť, musíte v konfiguraci zadat thread_id. Tento thread_id funguje jako identifikátor dialogu, což umožňuje agentovi udržovat samostatnou paměť pro každý jednotlivý rozhovor.

config = {"configurable": {"thread_id": "user-123"}}

agent_with_memory.invoke(
    {"messages": [{"role": "user", "content": "Jmenuji se Alice"}]},
    config=config
)

result = agent_with_memory.invoke(
    {"messages": [{"role": "user", "content": "Jak se jmenuji?"}]},
    config=config
)
# Agent odpovídá: "Jmenujete se Alice."
print(result["messages"][-1].content)

Tento jednoduchý doplněk umožňuje vašemu agentovi vést dialogy s kontextem, což ho činí mnohem inteligentnějším a užitečnějším.

8. Mimo základy: multiagentní systémy

Jak budete postupovat, můžete narazit na úkoly, které jsou pro jednoho agenta příliš složité. LangChain podporuje vytváření složitých multiagentních systémů, kde specializovaní agenti spolupracují na řešení problémů. Toto je výkonný architektonický vzor pro složité pracovní postupy.

Subagenti jsou základním multiagentním vzorem, kde hlavní agent-supervizor koordinuje několik specializovaných subagentů a volá je jako nástroje. Například jeden subagent může být zodpovědný za výzkum, jiný za vytváření obsahu a třetí za kontrolu práce.

Vzor Jak to funguje
Subagenti Hlavní agent koordinuje subagenty jako nástroje. Veškeré směrování prochází přes hlavního agenta, který rozhoduje, kdy zavolat každého subagenta.
Předání řízení Chování se dynamicky mění v závislosti na stavu, když volání nástroje iniciuje přepnutí na jiného agenta nebo konfiguraci.
Dovednosti Specializované prompty a znalosti se načítají na vyžádání do kontextu jednoho agenta.
Směrovač Krok směrování klasifikuje vstup a směruje jej jednomu nebo více specializovaným agentům ke zpracování.

Výběr správného vzoru je zásadní. Například architektura subagentů je skvělá pro paralelní provádění a distribuovaný vývoj, zatímco vzor předání řízení je efektivnější pro opakující se požadavky uživatelů v jednom dialogu. Použití vzoru subagentů v aplikaci osobního asistenta umožňuje izolovat kontext – každý subagent pracuje na úkolu v čistém kontextovém okně, čímž se zabrání nafukování paměti hlavního agenta.

Zdroje

  1. Chris Tozzi. "Build an AI agent with LangChain in this beginner tutorial." TechTarget, Sep 2025.
  2. "Quickstart" LangChain Official Documentation.
  3. "Multi-agent" LangChain Official Documentation.
  4. "Workflows and agents" LangChain Official Documentation.
  5. "langchain-fundamentals" LangChain Skills Documentation, GitHub.
  6. "How to Build an AI Agent with LangChain and LangGraph: Build an Autonomous Starbucks Agent." freeCodeCamp, Dec 2025.
  7. "Subagents" LangChain Official Documentation.
  8. "LangChain Python Tutorial: A Complete Guide for 2026." The JetBrains Blog, Mar 2026.

— Editorial Team

Advertisement 728x90

Číst dál