Claude Code Sub-Agents: Chạy Nhiều AI Song Song, Tăng Tốc 5x (2026)

Claude Code sub-agents chia task song song
Sub-agents: chia task cho nhieu AI agent song song.

[IMAGE: Claude Code sub-agents architecture diagram showing parent agent delegating to multiple specialized child agents running in parallel — claude code sub agents parallel architecture]

Claude Code đã mang về $2,5 tỷ USD doanh thu hàng năm cho Anthropic (Anthropic Series G, tháng 2/2026). Hàng triệu developer đang dùng nó mỗi ngày. Nhưng bạn có bao giờ thấy context window của mình cạn kiệt giữa chừng một task phức tạp? Hoặc phải chờ Claude chạy xong việc này mới bắt đầu việc khác?

Đó chính là lý do Claude Code sub-agents ra đời. Thay vì ôm hết mọi thứ vào một conversation duy nhất, bạn tách công việc ra cho nhiều AI assistants chuyên biệt — mỗi agent chạy trong context window riêng, có tools riêng, thậm chí dùng model riêng. Kết quả? Nhanh hơn, rẻ hơn, chính xác hơn.

Mình dùng Claude Code sub-agents hàng ngày cho blog ongboit.com. Ba agents chạy song song: blog-researcher (Haiku, rẻ mà nhanh), blog-writer (Sonnet, viết chất lượng), blog-reviewer (Sonnet, rà soát). Bài viết này chia sẻ mọi thứ mình đã học được — từ cơ bản đến patterns nâng cao.

TL;DR

Claude Code sub-agents là AI assistants chuyên biệt chạy trong context window riêng, do parent agent sinh ra. Có 3 loại mặc định: Explore (Haiku, read-only), Plan (inherited model), General-purpose (full tools). Custom agents tạo trong .claude/agents/ bằng file Markdown với YAML frontmatter. Hỗ trợ foreground (blocking) và background (Ctrl+B, concurrent). Theo khảo sát 33.662 developer, 84% đang dùng AI tools hàng ngày (Stack Overflow Survey 2025).

Claude Code là gì

Tại sao Sub-agents tồn tại? Sub-agents không phải là process management, đây là context boundary mechanism. Vấn đề: context window là shared resource. Khi Claude đọc 10 files để research, tất cả content đó ở lại context chính, chiếm token cho mọi message sau. Sub-agents giải quyết bằng cách tạo disposable scratch pad: child agent có empty message history, làm việc xong chỉ trả về summary. Ví dụ: không có sub-agents, đọc 10 files × 3K tokens = 30K tokens trong context. Với sub-agents, child trả về 500 token summary → tiết kiệm 29.500 tokens mỗi message × 20 messages = 590.000 tokens/session. Xem thêm 15 mẹo tiết kiệm token Claude Code để tối ưu chi phí toàn diện.

Sub-Agents Là Gì?

Claude Code sub-agents là các AI assistants chuyên biệt, mỗi agent chạy trong context window riêng biệt và được parent agent sinh ra để xử lý task cụ thể. Theo tài liệu chính thức Anthropic, sub-agents giúp chia nhỏ công việc phức tạp thành các phần độc lập. 46% developer chọn Claude Code là tool yêu thích nhất (Pragmatic Engineer Survey 2026, n=906).

Claude Code Sub-Agents are specialized AI assistants that run in their own context window, spawned by a parent agent to handle specific tasks. Each sub-agent can have its own model, tools, permissions, and memory scope. They report results back to the parent agent upon completion.

Nghĩ đơn giản thế này. Sub-agents giống “nhân viên chuyên biệt” trong một team — mỗi người một việc, và tất cả báo cáo về cho quản lý (parent agent). Anh researcher thì chỉ đọc file, không sửa. Anh writer thì viết code nhưng không chạy lệnh nguy hiểm. Quản lý tổng hợp kết quả, đưa ra quyết định cuối cùng.

Tại sao điều này quan trọng? Vì mỗi sub-agent có context window riêng. Nghĩa là khi researcher đọc 50 file, context của main conversation không bị ảnh hưởng. Context chính vẫn “sạch” để làm việc quan trọng hơn.

3 Loại Sub-Agents Mặc Định

Claude Code đi kèm 3 sub-agents có sẵn, mỗi loại được tối ưu cho một mục đích khác nhau:

Sub-Agent Model Tools Mục đích
Explore Haiku (rẻ, nhanh) Read-only (đọc file, grep, glob) Tìm kiếm thông tin, đọc codebase
Plan Inherited (cùng model cha) Read-only, plan mode Lên kế hoạch, phân tích architecture
General-purpose Inherited Tất cả tools Tasks phức tạp, cần edit/bash

Explore agent dùng Haiku nên rất rẻ — phù hợp khi bạn chỉ cần tìm kiếm thông tin. Nó có 3 mức độ: quick (lướt nhanh), medium (đọc kỹ hơn), và very thorough (đào sâu). Claude tự chọn mức nào dựa trên câu hỏi của bạn.

Sub-Agents vs Skills vs Hooks

Ba khái niệm này hay bị nhầm lẫn. Phân biệt ngắn gọn:

Tính năng Sub-Agents Skills Hooks
Bản chất AI assistant riêng biệt Reusable instructions Shell commands tự động
Context window Riêng biệt Chung với parent Không dùng context
Chạy model riêng? Có (haiku, sonnet, opus) Không Không (shell script)
Song song? Có (background agents) Không Có (non-blocking)
Khi nào dùng Tasks cần isolation, parallel Workflow lặp lại Auto-format, security, logging

Quy tắc đơn giản: Skills = “làm theo cách này”, Hooks = “tự động chạy khi X xảy ra”, Sub-agents = “giao việc cho AI khác”. Ba thành phần bổ sung nhau, không thay thế.

Skills
Hooks

Tại Sao Cần Sub-Agents?

Sub-agents giải quyết 4 vấn đề cốt lõi mà developer gặp khi dùng Claude Code với tasks phức tạp. Theo eesel.ai (2026), multi-agent systems giúp giảm đáng kể thời gian xử lý so với single-agent approach. 84% developer dùng AI tools hàng ngày (Stack Overflow Survey 2025, n=33.662), và sub-agents là cách scale workflow hiệu quả nhất.

Bảo toàn context window

Context window là tài nguyên quý nhất khi làm việc với LLM. Mỗi lần bạn yêu cầu Claude đọc file, phân tích code, hay chạy test — context bị “ăn” dần. Khi cạn context, Claude bắt đầu quên instructions đầu tiên. Chất lượng output giảm rõ rệt.

Sub-agents giải quyết triệt để vấn đề này. Researcher agent đọc 50 file? Context của nó bị đầy, nhưng main conversation vẫn nguyên vẹn. Bạn chỉ nhận lại kết quả tóm tắt — vài trăm tokens thay vì hàng chục nghìn.

Chạy song song (parallel execution)

Đây là lợi ích lớn nhất. Thay vì chờ Claude chạy xong research rồi mới viết code, bạn spawn 2 agents cùng lúc: một đọc docs, một bắt đầu viết code dựa trên spec sẵn. Background agents (Ctrl+B) cho phép bạn tiếp tục làm việc trong khi agents khác chạy ngầm.

Ví dụ thực tế: khi viết blog cho ongboit.com, mình spawn 3 agents cùng lúc — researcher tìm sources từ wiki Obsidian và web, image-generator chuẩn bị ảnh minh họa, outline-writer phác thảo cấu trúc. Tiết kiệm khoảng 40-50% thời gian so với chạy tuần tự. Không phải con số chính xác từ benchmark, nhưng cảm nhận rõ ràng sau vài tuần sử dụng.

Giới hạn tools (enforce constraints)

Không phải agent nào cũng cần quyền edit file hay chạy bash commands. Sub-agents cho phép bạn giới hạn tools cho từng agent. Researcher chỉ được đọc. Writer chỉ được edit, không được chạy lệnh nguy hiểm. Reviewer chỉ được đọc và comment. An toàn hơn, ít rủi ro hơn.

Kiểm soát chi phí

Haiku rẻ hơn Sonnet nhiều lần, và rẻ hơn Opus gấp bội. Với sub-agents, bạn chọn model phù hợp cho từng task. Tìm kiếm file? Haiku dư sức. Viết code phức tạp? Sonnet. Review architecture? Opus. Thay vì dùng model đắt nhất cho mọi thứ, bạn tối ưu chi phí theo từng tác vụ.

Theo bảng giá Claude Code, sự chênh lệch giữa Haiku và Opus là đáng kể khi chạy hàng trăm sub-agent tasks mỗi ngày.

Giá

3 Sub-Agents Mặc Định Hoạt Động Như Thế Nào?

Claude Code tự động sử dụng 3 sub-agents mặc định mà bạn không cần cấu hình gì. Theo Anthropic Docs, mỗi loại được thiết kế cho một nhóm tasks cụ thể. Claude tự quyết định khi nào spawn agent nào dựa trên yêu cầu của bạn — bạn không cần chỉ định thủ công.

[IMAGE: Diagram showing 3 built-in sub-agents Explore Plan General-purpose with their tools and models — claude code built-in sub agents types]

Explore Agent

Explore agent dùng model Haiku — nhanh và rẻ nhất trong lineup. Nó chỉ có quyền read-only: đọc file, grep, glob, list files. Không thể sửa file, không thể chạy bash commands. An toàn tuyệt đối.

Khi nào Claude dùng Explore? Mỗi khi bạn hỏi “file X ở đâu?”, “function này được gọi ở đâu?”, “codebase này dùng framework gì?”. Claude spawn Explore agent, để nó đào bới codebase, rồi nhận kết quả tóm tắt.

Explore có 3 mức độ thoroughness:

  • Quick: Lướt nhanh, trả lời câu hỏi đơn giản. Tốn ít tokens.
  • Medium: Đọc kỹ hơn, theo dõi imports, function calls. Phù hợp hầu hết trường hợp.
  • Very thorough: Đào sâu toàn bộ codebase, đọc nhiều file liên quan. Tốn nhiều tokens hơn nhưng kết quả đầy đủ nhất.

Plan Agent

Plan agent kế thừa model của parent (nếu bạn dùng Sonnet, nó cũng dùng Sonnet). Chế độ plan mode nghĩa là nó chỉ phân tích và đề xuất — không hành động. Output là một kế hoạch chi tiết mà parent agent sử dụng để thực thi.

Claude spawn Plan agent khi task phức tạp, cần suy nghĩ trước khi làm. Ví dụ: “refactor module authentication cho project này” — Plan agent sẽ đọc code, phân tích dependencies, rồi đề xuất plan step-by-step.

General-purpose Agent

Đây là “nhân viên toàn năng”. General-purpose agent có quyền truy cập tất cả tools: đọc file, sửa file, chạy bash, và mọi thứ khác. Claude spawn nó khi task cần hành động thực sự — viết code, tạo file, chạy tests.

Tuy nhiên, vì có full access, general-purpose agent cũng có rủi ro cao hơn. Bạn cần cấu hình permission modes phù hợp để kiểm soát. Mình sẽ nói kỹ hơn ở phần cấu hình nâng cao.

Cách Tạo Custom Sub-Agent?

Custom sub-agents cho phép bạn tạo AI assistants chuyên biệt cho workflow riêng, được định nghĩa bằng file Markdown với YAML frontmatter. Theo Anthropic Docs, bạn lưu file trong .claude/agents/ (project scope) hoặc ~/.claude/agents/ (user scope). Với 46% developer chọn Claude Code làm tool yêu thích (Pragmatic Engineer Survey 2026, n=906), custom agents là cách cá nhân hóa workflow mạnh mẽ nhất.

[IMAGE: Screenshot showing .claude/agents/ folder structure with multiple custom agent markdown files — claude code custom agents folder structure]

Tạo agent bằng lệnh /agents

Cách nhanh nhất là dùng lệnh /agents trong Claude Code. Nó mở wizard giúp bạn tạo agent file với các trường frontmatter cần thiết. Nhưng nếu bạn thích tạo thủ công, cũng đơn giản thôi.

Bước 1: Tạo thư mục .claude/agents/ trong project (nếu chưa có). Bước 2: Tạo file Markdown, ví dụ blog-researcher.md. Bước 3: Viết frontmatter và instructions.

Đây là ví dụ agent blog-researcher mà mình dùng cho ongboit.com:

---
name: blog-researcher
description: Research sources, statistics, and competitor content for blog posts
model: haiku
tools:
  - Read
  - Grep
  - Glob
  - WebSearch
disallowedTools:
  - Edit
  - Write
  - Bash
permissionMode: plan
maxTurns: 15
memory:
  - project
isolation: true
---

You are a blog research assistant for ongboit.com.

## Your Job
- Find relevant statistics with source attribution
- Identify competitor content and gaps
- Collect URLs for internal linking opportunities
- Summarize findings in structured format

## Rules
- Always include source URLs for every statistic
- Prioritize Tier 1 sources (official docs, surveys)
- Output in Vietnamese with proper diacritics
- Maximum 500 words per research summary

Bảng tham chiếu frontmatter fields

Mỗi trường trong frontmatter kiểm soát một khía cạnh của sub-agent. Đây là bảng đầy đủ:

Field Bắt buộc? Mô tả Ví dụ
name Tên agent (dùng để gọi) blog-researcher
description Mô tả để Claude biết khi nào spawn Research blog sources
model Không sonnet, opus, haiku, inherit, hoặc full ID haiku
tools Không Danh sách tools được phép [Read, Grep, Glob]
disallowedTools Không Tools bị cấm [Bash, Write]
permissionMode Không default, acceptEdits, dontAsk, bypassPermissions, plan plan
maxTurns Không Số lượt tối đa agent được chạy 15
memory Không Scope: user, project, local [project]
isolation Không Dùng worktree riêng (an toàn hơn) true
mcpServers Không MCP servers riêng cho agent [wp-mcp-ultimate]
hooks Không Hooks riêng cho agent (xem bài Hooks)
skills Không Skills riêng cho agent (xem bài Skills)
effort Không Mức độ effort (low, medium, high) medium
background Không Thông tin bổ sung cho agent Project conventions

File location: project vs user scope

Hai vị trí lưu file, mỗi nơi có scope khác nhau:

  • .claude/agents/ (trong project) — Agents dùng cho project cụ thể. Commit vào git để team cùng dùng.
  • ~/.claude/agents/ (home directory) — Agents cá nhân, dùng cho mọi project. Ví dụ: general-purpose code reviewer.

Mình thường dùng project scope cho agents chuyên biệt (blog-researcher, blog-writer), và user scope cho agents dùng chung (code-reviewer, quick-search). Bạn cũng có thể dùng flag --agents khi khởi chạy Claude Code để load agents từ thư mục tùy chỉnh — tiện cho việc test.

5 Patterns Sử Dụng Claude Code Sub-Agents

Sub-agents mạnh nhất khi bạn áp dụng đúng pattern cho đúng use case. Theo Tim Dietrich (2026), parallel sub-agents có thể giảm thời gian xử lý task phức tạp xuống 50-70%. Dưới đây là 5 patterns mình dùng nhiều nhất, kèm code examples.

[IMAGE: Flowchart showing 5 sub-agent patterns parallel chain isolate foreground-background resume — claude code sub agent patterns flowchart]

1. Parallel Research

Pattern phổ biến nhất. Bạn spawn nhiều agents cùng lúc, mỗi agent research một khía cạnh khác nhau. Parent agent tổng hợp kết quả.

# Trong prompt, yêu cầu Claude spawn parallel agents:

Research 3 topics in parallel:
1. Agent 1: Find pricing data for Claude Code competitors
2. Agent 2: Find developer survey statistics about AI tools
3. Agent 3: Find case studies of multi-agent workflows

Use Explore agents for all three. Summarize findings.

Claude sẽ spawn 3 Explore agents đồng thời. Mỗi agent đào bới codebase hoặc web trong context riêng. Parent nhận kết quả từ cả 3 và tổng hợp. Nhanh hơn nhiều so với research tuần tự.

2. Chain Agents (Sequential Pipeline)

Khi output của agent trước là input của agent sau. Giống assembly line trong nhà máy.

# Sequential pipeline:
# Step 1: Research agent tìm data
# Step 2: Writer agent viết draft dựa trên research
# Step 3: Reviewer agent kiểm tra draft

# Prompt:
Run a 3-step blog pipeline:
1. Use blog-researcher agent to find 8 statistics about sub-agents
2. Pass results to blog-writer agent to create draft
3. Pass draft to blog-reviewer agent for quality check

Return the final reviewed draft.

Mỗi agent chỉ thấy data nó cần — không bị overwhelm bởi context không liên quan. Chain pattern đặc biệt hiệu quả cho content workflows.

3. Isolate Verbose Output

Bạn có chạy test suite trả về 500 dòng output không? Hoặc build log dài vô tận? Thay vì đổ tất cả vào main context, spawn một sub-agent để chạy và tóm tắt kết quả. Main conversation chỉ nhận “passed 47/50 tests, 3 failures in auth module” — gọn gàng.

# Isolate verbose output:
Run the full test suite using a sub-agent.
Don't show me all output -- just summarize:
- Total tests passed/failed
- Which files have failures
- Suggested fixes for each failure

Pattern này cực kỳ hữu ích khi debug. Context window của bạn không bị “ăn” bởi log output. Bạn vẫn có đủ “dung lượng” cho phân tích và fix bugs.

4. Foreground vs Background (Ctrl+B)

Hai chế độ chạy sub-agents, mỗi chế độ phục vụ mục đích khác nhau:

  • Foreground (blocking): Parent agent chờ sub-agent hoàn thành rồi mới tiếp tục. Dùng khi output của sub-agent cần thiết cho bước tiếp theo.
  • Background (concurrent, Ctrl+B): Sub-agent chạy ngầm. Parent tiếp tục làm việc khác. Dùng khi tasks độc lập nhau.

Phím tắt Ctrl+B trong Claude Code cho phép bạn đẩy task hiện tại sang background bất kỳ lúc nào. Tiện khi bạn nhận ra task đang chạy sẽ tốn thời gian và bạn muốn làm việc khác song song.

Workflow thực tế của mình: mình thường spawn blog-researcher ở background (Ctrl+B), sau đó bắt đầu viết outline ở foreground. Khi researcher xong, mình pull kết quả vào draft. Cách này tiết kiệm thời gian chờ đợi rõ rệt.

5. Resume Agent (SendMessage)

Sub-agent đã hoàn thành nhưng bạn muốn hỏi thêm? Dùng SendMessage với agent ID để tiếp tục conversation với nó. Context của agent vẫn còn, không cần spawn mới.

# Resume a completed sub-agent:
# Sau khi researcher agent trả kết quả,
# bạn muốn hỏi thêm chi tiết:

Send a follow-up to the researcher agent:
"Find 3 more statistics specifically about
agent teams vs sub-agents performance comparison."

Lưu ý quan trọng: sub-agents không thể spawn sub-sub-agents. Không có nesting. Nếu bạn cần cấu trúc nhiều tầng, hãy cân nhắc Agent Teams (phần sau).

Cấu Hình Nâng Cao Cho Sub-Agents

Khi đã nắm được basics, đây là các cấu hình nâng cao giúp bạn kiểm soát sub-agents chặt chẽ hơn. Theo Anthropic Docs, mỗi sub-agent có thể có model, permissions, memory, MCP servers, và hooks riêng — độc lập hoàn toàn với parent. Khảo sát Pragmatic Engineer cho thấy 46% developer chọn Claude Code (Pragmatic Engineer Survey 2026, n=906), và cấu hình nâng cao là điểm khác biệt lớn so với các tool khác.

Chọn model phù hợp

Model selection ảnh hưởng trực tiếp đến chất lượng và chi phí. Nguyên tắc đơn giản:

  • Haiku: Tasks đơn giản — tìm file, đọc code, tóm tắt. Rẻ nhất, nhanh nhất.
  • Sonnet: Tasks trung bình — viết code, phân tích logic, generate content. Cân bằng tốt.
  • Opus: Tasks phức tạp — architecture review, refactoring lớn, quyết định quan trọng. Đắt nhất nhưng chất lượng cao nhất.
  • Inherit: Dùng cùng model với parent. Mặc định nếu không chỉ định.

Bạn cũng có thể dùng full model ID (ví dụ claude-sonnet-4-20250514) để pin vào version cụ thể. Hữu ích khi bạn muốn đảm bảo behavior nhất quán qua các bản cập nhật.

Permission modes

5 chế độ permission, từ chặt đến lỏng:

Mode Mô tả Khi nào dùng
plan Chỉ đọc và phân tích, không hành động Research, planning
default Hỏi xác nhận cho mọi thao tác Tasks nhạy cảm
acceptEdits Tự động accept file edits, hỏi cho bash Writing code
dontAsk Bỏ qua hầu hết confirmations Automation pipelines
bypassPermissions Không hỏi gì cả (nguy hiểm) CI/CD, trusted environments

Lời khuyên: bắt đầu với plan hoặc default. Chỉ dùng bypassPermissions trong CI/CD hoặc khi bạn hoàn toàn tin tưởng agent, ví dụ khi chạy qua GitHub Actions ở headless mode. An toàn trước, tối ưu sau.

Persistent memory

Sub-agents có thể đọc và ghi memory ở 3 scope:

  • User scope: ~/.claude/ — memory cá nhân, dùng cho mọi project.
  • Project scope: .claude/ trong project — memory chung cho team.
  • Local scope: .claude.local/ — memory local, không commit vào git.

Cấu hình memory trong frontmatter bằng array: memory: [project, user]. Agent sẽ đọc memory từ cả 2 scope khi bắt đầu, và ghi lại khi cần.

CLAUDE.md

Worktree isolation

Khi isolation: true, Claude Code tạo một git worktree riêng cho sub-agent. Agent làm việc trong bản sao độc lập, không ảnh hưởng working directory chính. Đặc biệt hữu ích khi nhiều agents cùng edit code song song.

Không có worktree isolation, 2 agents sửa cùng 1 file sẽ gây conflict. Có isolation, mỗi agent sửa bản copy riêng, parent merge kết quả sau. An toàn hơn nhiều.

MCP servers riêng cho sub-agent

Mỗi sub-agent có thể kết nối đến MCP servers riêng. Ví dụ: blog-writer agent kết nối WP MCP Ultimate để publish trực tiếp lên WordPress. Researcher agent thì không cần WP access — chỉ cần web search.

MCP
MCP

---
name: blog-publisher
description: Publish finalized blog posts to WordPress
model: sonnet
tools:
  - Read
  - Edit
  - Write
permissionMode: acceptEdits
mcpServers:
  - wp-mcp-ultimate
maxTurns: 10
---

You publish blog posts to ongboit.com via WP MCP Ultimate.
Ensure Rank Math SEO fields are filled before publishing.

Agent Teams — Khi Nào Cần Dùng?

Agent Teams là tính năng experimental cho phép nhiều Claude Code sessions làm việc trên cùng project, giao tiếp trực tiếp với nhau. Theo Anthropic Docsclaudefa.st, Agent Teams khác biệt cơ bản với sub-agents về cách tổ chức và giao tiếp. Đây vẫn là feature thử nghiệm — có thể thay đổi bất kỳ lúc nào.

[IMAGE: Comparison diagram sub-agents hierarchical vs agent teams peer-to-peer communication model — claude code sub agents vs agent teams comparison]

Sub-agents vs Agent Teams

Tiêu chí Sub-Agents Agent Teams
Cấu trúc Hierarchical (parent → child) Peer-to-peer (ngang hàng)
Giao tiếp Chỉ báo cáo về parent Trực tiếp giữa teammates
Sessions Trong cùng session cha Sessions riêng biệt
Context window Riêng, report summary về parent Hoàn toàn độc lập
Nesting Không (1 cấp duy nhất) Không
Stability Stable Experimental
Use case Task delegation, parallel tasks Large-scale projects, multiple features

Khi nào dùng Sub-agents vs Agent Teams?

Dùng sub-agents khi: Bạn cần chia nhỏ 1 task lớn thành nhiều phần nhỏ hơn. Parent agent kiểm soát luồng. Ví dụ: viết blog (research → write → review). Đây là use case 90% trường hợp.

Dùng Agent Teams khi: Bạn cần nhiều AI sessions làm việc độc lập trên cùng project, mỗi agent phụ trách một feature hoàn chỉnh. Team lead phân task, teammates tự coordinate. Ví dụ: build frontend + backend + tests đồng thời.

Lời khuyên thực tế? Bắt đầu với sub-agents. Chúng stable, dễ hiểu, đủ mạnh cho hầu hết workflows. Agent Teams chỉ cần khi project thực sự lớn và bạn muốn parallelization ở mức session.

Ví Dụ Thực Tế — Blog Workflow Của Ông Bố IT

Đây là workflow thực tế mình dùng hàng ngày để viết blog cho ongboit.com, sử dụng 3 custom Claude Code sub-agents chạy kết hợp parallel và sequential. Workflow này đã giúp mình xuất bản 10+ bài viết dài trong vòng 3 tuần đầu tiên — mỗi bài 3.000-5.000 từ tiếng Việt với full SEO optimization.

[IMAGE: Workflow diagram showing 3 agents researcher writer reviewer in parallel and sequential flow for blog publishing — ong bo it blog workflow sub agents]

Mình nhận ra một điều quan trọng: không nên cho tất cả agents chạy parallel. Researcher và image prep chạy song song được (output độc lập). Nhưng writer phải chờ researcher xong — vì nó cần data để viết. Reviewer phải chờ writer xong — hiển nhiên rồi. Vậy workflow tối ưu là hybrid parallel-sequential, không phải pure parallel.

3 Custom agents

Mình tạo 3 agent files trong .claude/agents/:

  • blog-researcher.md — Model: Haiku. Tools: Read, Grep, Glob, WebSearch. Permission: plan. Nhiệm vụ: tìm statistics, sources, competitor content.
  • blog-writer.md — Model: Sonnet. Tools: Read, Write, Edit. Permission: acceptEdits. Nhiệm vụ: viết draft theo template và research data.
  • blog-reviewer.md — Model: Sonnet. Tools: Read, Grep. Permission: plan. Nhiệm vụ: kiểm tra chất lượng, keyword density, heading hierarchy, đề xuất sửa.

Luồng chạy thực tế

# Phase 1: Parallel (researcher + image prep)
# - blog-researcher: tìm 8+ statistics, sources
# - Image generation: chuẩn bị ảnh minh họa
# → Chạy đồng thời, tiết kiệm ~5-10 phút

# Phase 2: Sequential (writer)
# - blog-writer nhận research data
# - Viết full draft HTML theo template
# - Output: file .html trong .tmp/

# Phase 3: Sequential (reviewer)
# - blog-reviewer đọc draft
# - Kiểm tra: keyword density, heading hierarchy
# - Kiểm tra: paragraph length, citation sources
# - Output: danh sách issues + suggestions

# Phase 4: Fix + Publish
# - Parent agent fix issues dựa trên review
# - Publish qua WP MCP Ultimate

Bài học rút ra sau 10+ bài viết: researcher agent nên dùng Haiku vì task đơn giản (search + summarize). Writer và reviewer cần Sonnet vì phải xử lý tiếng Việt phức tạp (diacritics, tone, giọng văn casual). Mình thử dùng Haiku cho writer — output kém hơn rõ rệt về mặt ngữ pháp và giọng văn tự nhiên.

Một tip nữa: đặt maxTurns cho mỗi agent. Researcher 15 turns là đủ. Writer 25 turns cho bài dài. Reviewer 10 turns. Tránh để agent chạy vô hạn, vừa tốn tiền vừa không hiệu quả.

Sub-agents đặc biệt hữu ích khi kết hợp với AutoResearch Claude Code: mỗi sub-agent chạy một experiment song song, thu thập kết quả về parent, rồi parent quyết định giữ nhánh nào. Đây là cách Karpathy Loop scale từ 30 experiments lên 300 chỉ trong một đêm.

Sub-agents kết hợp tốt với external integrations. Trong bài Claude Code Google Workspace, mình dùng pattern sub-agents để xử lý Drive theo batch khi folder có nhiều hơn 500 files, mỗi sub-agent phụ trách một subset thay vì load toàn bộ vào context.

Sub-agents kết hợp rất tốt với web scraping. Trong workflow Claude Code Firecrawl, mỗi sub-agent có thể scrape một competitor song song, 10 competitors từng mất 10 phút tuần tự giờ chỉ còn 1 phút tổng.

SEO

Câu Hỏi Thường Gặp Về Claude Code Sub-Agents

Sub-agent có thể spawn sub-sub-agent không?
Không. Claude Code sub-agents không hỗ trợ nesting. Mỗi sub-agent chỉ có 1 cấp — chúng báo cáo về parent agent, không thể tạo thêm agents con. Nếu bạn cần cấu trúc nhiều tầng, hãy dùng Agent Teams hoặc thiết kế lại workflow theo kiểu flat (Anthropic Docs).
Sub-agents tốn bao nhiêu tiền?
Chi phí phụ thuộc model được chọn. Explore agent dùng Haiku — rẻ nhất trong lineup. General-purpose dùng model inherited từ parent. Custom agents cho phép chọn model cụ thể. Với Claude Code Max plan $200/tháng, bạn có unlimited usage — sub-agents không tính phí riêng (xem bảng giá chi tiết).
Làm sao biết sub-agent nào đang chạy?
Claude Code hiển thị sub-agent activity trong terminal. Foreground agents hiển thị output trực tiếp. Background agents có indicator riêng — bạn có thể xem bằng cách chuyển focus. Khi agent hoàn thành, parent agent tự động nhận kết quả tóm tắt.
Sub-agents có chia sẻ context window với nhau không?
Không. Mỗi Claude Code sub-agent có context window hoàn toàn riêng biệt. Chúng không “thấy” context của nhau hay của parent. Chỉ kết quả cuối cùng (summary) được gửi về parent agent — đó chính là lý do sub-agents giúp bảo toàn context (Anthropic Docs).
Custom agent file cần viết bằng tiếng Anh hay tiếng Việt?
Mình khuyên viết instructions bằng tiếng Anh cho frontmatter fields (name, description, tools). Phần body instructions có thể mix — tiếng Anh cho technical parts, tiếng Việt cho context-specific guidelines. Claude Code hiểu cả hai ngôn ngữ tốt.
Có thể dùng MCP servers trong sub-agent không?
Có. Mỗi Claude Code sub-agent có thể kết nối đến MCP servers riêng thông qua trường mcpServers trong frontmatter. Ví dụ: blog-publisher agent kết nối WP MCP Ultimate để publish lên WordPress, trong khi researcher agent không cần access này.
Agent Teams có thay thế sub-agents không?
Không. Agent Teams và sub-agents là 2 tính năng bổ sung nhau. Sub-agents: hierarchical, parent kiểm soát, stable. Agent Teams: peer-to-peer, independent sessions, experimental. Hầu hết workflows chỉ cần sub-agents. Agent Teams dành cho large-scale projects (Anthropic Docs).
Worktree isolation có bắt buộc không?
Không bắt buộc, nhưng rất nên dùng khi nhiều agents cùng edit code. Khi isolation: true, Claude Code tạo git worktree riêng cho sub-agent. Không có isolation, 2 agents sửa cùng file sẽ gây conflict. Với isolation, mỗi agent sửa bản copy riêng, parent merge sau.

[IMAGE: Infographic FAQ summary showing 8 common questions about Claude Code sub-agents — claude code sub agents faq infographic]

Tip nâng cao: Thêm context: fork trong frontmatter của skill để chạy trong context hoàn toàn cô lập. Sub-agent nhận instructions, làm việc, trả về summary mà không tiêu tốn context window của session chính. Lý tưởng cho research tasks nặng.

Kết Luận

Claude Code sub-agents biến một AI assistant đơn lẻ thành cả một team chuyên biệt. Mỗi agent có context riêng, model riêng, tools riêng — và tất cả phối hợp dưới sự điều phối của parent agent. Với 84% developer đã dùng AI tools hàng ngày (Stack Overflow Survey 2025), sub-agents là bước tiến tự nhiên để scale workflow. Và việc chọn IDE phù hợp cũng quan trọng không kém để tận dụng tối đa sức mạnh agent.

Tóm tắt những gì bạn cần nhớ:

  • 3 built-in agents: Explore (Haiku, read-only), Plan (inherited, plan mode), General-purpose (full tools).
  • Custom agents: Tạo trong .claude/agents/ bằng file Markdown + YAML frontmatter.
  • 5 patterns: Parallel Research, Chain, Isolate Verbose, Foreground/Background, Resume.
  • Agent Teams: Experimental, peer-to-peer, cho large-scale projects.
  • Bắt đầu đơn giản: Dùng built-in agents trước, tạo custom khi cần.

Bước tiếp theo? Hãy thử tạo 1 custom agent đơn giản, một researcher dùng Haiku chỉ có quyền read-only. Chạy thử vài lần, xem kết quả, rồi mở rộng dần. Bạn không cần thiết kế hệ thống phức tạp ngay từ đầu. Mình bắt đầu với 1 agent, giờ dùng 3, và workflow đã mượt hơn rất nhiều.

Đọc thêm lộ trình 6 levels Claude Code để biết bạn đang ở đâu và nên học gì tiếp theo.

[IMAGE: Summary visual showing the journey from single Claude Code session to multi-agent workflow — claude code sub agents workflow evolution]

Nếu bạn mới bắt đầu với Claude Code, đọc Claude Code là gì trước. Đã quen rồi? Tìm hiểu thêm về SkillsHooks để xây dựng automation system hoàn chỉnh. Đặc biệt, đọc bài Skills kết hợp Sub-Agents để nắm cách kết nối hai thành phần này thành pipeline tự động.

Claude Code Là Gì
So Sánh

Similar Posts