{"product_id":"claude-code-agent-teams-chay-nhieu-agent-song-song-tren-cung-project","title":"Claude Code Agent Teams — Chay nhieu agent song song tren cung project","description":"\n\u003cp\u003eKhi project lớn dần, một agent duy nhất không thể xử lý mọi thứ trong thời gian hợp lý. Bạn cần frontend, backend và test chạy đồng thời. Claude Code Agent Teams cho phép bạn spawn nhiều sub-agent làm việc song song trên cùng codebase mà không xung đột.\u003c\/p\u003e\n\n\u003ch2\u003eAgent Teams là gì?\u003c\/h2\u003e\n\u003cp\u003eAgent Teams là khả năng của Claude Code cho phép một orchestrator agent phân chia công việc thành nhiều task độc lập, mỗi task được giao cho một sub-agent riêng biệt. Các sub-agent này làm việc đồng thời trên các git worktree riêng, tránh xung đột code và tăng tốc độ phát triển.\u003c\/p\u003e\n\u003cp\u003eThay vì một agent làm tuần tự: viết backend API, rồi frontend UI, rồi test — bạn có thể có ba agent làm ba việc này cùng lúc. Thời gian hoàn thành giảm từ tổng các task xuống chỉ còn bằng task dài nhất.\u003c\/p\u003e\n\n\u003ch3\u003eCác thành phần chính\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOrchestrator Agent:\u003c\/strong\u003e Agent chính phân tích yêu cầu, chia task và điều phối\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSub-agents:\u003c\/strong\u003e Các agent con thực thi từng task cụ thể\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGit Worktrees:\u003c\/strong\u003e Mỗi sub-agent làm việc trên một worktree riêng, là bản sao của repo ở thư mục khác nhưng dùng chung git history\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMerge Strategy:\u003c\/strong\u003e Cách gộp kết quả từ các worktree về branch chính\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eGit Worktrees — Nền tảng của Agent Teams\u003c\/h2\u003e\n\u003cp\u003eGit worktree cho phép bạn có nhiều working directory từ cùng một repository. Mỗi worktree có thể ở một branch khác nhau, và thay đổi ở worktree này không ảnh hưởng worktree kia.\u003c\/p\u003e\n\n\u003ch3\u003eTạo worktree thủ công\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Tao worktree moi tu branch hien tai\ngit worktree add ..\/my-project-feature-a -b feature-a\n\n# Tao worktree tu mot branch cu the\ngit worktree add ..\/my-project-fix-api -b fix-api origin\/main\n\n# Liet ke cac worktree dang hoat dong\ngit worktree list\n\n# Xoa worktree khi xong\ngit worktree remove ..\/my-project-feature-a\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003cp\u003eMỗi worktree là một thư mục độc lập với đầy đủ source code. Bạn có thể chạy Claude Code trong mỗi thư mục đó mà không lo xung đột với các agent khác.\u003c\/p\u003e\n\n\u003ch3\u003eTại sao worktree tốt hơn branch thông thường?\u003c\/h3\u003e\n\u003cp\u003eVới branch thông thường, bạn phải stash hoặc commit thay đổi trước khi switch. Với worktree, mỗi branch có thư mục riêng, cho phép nhiều agent làm việc đồng thời mà không cần đợi nhau. Đây là điều kiện tiên quyết để Agent Teams hoạt động hiệu quả.\u003c\/p\u003e\n\n\u003ch2\u003eTask Decomposition — Chia công việc đúng cách\u003c\/h2\u003e\n\u003cp\u003eBước quan trọng nhất khi dùng Agent Teams là phân chia công việc. Một task tốt cho parallel execution cần thỏa mãn các điều kiện:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eĐộc lập:\u003c\/strong\u003e Các task không sửa cùng một file hoặc chức năng\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRõ ràng:\u003c\/strong\u003e Mỗi task có đầu vào và đầu ra xác định\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCó thể merge:\u003c\/strong\u003e Kết quả của các task có thể gộp lại mà không xung đột\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eVí dụ phân chia task cho một feature CRUD\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Yeu cau: Xay dung chuc nang quan ly san pham\n\n# Task 1 (Sub-agent A): Backend API\n- Tao model Product voi Prisma\n- Viet CRUD endpoints (GET, POST, PUT, DELETE)\n- Viet validation logic\n- File lien quan: src\/models\/, src\/routes\/products.ts, src\/validators\/\n\n# Task 2 (Sub-agent B): Frontend UI\n- Tao trang danh sach san pham\n- Tao form them\/sua san pham\n- Tao component xoa voi confirmation dialog\n- File lien quan: src\/components\/products\/, src\/pages\/products\/\n\n# Task 3 (Sub-agent C): Tests\n- Viet unit tests cho model va validation\n- Viet integration tests cho API endpoints\n- Viet E2E tests cho flow chinh\n- File lien quan: tests\/unit\/products\/, tests\/integration\/, tests\/e2e\/\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eNhững trường hợp KHÔNG nên chia\u003c\/h3\u003e\n\u003cp\u003eKhông phải lúc nào chia task cũng tốt. Tránh chia khi:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003eCác task phụ thuộc lẫn nhau về logic (B cần kết quả của A)\u003c\/li\u003e\n  \u003cli\u003eNhiều task sửa cùng một file (sẽ gây merge conflict)\u003c\/li\u003e\n  \u003cli\u003eTask quá nhỏ, overhead của việc tạo worktree lớn hơn thời gian tiết kiệm\u003c\/li\u003e\n  \u003cli\u003eTask cần hiểu bối cảnh của toàn bộ codebase để quyết định\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eOrchestrator Pattern\u003c\/h2\u003e\n\u003cp\u003eOrchestrator là agent chính chịu trách nhiệm điều phối toàn bộ quy trình. Nó không trực tiếp viết code mà tập trung vào việc phân chia, giám sát và tổng hợp kết quả.\u003c\/p\u003e\n\n\u003ch3\u003eQuy trình của Orchestrator\u003c\/h3\u003e\n\u003col\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePhân tích yêu cầu:\u003c\/strong\u003e Hiểu rõ feature cần xây dựng\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChia task:\u003c\/strong\u003e Xác định các task độc lập có thể chạy song song\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTạo worktrees:\u003c\/strong\u003e Mỗi task một worktree và branch riêng\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSpawn sub-agents:\u003c\/strong\u003e Khởi chạy agent cho từng worktree với chỉ dẫn cụ thể\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGiám sát:\u003c\/strong\u003e Theo dõi tiến độ của từng sub-agent\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMerge:\u003c\/strong\u003e Gộp kết quả từ các branch về branch chính\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eKiểm tra:\u003c\/strong\u003e Chạy test tổng hợp để đảm bảo mọi thứ hoạt động\u003c\/li\u003e\n\u003c\/ol\u003e\n\n\u003ch3\u003eCấu hình orchestrator trong CLAUDE.md\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# CLAUDE.md - Orchestrator Configuration\n\n## Agent Teams Protocol\n\nKhi nhan yeu cau phuc tap, hay:\n1. Phan tich xem co the chia thanh cac task doc lap khong\n2. Voi moi task, tao git worktree rieng\n3. Spawn sub-agent cho moi worktree voi instructions cu the\n4. Doi tat ca sub-agents hoan thanh\n5. Merge cac branch va resolve conflicts\n6. Chay full test suite\n\n## Task Assignment Template\nMoi sub-agent nhan:\n- Mo ta cu the cong viec can lam\n- Danh sach file duoc phep sua\n- Conventions va patterns can tuan thu\n- Tieu chi hoan thanh (definition of done)\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eThực hành: Chạy Agent Teams cho full-stack feature\u003c\/h2\u003e\n\u003cp\u003eHãy xem ví dụ cụ thể khi xây dựng chức năng \"Dashboard Analytics\" cho một ứng dụng SaaS.\u003c\/p\u003e\n\n\u003ch3\u003eBước 1: Orchestrator phân tích và chia task\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Yeu cau: Xay dung Dashboard Analytics voi chart doanh thu,\n# bieu do nguoi dung, va bang top san pham\n\n# Orchestrator phan tich va quyet dinh chia 3 task:\n\n# Task A - Backend (Sub-agent 1):\ngit worktree add ..\/project-dashboard-backend -b feat\/dashboard-backend\n# Instructions: Tao API endpoints:\n# - GET \/api\/analytics\/revenue?period=7d|30d|90d\n# - GET \/api\/analytics\/users?period=7d|30d|90d\n# - GET \/api\/analytics\/top-products?limit=10\n# Dung aggregate queries, cache voi Redis 5 phut\n\n# Task B - Frontend (Sub-agent 2):\ngit worktree add ..\/project-dashboard-frontend -b feat\/dashboard-frontend\n# Instructions: Tao Dashboard page voi:\n# - Revenue chart (line chart, Recharts)\n# - User growth chart (bar chart)\n# - Top products table (sortable)\n# Dung mock data truoc, se ket noi API sau khi merge\n\n# Task C - Tests (Sub-agent 3):\ngit worktree add ..\/project-dashboard-tests -b feat\/dashboard-tests\n# Instructions: Viet test coverage:\n# - Unit tests cho analytics service\n# - API integration tests\n# - Component tests cho charts\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eBước 2: Sub-agents thực thi song song\u003c\/h3\u003e\n\u003cp\u003eMỗi sub-agent làm việc độc lập trong worktree của mình. Orchestrator theo dõi trạng thái:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Kiem tra trang thai cac worktree\ngit worktree list\n# \/home\/user\/project           abc1234 [main]\n# \/home\/user\/project-dashboard-backend   def5678 [feat\/dashboard-backend]\n# \/home\/user\/project-dashboard-frontend  ghi9012 [feat\/dashboard-frontend]\n# \/home\/user\/project-dashboard-tests     jkl3456 [feat\/dashboard-tests]\n\n# Kiem tra tien do tung branch\ngit log feat\/dashboard-backend --oneline -5\ngit log feat\/dashboard-frontend --oneline -5\ngit log feat\/dashboard-tests --oneline -5\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eBước 3: Merge và resolve conflicts\u003c\/h3\u003e\n\u003cp\u003eKhi tất cả sub-agents hoàn thành, orchestrator merge từng branch:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e# Merge backend truoc (thuong it conflict nhat)\ngit checkout main\ngit merge feat\/dashboard-backend --no-ff -m \"feat: dashboard analytics API endpoints\"\n\n# Merge frontend (co the conflict o routing config)\ngit merge feat\/dashboard-frontend --no-ff -m \"feat: dashboard analytics UI\"\n\n# Neu co conflict:\n# 1. Mo file conflict\n# 2. Giu ca hai thay doi (backend route + frontend route)\n# 3. git add . \u0026amp;\u0026amp; git commit\n\n# Merge tests cuoi cung\ngit merge feat\/dashboard-tests --no-ff -m \"test: dashboard analytics coverage\"\n\n# Don dep worktrees\ngit worktree remove ..\/project-dashboard-backend\ngit worktree remove ..\/project-dashboard-frontend\ngit worktree remove ..\/project-dashboard-tests\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eXử lý Merge Conflicts\u003c\/h2\u003e\n\u003cp\u003eMerge conflict là thách thức lớn nhất khi dùng Agent Teams. Đây là các chiến lược giảm thiểu và xử lý conflict.\u003c\/p\u003e\n\n\u003ch3\u003ePhòng tránh conflict\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePhân chia file rõ ràng:\u003c\/strong\u003e Mỗi sub-agent chỉ sửa các file trong phạm vi của mình\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eShared files có quy ước:\u003c\/strong\u003e Nếu nhiều agent cần sửa cùng file (ví dụ router config), quy định mỗi agent thêm vào cuối file\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eInterface contracts:\u003c\/strong\u003e Định nghĩa trước các interface\/type chung trước khi chia task\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eXử lý conflict khi xảy ra\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Khi merge gap conflict, Claude Code co the tu dong resolve:\n\n# Truong hop 1: Ca hai them dong moi vao cung file\n# -\u0026gt; Giu ca hai, sap xep lai cho hop ly\n\n# Truong hop 2: Ca hai sua cung mot dong\n# -\u0026gt; Can hieu context de chon dung, thuong uu tien\n#    phien ban moi hon hoac hoi nguoi dung\n\n# Truong hop 3: Structural conflict (rename\/move file)\n# -\u0026gt; Can resolve thu cong, kiem tra ca hai phia\n\n# Lenh huu ich khi resolve conflicts:\ngit diff --name-only --diff-filter=U  # Liet ke file conflict\ngit checkout --theirs path\/to\/file    # Lay phien ban cua branch dang merge\ngit checkout --ours path\/to\/file      # Giu phien ban hien tai\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eKhi nào dùng Teams vs Single Agent?\u003c\/h2\u003e\n\u003cp\u003eKhông phải lúc nào dùng nhiều agent cũng tốt hơn. Đây là bảng so sánh giúp bạn quyết định:\u003c\/p\u003e\n\n\u003ch3\u003eNên dùng Agent Teams khi:\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFeature lớn có thể chia thành 3 phần trở lên độc lập\u003c\/li\u003e\n  \u003cli\u003eDự án có cấu trúc rõ ràng (backend\/frontend\/tests tách biệt)\u003c\/li\u003e\n  \u003cli\u003eDeadline gấp, cần giảm thời gian tổng thể\u003c\/li\u003e\n  \u003cli\u003eCác thành phần sử dụng công nghệ khác nhau (React + Python + DevOps)\u003c\/li\u003e\n  \u003cli\u003eViệc song song hóa tiết kiệm ít nhất 40% thời gian so với làm tuần tự\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eNên dùng Single Agent khi:\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eTask nhỏ, hoàn thành trong 10-15 phút\u003c\/li\u003e\n  \u003cli\u003eCác thay đổi liên kết chặt với nhau\u003c\/li\u003e\n  \u003cli\u003eCần hiểu bối cảnh toàn bộ để ra quyết định\u003c\/li\u003e\n  \u003cli\u003eChỉ sửa 1-2 file\u003c\/li\u003e\n  \u003cli\u003eBug fix đơn giản\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eChi phí khi dùng Agent Teams\u003c\/h2\u003e\n\u003cp\u003eMỗi sub-agent tiêu thụ token độc lập. Khi chạy 3 agent song song, chi phí API tăng tương ứng. Tuy nhiên, chi phí này thường xứng đáng vì:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eThời gian developer:\u003c\/strong\u003e Giảm từ 3 giờ xuống 1 giờ cho developer\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eToken cost:\u003c\/strong\u003e 3 agent x 50K tokens = 150K tokens, nhưng tiết kiệm 2 giờ làm việc\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eContext window:\u003c\/strong\u003e Mỗi sub-agent chỉ cần context của phần mình, không cần load toàn bộ project\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTối ưu chi phí\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Strategies giam chi phi Agent Teams:\n\n# 1. Chi dung worktree khi that su can\n#    - Task duoi 10 phut: dung single agent\n#    - Task 30+ phut co the chia: dung teams\n\n# 2. Gioi han context cho moi sub-agent\n#    - Chi cho sub-agent doc cac file lien quan\n#    - Dung .claude\/settings.json de gioi han scope\n\n# 3. Dung model phu hop cho tung task\n#    - Orchestrator: Opus (can suy nghi phuc tap)\n#    - Code generation: Sonnet (can bang cost\/quality)\n#    - Simple tasks: Haiku (nhanh va re)\n\n# 4. Cache ket qua trung gian\n#    - Luu interface definitions de cac agent khong phai suy luan lai\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eVí dụ thực tế: E-commerce Checkout Flow\u003c\/h2\u003e\n\u003cp\u003eMột ví dụ thực tế phức tạp hơn — xây dựng toàn bộ checkout flow cho e-commerce:\u003c\/p\u003e\n\n\u003ch3\u003eOrchestrator phân tích\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Feature: Checkout flow hoan chinh\n# Thoi gian uoc tinh single agent: 4 gio\n# Thoi gian uoc tinh voi teams: 1.5 gio\n\n# === TASK A: Payment Backend (Sub-agent 1) ===\n# Branch: feat\/checkout-payment\n# Scope:\n# - Payment service integration (Stripe\/VNPay)\n# - Order creation API\n# - Payment webhook handler\n# - Transaction logging\n# Files: src\/services\/payment\/, src\/routes\/checkout.ts\n\n# === TASK B: Checkout UI (Sub-agent 2) ===\n# Branch: feat\/checkout-ui\n# Scope:\n# - Multi-step checkout form (shipping -\u0026gt; payment -\u0026gt; confirm)\n# - Address autocomplete component\n# - Order summary sidebar\n# - Responsive design\n# Files: src\/components\/checkout\/, src\/pages\/checkout\/\n\n# === TASK C: Cart \u0026amp; Inventory (Sub-agent 3) ===\n# Branch: feat\/checkout-cart\n# Scope:\n# - Cart state management (Zustand)\n# - Inventory check before checkout\n# - Stock reservation (15 phut hold)\n# - Cart expiry handling\n# Files: src\/stores\/cart.ts, src\/services\/inventory\/\n\n# === TASK D: Email \u0026amp; Notifications (Sub-agent 4) ===\n# Branch: feat\/checkout-notifications\n# Scope:\n# - Order confirmation email template\n# - Payment receipt email\n# - Shipping notification\n# - Admin notification cho don hang moi\n# Files: src\/services\/email\/, src\/templates\/\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eInterface contracts định nghĩa trước\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\/\/ types\/checkout.ts — File nay duoc tao truoc khi spawn sub-agents\n\/\/ Tat ca sub-agents deu doc file nay de dam bao tuong thich\n\ninterface CartItem {\n  productId: string;\n  variantId: string;\n  quantity: number;\n  price: number;\n}\n\ninterface ShippingAddress {\n  fullName: string;\n  phone: string;\n  address: string;\n  ward: string;\n  district: string;\n  city: string;\n}\n\ninterface Order {\n  id: string;\n  items: CartItem[];\n  shipping: ShippingAddress;\n  paymentMethod: 'stripe' | 'vnpay' | 'cod';\n  subtotal: number;\n  shippingFee: number;\n  total: number;\n  status: 'pending' | 'paid' | 'shipped' | 'delivered';\n  createdAt: Date;\n}\n\ninterface PaymentResult {\n  success: boolean;\n  transactionId: string;\n  orderId: string;\n  error?: string;\n}\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003cp\u003eViệc định nghĩa interface contracts trước là bước cực kỳ quan trọng. Nó đảm bảo các sub-agent tạo ra code tương thích với nhau mà không cần giao tiếp trực tiếp.\u003c\/p\u003e\n\n\u003ch2\u003eMonitoring và Debugging Agent Teams\u003c\/h2\u003e\n\u003cp\u003eKhi nhiều agent chạy song song, việc theo dõi và debug trở nên phức tạp hơn. Đây là một số kỹ thuật hữu ích:\u003c\/p\u003e\n\n\u003ch3\u003eLog từng agent\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode\u003e# Moi sub-agent nen ghi log hoat dong:\n# Worktree A: git log feat\/checkout-payment --oneline\n# abc1234 feat: add Stripe payment service\n# def5678 feat: add payment webhook handler\n# ghi9012 feat: add transaction logging\n\n# Kiem tra tong quan nhanh:\nfor branch in feat\/checkout-payment feat\/checkout-ui feat\/checkout-cart; do\n  echo \"=== $branch ===\"\n  git log $branch --oneline -3\n  echo \"\"\ndone\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eXử lý khi một sub-agent thất bại\u003c\/h3\u003e\n\u003cp\u003eNếu một sub-agent gặp lỗi và không hoàn thành task:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003eCác sub-agent khác vẫn tiếp tục làm việc bình thường\u003c\/li\u003e\n  \u003cli\u003eOrchestrator có thể spawn agent mới cho worktree đó\u003c\/li\u003e\n  \u003cli\u003eHoặc chuyển task đó về single agent sau khi các task khác hoàn thành\u003c\/li\u003e\n  \u003cli\u003eGit worktree vẫn giữ nguyên trạng thái, không mất code đã viết\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eBest Practices cho Agent Teams\u003c\/h2\u003e\n\n\u003ch3\u003e1. Luôn định nghĩa interface trước\u003c\/h3\u003e\n\u003cp\u003eTrước khi spawn bất kỳ sub-agent nào, tạo các file type definitions, API contracts hoặc shared constants. Đây là \"hợp đồng\" giữa các agent.\u003c\/p\u003e\n\n\u003ch3\u003e2. Giới hạn phạm vi file\u003c\/h3\u003e\n\u003cp\u003eMỗi sub-agent chỉ được phép sửa các file trong scope của mình. Viết rõ ràng trong instructions: \"Chỉ sửa các file trong thư mục src\/services\/payment\/. KHÔNG sửa bất kỳ file nào khác.\"\u003c\/p\u003e\n\n\u003ch3\u003e3. Merge theo thứ tự\u003c\/h3\u003e\n\u003cp\u003eMerge branch ít có khả năng conflict trước. Thường là: backend -\u0026gt; frontend -\u0026gt; tests. Nếu conflict xảy ra ở branch sau, bạn đã có base ổn định từ branch trước.\u003c\/p\u003e\n\n\u003ch3\u003e4. Chạy integration tests sau merge\u003c\/h3\u003e\n\u003cp\u003eSau khi merge tất cả branch, luôn chạy full test suite. Code từng phần có thể đúng nhưng chưa chắc kết hợp lại sẽ hoạt động.\u003c\/p\u003e\n\n\u003ch3\u003e5. Dùng cho task đủ lớn\u003c\/h3\u003e\n\u003cp\u003eOverhead của việc tạo worktree, spawn agent và merge khoảng 5-10 phút. Chỉ dùng Agent Teams khi tổng thời gian tiết kiệm lớn hơn overhead này.\u003c\/p\u003e\n\n\u003ch2\u003eSo sánh với các công cụ khác\u003c\/h2\u003e\n\u003cp\u003eAgent Teams khác với các phương pháp multi-agent khác:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eVS Code Multi-window:\u003c\/strong\u003e Mở nhiều cửa sổ VS Code với Claude Code — đơn giản nhưng không có orchestrator tự động\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCI\/CD Parallel Jobs:\u003c\/strong\u003e Chạy test song song trong pipeline — chỉ cho test, không cho code generation\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMicro-services team:\u003c\/strong\u003e Mỗi người làm một service — Agent Teams giống cách này nhưng trên cùng codebase\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eTóm tắt\u003c\/h2\u003e\n\u003cp\u003eClaude Code Agent Teams là công cụ mạnh mẽ khi bạn cần tăng tốc phát triển các feature phức tạp. Các điểm chính cần nhớ:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003eDùng git worktrees để tạo môi trường độc lập cho từng agent\u003c\/li\u003e\n  \u003cli\u003eChia task rõ ràng, đảm bảo tính độc lập giữa các task\u003c\/li\u003e\n  \u003cli\u003eĐịnh nghĩa interface contracts trước khi spawn sub-agents\u003c\/li\u003e\n  \u003cli\u003eMerge theo thứ tự và luôn chạy integration tests sau đó\u003c\/li\u003e\n  \u003cli\u003eChỉ dùng khi task đủ lớn để bù đắp overhead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eTìm hiểu thêm về các kỹ thuật nâng cao của Claude Code tại \u003ca href=\"\/collections\/nang-cao\"\u003eThư viện Nâng cao\u003c\/a\u003e.\u003c\/p\u003e\n","brand":"Minh Tuấn","offers":[{"title":"Default Title","offer_id":66959059189805,"sku":null,"price":0.0,"currency_code":"VND","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0763\/9531\/5245\/files\/claude-code-agent-teams-chay-nhieu-agent-song-song-tren-cung-project.jpg?v=1782892464","url":"https:\/\/claude.vn\/products\/claude-code-agent-teams-chay-nhieu-agent-song-song-tren-cung-project","provider":"Claude.vn","version":"1.0","type":"link"}