OAuth2 là gì? Hiểu đúng về Authorization Framework
OAuth2 không phải là authentication — đây là lỗi mà rất nhiều developer mắc phải. Bài viết giải thích OAuth2 từ gốc rễ: flow, grant types, token và cách áp dụng đúng trong thực tế.
OAuth2 không phải là authentication — đây là lỗi mà rất nhiều developer mắc phải. Bài viết giải thích OAuth2 từ gốc rễ: flow, grant types, token và cách áp dụng đúng trong thực tế.
Hầu hết team viết code trước rồi mới viết doc — đây chính là nguyên nhân gây ra contract drift giữa backend và frontend. Bài này giải thích tại sao OpenAPI spec phải là nơi bắt đầu.
Khi có nhiều repo cùng dùng một API, việc mỗi repo tự generate từ OpenAPI dẫn đến drift. Bài này hướng dẫn cách tạo một spec repo trung tâm publish npm package cho cả team.
Làm thế nào để quản lý version API contract qua các môi trường dev, SIT và production? Bài này hướng dẫn chiến lược versioning với npm tags và CI/CD automation.
Tại sao không nên dùng extends để kế thừa controller trong NestJS khi làm OpenAPI-First? Bài này giải thích cơ chế metadata của NestJS và cách dùng Interface đúng cách.
Xây dựng @flare-agent/playground — dashboard React full-featured với Chat UI, Trace Viewer, Config Editor, Workspace Browser và Metrics. Deploy local + Cloudflare Pages.
Xây dựng @flare-agent/workspace — giả lập filesystem trên Cloudflare R2, cho phép agent đọc/ghi/tìm kiếm files và xử lý documents PDF, Markdown, CSV.
Xây dựng @flare-agent/channels — kết nối agent với Telegram và Web Chat qua SSE. Một interface thống nhất, thêm channel mới chỉ cần implement vài method.
Xây dựng @flare-agent/multi-agent — AgentNetwork và HandoffAgent cho phép agent gọi agent khác như tool, tạo hệ thống multi-agent linh hoạt trên Cloudflare.
Xây dựng @flare-agent/observability — OpenTelemetry-compatible tracing cho agent loop, workflow steps và multi-agent calls. Debug dễ dàng, không còn black box.
Tại sao không dùng Mastra hay LangChain mà tự build? Series này hướng dẫn xây dựng AI Agent Framework nhẹ, không bloat, chạy native trên Cloudflare Workers.
Hướng dẫn thiết kế @flare-agent/types — package zero-dependency định nghĩa toàn bộ interfaces cho LLM, Agent, Tool, Memory và Runtime của framework.
Xây dựng @flare-agent/memory — abstract hóa Cloudflare KV, D1, Vectorize về cùng interface để agent có short-term memory, long-term storage và RAG capability.
Xây dựng @flare-agent/core — trái tim của framework với Agent class, AgentLoop xử lý tool calling, và ToolRegistry quản lý tools type-safe.
Xây dựng @flare-agent/workflow — graph-based workflow engine cho phép định nghĩa multi-step agent flows, conditional branching và parallel execution trên Cloudflare.
Kết hợp tất cả packages của flare-agent để xây dựng edu-ai-platform hoàn chỉnh — vocabulary learning agent với quiz workflow, RAG memory và SSE streaming trên Cloudflare.
Sau 34 bài về agent system, bài cuối tổng kết: core mechanics không thay đổi từ CLI đến enterprise. Chỉ có infrastructure xung quanh thay đổi — và biết điều này là lợi thế lớn.
Human-in-the-Loop không phải dấu hiệu agent kém. Đó là design pattern cho high-stakes decisions. Bài này xây dựng framework quyết định khi nào agent tự làm, khi nào phải hỏi.
LLM API không reliable như database. Agent system phải design for partial failure từ đầu. Bài này xây dựng retry, fallback và timeout strategy cho production agent.
Token cost trong enterprise agent system không phải afterthought. Bài này xây dựng model routing strategy và token optimization để giảm cost mà không hy sinh quality.
Agent không nên kế thừa 100% permission của user. Principle of least privilege áp dụng cho agent cũng như người — nhưng cơ chế enforcement khác biệt căn bản.
Audit log trong agent system không phải debug tool — là compliance và accountability record. Thiết kế sai từ đầu, không thể fix sau. Bài này phân tích anatomy của audit record đúng.
Monitoring service thông thường đo latency và error rate. Agent cần biết tại sao LLM quyết định gì. Đây là sự khác biệt căn bản trong observability design.
Multi-agent failures không rõ ràng như single-agent failures. Bài này phân tích 5 failure mode đặc trưng của distributed agent system và cách phòng chống mỗi loại.
Context sharing giữa agents tạo ra implicit coupling mà bạn chỉ phát hiện khi sảy ra vấn đề. Bài này phân tích khi nào chia sẻ, khi nào cô lập, và tại sao orchestrator là gateway.
Agents communicate theo ba pattern: Push, Pull, và Event-driven. Mỗi pattern có coupling, reliability và latency khác nhau. Bài này phân tích khi nào dùng cái nào.
Task decomposition quyết định multi-agent system hiệu quả hay không. Bài này phân tích các nguyên tắc decompose đúng và dependency graph để orchestration rõ ràng.
Orchestrator Pattern là nnền tảng của multi-agent system. Orchestrator không làm việc — nó plan, delegate, monitor và synthesize. Bài này phân tích ranh giới và communication protocol.
Multi-agent không phải giải pháp cho mọi vấn đề. Bài này phân tích ba giới hạn thực sự của single-agent và framework quyết định khi nào cần mở rộng.
RAG không phải magic bullet. Nó shift vấn đề từ context size sang retrieval quality. Bài này phân tích khi nào RAG thực sự cần và khi nào nó là over-engineering.
Summarization không phải lossy compression — là information distillation. Bài này phân tích các strategy nén conversation history mà vẫn giữ được signal quan trọng.
Token budget không phải afterthought — là resource management bắt buộc trong production agent. Bài này xây dựng hệ thống đếm, phân bổ và cắt token chủ động.
Thứ tự các phần trong context window không ngẫu nhiên. LLM attend khác nhau theo vị trí. Bài này thiết kế context stack tối ưu cho coding agent.
Context window không chỉ là giới hạn kỹ thuật. Nó là design constraint ảnh hưởng đến mọi quyết định trong agent architecture. Bài này giải thích tại sao.
Agent không chỉ có một loại memory. Bài này xây dựng taxonomy đầy đủ: in-context, external, episodic, semantic — mỗi loại phục vụ một use case khác nhau.
Error handling trong agent system khác fundamentally so với trong service thường. Lỗi không chỉ được throw — nó có thể được đưa về cho LLM để tự recover. Bài này xây dựng taxonomy lỗi và chiến lược xử lý từng loại.
Tool Dispatcher là security boundary giữa LLM decision và actual execution. Bài này phân tích toàn bộ pipeline: từ khi nhận tool_use block cho đến khi trả tool_result về LLM.
Tool Registry là pattern giữ cho agent core không bị ô nhiễm bởi implementation của từng tool. Bài này thiết kế một registry tập trung, pluggable và type-safe.
Misconception phổ biến nhất về Tool Calling: LLM không execute gì cả. Nó chỉ trả về structured data. Bài này phân tích toàn bộ request/response cycle và tại sao sự phân biệt này quan trọng.
Agent Core là trung tâm điều phối của CLI Agent — nơi agentic loop sống, context được build, và tool dispatch xảy ra. Bài này phân tích từng component và sequence diagram của một complete turn.
CLI Layer không chỉ là I/O đơn giản — nó định nghĩa UX của agent. Bài này phân tích pipeline từ keystroke đến khi request được gửi đến Agent Core, bao gồm input handling, command parsing và output streaming.
Một CLI Agent được tổ chức thành 4 layer với boundary rõ ràng: CLI, Agent Core, Tool, và Context. Bài này phân tích từng layer, trách nhiệm của nó, và lý do boundary tồn tại.
CLI loại bỏ toàn bộ noise của UI/UX và infrastructure để lộ core agent mechanics. Bài này giải thích tại sao bắt đầu với CLI là chiến lược đúng để hiểu sâu agent design.
Cách bạn tư duy về agent quyết định cách bạn thiết kế nó. Bài này xây dựng mental model thực tế — agent như một junior developer với guardrails — thay vì xem nó như AI magic.
Agentic Loop là vòng lặp Observe–Think–Act nằm ở trung tâm của mọi AI Agent. Bài này phân tích từng bước trong loop, điều kiện thoát, và các failure mode phổ biến nhất.
LLM là reasoning engine mạnh mẽ nhưng bị cô lập hoàn toàn với thế giới thực. Tool Calling ra đời để giải quyết chính xác vấn đề đó — nhưng kèm theo những trade-off không nhỏ.
Chatbot, Automation và AI Agent thường bị dùng lẫn lộn. Bài này phân tích rõ ranh giới cơ chế giữa ba paradigm, kèm diagram so sánh flow và trade-off của từng loại.
Kafka không chỉ là message queue. Bài viết phân tích sâu Event-Driven Architecture — từ core concepts, partitioning, consumer groups đến các anti-pattern thường gặp trong thực tế.
Sau khi thiết kế và vẽ flow, bước tiếp theo là test. Bài này đi vào cách test hệ thống token limit — đặc biệt là concurrent sessions, race condition trong quota enforcement, và Stripe Webhook idempotency.
Bài trước mình đã thiết kế hệ thống token limit. Bài này đi sâu hơn: vẽ toàn bộ flow từ lúc user bấm Submit đến lúc token được deduct — cả từ góc UX lẫn góc kỹ thuật.
OpenAI Codex vừa chuyển sang token-based pricing từ tháng 4/2026. Bài viết này phân tích cách thiết kế hệ thống rate limiting và token quota tương tự — từ data model, đến sliding window counter, đến fair-use enforcement.
Phân tích chuyên sâu về Model Context Protocol (MCP) — kiến trúc, cơ chế hoạt động, transport layer, security model và những bài học thực chiến khi tích hợp MCP vào hệ thống production.
Hành trình áp dụng C4 Model để tài liệu hóa kiến trúc hệ thống EdTech thực tế - từ Context đến Component, những bài học rút ra và tại sao nó thay đổi cách team mình làm việc.
SubQ ra mắt tháng 5/2026 với kiến trúc subquadratic — LLM thương mại đầu tiên không phải Transformer, context 12M token với chi phí O(n·log·n).
Từ Layered Architecture đến Vertical Slice — cách tôi tổ chức codebase trong dự án Cloudflare-native với Hono, React và Turborepo. Technical deep-dive kèm code thực tế.
Multi-model orchestration 2026 — kết hợp Claude, GPT-5.5 và Gemini trong một app. Hướng dẫn implementation với fallback, routing và cost optimization.