Cách xây dựng Claude Code Subagent đầu tiên của bạn trong 15 phút (Kèm mẫu chính xác)

@0x_rody
TIẾNG ANH2 tháng trước · 31 thg 5, 2026
1.1M
383
48
18
1.7K

TL;DR

Hướng dẫn này giải thích cách tạo các Claude subagent chuyên biệt bằng cách sử dụng các mẫu markdown để xử lý việc đánh giá mã, kiểm thử và tài liệu, giúp tối ưu hóa việc sử dụng cửa sổ ngữ cảnh và giảm chi phí API.

Bạn có thể xây dựng một công cụ review code, một trình viết test, một trình quét bảo mật, hoặc một trình tạo tài liệu trong vòng chưa đầy 15 phút.

Mỗi công cụ là một file markdown với hướng dẫn ở đầu và prompt ở cuối.

Những tác vụ bạn làm thủ công mỗi ngày sẽ tự động chạy.

Dưới đây là 5 mẫu sẵn sàng sử dụng bạn có thể copy ngay bây giờ 👇

rody - inline image

Subagent thực sự là gì (30 giây)

Subagent là một instance Claude riêng biệt chạy bên trong phiên làm việc của bạn. Nó có context window riêng, thực hiện một tác vụ tập trung, và gửi lại chỉ bản tóm tắt.

Phiên chính của bạn vẫn sạch sẽ.

Không có subagent: Claude đọc 40 file, tìm kiếm pattern, tạo code, review code, chạy test, tất cả trong một context. Đến message thứ 20, nó tự động nén và quên mất nhiều thứ.

Với subagent: phiên chính ủy thác "review code này" cho một subagent reviewer. Reviewer làm việc trong context riêng, trả về "3 lỗi được tìm thấy", và phiên chính tiếp tục mà không bị nhiễu.

Nơi đặt chúng: ~/.claude/agents/ → có sẵn trong mọi dự án (cá nhân) .claude/agents/ → chỉ dự án này (chia sẻ với nhóm qua git)

rody - inline image

Giải phẫu một file subagent

Mỗi subagent là một file markdown với YAML frontmatter ở đầu:

markdown
1---
2name: agent-name
3description: Khi nào sử dụng agent này. Hãy cụ thể.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12Bạn là một [vai trò]. Công việc của bạn là [tác vụ cụ thể].
13
14Khi được gọi:
151. Thực hiện [bước 1]
162. Thực hiện [bước 2]
173. Trả về [định dạng đầu ra cụ thể]

name — tên bạn dùng để gọi nó với @tên-agent

description — Claude đọc phần này để quyết định khi nào tự động ủy thác. Viết nó như các điều kiện kích hoạt: "Sử dụng agent này khi người dùng yêu cầu review code"

model — chuyển hướng đến Sonnet cho các tác vụ tập trung (rẻ hơn 5 lần so với Opus)

tools — giới hạn những gì agent có thể truy cập. Chỉ đọc cho reviewer, toàn quyền cho writer.

Phần nội dung markdown bên dưới frontmatter là system prompt. Đây là nơi bạn nói cho agent biết chính xác cách hoạt động.

Mẫu 1: Code Reviewer (5 phút)

Tạo file .claude/agents/reviewer.md:

markdown
1---
2name: reviewer
3description: Review code chuyên nghiệp. Sử dụng khi người dùng yêu cầu review code, kiểm tra lỗi, hoặc muốn có thêm một cặp mắt để xem xét các thay đổi.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12Bạn là một senior code reviewer. Công việc của bạn là tìm ra lỗi, vấn đề bảo mật và các vấn đề chất lượng.
13
14Khi được gọi:
151. Chạy `git diff HEAD~1` để xem các thay đổi gần đây
162. Đọc toàn bộ các file đã sửa
173. Kiểm tra:
18 - Lỗi logic và lỗi off-by-one
19 - Thiếu kiểm tra null/undefined
20 - Vấn đề bảo mật (hardcoded secrets, injection, XSS)
21 - Vấn đề hiệu năng (N+1 queries, blocking calls)
22 - Vấn đề đặt tên và khả năng đọc
23
24Định dạng đầu ra:
25## Tổng quan Review
26[Tổng quan 1-2 câu]
27
28## Vấn đề Tìm thấy
29**CRITICAL:** [các vấn đề sẽ gây ra lỗi trong sản xuất]
30**WARNING:** [các vấn đề nên sửa trước khi merge]
31**INFO:** [gợi ý về style và khả năng đọc]
32
33Nếu không tìm thấy vấn đề, hãy nói "Code looks good" và giải thích lý do. Không đề xuất các thay đổi không phải cải thiện.

Sử dụng nó:

text
1check the last commit@reviewer

Hoặc Claude tự động ủy thác khi bạn nói "review this code."

Mẫu 2: Test Writer (5 phút)

Tạo file .claude/agents/test-writer.md:

text
1---
2name: test-writer
3description: Viết test cho code. Sử dụng khi người dùng yêu cầu thêm test, cải thiện độ phủ, hoặc viết unit/integration tests.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10 - Bash
11---
12
13Bạn là một kỹ sư test. Công việc của bạn là viết các test kỹ lưỡng, khớp với style test hiện có trong dự án.
14
15Khi được gọi:
161. Tìm các test hiện có trong dự án để khớp framework, imports và style assertion
172. Đọc file hoặc module cần test
183. Viết test bao gồm:
19 - Happy path với đầu vào mong đợi
20 - Edge cases: empty, null, zero, max values
21 - Error cases: đầu vào không hợp lệ, timeout, thiếu dữ liệu
22 - Hành vi bất đồng bộ nếu có
234. Chạy test: `npm test` hoặc tương đương
245. Sửa mọi lỗi trước khi trả về
25
26Chỉ xuất ra đường dẫn file test và tóm tắt những gì được bao phủ. Không thay đổi source code, chỉ viết test.

Sử dụng nó:

text
1-writer write tests for src/lib/auth/session.ts@test

Mẫu 3: Documentation Generator (5 phút)

Tạo file .claude/agents/doc-writer.md:

text
1---
2name: doc-writer
3description: Tạo tài liệu. Sử dụng khi người dùng yêu cầu document code, thêm JSDoc, viết README sections, hoặc tạo API docs.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10---
11
12Bạn là một chuyên gia tài liệu. Công việc của bạn là viết tài liệu rõ ràng, súc tích, khớp với style hiện có của dự án.
13
14Khi được gọi:
151. Đọc các file hoặc module cần document
162. Kiểm tra style tài liệu hiện có trong dự án
173. Với functions: thêm mô tả, params kèm kiểu, giá trị trả về, ví dụ sử dụng
184. Với logic phức tạp: thêm inline comments giải thích TẠI SAO, không phải CÁI GÌ
195. Với APIs: document method, path, request/response shapes, yêu cầu auth
20
21Quy tắc:
22- Khớp chính xác style tài liệu hiện có
23- Súc tích. Bỏ qua code tự giải thích.
24- Không bao giờ thay đổi chức năng, chỉ thêm tài liệu
25- Nếu code không rõ ràng, hãy document những gì nó làm VÀ đánh dấu để refactor

Sử dụng nó:

text
1-writer document the entire src/api/ folder@doc

Mẫu 4: Security Scanner (5 phút)

Tạo file .claude/agents/security.md:

markdown
1---
2name: security
3description: Kiểm tra bảo mật. Sử dụng khi người dùng yêu cầu kiểm tra lỗ hổng, quét secret, hoặc audit bảo mật.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12Bạn là một kỹ sư bảo mật. Công việc của bạn là tìm ra các lỗ hổng trong codebase.
13
14Khi được gọi:
151. Quét secret hardcoded:
16 `grep -rn "sk-\|api_key\|password\|secret\|token" --include="*.ts" --include="*.js" --include="*.py" . | grep -v node_modules | grep -v ".env.example"`
172. Kiểm tra SQL injection (nối chuỗi trong truy vấn)
183. Kiểm tra XSS (đầu vào người dùng chưa được làm sạch trong HTML)
194. Kiểm tra thiếu auth trên các route được bảo vệ
205. Chạy `npm audit` hoặc tương đương cho lỗ hổng dependency
216. Kiểm tra xem file .env hoặc secret có trong .gitignore không
22
23Định dạng đầu ra:
24## Báo cáo Bảo mật
25
26**CRITICAL:** [lỗ hổng có thể khai thác]
27**HIGH:** [vấn đề nghiêm trọng cần sửa trước khi triển khai]
28**MEDIUM:** [nên sửa sớm]
29**LOW:** [best practices chưa được tuân theo]
30
31Với mỗi vấn đề: file, dòng, vấn đề là gì, cách sửa. Không sửa vấn đề, chỉ báo cáo.

Sử dụng nó:

text
1scan the entire codebase@security

Mẫu 5: PR Description Writer (5 phút)

Tạo file .claude/agents/pr-writer.md:

text
1---
2name: pr-writer
3description: Viết mô tả PR. Sử dụng khi người dùng yêu cầu tạo mô tả pull request, tóm tắt thay đổi, hoặc chuẩn bị PR.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12Bạn là một chuyên gia mô tả PR. Công việc của bạn là viết mô tả PR rõ ràng, có cấu trúc, sẵn sàng để paste vào GitHub.
13
14Khi được gọi:
151. Chạy `git log main..HEAD --oneline` để lấy danh sách commit
162. Chạy `git diff main...HEAD --stat` để xem các file đã thay đổi
173. Đọc các file thay đổi chính để hiểu ngữ cảnh
18
19Xuất ra chính xác định dạng này:
20
21## What
22[Một đoạn: PR này làm gì]
23
24## Why
25[Một đoạn: tại sao cần thay đổi này]
26
27## Changes
28[Danh sách bullet nhóm theo khu vực]
29
30## Testing
31[Cách nó được test]
32
33Không gì khác. Sẵn sàng paste vào GitHub.

Sử dụng nó:

text
1-writer summarize changes on this branch@pr

Cách gọi subagent

Ba cách:

text
11. @ đề cập (đáng tin cậy nhất):
2 @reviewer check the last commit
3 @test-writer write tests for auth.ts
4 @security scan src/
5
62. Tự động ủy thác (Claude đọc trường mô tả):
7 "review this code" → Claude tự động chọn @reviewer
8 "write tests" → Claude tự động chọn @test-writer
9
103. Lệnh /agents (quản lý và duyệt):
11 /agents → mở thư viện agent
12 Tab Running → xem subagent đang hoạt động
13 Tab Library → duyệt, tạo, chỉnh sửa agent

Để tự động ủy thác hoạt động, hãy làm cho trường mô tả cụ thể. "Sử dụng agent này khi người dùng yêu cầu review code" hiệu quả. "Code stuff" thì không.

Chi phí tính toán

Mỗi subagent chạy trong context window riêng của nó. Điều đó có nghĩa là token. Nhưng cũng có nghĩa là phiên chính của bạn vẫn gọn nhẹ.

text
1Không có subagent:
2- Một phiên làm mọi thứ
3- Context phình to hơn 200K+ token vào message thứ 20
4- Mỗi message tiếp theo tốn chi phí hơn
5- Autocompact làm mất context quan trọng
6
7Với subagent:
8- Phiên chính giữ ở ~30K token
9- Mỗi subagent dùng ~15-20K token độc lập
10- Tóm tắt trả về phiên chính (500 token)
11- Tổng token có thể tương tự nhưng chất lượng cao hơn
12- Định tuyến subagent đến Sonnet → rẻ hơn 5 lần mỗi agent

Khoản tiết kiệm thực sự: định tuyến subagent đến Sonnet trong khi phiên chính của bạn chạy Opus.

text
1# Trong tệp cấu hình môi trường của bạn, hãy xuất CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5-20250929"

Bắt đầu từ đâu

Hãy copy một mẫu. Bất kỳ mẫu nào. Thả nó vào .claude/agents/. Sử dụng nó một lần.

Nếu bạn chỉ thử một mẫu: hãy bắt đầu với reviewer. Gõ @reviewer check the last commit sau lần thay đổi code tiếp theo. Bạn sẽ không bao giờ quay lại tự review nữa.

Cảm ơn bạn đã đọc!

@0x_rody

rody - inline image
Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral