Tháng 2 năm 2026, một repo mới xuất hiện trên GitHub. Không có Product Hunt launch, không có TechCrunch coverage. Chỉ có một dòng README: “Your own personal AI assistant. Any OS. Any Platform. The lobster way.” Hai tuần sau, repo đó đạt 210.000 stars.

Đó là OpenClaw.

Tính đến tháng 5/2026, repo có hơn 370.000 stars, là một trong những repo phát triển nhanh nhất lịch sử GitHub. Con số này vượt qua cả LangChain trong giai đoạn đỉnh điểm 2023. Với một framework agent open-source, không có backing từ Google hay Microsoft, đây là con số bất thường.

Bài này phân tích tại sao OpenClaw được chú ý đến vậy, kiến trúc bên trong nó như thế nào, và một incident tháng 4 cho thấy tầm ảnh hưởng của nó với cả Anthropic.

Phần 1: OpenClaw là gì

Câu trả lời ngắn gọn: OpenClaw là một agent runtime dùng để chạy AI assistant cá nhân trên máy của bạn, kết nối với nhiều kênh nhắn tin (WhatsApp, Telegram, Slack, Discord, iMessage và hơn 15 platform khác), hỗ trợ nhiều LLM provider.

Câu trả lời đầy đủ hơn: OpenClaw không phải framework theo nghĩa LangGraph hay CrewAI. Nó không cung cấp abstraction cho control loop hay state machine. Thay vào đó, nó giải quyết lớp xung quanh agent loop: kết nối channel đầu vào, routing message đến đúng workspace, quản lý session, memory persistence, và plugin ecosystem. Agent loop thực sự được delegate cho Pi agent framework, còn OpenClaw lo phần “plumbing” mà hầu hết agent demo trên GitHub bỏ qua hoàn toàn.

Peter Steinberger, developer người Áo và là creator của framework iOS PSPDFKit, bắt đầu project này dưới cái tên “Clawdbot” vào tháng 11/2025. Sau khi project mở rộng lên 50+ integration đến tháng 3/2026, ông đổi tên thành OpenClaw để phản ánh scope rộng hơn. Đến tháng 4/2026, Sam Altman thông báo Steinberger đang join OpenAI, và project được chuyển sang một independent foundation để tiếp tục phát triển.

Điều làm OpenClaw khác với phần lớn framework agent là quan điểm thiết kế cốt lõi: “the hard problem in personal AI agents is not the agent loop itself, but everything around it.” Đây là một nhận xét đúng và hầu hết framework bỏ qua.

Phần 2: Kiến trúc

OpenClaw được viết bằng TypeScript. Kiến trúc chia thành bốn lớp rõ ràng:

Gateway (control plane)

Trung tâm của hệ thống là một Gateway process chạy liên tục, bind vào 127.0.0.1:18789 theo mặc định. Gateway này không xử lý agent logic, nó xử lý kết nối: nhận message từ mọi platform (WhatsApp qua Baileys, Telegram qua Bot API, Discord, Slack, iMessage…), routing đến đúng session, và expose WebSocket API có type safety cho client.

Tất cả frame WebSocket đều được validate theo JSON Schema sinh từ TypeBox. Không có magic string protocol, không có undocumented event format.

Agent runtime và agent loop

Khi Gateway nhận được message, nó dispatch đến Agent Runtime. Runtime thực thi sáu bước tuần tự cho mỗi lượt:

  1. Ingestion: parse message, extract attachment, metadata từ platform adapter.
  2. Access control và routing: kiểm tra permission của sender, xác định session nào xử lý (main, DM, hay group session).
  3. Context assembly: load session từ disk, xây system prompt từ AGENTS.md, SOUL.md, TOOLS.md trong workspace. Inject chỉ những skill liên quan đến turn hiện tại (không inject toàn bộ).
  4. Model invocation: stream context đến LLM provider được cấu hình.
  5. Tool execution: khi model response có tool call, runtime intercept và thực thi, có thể bên trong Docker sandbox.
  6. Response delivery: format kết quả và gửi về qua channel adapter, persist conversation state xuống disk.

Điểm đáng chú ý: mỗi session có một Lane Queue riêng, và task trong queue thực thi tuần tự (không concurrent). Đây là lựa chọn thiết kế chủ động, không phải limitation. Bằng cách serialize execution per session, OpenClaw tránh được race condition ở tầng kiến trúc thay vì dùng lock hay semaphore.

Multi-model proxy

OpenClaw kết nối đến nhiều LLM provider qua provider plugin architecture. Built-in có: Anthropic Claude, OpenAI GPT, Google Gemini. Qua plugin: Ollama (local models), OpenRouter, và bất kỳ self-hosted endpoint nào implement OpenAI-compatible API.

Cấu hình model được set per-agent hoặc per-routing-rule:

{
  "agents": {
    "mapping": {
      "group:discord:123456": {
        "workspace": "~/.openclaw/workspaces/discord-bot",
        "model": "anthropic/claude-sonnet-4-5"
      },
      "dm:telegram:+84901234567": {
        "workspace": "~/.openclaw/workspaces/personal",
        "model": "ollama/llama3.3:70b"
      }
    }
  }
}

Điều này cho phép một channel WhatsApp dùng Claude Opus 4.7 cho task phức tạp, trong khi channel Telegram khác dùng Llama local để không tốn API cost.

Memory và plugin system

Memory lưu dưới dạng file Markdown và YAML thay vì vector database thuần túy. Hybrid search kết hợp SQLite FTS5 keyword matching với vector similarity (LanceDB backend). Kết quả: memory có thể đọc và edit trực tiếp trong text editor, dễ debug hơn hẳn so với opaque vector store.

Plugin chia thành bốn loại: channel plugins (thêm platform mới), provider plugins (thêm LLM mới), tool plugins (thêm capability), memory plugins (thay backend lưu trữ). Plugin loader scan package.json tìm field openclaw.extensions và hot-load khi có thay đổi config.

Skill là file Markdown với YAML frontmatter. Agent có thể tự đọc, tự tạo skill. Đây là một trong những chi tiết thú vị nhất: không cần code để thêm capability, chỉ cần viết Markdown.

Phần 3: Deploy nhanh

Cài đặt cơ bản với Node 22.16+ hoặc 24:

npm install -g openclaw@latest
openclaw onboard --install-daemon

Lệnh onboard chạy wizard thiết lập Gateway daemon, tạo workspace đầu tiên, và hướng dẫn kết nối channel đầu tiên. Trên macOS, daemon chạy như LaunchAgent với menu bar app để control lifecycle.

Trên Linux/VPS, có hai cách deploy phổ biến:

# Cách 1: SSH tunnel (recommended cho personal use)
ssh -L 18789:127.0.0.1:18789 user@your-server
# Truy cập local UI vào tunnel

# Cách 2: Fly.io (internet-facing, cần auth cứng)
fly launch --image ghcr.io/openclaw/openclaw:stable
fly volumes create openclaw_data --size 10

Config file ở ~/.openclaw/openclaw.json, format JSON5 (có comment, trailing comma):

{
  // Allow only specific numbers
  "channels": {
    "whatsapp": {
      "enabled": true,
      "allowFrom": ["+84901234567"],
      "groups": { "*": { "requireMention": true } }
    }
  }
}

Credentials lưu ở ~/.openclaw/credentials/ với permission 0600. Provider API key set qua env var hoặc openclaw auth add anthropic.

Một lưu ý thực tế: sau khi cài, chạy openclaw status để xác nhận Gateway đang bind đúng địa chỉ. Trường hợp port 18789 bị conflict, config lại qua gateway.port trong config file. Lỗi phổ biến nhất khi setup lần đầu là Gateway bị block bởi firewall local, không phải vấn đề với LLM credential.

Phần 4: Bài học từ Anthropic ban tháng 4

Đây là phần câu chuyện đáng đọc nhất về OpenClaw năm 2026.

Vấn đề: $20/tháng, nhưng tiêu $2000 token

Ngày 4/4/2026, Anthropic ban OpenClaw và các third-party agent khác khỏi việc dùng Claude subscription (Claude Pro, Max) để authenticate API call. Lý do kỹ thuật rõ ràng: OpenClaw không optimize prompt cache hit rate, khiến mỗi turn tiêu token nhiều hơn đáng kể so với interactive Claude.ai session.

Vấn đề là nhiều user mua Claude Pro $20/tháng hoặc Max $200/tháng, sau đó chạy OpenClaw 24/7 với 5-6 parallel agent. Compute cost thực tế của họ có thể vượt ngưỡng subscription hàng chục lần. Anthropic “eat the difference” và không bền vững.

Ngày 10/4, chính Steinberger bị tạm thời block khỏi Claude API, dù sau đó Anthropic nhanh chóng giải thích và unblock. Nhưng incident này khiến cộng đồng OpenClaw lo ngại về tính bền vững của model “dùng subscription làm auth cho agent”.

Giải pháp: Agent SDK credits

Tháng 5/2026, Anthropic thông báo đảo chiều. Thay vì cấm hoàn toàn, họ tạo ra tier “Agent SDK credits”: một credit pool riêng dành cho programmatic usage, tách biệt khỏi interactive usage.

Mức credits theo plan:

  • Claude Pro ($20/tháng): $20 Agent SDK credits
  • Claude Max 5x ($100/tháng): $100 credits
  • Claude Max 20x ($400/tháng): $400 credits

Từ 15/6/2026, OpenClaw dùng Claude CLI auth sẽ rút từ pool này thay vì unlimited subscription. Khi hết, user có thể bật “extra usage” theo API rate thông thường.

Lesson thiết kế cho agent developer

Incident này có ý nghĩa ngoài câu chuyện business của Anthropic và OpenClaw. Nó nêu bật một vấn đề thiết kế mà bất kỳ ai build agent trên top của LLM subscription đều cần nhìn vào:

Prompt caching là vũ khí tối thượng về cost. OpenClaw bị “phạt” vì không optimize cache hit rate. Với Anthropic SDK (xem bài 20), cache_control là feature trực tiếp trong API. Một agent loop xây đúng sẽ cache system prompt và tool schema giữa các turn, chỉ thêm messages mới. Một agent loop xây sai sẽ rebuild toàn bộ context từ đầu mỗi lần gọi.

Khác biệt: với 100 turn mỗi ngày, system prompt 2000 token, tool schema 1000 token: agent có cache đúng tốn ~300K input token/ngày; agent không cache tốn ~3M token/ngày. Factor 10x. Nhân với hàng trăm nghìn user OpenClaw chạy 24/7, bạn hiểu tại sao Anthropic cần tách billing.

Framework như LangGraph hay CrewAI chạy trên Anthropic SDK trực tiếp, nên dev phải tự thêm cache_control. OpenClaw chạy ở layer cao hơn, và version đầu không làm điều này. Đây là cái giá của convenience: framework che mất control, và chi tiết tưởng là nhỏ (một flag trong API call) lại có hệ quả kinh tế lớn.

Bài học cụ thể: khi build agent dùng Anthropic, luôn set cache_control: {"type": "ephemeral"} cho system prompt và tool definitions. Đây là bài 20 đã đề cập, và incident OpenClaw là minh chứng thực tế cho tầm quan trọng của nó.

Phần 5: So sánh với LangGraph, CrewAI, AutoGen

Khi đọc đến đây, câu hỏi tự nhiên là: OpenClaw ở đâu so với ba framework ở bài 19? Câu trả lời là “không trùng nhau nhiều”, vì chúng giải quyết vấn đề khác nhau.

Vấn đề mỗi framework giải

LangGraph, CrewAI, AutoGen đều giải bài toán agent orchestration logic: làm sao tổ chức nhiều agent, định nghĩa control flow, manage state. Bạn mang framework này vào codebase của mình và build agent system từ đó.

OpenClaw giải bài toán agent runtime: làm sao một agent chạy liên tục 24/7, nhận input từ nhiều channel, nhớ context dài hạn, cập nhật behavior không cần deploy lại. Bạn cài OpenClaw như một service và cấu hình agent của mình qua file Markdown.

Phân biệt thực tế: nếu bạn build một feature AI trong sản phẩm SaaS, LangGraph hoặc Anthropic SDK là đúng hướng. Nếu bạn muốn chạy một AI assistant cá nhân xử lý WhatsApp, email, và Slack của bạn trên VPS riêng, OpenClaw là đúng hướng.

So sánh chi tiết

Tiêu chíLangGraphCrewAIAutoGen v0.4OpenClaw
Bài toán chínhAgent orchestrationRole-based multi-agentEvent-driven multi-agentPersonal AI runtime
Agent loopExplicit state graphDeclarative taskAsync actorSerialized lane queue
Multi-modelQua LangChainQua provider configQua AnthropicChatCompletionClientProvider plugin, per-channel
MemoryExternal (tự tích hợp)Built-in (đơn giản)Distributed memoryFile-based, hybrid search
Channel inputKhông cóKhông cóKhông có15+ platform built-in
Deploy modelLibrary trong appLibrary trong appLibrary trong appStandalone daemon
DebugLangSmith, graph vizVerbose logMessage traceFile-based state, human-readable
Learning curveCao (graph model)Thấp (role/task)Trung bình (async)Thấp cho config, trung bình cho plugin
Khi nào dùngPipeline phức tạp cần tracePrototype nhanhConcurrent multi-agentPersonal assistant runtime

Pitfall: nhầm use case

Một lỗi phổ biến tôi thấy trong cộng đồng: dùng OpenClaw để build agent cho sản phẩm B2B. OpenClaw thiết kế cho personal use, single-user per instance. Khi scale lên multi-tenant, vấn đề memory isolation và credential management trở nên nghiêm trọng.

CVE-2026-25253 (thiếu WebSocket origin validation) và báo cáo rằng 12-20% community skill trên ClawHub chứa prompt injection payload cho thấy đây là framework còn trẻ về mặt security model. Cho production B2B agent, Anthropic SDK với control loop tự viết (bài 20) hoặc LangGraph với LangSmith monitoring vẫn là lựa chọn an toàn hơn.

OpenClaw phù hợp nhất khi bạn là cá nhân hoặc team nhỏ muốn một assistant chạy trên infra của mình, với đầy đủ channel integration, không muốn build từ đầu.

Roadmap 2026

Ba hướng OpenClaw đang nhắm đến:

  1. Formal verification: chứng minh toán học rằng agent không thể thực hiện hành động bị cấm. Đây là bước xa hơn manifest-based enforcement hiện tại.
  2. Distributed consensus: cho phép nhiều agent instance đồng thuận về shared state mà không cần central coordinator.
  3. Hardware abstraction: hỗ trợ TPU và Qualcomm AI accelerator, giảm phụ thuộc vào CUDA ecosystem. Mục tiêu là chạy được trên Android và edge TPU device.

Ba hướng này cho thấy OpenClaw đang nhắm vào một vision lớn hơn personal assistant: infrastructure cho agentic system ở edge, decentralized, verifiable. Có tham vọng, nhưng còn sớm để đánh giá thực tế.

Cheatsheet

Câu hỏiOpenClawLangGraph/CrewAI/AutoGenAnthropic SDK thuần
Dùng cho việc gì?Personal AI assistant runtimeAgent orchestration trong appBuild agent logic from scratch
Multi-channel input?Có, 15+ platformKhông cóKhông có
Kiểm soát control loop?Thấp (lane queue cố định)Cao (explicit)Toàn quyền
Memory persistence?Có, file-basedTự tích hợpTự làm
Multi-model?Có, qua provider pluginQua LangChain/configPhải code
Security model?Đang phát triểnFramework-levelBạn quyết định
DeployStandalone daemonLibrary trong appLibrary trong app
Prompt cache control?Framework handle (từ sau ban)Bạn phải tự setBạn phải tự set

Lời kết

OpenClaw là một hiện tượng thú vị vì nó cho thấy điều mà cộng đồng developer muốn: một AI assistant thật sự chạy trên infra của mình, không phải chatbot trên web, kết nối với những channel họ đã dùng hàng ngày.

Kiến trúc của nó dạy một bài học quan trọng: khi build agent cho real world, agent loop chỉ là 20% vấn đề. 80% còn lại là channel integration, session management, memory persistence, credential security, và prompt caching. Những framework như LangGraph và CrewAI mà bài 19 đã phân tích giải quyết agent loop rất tốt, nhưng không đụng đến 80% kia.

Incident Anthropic ban tháng 4, sau đó là Agent SDK credits tháng 5, là bằng chứng cụ thể nhất cho thấy tầm ảnh hưởng của framework này: một project open-source tám tháng tuổi khiến một trong những AI company lớn nhất thế giới phải thay đổi pricing model.

Bài tiếp theo của series, Hermes Agent: Nous Research và LLM tối ưu cho agentic task, sẽ nhìn vào một góc khác: thay vì framework agent, chúng ta phân tích một model được fine-tune riêng cho agentic behavior. Hermes Agent từ Nous Research là bài toán khác: không phải “dùng LLM nào để build agent” mà là “fine-tune LLM như thế nào để nó behave tốt hơn khi là agent”.