# Subagent Claude Code: cấu trúc, năm vai trò và điều phối

> Tệp agent, mô tả, năm mẫu hoàn chỉnh, thực thi song song, Managed Agents, các giới hạn và chi phí với ví dụ được giữ nguyên.

Source: https://ailoot.ai/blog/vi/claude-code-subagents/
Canonical: https://ailoot.ai/blog/vi/claude-code-subagents/
Language: vi
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-222
Revision: sha256-afa8e62a0fd28b66ae6f94ff28e60dba52bbd5fea0a9c23eb3d37d2db8391ab3


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent trong Claude Code là một trợ lý AI chuyên biệt có ngữ cảnh, bộ công cụ và system prompt riêng. Cuộc trò chuyện chính tự quyết định có giao một nhiệm vụ cho subagent hay không, hoặc bạn có thể gọi subagent theo tên bằng `@agent-`. Subagent xử lý một nhiệm vụ hẹp mà không làm cuộc trò chuyện chính trở nên rối rắm, rồi chỉ trả về phần tóm tắt cuối cùng. Trong hướng dẫn này, tôi giải thích subagent khác Skill như thế nào, cách viết mô tả để Claude thực sự gọi nó, và cách tạo 5 vai trò có thể dùng được trong 30 phút.

</div>

<div class="aside" data-semantic="ailoot-docs-link" aria-label="Ailoot documentation">

Hướng dẫn thực hành về cách làm việc với Ailoot có trong [tài liệu](https://ailoot.ai/docs/).

</div>

## Subagent trong Claude Code là gì, và tại sao nó không chỉ là “một Skill khác”?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent là một trợ lý AI chuyên biệt có ngữ cảnh, system prompt và bộ công cụ riêng. Tài liệu chính thức của Anthropic mô tả đây là trợ lý đảm nhận một nhiệm vụ phụ trong ngữ cảnh riêng biệt và chỉ trả về phần tóm tắt kết quả. Khác với [Skills](https://ailoot.ai/blog/vi/claude-code-skills-library/), vốn được nạp vào cuộc trò chuyện chính và sử dụng bộ nhớ của cuộc trò chuyện đó, subagent hoạt động độc lập — và đó là giá trị chính của nó.

</div>

Tài liệu Claude Code định nghĩa như sau:

<figure>
<blockquote>
<p>Subagent là các trợ lý AI chuyên biệt dành cho những loại nhiệm vụ cụ thể. Hãy dùng subagent khi một nhiệm vụ phụ có thể lấp đầy cuộc trò chuyện chính bằng kết quả tìm kiếm, nhật ký hoặc nội dung tệp mà bạn không cần đưa vào đó: subagent thực hiện công việc trong ngữ cảnh riêng và chỉ trả về kết quả.</p>
</blockquote>
<figcaption>— Tài liệu Claude Code, https://code.claude.com/docs/en/sub-agents</figcaption>
</figure>

Diễn giải theo cách một doanh nhân có thể hiểu: hãy hình dung một công ty bất động sản. Có giám đốc, nhân viên tiếp thị, luật sư và các quản lý bán hàng. Một nhân viên luân phiên đảm nhiệm tất cả những vai trò đó không phải là một đội ngũ; đó là một người quá tải. Một đội ngũ hình thành khi mỗi người có ngữ cảnh và phạm vi trách nhiệm riêng, còn giám đốc chỉ phân công nhiệm vụ và tổng hợp kết quả.

Subagent trong Claude Code hoạt động theo cách tương tự. Cuộc trò chuyện chính là giám đốc. Subagent là chuyên gia có nhiệm vụ hẹp, ngữ cảnh và bộ công cụ riêng. Khi một nhiệm vụ phù hợp với mô tả của chuyên gia, giám đốc giao việc cho người đó — và không sa đà vào chi tiết.

### 5 mục tiêu Anthropic tạo ra subagent để đáp ứng

Tài liệu của Anthropic nêu chính xác năm lý do để tạo subagent của riêng bạn:

<figure>
<blockquote>
<p>Subagent giúp bạn bảo toàn ngữ cảnh bằng cách giữ phần nghiên cứu và triển khai ngoài cuộc trò chuyện chính; thực thi các ràng buộc bằng cách giới hạn công cụ mà subagent có thể dùng; tái sử dụng cấu hình giữa các dự án thông qua subagent cấp người dùng; chuyên biệt hóa hành vi cho các lĩnh vực cụ thể bằng system prompt tập trung; và kiểm soát chi phí bằng cách chuyển nhiệm vụ sang các mô hình nhanh hơn, rẻ hơn như Haiku.</p>
</blockquote>
<figcaption>— Tài liệu Claude Code, https://code.claude.com/docs/en/sub-agents</figcaption>
</figure>

Mục thiết thực nhất trong danh sách này đối với người không lập trình là **kiểm soát chi phí**. Bạn có thể giao một nhiệm vụ nghiên cứu nặng cho mô hình Haiku ít tốn kém, trong khi tiếp tục cuộc trò chuyện chính bằng Sonnet hoặc Opus. Mức tiết kiệm token tỷ lệ thuận trực tiếp.

### Kiểm hỗ trợ lồng nhau của phiên bản đã cài

Mẫu trong hướng dẫn dùng một phiên chính giao thẳng worker. Không coi tài liệu cũ “subagents cannot spawn other subagents” là quy tắc vĩnh viễn: hành vi lồng tùy phiên bản và công cụ được phép. [Hướng dẫn tác nhân con lồng riêng](https://ailoot.ai/blog/vi/claude-code-nested-subagents/) bàn công thức theo phiên bản. Xác minh bản cài hỗ trợ trước lập giao sâu.

## Subagent khác Skill, slash command và hook như thế nào?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Claude Code có bốn cơ chế mở rộng và chúng không thể thay thế cho nhau. CLAUDE.md là kiến thức thường trực luôn được nạp. Skills là các phương pháp có sẵn, được nạp vào cuộc trò chuyện chính khi được kích hoạt. Slash command là các nút `/command` rõ ràng dành cho một hành động một lần. Subagent là chuyên gia có ngữ cảnh riêng, được cuộc trò chuyện chính giao việc. Sai lầm phổ biến nhất là tạo subagent trong khi cần Skill.

</div>

Hướng dẫn trước về [Skills](https://ailoot.ai/blog/vi/claude-code-skills-library/) giải thích rằng Skills và slash command trong Claude Code trên thực tế đã hợp nhất thành một định dạng. Nhưng subagent là một thực thể khác — không đơn giản chỉ là “Skill lớn hơn”.

Bảng tóm tắt bốn cơ chế:

| Tính năng | CLAUDE.md | Skill | Slash command | Subagent |
|----|----|----|----|----|
| Thời điểm được nạp | Luôn luôn | Khi mô tả được kích hoạt | Khi gọi lệnh `/name` | Khi được giao việc hoặc gọi bằng `@agent-name` |
| Nơi hoạt động | Trong ngữ cảnh chính | Trong ngữ cảnh chính | Trong ngữ cảnh chính | Trong ngữ cảnh riêng biệt |
| Mô hình | Giống cuộc trò chuyện chính | Giống | Giống | Bất kỳ — Haiku, Sonnet, Opus, kế thừa |
| Công cụ | Tất cả công cụ khả dụng | Kế thừa | Kế thừa | Có thể giới hạn bằng `tools:` |
| Nội dung trả về | \- | Trong cuộc trò chuyện chính | Trong cuộc trò chuyện chính | Chỉ phần tóm tắt cuối cùng |
| Xử lý song song | \- | Không | Không | Có — nhiều tác vụ song song |
| Bộ nhớ giữa các phiên | Tệp ở gần | Tệp ở gần | Tệp ở gần | Trường `memory: user/project/local` |

Có thể diễn đạt ngắn gọn trong một hướng dẫn bằng tiếng Anh như sau: Skills là công thức; subagent là đồng nghiệp chuyên môn.

Put simply: skills là công thức; subagent là đồng nghiệp chuyên môn.

Trên thực tế, cách hoạt động như sau: Skills tự động kích hoạt khi mô tả phù hợp với nhiệm vụ, còn subagent được gọi một cách rõ ràng — hoặc cuộc trò chuyện chính quyết định giao việc, hoặc bạn gọi subagent theo tên.

### Cây quyết định: “Tôi nên chọn cái nào?”

Khi bạn nghĩ “Tôi cần Claude làm X”, hãy lần lượt tự hỏi bốn câu này:

1.  **Đây có phải kiến thức cần luôn sẵn có không?** Ví dụ: “chúng ta bản địa hóa sang ngôn ngữ người dùng ưu tiên” hoặc “chúng ta không dùng dấu gạch ngang dài”. Hãy đưa vào `CLAUDE.md`.
2.  **Đây có phải phương pháp được kích hoạt mà hiện giờ bạn đang tự làm thủ công không?** Ví dụ: “Thứ Hai nào tôi cũng viết báo cáo bán hàng”. Hãy tạo một **skill**.
3.  **Đây có phải nhiệm vụ sẽ tiêu tốn ngữ cảnh của cuộc trò chuyện chính, hoặc có thể chạy song song không?** Ví dụ: “nghiên cứu chuyên sâu trên 30 nguồn” hoặc “kiểm tra bảo mật trong khi tôi viết tính năng mới”. Hãy tạo một **subagent**.
4.  **Bạn có cần phản hồi tự động trước một sự kiện trong Claude Code không?** Ví dụ: “chạy linter sau mỗi Edit”. Hãy viết một **hook**.

90% nhiệm vụ của doanh nhân thuộc hai nhóm đầu tiên. Subagent là công cụ ở cấp độ tiếp theo, dành cho lúc bạn chuyển từ “mỗi lần làm một nhiệm vụ” sang điều phối.

## Subagent nằm ở đâu, và mục nào được ưu tiên?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent trong Claude Code có thể nằm ở năm vị trí với các mức ưu tiên khác nhau — từ thiết lập được quản lý của tổ chức cho đến plugin. Nếu hai tệp có cùng tên, tệp có mức ưu tiên cao hơn sẽ được chọn. Cấu hình phổ biến nhất đối với doanh nhân làm việc độc lập là `~/.claude/agents/` dành cho các agent cá nhân, đa dụng và `.claude/agents/` bên trong một dự án cụ thể dành cho các agent theo dự án.

</div>

Thứ bậc của subagent có năm cấp, được sắp xếp từ ưu tiên cao nhất đến thấp nhất:

| Cấp | Đường dẫn | Phạm vi áp dụng | Ưu tiên |
|----|----|----|----|
| Doanh nghiệp | Thiết lập được quản lý của tổ chức | Tất cả nhân viên công ty | 1 (cao nhất) |
| Phiên | Cờ CLI `--agents` với JSON | Chỉ phiên hiện tại | 2 |
| Dự án | `.claude/agents/name.md` | Chỉ dự án này | 3 |
| Cá nhân | `~/.claude/agents/name.md` | Tất cả dự án của bạn | 4 |
| Plugin | `<plugin>/agents/name.md` | Ở nơi plugin được bật | 5 (thấp nhất) |

Logic ưu tiên giống với Skills và CLAUDE.md: tổ chức ghi đè CLI, CLI ghi đè dự án, dự án ghi đè cá nhân và cá nhân ghi đè plugin.

### Những điều cần biết về việc nạp agent

Subagent được nạp khi một phiên Claude Code bắt đầu. Nếu bạn tự sửa tệp agent trên ổ đĩa, thay đổi sẽ không được nhận cho đến khi bạn khởi động lại phiên. Thay đổi qua giao diện tương tác `/agents` có hiệu lực ngay.

Mỗi phạm vi chỉ có một subagent tương ứng với một tệp. Nếu `.claude/agents/` chứa `code-reviewer.md` và một tệp `code-reviewer.md` khác bên cạnh (ví dụ, từ bản sao lưu cũ), Claude Code sẽ âm thầm bỏ qua một trong hai. Bạn sẽ không nhận được thông báo.

Subagent của plugin là trường hợp riêng. Chúng có các hạn chế bảo mật: **không hỗ trợ** các trường `hooks`, `mcpServers` và `permissionMode`. Nhờ đó, plugin của bên thứ ba không thể được cài đặt để cho phép chạy mã tùy ý trên máy của bạn.

## Cấu trúc tệp subagent: frontmatter và phần nội dung

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent là một tệp Markdown duy nhất, có YAML frontmatter ở trên cùng và system prompt bên dưới. Tối thiểu cần hai trường: `name` (chữ thường + dấu gạch nối) và `description` (thời điểm Claude nên giao việc). Lược đồ đầy đủ gồm 16 trường: tools, disallowedTools, model, permissionMode, maxTurns, skills, mcpServers, hooks, memory, background, effort, isolation, color, initialPrompt. Anthropic khuyến nghị giữ mô tả ngắn gọn — yếu tố kích hoạt càng rõ thì Claude kích hoạt càng chính xác.

</div>

Ví dụ tối thiểu từ tài liệu chính thức — chỉ 9 dòng:

```markdown
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.
```

Vậy là đủ. Nếu người dùng nói “review PR của tôi” trong cuộc trò chuyện chính, Claude đối chiếu “reviewer / code / quality” với mô tả rồi giao việc cho subagent. Subagent đọc diff, viết nhận xét và gửi phần tóm tắt về cuộc trò chuyện chính. Cuộc trò chuyện chính không bị làm rối bởi nhật ký và phần phân tích trung gian.

### Lược đồ frontmatter đầy đủ

| Trường | Bắt buộc | Chức năng |
|----|----|----|
| `name` | Có | Mã định danh duy nhất, chữ thường + dấu gạch nối. Tên tệp KHÔNG nhất thiết phải trùng |
| `description` | Có | Thời điểm Claude giao việc. Đây là yếu tố kích hoạt tự động hóa |
| `tools` | Không | Danh sách công cụ được phép. Nếu bỏ qua, trường này kế thừa tất cả công cụ từ tác nhân cha |
| `disallowedTools` | Không | Danh sách chặn. Áp dụng TRƯỚC, sau đó mới đến `tools` |
| `model` | Không | `haiku` / `sonnet` / `opus` / full ID / `inherit` (mặc định) |
| `permissionMode` | Không | `default` / `acceptEdits` / `auto` / `dontAsk` / `bypassPermissions` / `plan` |
| `maxTurns` | Không | Giới hạn số bước trước khi dừng |
| `skills` | Không | Skills được nạp vào ngữ cảnh của subagent khi khởi chạy |
| `mcpServers` | Không | Máy chủ MCP chỉ khả dụng với subagent này |
| `hooks` | Không | PreToolUse / PostToolUse / Stop, giới hạn trong subagent này |
| `memory` | Không | `user` / `project` / `local` — thư mục bộ nhớ giữa các phiên |
| `background` | Không | `true` — luôn chạy ở chế độ nền. Mặc định là `false` |
| `effort` | Không | `low` / `medium` / `high` / `xhigh` / `max` — mức độ suy luận |
| `isolation` | Không | `worktree` — chạy trong git worktree riêng |
| `color` | Không | Màu giao diện: red / blue / green / yellow / purple / orange / pink / cyan |
| `initialPrompt` | Không | Câu đầu tiên subagent thấy khi được khởi chạy qua `--agent` |

Trường `model: haiku` chính là ví dụ về “kiểm soát chi phí” trong danh sách năm mục tiêu. Nếu bạn có agent nghiên cứu đọc 50 trang tài liệu, hãy chạy bằng Haiku để tiết kiệm từ 5–7 lần so với Opus.

Trường `isolation: worktree` giải quyết một vấn đề quan trọng: subagent thực hiện những thay đổi có thể nguy hiểm (tái cấu trúc, di chuyển dữ liệu), nhưng bạn không muốn nó tác động đến bản làm việc của mình. Đặt `isolation: worktree`, Claude Code sẽ tạo bản sao git tạm thời của dự án; subagent làm việc trong đó và gửi lại diff để bạn xem xét.

### Phần nội dung của tệp chính là system prompt

Sau frontmatter là Markdown thông thường — tức system prompt của subagent. Không cần cấu trúc đặc biệt nào, nhưng đây là mẫu đã được chứng minh hiệu quả:

1.  **Bạn là ai** — một câu: “bạn là người đánh giá mã”, “bạn là kiểm toán viên bảo mật”, “bạn là người duy trì tài liệu”.
2.  **Khi nào bạn được gọi và việc đầu tiên cần làm** — 2–3 hành động đầu tiên sau khi nhận nhiệm vụ.
3.  **Danh sách kiểm tra hoặc các bước** — 5–10 mục subagent cần làm theo.
4.  **Nội dung cần trả về** — định dạng báo cáo cuối cùng. Điều này rất quan trọng: nếu không chỉ định định dạng, subagent sẽ viết một “bài luận” thay vì bản tóm tắt có cấu trúc.
5.  **Những điều bạn KHÔNG làm** — các giới hạn rõ ràng. Nếu không có phần này, subagent sẽ tự ý ứng biến.

Giữ phần nội dung tệp trong khoảng 200–500 dòng. Nếu dài hơn, hãy chuyển tài liệu tham khảo dài sang các tệp lân cận riêng và liên kết đến chúng trong prompt.

## Cách viết mô tả để Claude chắc chắn gọi subagent của bạn

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Mô tả là trường duy nhất Claude nhìn thấy khi bắt đầu phiên và dùng để quyết định có giao việc hay không. Khiếu nại phổ biến nhất trên các diễn đàn là “Tôi đã tạo subagent nhưng Claude không gọi nó.” Cách sửa là dùng công thức ba phần: chức năng + các cụm từ kích hoạt đặt trong dấu ngoặc kép + những trường hợp KHÔNG nên dùng. Anthropic khuyến nghị rõ ràng nên thêm các cụm như “dùng chủ động” hoặc “dùng ngay sau khi” vào mô tả để khuyến khích Claude giao việc chủ động.

</div>

Một vấn đề phổ biến là tạo subagent để review code nhưng Claude tự làm mọi thứ mà không dùng agent. Thường chỉ có một lý do: mô tả được viết thành “Trợ lý review code”. Claude không hiểu khi nào cần kích hoạt nó.

### Công thức viết mô tả hiệu quả (3 phần)

**Phần 1 — chức năng.** Một câu nói về kết quả, không phải quy trình. Không phải “phân tích mã” mà là “tìm lỗ hổng trong mã và trả về danh sách kèm mức độ nghiêm trọng và cách khắc phục”.

**Phần 2 — thời điểm kích hoạt.** 3–5 cụm từ đặt trong dấu ngoặc kép, giống cách người dùng thực sự yêu cầu. Đừng đoán — hãy xem lịch sử trò chuyện và cách diễn đạt thực tế của bạn.

**Phần 3 — thời điểm KHÔNG kích hoạt.** 1–2 cụm về các nhiệm vụ tương tự mà subagent này không nên xử lý. Nếu thiếu phần này, hai agent tương tự sẽ liên tục xung đột.

### Cụm từ kỳ diệu “Dùng chủ động”

Tài liệu chính thức của Anthropic đưa ra khuyến nghị trực tiếp:

<figure>
<blockquote>
<p>Claude tự động giao nhiệm vụ dựa trên nhiệm vụ trong yêu cầu của bạn, trường description trong cấu hình subagent và ngữ cảnh hiện tại. Để khuyến khích giao việc chủ động, hãy thêm các cụm như 'dùng chủ động' vào mô tả của subagent.</p>
</blockquote>
<figcaption>— Tài liệu Claude Code, https://code.claude.com/docs/en/sub-agents</figcaption>
</figure>

Nói cách khác, theo mặc định Claude có xu hướng **không** gọi subagent nếu mô tả không có tín hiệu rõ ràng. Thêm “dùng chủ động” hoặc “dùng ngay sau khi viết mã”, và tỷ lệ kích hoạt sẽ tăng mạnh.

### Một mô tả tốt sẽ như thế này

```yaml
description: |
  Expert code review specialist. Proactively reviews code for quality,
  security, and maintainability. Use immediately after writing or
  modifying code. Returns prioritized list of issues with severity
  and fix recommendations.
  Do not invoke for documentation changes, README edits, or commit
  message rewrites - these are handled by doc-maintainer.
```

Điều gì hiệu quả ở đây:

- Các động từ “reviews” + “returns” nêu rõ kết quả cụ thể, không phải quy trình.
- “Proactively” và “immediately after” là các tín hiệu kích hoạt rõ ràng.
- “Do not invoke for...” ngăn xung đột với subagent tương tự.
- Dùng tiếng Anh trong mô tả là tiêu chuẩn. Claude đối chiếu tốt hơn bằng tiếng Anh.

## 5 vai trò subagent sẵn dùng, hoạt động trong 10 phút

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Để khỏi phải viết subagent đầu tiên từ đầu, hãy dùng các mẫu đã được kiểm chứng và tùy chỉnh chúng. Tôi đã phác thảo 5 vai trò đáp ứng các nhiệm vụ phổ biến: code-reviewer (review code sau các thay đổi), security-auditor (tìm lỗ hổng và rò rỉ), research-agent (nghiên cứu chuyên sâu trên 8+ nguồn), doc-maintainer (đồng bộ tài liệu với mã) và refactor-agent (tái cấu trúc an toàn thông qua git worktree). Mỗi vai trò có một mẫu sẵn dùng để bạn dán vào và điều chỉnh.

</div>

Mỗi vai trò bên dưới là một tệp duy nhất, `.claude/agents/<name>.md`. Sau khi tạo tệp, hãy khởi động lại Claude Code, mở `/agents` và kiểm tra xem agent mới có xuất hiện trong danh sách hay không. Sau đó bạn có thể gọi nó bằng `@agent-name`.

### 1. code-reviewer — review code sau mỗi thay đổi

Đây là ví dụ chính thức từ tài liệu Anthropic, được điều chỉnh cho quy trình làm việc:

```markdown
---
name: code-reviewer
description: |
  Expert code review specialist. Proactively reviews code for quality,
  security, and maintainability. Use immediately after writing or
  modifying code.
tools: Read, Grep, Glob
model: inherit
color: blue
---

You are a senior code reviewer ensuring high standards of code quality.

Khi được gọi:
1. Đọc diff và danh sách tệp đổi phiên chính cung cấp; thiếu thì yêu cầu bổ sung.
2. Dùng Read, Grep, Glob xem tệp liên quan.
3. Trả phát hiện, không sửa tệp hay chạy shell.

Review checklist:
- Code is clear and readable
- Functions and variables are well-named
- No duplicated code
- Proper error handling
- No exposed secrets or API keys
- Input validation implemented
- Test coverage adequate
- Performance considerations addressed

Provide feedback organized by priority:
- Critical issues (must fix before merge)
- Warnings (should fix)
- Suggestions (consider improving)

Format: for each issue - file:line + 1 sentence why it's a problem + concrete fix.
```

Cốt yếu là `tools: Read, Grep, Glob`: đọc/tìm tệp, không quyền Bash, Write, Edit. Phiên chính chuẩn bị và giao diff. Chỉ bảo chạy `git diff` không hạn chế Bash đã cấp đầy đủ.

### 2. security-auditor — tìm lỗ hổng và rò rỉ

Vai trò dùng `opus` cho suy luận sâu, cùng giới hạn Read, Grep, Glob. Mẫu chỉ đọc bỏ persistent memory vì bật bộ nhớ agent cũng cấp khả năng ghi bộ nhớ:

```markdown
---
name: security-auditor
description: |
  Security audit specialist. Use proactively to find OWASP Top 10
  vulnerabilities, exposed secrets, injection risks, broken auth.
  Run before any deploy or merge to main.
tools: Read, Grep, Glob
model: opus
color: red
---

You are a security auditor. Find exploitable vulnerabilities, not style issues.

Audit checklist:
- SQL / NoSQL injection
- XSS (stored, reflected, DOM-based)
- CSRF / SSRF risks
- Hardcoded secrets (API keys, tokens, passwords)
- Broken auth / session management
- Insecure deserialization
- Missing input validation
- Path traversal
- Open redirects
- Insecure direct object references (IDOR)

For each finding:
- Severity: Critical / High / Medium / Low
- File:line
- Attack scenario in 1–2 sentences
- Fix recommendation with code example

Skip linter or style noise. Report only exploitable issues.
```

Các công cụ ở chế độ chỉ đọc, với `model: opus` dành cho những kiểm tra phức tạp như chuỗi lỗ hổng bảo mật.

### 3. research-agent — nghiên cứu chuyên sâu trên 8+ nguồn

Mẫu này được chính Anthropic mô tả trong bài viết về hệ thống nghiên cứu đa tác nhân. Điểm cốt yếu là định dạng đầu ra rõ ràng và yêu cầu không đổ kết quả thô vào cuộc trò chuyện:

```markdown
---
name: research-agent
description: |
  Deep web research specialist. Use proactively for fact-finding,
  competitive analysis, gathering external documentation, comparing
  approaches across multiple sources.
tools: WebFetch, WebSearch, Read, Write
model: sonnet
maxTurns: 30
color: purple
---

You are a research analyst. Goal: synthesized brief, not raw search dumps.

Process:
1. Decompose the question into 3–5 sub-queries
2. WebSearch each sub-query, fetch top 3–5 sources per query
3. Cross-verify claims across at least 2 independent sources
4. Reject SEO-farm and aggregator content; prefer primary sources
5. Quote verbatim with URL attribution for any specific claim
6. Return: TL;DR (3 bullets) + Findings + Sources (8+ domains minimum)

Anti-patterns to avoid:
- Don't cite a fact from a single source
- Don't paraphrase quotes as if they were verbatim
- Don't return raw search result dumps to the parent
- Don't include filler intro / outro ("Hope this helps")
```

`maxTurns: 30` là biện pháp bảo vệ để nghiên cứu không kéo dài vô hạn. Anthropic nêu con số này trong hệ thống đa tác nhân của họ:

<figure>
<blockquote>
<p>Một hệ thống đa tác nhân với Claude Opus 4 làm agent dẫn dắt và Claude Sonnet 4 làm subagent vượt Claude Opus 4 đơn lẻ 90.2%.</p>
</blockquote>
<figcaption>— Anthropic Engineering, https://www.anthropic.com/engineering/multi-agent-research-system</figcaption>
</figure>

Chín mươi phần trăm là kết quả trên các nhiệm vụ kiểm chuẩn nghiên cứu. Trong thực tế, mức tăng nhỏ hơn với các nhiệm vụ kinh doanh, nhưng quy mô chung tương tự.

### 4. doc-maintainer — giữ tài liệu đồng bộ với mã

Vai trò này dùng `model: haiku` — một ví dụ điển hình về “kiểm soát chi phí”. Tài liệu không cần Opus; Haiku xử lý được với chi phí chỉ bằng một phần ba:

```markdown
---
name: doc-maintainer
description: |
  Documentation sync specialist. Use after merging features to update
  README, API docs, CHANGELOG. Reads recent commits, identifies
  undocumented changes, updates docs proactively.
tools: Read, Write, Edit, Glob, Grep, Bash
model: haiku
memory: project
color: green
---

You maintain documentation in sync with code.

When invoked:
1. Run `git log --since="last release"` to see recent changes
2. Read README.md, docs/, CHANGELOG.md
3. Identify gaps: new features without docs, removed APIs still
   documented, version mismatches

Output:
- Updated files (use Edit, not Write - preserve existing structure)
- CHANGELOG.md entry in Keep-A-Changelog format
- List of changes you made (actual diff summary, not paraphrase)

Style rules:
- Active voice, present tense
- Code examples must be copy-pasteable
- No marketing language ("powerful", "robust", "seamless")
- No filler ("This guide will help you...")
```

### 5. refactor-agent — tái cấu trúc an toàn thông qua worktree

Vai trò này dùng `isolation: worktree` — subagent làm việc trong bản sao riêng của kho mã, và bạn chỉ hợp nhất nếu thấy ổn:

```markdown
---
name: refactor-agent
description: |
  Safe refactor specialist. Use for renames, extracts, inlines that
  shouldn't touch your working copy until reviewed. Runs in a
  temporary git worktree.
tools: Read, Edit, Write, Bash, Grep, Glob
model: sonnet
isolation: worktree
permissionMode: acceptEdits
color: yellow
---

You refactor code without changing behavior.

Strict rules:
1. Tests must pass BEFORE and AFTER the refactor.
   If pre-refactor tests fail, STOP and report.
2. One atomic refactor per commit (extract, rename, inline).
3. Never change public APIs without explicit instruction.
4. Never modify tests unless they test the refactored implementation
   directly.

Process:
- Run test suite -> baseline
- Make atomic refactor
- Run test suite -> verify
- Commit with conventional message: refactor(scope): what

Return: summary of changes + worktree path so user can diff and merge.
```

Với vai trò này, vấn đề tái cấu trúc gây đau đầu nhất — “tôi làm hỏng rồi mà không biết khôi phục thế nào” — được giải quyết: bản gốc vẫn nguyên vẹn, còn subagent làm việc trong vùng cô lập riêng.

Bạn muốn không chỉ sao chép subagent có sẵn mà còn kết hợp **một tổ hợp giúp Claude trở thành công cụ ổn định**? Subagent là một phần trong **bản sao AI** của bạn: cách cung cấp cho Claude một đội ngũ chuyên biệt hoạt động theo logic của bạn. Ba trụ cột của phương pháp này là: **bản sao AI** (Skills + Subagents) + **[Bộ não thứ hai](https://ailoot.ai/blog/vi/claude-code-second-brain/)** + **Kỹ thuật ngữ cảnh**. Sự kết hợp này biến Claude từ một trợ lý hay đoán thành công cụ suy nghĩ theo logic của bạn.

## Khởi chạy song song 5 Subagent: Orchestrator + Workers

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Ưu thế lớn nhất của subagent là thực thi song song. Một cuộc trò chuyện chính giữ kế hoạch, trong khi năm (hoặc mười) subagent chuyên biệt cùng lúc xử lý các giai đoạn khác nhau, mỗi agent trong ngữ cảnh riêng. Cuộc trò chuyện chính tập hợp và kiểm tra kết quả. Cách này tăng tốc gấp 3–5 lần so với làm tuần tự — đồng thời loại bỏ “nhiễm bẩn ngữ cảnh”, khi cuộc trò chuyện chính bị chôn vùi trong nhật ký và phân tích trung gian.

</div>

Điều phối song song là mô hình “nhạc trưởng + dàn nhạc”. Nhạc trưởng giữ kế hoạch, không viết bản nhạc và kiểm tra phần trình diễn của các nhạc công. Nếu ai đó chơi sai nốt, nhạc trưởng yêu cầu họ chơi lại thay vì tự làm nốt phần việc của họ.

Với doanh nhân, phép so sánh gần gũi hơn là một công ty tiếp thị đang chuẩn bị chiến lược cho khách hàng mới. Một nhà phân tích thực hiện SWOT, người khác phân tích đối thủ cạnh tranh, người thứ ba tạo hồ sơ đối tượng khách hàng, một nhà phân tích cấp cao lọc bỏ các giả thuyết không phù hợp với ngân sách, còn quản lý dự án lắp ghép bản trình bày cuối cùng. Trong Claude Code, quy trình này bắt đầu bằng một câu — và người phản biện được tích hợp vào quy trình ngay từ đầu thay vì chỉ xuất hiện sau đó.

### Prompt điều phối tối thiểu

Một câu trong cuộc trò chuyện chính là đủ:

```
Launch five subagents in parallel: three research-agents on different sources
(Anthropic docs, GitHub repos, AI bloggers), one critic-agent to filter out
weak conclusions, and one summary-agent for the final document.

Context: I am writing a guide about X. Target length: 2,000 words with sources.
Before starting, each one reads CLAUDE.md.
```

Sau đó Claude giao việc cho năm agent. Mỗi agent làm việc trong ngữ cảnh riêng: các research agent dùng những nguồn tương ứng, critic lọc kết quả và summary agent biên soạn. Chỉ các phần tóm tắt cuối cùng được gửi về cuộc trò chuyện chính.

### Khi nào nên xử lý song song

Không phải lúc nào cũng nên. Chỉ xử lý song song khi:

1.  Các nhiệm vụ **độc lập**. Nếu research-agent #2 đang chờ kết quả của research-agent #1, sẽ không có xử lý song song — trên thực tế chúng sẽ làm việc tuần tự.
2.  Các nhiệm vụ **mất nhiều thời gian**. Xử lý song song việc “xóa khoảng trắng ở cuối dòng” là vô nghĩa; thời gian khởi chạy subagent sẽ triệt tiêu phần lợi ích.
3.  Bạn có **đủ hạn mức**. Phần sau có thêm thông tin — subagent chạy song song tiêu tốn token rất nhanh.

### Multi-Agent v2 của Anthropic: bước tiếp theo

Vào tháng 5 năm 2026, Anthropic phát hành Multi-Agent Orchestration v2 với ba điểm khác biệt quan trọng so với cách tiếp cận cổ điển là khởi chạy subagent song song. Phần sau sẽ nói thêm.

## Có gì mới trong Multi-Agent v2: điều phối, kết quả, Dreaming

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Vào ngày 6 tháng 5 năm 2026, tại hội nghị Code with Claude ở San Francisco, Anthropic công bố ba tính năng Managed Agents v2 — tất cả đều ở giai đoạn beta công khai. Multi-Agent Orchestration cho phép agent dẫn dắt chia công việc và giao song song cho các chuyên gia với hệ thống tệp dùng chung. Outcomes cho phép bạn viết tiêu chí thành công, sau đó một agent chấm điểm riêng kiểm tra kết quả. Dreaming giống như giấc ngủ REM: một quy trình chạy theo lịch đọc các phiên trước, tìm ra khuôn mẫu và cập nhật bộ nhớ của agent.

</div>

### Multi-Agent Orchestration: Hệ thống tệp dùng chung + các lần kiểm tra giữa quy trình

Anthropic mô tả tính năng này như sau:

<figure>
<blockquote>
<p>Khi công việc quá nhiều để một agent đảm nhiệm, điều phối đa tác nhân cho phép agent dẫn dắt chia nhiệm vụ thành nhiều phần và giao từng phần cho một chuyên gia có mô hình, prompt và công cụ riêng. Các chuyên gia này làm việc song song trên một hệ thống tệp dùng chung và đưa kết quả vào ngữ cảnh dùng chung của agent dẫn dắt.</p>
</blockquote>
<figcaption>— Anthropic - Mới trong Claude Managed Agents, https://claude.com/blog/new-in-claude-managed-agents</figcaption>
</figure>

Điểm khác biệt cốt yếu so với subagent cổ điển là **hệ thống tệp dùng chung**. Trước đây, mỗi subagent làm việc hoàn toàn độc lập, chỉ trao đổi thông qua phần tóm tắt được trả về. Giờ đây, các chuyên gia có thể ghi vào thư mục dùng chung, và agent dẫn dắt đọc kết quả trong lúc công việc đang tiến triển chứ không chỉ vào cuối cùng. Điều này giải quyết vấn đề “mọi người làm cả ngày, đến cuối mới phát hiện hai người theo đuổi các cách tiếp cận không tương thích”.

Tiếp theo là **các lần kiểm tra giữa quy trình**. Agent dẫn dắt có thể tạm dừng và hỏi bất kỳ chuyên gia nào “tiến độ thế nào”, rồi điều chỉnh kế hoạch tổng thể. Cách này gần với cách quản lý một đội ngũ thực thụ.

### Outcomes: Lộ trình đánh giá thay cho hướng dẫn từng bước

Với Outcomes, bạn viết tiêu chí thành công, còn agent tìm cách đáp ứng chúng. Một agent chấm điểm riêng kiểm tra kết quả trong ngữ cảnh của chính nó để không bị “nhiễm bẩn” bởi lập luận của agent chính.

<figure>
<blockquote>
<p>Điều này cải thiện khả năng hoàn thành nhiệm vụ đến 10 điểm so với vòng lặp prompt tiêu chuẩn, với mức tăng lớn nhất ở những nhiệm vụ khó nhất.</p>
</blockquote>
<figcaption>— Anthropic - Mới trong Claude Managed Agents, https://claude.com/blog/new-in-claude-managed-agents</figcaption>
</figure>

Mức tăng mười phần trăm ở các nhiệm vụ khó là một cải thiện đáng kể. Nhất là khi nhiệm vụ được đặt ra là “soạn một bài viết dài đáp ứng những tiêu chí chất lượng này”, thay vì “làm theo các bước 1–7”.

### Dreaming: Agent tích lũy kinh nghiệm giữa các phiên

Đây là tính năng mới nhất về mặt khái niệm. Agent xem lại các phiên trước, tìm ra khuôn mẫu trong thành công và sai lầm, rồi cập nhật kho bộ nhớ. Bạn có thể cấu hình để duyệt thủ công trước khi áp dụng thay đổi, hoặc cho phép agent tự chỉnh sửa bộ nhớ.

Anthropic cho biết Harvey (một công ty công nghệ pháp lý) đạt mức tăng thành công khoảng sáu lần trong các nhiệm vụ soạn thảo pháp lý sau khi triển khai Dreaming. Tính năng này đã hoạt động trong môi trường sản xuất, không chỉ là bản demo.

### Điều này có ý nghĩa gì với doanh nhân không lập trình

Hiện tại, Multi-Agent Orchestration có trên Claude Agent SDK, chứ chưa được tích hợp trực tiếp vào Claude Code CLI. Nhưng xu hướng đã rõ: điều phối đang chuyển từ “bạn tự khởi chạy N subagent” sang “bạn mô tả nhiệm vụ, rồi agent dẫn dắt quyết định giao việc cho ai và theo cách nào”. Nếu bạn mới bắt đầu với subagent, đừng lo về v2. Hãy học mô hình cổ điển “1 cuộc trò chuyện chính + 3–5 subagent với các vai trò khác nhau”, rồi trong 3–6 tháng bạn có thể chuyển tự nhiên sang Managed Agents.

## 7 sai lầm khiến subagent không thể hoạt động

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Các vấn đề phổ biến nhất với subagent không phải lỗi của Claude, mà là sai sót trong chính các subagent. Mô tả thiếu cụm từ kích hoạt, dùng subagent cho nhiệm vụ phù hợp với Skill, chạy 60 agent song song “vì trông ngầu”, cấp cho mọi agent tất cả công cụ, không quy định định dạng đầu ra rõ ràng, lời gọi mơ hồ và kiến trúc dựa trên vai trò thay vì nhiệm vụ. Mỗi sai lầm này đều làm hỏng khâu kích hoạt hoặc kết quả của subagent.

</div>

### Sai lầm 1. Mô tả kiểu “Trợ lý cho X” không kích hoạt agent

Triệu chứng: bạn viết subagent, kiểm tra cấu trúc và thấy mọi thứ đều hợp lệ, nhưng Claude không gọi nó để đáp ứng yêu cầu của người dùng. Hầu như lúc nào lý do cũng giống nhau: mô tả trừu tượng, chẳng hạn “Trợ lý review code”. Cách sửa: viết 3–5 câu nói thực tế của người dùng trong dấu ngoặc kép ngay trong mô tả, đồng thời thêm “dùng chủ động” / “dùng ngay sau khi”.

### Sai lầm 2. Tạo subagent trong khi cần Skill

Subagent tốn kém hơn Skill — nó tạo ngữ cảnh riêng, nạp system prompt riêng và dùng nhiều token hơn. Nếu nhiệm vụ ngắn, không tiêu tốn ngữ cảnh chính và có thể hoàn thành trong một lượt, thì nên dùng Skill thay vì subagent. Ví dụ phản mẫu: subagent `format-validator` kiểm tra JSON schema theo 20 quy tắc. Việc này nên dùng Skill: một mô hình, không cần cô lập và không nạp thêm ngữ cảnh.

### Sai lầm 3. Ngay từ đầu đã khởi chạy “60 agent song song”

Đây là ảo tưởng phổ biến nhất. Bạn thấy dòng tweet nói “Tôi có 1,500 agent đang làm việc”, rồi nghĩ “mình cũng nên làm thế”. Trên thực tế, 60 agent sẽ tiêu hết hạn mức gói Pro trong một giờ, tạo ra đống kết quả mâu thuẫn và đến cuối ngày bạn chẳng hoàn thành được gì.

Một người thực hành trên Medium diễn đạt như sau:



Cách sửa: bắt đầu với một subagent cho một nhiệm vụ. Sau khi thành thạo, hãy thêm agent thứ hai với vai trò khác. Khi đã thành thạo việc điều phối hai agent, hãy chuyển sang đội ngũ 3–5 agent. Nhảy từ “hôm qua mới cài Claude Code” sang “hôm nay chạy 20 agent song song” chắc chắn sẽ làm hỏng mã và tiêu hết hạn mức.

### Sai lầm 4. Cấp cho mọi agent tất cả công cụ

Nếu người review code của bạn được truy cập Bash, Write và WebFetch, đó là lỗ hổng lớn về bảo mật và chi phí. Người review không nên có quyền ghi tệp, càng không nên truy cập internet.



Cách sửa: giới hạn nghiêm ngặt `tools`. Người review code chỉ cần `Read, Grep, Glob`. Kiểm toán viên bảo mật cũng dùng công cụ đọc/tìm và diff từ phiên chính. Thêm Bash cấp khả năng shell, không tự giới hạn vào `git diff`. Agent nghiên cứu được dùng `WebFetch, WebSearch, Read, Write`. Đừng cấp cho subagent nhiều quyền hơn mức cần thiết để xử lý một nhiệm vụ cụ thể.

### Sai lầm 5. Subagent đổ kết quả thô vào ngữ cảnh chính

Nếu research agent trả về cuộc trò chuyện chính câu “đây là toàn bộ 30 trang tôi tìm được; tự xem đi”, bạn đã đánh mất lợi ích chính của subagent: cô lập nhiễu. Cách sửa: yêu cầu rõ định dạng đầu ra trong system prompt của subagent. “CHỈ trả về: TL;DR gồm 3 gạch đầu dòng + danh sách 5 nguồn. KHÔNG có bản đổ mã, KHÔNG có kết quả tìm kiếm thô.” Định dạng này cần **nghiêm ngặt** — subagent không nên được tự do “biến nó thành bài luận”.

### Sai lầm 6. Lời gọi mơ hồ: yêu cầu giao việc không rõ ràng

Subagent **không thể xem** lịch sử hội thoại chính. Nó bắt đầu với ngữ cảnh trống + CLAUDE.md + những gì bạn viết rõ cho nó. Nếu bạn chỉ viết “sửa xác thực”, subagent sẽ bịa ra thông tin. Hãy viết rõ: “Sửa vòng lặp chuyển hướng OAuth, trong đó sau khi đăng nhập thành công, người dùng bị chuyển về /login thay vì /dashboard. Tệp: src/lib/auth.ts.”

Quy tắc rõ ràng: khi giao việc, hãy cung cấp cho subagent nhiều ngữ cảnh như bạn sẽ cung cấp cho nhà thầu mới vừa tham gia dự án.

### Sai lầm 7. Agent dựa trên vai trò thay vì nhiệm vụ

Một mô hình hấp dẫn là: “hãy tạo frontend-developer, backend-developer và qa-engineer, rồi cho họ làm việc như một đội”. Cách này không hiệu quả. Mỗi “vai trò” mất ngữ cảnh về toàn bộ dự án, và các agent không thể thống nhất chi tiết vì không nhìn thấy nhau.

Cách sửa: subagent nên xử lý một **nhiệm vụ** lặp lại với đầu ra rõ ràng, chứ không phải một **vai trò**. Không phải “frontend-developer”, mà là “explore-ui-tree”, “refactor-component”, “audit-accessibility”. Mỗi subagent theo nhiệm vụ thực hiện một việc cụ thể và trả về một kết quả cụ thể.

## Subagent chạy song song tốn bao nhiêu, và khi nào thì đáng dùng?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent chạy song song tiêu tốn token nhanh gấp 3–5 lần so với làm tuần tự. Với gói Pro (\$20/tháng), chạy 5 subagent song song đồng nghĩa với việc tiêu hết hạn mức trong một giờ. Max 5x (\$100/tháng) là mức tối thiểu thực tế để thường xuyên xử lý song song. Subagent đáng dùng cho nhiệm vụ đòi hỏi ít nhất 10 phút làm việc tập trung — khởi chạy một agent chỉ để sửa lỗi chính tả trong README sẽ tốn nhiều token hơn thời gian tiết kiệm được.

</div>



| Cấu hình | Mức sử dụng hằng ngày khi làm việc tích cực |
|----|----|
| 1 phiên Claude Code | ~\$13 |
| 3 subagent song song | ~\$30-40 |
| 5–10 agent song song | \$50-130 |
| 30 agent (10 nhà phát triển × 3 subagent) | \$300-400 |

Gói Pro sẽ hết hạn mức trong vòng một giờ nếu bạn chạy 5 subagent song song cho các nhiệm vụ phức tạp. Max 5x ($100) là mức tối thiểu thực tế để thường xuyên xử lý song song. Với nhóm và gói Enterprise, vấn đề chi phí đã được tính trong ngân sách công cụ.

Để tìm hiểu thêm về cách tiết kiệm token trong Claude Code, hãy xem [hướng dẫn riêng về giới hạn](https://ailoot.ai/blog/vi/claude-code-token-limits-saving/). Với subagent, quy tắc quan trọng là chỉ đáng dùng cho nhiệm vụ cần **ít nhất 10 phút** làm việc tập trung. Nếu nhiệm vụ ngắn hơn, đừng tạo subagent; hãy xử lý trong cuộc trò chuyện chính hoặc dùng Skill.

## Tích hợp subagent vào bản sao AI và Bộ não thứ hai như thế nào?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

Điểm chính

Subagent là bước thứ tư trong phương pháp Claude Code. Trình tự hợp lý là: trước hết là [CLAUDE.md](https://ailoot.ai/blog/vi/claude-md-template/) (ngữ cảnh thường trực), sau đó là [Skills](https://ailoot.ai/blog/vi/claude-code-skills-library/) (phương pháp có sẵn), rồi đến [Bộ não thứ hai](https://ailoot.ai/blog/vi/claude-code-second-brain/) (cấu trúc kiến thức dự án), cuối cùng mới đến Subagent (nhân sự chuyên biệt). Đảo ngược thứ tự này sẽ tạo ra sự hào nhoáng mà không có kết quả. Subagent không có CLAUDE.md sẽ bịa thông tin; không có Skills, nó sẽ lặp lại cùng một công việc từ đầu mỗi lần; không có cấu trúc kiến thức, nó sẽ đưa ra câu trả lời trung bình.

</div>

Trước khi tạo chuyên gia đầu tiên, dự án của bạn nên có ba thứ mà subagent dựa vào:

1.  **[CLAUDE.md](https://ailoot.ai/blog/vi/claude-md-template/) phù hợp.** Subagent đọc CLAUDE.md trước khi bắt đầu — đó là “hợp đồng lao động” của nó. Nếu không có tệp này, subagent không biết ngữ cảnh dự án, các hạn chế hay giọng điệu cần dùng. Nó sẽ bịa thông tin.

2.  **[Skills](https://ailoot.ai/blog/vi/claude-code-skills-library/) cơ bản.** Skill là một phương pháp được đóng gói. Subagent chỉ nạp những Skill cần thiết, không nạp tất cả cùng lúc. Nếu không có Skills, subagent sẽ lặp lại cùng một công việc từ đầu mỗi lần.

3.  **[Bộ não thứ hai](https://ailoot.ai/blog/vi/claude-code-second-brain/): cấu trúc kiến thức.** Thư mục `business/` (hoặc cấu trúc tương đương trong lĩnh vực của bạn) là thư viện mà mọi subagent đều tham khảo. Nếu không có nó, subagent sẽ đưa ra câu trả lời ChatGPT trung bình, chẳng khác gì câu trả lời của bất kỳ ai khác.

Đảo ngược thứ tự này sẽ tạo ra sự hào nhoáng mà không có kết quả. “Tôi có 60 subagent chạy song song” mà thư mục `business/` trống không có nghĩa gì ngoài 60 phiên ChatGPT trung bình cùng dùng một cách tiếp cận.

Sự kết hợp hoàn chỉnh — **bản sao AI + Bộ não thứ hai + Kỹ thuật ngữ cảnh** — là **ba trụ cột** giúp Claude nhất quán. Subagent là một phần của bản sao AI: cách cung cấp cho Claude một đội ngũ chuyên biệt hoạt động theo logic của bạn.

<div class="section" role="doc-bibliography" aria-label="Sources">

### Nguồn tham khảo

- [Tạo subagent tùy chỉnh - Tài liệu Claude Code](https://code.claude.com/docs/en/sub-agents)
- [Giúp Claude Code hoạt động tự chủ hơn - Anthropic News](https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously)
- [Cách chúng tôi xây dựng hệ thống nghiên cứu đa tác nhân - Anthropic Engineering](https://www.anthropic.com/engineering/multi-agent-research-system)
- [Trang bị kỹ năng Agent cho thế giới thực - Anthropic Engineering](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills)
- [Mới trong Claude Managed Agents (Multi-Agent v2, Outcomes, Dreaming) - Anthropic blog](https://claude.com/blog/new-in-claude-managed-agents)

</div>

Cách nhanh nhất để bắt đầu là sao chép `code-reviewer` từ ví dụ đầu tiên ở trên vào `.claude/agents/code-reviewer.md`, khởi động lại Claude Code rồi gọi `@agent-code-reviewer` trong lần commit tiếp theo. Chỉ trong 5 phút, bạn sẽ biết mình có cần subagent hay chỉ cần cuộc trò chuyện chính.



<div class="aside" data-semantic="ailoot-link" aria-label="Ailoot">

Bạn có thể tiếp tục khám phá Ailoot tại [ailoot.ai](https://ailoot.ai/).

</div>

## Câu hỏi thường gặp

### Reviewer chỉ chạy được git diff nếu lời nhắc yêu cầu vậy không?

Không. Cấp Bash là cấp khả năng shell; lời nhắc không phải danh sách cho phép lệnh. Mẫu reviewer chỉ đọc bỏ Bash, Write, Edit và nhận diff từ phiên chính.

### Reviewer không có Bash xem thay đổi gần đây thế nào?

Phiên chính cung cấp diff và danh sách tệp đổi khi giao việc. Reviewer dùng Read, Grep, Glob đọc và tìm trong các tệp đó rồi trả phát hiện, không sửa chúng.


## Ailoot · Công ty và danh mục dự án của công ty

Ailoot dựa trên kinh nghiệm vận hành tích lũy, cơ sở khách hàng lớn, dịch vụ ổn định và việc kiểm soát KPI liên tục.

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Ailoot áp dụng kinh nghiệm vận hành này để cung cấp quyền truy cập API vào các tính năng AI trong sản phẩm của khách hàng, tác tử, ứng dụng và quy trình tự động hóa.
