Chào các bạn, mình là Minh - một lập trình viên backend tại Việt Nam. Hôm nay mình sẽ chia sẻ hành trình khám phá LangGraph - thư viện đã đạt 90,000 star trên GitHub và cách mình xây dựng AI Agent có trạng thái thực sự hoạt động trong production.

Nếu bạn là người mới bắt đầu hoàn toàn, đừng lo - mình sẽ giải thích mọi thứ từ cơ bản nhất, kèm theo code mẫu có thể chạy ngay lập tức.

LangGraph là gì và tại sao nó quan trọng?

Trước khi đi vào chi tiết, mình muốn các bạn hiểu vấn đề cốt lõi mà LangGraph giải quyết:

Gợi ý ảnh: Chụp màn hình repository LangGraph trên GitHub với biểu đồ star growth

Tại sao nên dùng HolySheep AI thay vì OpenAI/Anthropic?

Trước khi viết code, mình muốn nói về lý do mình chọn HolySheep AI cho dự án này:

Bảng giá tham khảo (2026):

👉 Đăng ký tại đây để nhận tín dụng miễn phí và bắt đầu xây dựng AI Agent ngay hôm nay.

Khái niệm cơ bản về State (Trạng thái)

Mình sẽ giải thích "state" bằng ngôn ngữ đời thường: State giống như bộ nhớ của AI Agent.

Khi bạn trò chuyện với một người, họ nhớ:

AI Agent cũng vậy - State lưu trữ toàn bộ lịch sử hội thoại và dữ liệu tạm thời.

Gợi ý ảnh: Sơ đồ minh họa State trong LangGraph với các trường messages, context, step_count

Hướng dẫn từng bước: Xây dựng AI Agent đầu tiên với LangGraph

Bước 1: Cài đặt môi trường

# Tạo virtual environment
python -m venv langgraph-env
source langgraph-env/bin/activate  # Windows: langgraph-env\Scripts\activate

Cài đặt các thư viện cần thiết

pip install langgraph langchain-core langchain-holysheep python-dotenv

Bước 2: Cấu hình API Key

Tạo file .env trong thư mục project:

HOLYSHEEP_API_KEY=YOUR_HOLYSHEEP_API_KEY

Lấy API key tại: https://www.holysheep.ai/register

Bước 3: Code AI Agent cơ bản

Đây là code mẫu hoàn chỉnh và có thể chạy được ngay:

"""
AI Agent cơ bản với LangGraph - Theo dõi trạng thái cuộc hội thoại
Author: Minh - HolySheep AI Blog
"""

import os
from dotenv import load_dotenv
from langchain_holysheep import ChatHolySheep
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated, Sequence
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage

Load environment variables

load_dotenv()

============== ĐỊNH NGHĨA STATE ==============

class AgentState(TypedDict): """Đị