TROISINH
Harness EngineeringMulti-Agent Architecture

3 mô hình Subagent: Fork, Teammate, Worktree

Khám phá 3 pattern subagent trong Claude Code - Fork để thử nghiệm song song, Teammate để chuyên môn hóa, Worktree để cô lập trạng thái. Khi nào đáng tăng ch...

Định nghĩa

Subagent là agent con được parent agent tạo ra (spawn) để xử lý task cụ thể với ngữ cảnh và quyền hạn riêng. Ba mô hình Fork, Teammate, và Worktree — được Anthropic công bố qua hệ thống Claude Code — là các pattern thực chiến để tổ chức công việc giữa parent và subagent, giải quyết bài toán "single agent làm quá nhiều thứ dẫn đến premature declaration" bằng cách phân chia rõ ràng trách nhiệm và cô lập trạng thái.

Giải thích chi tiết

Fork — Thử nghiệm song song nhiều hướng tiếp cận

Pattern Fork cho phép parent agent tạo ra nhiều subagent chạy song song, mỗi agent thử một giải pháp khác nhau cho cùng một vấn đề.

Về bản chất, đây là chiến lược "không bỏ trứng vào một giỏ" áp dụng cho AI. Khi đối mặt với bug khó hoặc design quyết định quan trọng, parent spawn 3-4 subagent cùng lúc: agent A nghiên cứu nguyên nhân network, agent B kiểm tra database, agent C review logic code. Subagent nào tìm ra giải pháp tốt nhất (được Evaluator chấm điểm) sẽ được merge vào luồng chính.

Trade-off rõ ràng: chi phí tăng tuyến tính (gọi 4 subagent = 4x token cost), nhưng thời gian giải quyết giảm đáng kểchất lượng tối ưu hơn so với single agent phải thử lần lượt. Đây là lý do tại sao paper SWE-agent ghi nhận chi phí 200chofullharnesssovi200 cho full harness so với 9 khi chạy solo — bạn trả tiền cho parallelism và redundancy.

Teammate — Chuyên môn hóa theo vai trò

Teammate là pattern tạo subagent với persona và kỹ năng cụ thể, tương tự kiến trúc 3-Agent của Anthropic (Planner → Generator → Evaluator).

Khác với Fork (cùng task, nhiều hướng), Teammate chia nhỏ workflow theo separation of concerns. Parent đóng vai trò orchestrator, spawn Teammate A chỉ để phân tích yêu cầu (Planner), Teammate B chỉ để viết code (Generator), Teammate C chỉ để review và test (Evaluator). Mỗi teammate nhận context window riêng phù hợp với vai trò — Planner nhận spec dài, Generator nhận pseudocode, Evaluator nhận diff và test cases.

Pattern này giải quyết vấn đề "context contamination" — khi một agent phải nhảy liên tục giữa chế độ "sáng tạo" và "phê bình", dẫn đến hiệu suất kém. Teammate cố định mode cho từng agent, giống như trong nhóm phát triển con người: người viết code không nên tự review ngay lập tức.

Worktree — Cô lập trạng thái như Git branch

Worktree tạo subagent với workspace hoàn toàn tách biệt — giống như git checkout -b tạo nhánh mới không ảnh hưởng đến main.

Khi parent cần thử nghiệm refactor risky hoặc thư viện mới, thay vì modify trực tiếp file system (risk corrupting working state), parent spawn subagent vào worktree riêng. Subagent thực hiện thay đổi, chạy test, validate. Nếu thành công, parent merge kết quả về; nếu thất bại, parent đơn giản discard worktree — không cần rollback, không có technical debt.

Pattern này đặc biệt quan trọng trong Harness Engineering vì nó cung cấp fault isolation. Subagent có thể cài đặt dependency lạ, thay đổi environment variable, hoặc thậm chí crash — tất cả đều containment trong worktree không leak ra parent.

Ví dụ thực tế

Debug production outage với Fork

Hệ thống production crash. Parent agent spawn 3 subagent Fork:

  • Fork A: Kiểm tra log network, timeout, connection pool
  • Fork B: Phân tích database query, lock contention, transaction log
  • Fork C: Review recent code deployment, dependency changes

Cả 3 chạy song song. Fork B phát hiện deadlock trong 45 giây, trong khi Fork A xác nhận network ổn định. Parent tổng hợp kết luận, không cần đợi sequential investigation. Chi phí: 3x token usage. Thời gian phản hồi: giảm từ 15 phút xuống 2 phút.

Code review pipeline với Teammate

Triển khai kiến trúc 3-agent cho feature implementation:

  1. Planner Teammate: Nhận Jira ticket, phân rã thành 5 subtask với acceptance criteria cụ thể. Output: technical spec dạng pseudocode.
  2. Generator Teammate: Nhận spec từ Planner, viết Python implementation. Không được tự ý thay đổi spec — chỉ implement exactly.
  3. Evaluator Teammate: Nhận diff từ Generator, chạy unit test, integration test, và static analysis. Nếu pass, approve; nếu fail, return feedback cụ thể cho Generator.

Parent chỉ điều phối, không viết code. Mỗi Teammate giữ context window "sạch" cho vai trò của mình — Generator không bị bias bởi plan cũ nếu plan thay đổi.

Experimental refactoring với Worktree

Parent cần thử nghiệm migrate từ REST sang GraphQL — breaking change tiềm ẩn.

Spawn Worktree Subagent với snapshot code hiện tại. Subagent:

  • Tạo branch experiment/graphql
  • Rewrite 3 core API endpoints
  • Chạy full test suite trong worktree riêng

Kết quả: 40% test fail. Parent discard worktree, main codebase không bị ảnh hưởng. Thử lại lần 2 với strategy khác — lần này pass 95%. Parent merge worktree về main, commit lịch sử clean.

Không Worktree, parent phải tự implement rồi tự rollback khi fail — rủi ro cao và tốn thời gian cleanup.

Ứng dụng

Với AI Engineer đang xây dựng harness:

  • Dùng Fork cho ambiguous problem (debug, optimization, design choice) — parallelism đáng giá khi uncertainty cao
  • Dùng Teammate cho complex workflow đòi hỏi nhiều kỹ năng khác nhau — triển khai kiến trúc Planner-Generator-Evaluator
  • Dùng Worktree cho mọi thao tác destructive (refactor, migration, upgrade dependency) — bắt buộc fault isolation trong production system

Với Tech Lead thiết kế team workflow: Chia team thành các "human teammate" tương ứng: một người đóng vai Planner (architect), nhiều dev là Generator, QA/Automation là Evaluator. AI subagent không thay thế mà augment từng vai trò — Planner dùng AI để phân rã task nhanh hơn, Generator dùng AI để viết boilerplate, Evaluator dùng AI để tăng coverage test.

Với Developer sử dụng Claude Code: Hiểu rõ khi nào Claude tự động spawn subagent. Khi bạn yêu cầu "thử 3 cách khác nhau", Claude dùng Fork. Khi bạn yêu cầu "phân tích rồi code", Claude dùng Teammate. Khi bạn yêu cầu "thử refactor này nhưng đừng ảnh hưởng code chính", Claude dùng Worktree.

So sánh

PatternMục đích chínhSong songCô lập trạng tháiChi phí tokenĐộ phức tạp debug
ForkThử nghiệm đa hướngCó (parallel)Không (chia sẻ context gốc)Cao (xN lần N fork)Cao (merge nhiều kết quả)
TeammatePhân chia chuyên mônKhông (thường sequential)Không (handoff context)Trung bình (tổng các step)Trung bình (trace theo pipeline)
WorktreeCô lập thử nghiệmKhông (isolated)Có (giống git branch)Thấp đến Trung bìnhThấp (dễ discard/merge)

Kết luận: Fork trả giá bằng tiền để mua thời gian và diversity; Teammate trả giá bằng latency tuần tự để mua chất lượng và separation of concerns; Worktree trả giá bằng storage/disk space để mua safety. Single agent vẫn đủ cho 80% task đơn giản — chỉ nên triển khai 3 pattern này khi bạn chấp nhận chi phí 200thayvıˋ200 thay vì 9 để đạt được độ tin cậy và hiệu suất của hệ thống production.

Bài viết liên quan

Cùng cụm Multi-Agent

Tại sao cần Multi-Agent?

Khi single agent bị quá tải và tuyên bố xong sớm — hiểu rõ failure modes trước khi chọn pattern phù hợp

Kiến trúc 3-Agent của Anthropic

Planner → Generator → Evaluator: Nền tảng lý thuyết cho pattern Teammate trong Claude Code

Agent Communication

Mailbox, shared state, event bus — cách subagent trao đổi thông tin với parent và siblings

Parallel vs Sequential Agents

Khi nào dùng Fork (parallel) và khi nào dùng Teammate (sequential) — bản đồ quyết định chiến lược

Đọc tiếp

Harness Fundamentals

Quay lại nền tảng để hiểu tại sao cần thiết kế hệ thống (harness) cho AI thay vì chỉ viết prompt

State & Session Management

Đi sâu vào cơ chế cô lập trạng thái — nền tảng kỹ thuật cho pattern Worktree

Security & Guardrails

Subagent có quyền hạn gì? Làm sao ngăn Worktree bị leak hoặc Fork bị prompt injection — bảo mật trong multi-agent

On this page