Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

# Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks LangGraph adalah library dari LangChain untuk membangun stateful, multi-actor applications dengan Large Language Models (LLMs). Dengan...

By Ruby Abdullah · · tutorial
PythonLangGraphLangChainAI AgentsLLMMulti-Agent

Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

LangGraph adalah library dari LangChain untuk membangun stateful, multi-actor applications dengan Large Language Models (LLMs). Dengan LangGraph, Anda dapat membuat AI agents yang kompleks dengan kontrol flow yang fleksibel, state management, dan kemampuan untuk menjalankan multiple agents secara bersamaan.

Apa itu LangGraph?

LangGraph memperluas LangChain dengan menyediakan:

  • Stateful graphs: Menyimpan dan mengelola state antar langkah
  • Cyclic flows: Mendukung loops dan kondisional
  • Human-in-the-loop: Interaksi manual di tengah workflow
  • Persistence: Menyimpan state untuk resume later
  • Streaming: Real-time streaming responses

Kapan menggunakan LangGraph:
  • Membangun AI agents dengan multi-step reasoning
  • Workflows yang membutuhkan kondisional dan loops
  • Applications yang butuh human approval
  • Multi-agent systems
  • Complex RAG pipelines

Instalasi

pip install langgraph langchain langchain-openai

Konsep Dasar

1. Graph Components

LangGraph terdiri dari:

  • State: Data yang dikelola sepanjang execution
  • Nodes: Functions yang memproses dan memodifikasi state
  • Edges: Koneksi antar nodes (conditional atau fixed)

2. Basic Graph Structure

from typing import TypedDict, Annotated

from langgraph.graph import StateGraph, START, END

Define state

class State(TypedDict):

messages: list

currentstep: str

Define nodes

def nodea(state: State) -> State:

state["messages"].append("Processed by Node A")

state["currentstep"] = "a"

return state

def nodeb(state: State) -> State:

state["messages"].append("Processed by Node B")

state["currentstep"] = "b"

return state

Build graph

graph = StateGraph(State)

graph.addnode("nodea", nodea)

graph.addnode("nodeb", nodeb)

Add edges

graph.addedge(START, "nodea")

graph.addedge("nodea", "nodeb")

graph.addedge("nodeb", END)

Compile

app = graph.compile()

Run

result = app.invoke({"messages": [], "currentstep": ""})

print(result)

Membangun Simple Chatbot

1. Basic Chatbot dengan Memory

from typing import Annotated

from typingextensions import TypedDict

from langgraph.graph import StateGraph, START, END

from langgraph.graph.message import addmessages

from langchainopenai import ChatOpenAI

from langchaincore.messages import HumanMessage, AIMessage

State dengan message history

class ChatState(TypedDict):

messages: Annotated[list, addmessages]

Initialize LLM

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

Chatbot node

def chatbot(state: ChatState) -> ChatState:

response = llm.invoke(state["messages"])

return {"messages": [response]}

Build graph

graph = StateGraph(ChatState)

graph.addnode("chatbot", chatbot)

graph.addedge(START, "chatbot")

graph.addedge("chatbot", END)

app = graph.compile()

Interactive chat

def chat(userinput: str, history: list = None):

if history is None:

history = []

history.append(HumanMessage(content=userinput))

result = app.invoke({"messages": history})

return result["messages"]

Usage

messages = chat("Halo, siapa kamu?")

print(messages[-1].content)

messages = chat("Apa yang bisa kamu lakukan?", messages)

print(messages[-1].content)

2. Chatbot dengan Tools

from typing import Annotated

from typingextensions import TypedDict

from langgraph.graph import StateGraph, START, END

from langgraph.graph.message import addmessages

from langgraph.prebuilt import ToolNode, toolscondition

from langchainopenai import ChatOpenAI

from langchaincore.tools import tool

Define tools

@tool

def searchweb(query: str) -> str:

"""Search the web for information."""

Artikel Terkait

Tutorial PydanticAI: Framework Agent LLM yang Type-Safe

Membangun Agen LLM yang Type-Safe dengan PydanticAI PydanticAI adalah framework agen dari tim di balik Pydantic, diranca...

AutoGen: Framework Multi-Agent Conversation dari Microsoft

AutoGen: Framework Multi-Agent Conversation dari Microsoft AutoGen adalah framework open-source dari Microsoft Research ...

Tutorial CrewAI: Membangun Multi-Agent AI Framework

CrewAI - Framework AI Multi-Agen Daftar Isi Pendahuluan Prasyarat Instalasi dan Pengaturan Konsep Dasar 5...

Tutorial TRL: Post-Training LLM dengan SFT, DPO, dan Reward Modeling

Post-Training LLM dengan TRL: SFT, Reward Modeling, dan DPO Setelah sebuah base language model selesai dipretraining, mo...