OpenClaw + Codex/ClaudeCode Agent Swarm: Đội ngũ lập trình viên một người [Thiết lập đầy đủ]

@elvissun
TIẾNG ANH5 tháng trước · 23 thg 2, 2026
5.4M
12.6K
1.6K
399
37.6K

TL;DR

Hướng dẫn này trình bày chi tiết về thiết lập điều phối AI tinh vi sử dụng OpenClaw để quản lý các agent Codex và Claude Code, cho phép một lập trình viên duy nhất xuất bản hàng chục PR mỗi ngày với quy trình đánh giá và kiểm thử tự động.

Tôi không trực tiếp sử dụng Codex hay Claude Code nữa.

Tôi dùng OpenClaw làm lớp điều phối. Trình điều phối của tôi, Zoe, sẽ sinh ra các agent, viết prompt cho chúng, chọn model phù hợp cho từng tác vụ, theo dõi tiến độ, và nhắn tin Telegram cho tôi khi PR sẵn sàng để merge.

Bằng chứng trong 4 tuần qua:

  • 94 commit trong một ngày. Ngày làm việc hiệu quả nhất của tôi — tôi có 3 cuộc gọi khách hàng và không mở editor lần nào. Trung bình khoảng 50 commit mỗi ngày.
  • 7 PR trong 30 phút. Từ ý tưởng đến production cực kỳ nhanh vì việc code và kiểm thử gần như được tự động hóa.
  • Commit → MRR: Tôi dùng hệ thống này cho một SaaS B2B thật mà tôi đang xây dựng — kết hợp với bán hàng do founder dẫn dắt để hoàn thành hầu hết các yêu cầu tính năng trong ngày. Tốc độ giúp biến khách hàng tiềm năng thành khách hàng trả tiền.
Elvis - inline image

Lịch sử git của tôi trông như tôi vừa thuê cả một đội dev. Thực tế chỉ có mình tôi, chuyển từ quản lý Claude Code sang quản lý một agent OpenClaw, mà agent này quản lý cả một đội các agent Claude Code và Codex khác.

Tỷ lệ thành công: Hệ thống xử lý gần như tất cả các tác vụ nhỏ và vừa ngay lần đầu mà không cần can thiệp.

Chi phí: ~$100/tháng cho Claude và $90/tháng cho Codex, nhưng bạn có thể bắt đầu với $20.

Đây là lý do tại sao cách này hiệu quả hơn việc sử dụng trực tiếp Codex hay Claude Code:

>Codex và Claude Code có rất ít ngữ cảnh về doanh nghiệp của bạn.

Chúng nhìn thấy code. Chúng không thấy bức tranh toàn cảnh về doanh nghiệp của bạn.

OpenClaw thay đổi điều này. Nó hoạt động như lớp điều phối giữa bạn và tất cả các agent — nó lưu trữ toàn bộ ngữ cảnh doanh nghiệp của tôi (dữ liệu khách hàng, ghi chú cuộc họp, quyết định trong quá khứ, cái gì hiệu quả, cái gì thất bại) bên trong kho Obsidian của tôi, và dịch ngữ cảnh lịch sử thành các prompt chính xác cho từng agent code. Các agent tập trung vào code. Trình điều phối giữ ở tầm chiến lược cao.

Đây là cách hệ thống hoạt động ở mức tổng quan:

Elvis - inline image

Tuần trước Stripe viết về hệ thống agent nền của họ có tên "Minions" — các agent code song song được hỗ trợ bởi một lớp điều phối tập trung. Tôi đã vô tình xây dựng cùng một thứ nhưng nó chạy cục bộ trên Mac mini của tôi.

Trước khi tôi chỉ bạn cách thiết lập, bạn nên biết TẠI SAO bạn cần một trình điều phối agent.

Tại Sao Một AI Không Thể Làm Cả Hai

Context window là trò chơi tổng bằng không. Bạn phải chọn cái gì sẽ được đưa vào.

Nhồi nó bằng code → không còn chỗ cho ngữ cảnh doanh nghiệp. Nhồi nó bằng lịch sử khách hàng → không còn chỗ cho codebase. Đây là lý do hệ thống hai tầng hoạt động: mỗi AI được nạp chính xác những gì nó cần.

OpenClaw và Codex có ngữ cảnh hoàn toàn khác nhau:

Elvis - inline image

Chuyên môn hóa thông qua ngữ cảnh, không phải thông qua các model khác nhau.

Quy trình 8 bước đầy đủ

Hãy để tôi đi qua một ví dụ thực tế từ tuần trước.

Bước 1: Yêu cầu khách hàng → Xác định phạm vi với Zoe

Tôi đã có một cuộc gọi với một khách hàng là đại lý. Họ muốn sử dụng lại các cấu hình mà họ đã thiết lập cho nhóm.

Sau cuộc gọi, tôi thảo luận yêu cầu với Zoe. Vì tất cả ghi chú cuộc họp của tôi tự động đồng bộ vào kho Obsidian, tôi không cần giải thích gì thêm. Chúng tôi cùng xác định phạm vi tính năng — và thống nhất một hệ thống template cho phép họ lưu và chỉnh sửa các cấu hình hiện có.

Sau đó Zoe làm ba việc:

  1. Nạp thêm credits để mở khóa cho khách hàng ngay lập tức — cô ấy có quyền truy cập API admin
  2. Kéo cấu hình khách hàng từ database production — cô ấy có quyền truy cập read-only vào DB production (các agent Codex của tôi sẽ không bao giờ có quyền này) để lấy thiết lập hiện tại của họ, được đưa vào prompt
  3. Sinh ra một agent Codex — với một prompt chi tiết chứa tất cả ngữ cảnh

Bước 2: Sinh Agent

Mỗi agent có worktree riêng (nhánh độc lập) và tmux session riêng:

bash
1# Tạo worktree + sinh agent
2git worktree add ../feat-custom-templates -b feat/custom-templates origin/main
3cd ../feat-custom-templates && pnpm install
4
5tmux new-session -d -s "codex-templates" \
6 -c "/Users/elvis/Documents/GitHub/medialyst-worktrees/feat-custom-templates" \
7 "$HOME/.codex-agent/run-agent.sh templates gpt-5.3-codex high"

Agent chạy trong một tmux session với log terminal đầy đủ thông qua một script.

Đây là cách chúng tôi khởi chạy agent:

bash
1# Codex
2codex --model gpt-5.3-codex \
3 -c "model_reasoning_effort=high" \
4 --dangerously-bypass-approvals-and-sandbox \
5 "Your prompt here"
6
7# Claude Code
8claude --model claude-opus-4.5 \
9 --dangerously-skip-permissions \
10 -p "Your prompt here"

Tôi từng dùng codex exec hoặc claude -p, nhưng gần đây chuyển sang tmux:

tmux tốt hơn nhiều vì khả năng chuyển hướng giữa tác vụ rất mạnh mẽ. Agent đi sai hướng? Đừng kill nó:

bash
1# Cách sai:
2tmux send-keys -t codex-templates "Dừng lại. Tập trung vào tầng API trước, không phải UI." Enter
3
4# Cần thêm ngữ cảnh:
5tmux send-keys -t codex-templates "Schema nằm ở src/types/template.ts. Dùng cái đó." Enter

Tác vụ được theo dõi trong .clawdbot/active-tasks.json:

json
1{
2 "id": "feat-custom-templates",
3 "tmuxSession": "codex-templates",
4 "agent": "codex",
5 "description": "Custom email templates for agency customer",
6 "repo": "medialyst",
7 "worktree": "feat-custom-templates",
8 "branch": "feat/custom-templates",
9 "startedAt": 1740268800000,
10 "status": "running",
11 "notifyOnComplete": true
12}

Khi hoàn thành, nó cập nhật với số PR và các kiểm tra. (Thêm về điều này ở bước 5)

json
1{
2 "status": "done",
3 "pr": 341,
4 "completedAt": 1740275400000,
5 "checks": {
6 "prCreated": true,
7 "ciPassed": true,
8 "claudeReviewPassed": true,
9 "geminiReviewPassed": true
10 },
11 "note": "All checks passed. Ready to merge."
12}

Bước 3: Giám sát trong một vòng lặp

Một cron job chạy mỗi 10 phút để trông nom tất cả các agent. Nó về cơ bản hoạt động như một Ralph Loop cải tiến, sẽ nói thêm sau.

Nhưng nó không hỏi trực tiếp các agent — làm vậy sẽ tốn kém. Thay vào đó, nó chạy một script đọc registry JSON và kiểm tra:

bash
1.clawdbot/check-agents.sh

Script này hoàn toàn xác định và cực kỳ tiết kiệm token:

  • Kiểm tra xem tmux session còn sống không
  • Kiểm tra PR đang mở trên các nhánh được theo dõi
  • Kiểm tra trạng thái CI qua gh cli
  • Tự động hồi sinh các agent bị lỗi (tối đa 3 lần) nếu CI thất bại hoặc có phản hồi review quan trọng
  • Chỉ cảnh báo nếu có vấn đề cần sự chú ý của con người

Tôi không phải nhìn màn hình terminal. Hệ thống báo cho tôi biết khi nào cần xem.

Bước 4: Agent tạo PR

Agent commit, push, và mở một PR qua gh pr create --fill. Lúc này tôi KHÔNG được thông báo — chỉ PR thôi chưa phải là xong.

Định nghĩa về "hoàn thành" (rất quan trọng agent của bạn phải biết điều này):

  • PR đã được tạo
  • Nhánh đã đồng bộ với main (không có xung đột merge)
  • CI đã pass (lint, types, unit tests, E2E)
  • Codex review đã pass
  • Claude Code review đã pass
  • Gemini review đã pass
  • Ảnh chụp màn hình đã được đính kèm (nếu thay đổi UI)

Bước 5: Review code tự động

Mỗi PR được review bởi ba model AI. Chúng phát hiện những thứ khác nhau:

  • Codex Reviewer — Xuất sắc trong việc xử lý các trường hợp ngoại lệ. Thực hiện review kỹ lưỡng nhất. Phát hiện lỗi logic, thiếu xử lý lỗi, race condition. Tỷ lệ dương tính giả rất thấp.
  • Gemini Code Assist Reviewer — Miễn phí và cực kỳ hữu ích. Phát hiện các vấn đề bảo mật, vấn đề về khả năng mở rộng mà các agent khác bỏ sót. Và đề xuất các sửa lỗi cụ thể. Không có lý do gì để không cài đặt.
  • Claude Code Reviewer — Hầu như vô dụng — thường quá thận trọng. Rất nhiều gợi ý "cân nhắc thêm..." thường là overengineering. Tôi bỏ qua mọi thứ trừ khi nó được đánh dấu là nghiêm trọng. Nó hiếm khi tự tìm ra vấn đề nghiêm trọng nhưng xác nhận những gì các reviewer khác chỉ ra.

Cả ba đều đăng comment trực tiếp lên PR.

Bước 6: Kiểm thử tự động

Pipeline CI của chúng tôi chạy một lượng lớn các bài kiểm thử tự động:

  • Kiểm tra Lint và TypeScript
  • Unit tests
  • E2E tests
  • Playwright tests trên môi trường preview (giống hệt production)

Tuần trước tôi thêm một quy tắc mới: nếu PR thay đổi bất kỳ UI nào, nó phải bao gồm ảnh chụp màn hình trong mô tả PR. Nếu không, CI sẽ thất bại. Điều này rút ngắn đáng kể thời gian review — tôi có thể thấy chính xác những gì đã thay đổi mà không cần click qua preview.

Bước 7: Review của con người

Bây giờ tôi nhận được thông báo Telegram: "PR #341 sẵn sàng để review."

Lúc này:

  • CI đã pass
  • Ba AI reviewer đã phê duyệt code
  • Ảnh chụp màn hình hiển thị các thay đổi UI
  • Tất cả các trường hợp ngoại lệ đã được ghi lại trong comment review

Việc review của tôi mất 5-10 phút. Nhiều PR tôi merge mà không cần đọc code — ảnh chụp màn hình cho tôi thấy mọi thứ tôi cần.

Bước 8: Merge

PR được merge. Một cron job hàng ngày dọn dẹp các worktrees và task registry json bị bỏ rơi.

Ralph Loop V2

Về cơ bản đây là Ralph Loop, nhưng tốt hơn.

Ralph Loop kéo ngữ cảnh từ bộ nhớ, tạo đầu ra, đánh giá kết quả, lưu lại bài học. Nhưng hầu hết các triển khai đều chạy cùng một prompt mỗi chu kỳ. Các bài học được chắt lọc giúp cải thiện các lần truy xuất sau, nhưng bản thân prompt vẫn tĩnh.

Hệ thống của chúng tôi khác. Khi một agent thất bại, Zoe không chỉ hồi sinh nó với cùng prompt. Cô ấy xem xét thất bại với đầy đủ ngữ cảnh doanh nghiệp và tìm ra cách giải quyết:

  • Agent hết context? "Chỉ tập trung vào ba file này."
  • Agent đi sai hướng? "Dừng lại. Khách hàng muốn X, không phải Y. Đây là những gì họ nói trong cuộc họp."
  • Agent cần làm rõ? "Đây là email của khách hàng và công ty của họ làm gì."

Zoe trông nom các agent cho đến khi hoàn thành. Cô ấy có ngữ cảnh mà các agent không có — lịch sử khách hàng, ghi chú cuộc họp, những gì chúng tôi đã thử trước đây, tại sao nó thất bại. Cô ấy sử dụng ngữ cảnh đó để viết prompt tốt hơn cho mỗi lần thử lại.

Nhưng cô ấy cũng không đợi tôi giao việc. Cô ấy chủ động tìm việc:

  • Buổi sáng: Quét Sentry → phát hiện 4 lỗi mới → sinh 4 agent để điều tra và sửa
  • Sau các cuộc họp: Quét ghi chú cuộc họp → đánh dấu 3 yêu cầu tính năng khách hàng đã đề cập → sinh 3 agent Codex
  • Buổi tối: Quét git log → sinh Claude Code để cập nhật changelog và tài liệu khách hàng

Tôi đi dạo sau một cuộc gọi khách hàng. Quay lại Telegram: "7 PR sẵn sàng review. 3 tính năng, 4 sửa lỗi."

Khi các agent thành công, mẫu hình sẽ được ghi lại. "Cấu trúc prompt này hiệu quả cho các tính năng thanh toán." "Codex cần các định nghĩa kiểu ngay từ đầu." "Luôn bao gồm đường dẫn file kiểm thử."

Các tín hiệu phần thưởng là: CI pass, cả ba code review pass, con người merge. Bất kỳ thất bại nào cũng kích hoạt vòng lặp. Theo thời gian, Zoe viết prompt tốt hơn vì cô ấy nhớ những gì đã được đưa vào sản phẩm.

Chọn Agent phù hợp

Không phải tất cả các agent code đều như nhau. Tham khảo nhanh:

Codex là ngựa thồ của tôi. Logic backend, lỗi phức tạp, tái cấu trúc nhiều file, bất cứ thứ gì yêu cầu suy luận xuyên suốt codebase. Nó chậm hơn nhưng kỹ lưỡng. Tôi dùng nó cho 90% tác vụ.

Claude Code nhanh hơn và tốt hơn cho công việc frontend. Nó cũng có ít vấn đề về quyền hơn, nên rất tốt cho các thao tác git. (Tôi từng dùng nó nhiều hơn để điều hành hàng ngày, nhưng Codex 5.3 hiện đơn giản là tốt hơn và nhanh hơn)

Gemini có một siêu năng lực khác — nhạy cảm về thiết kế. Đối với các UI đẹp, tôi sẽ để Gemini tạo một spec HTML/CSS trước, sau đó chuyển cho Claude Code để triển khai trong hệ thống component của chúng tôi. Gemini thiết kế, Claude xây dựng.

Zoe chọn agent phù hợp cho từng tác vụ và định tuyến đầu ra giữa chúng. Một lỗi hệ thống thanh toán sẽ đến Codex. Một sửa lỗi kiểu nút sẽ đến Claude Code. Một thiết kế dashboard mới bắt đầu với Gemini.

Cách thiết lập

Sao chép toàn bộ bài viết này vào OpenClaw và nói với nó: "Triển khai thiết lập agent swarm này cho codebase của tôi."

Nó sẽ đọc kiến trúc, tạo các script, thiết lập cấu trúc thư mục, và cấu hình cron giám sát. Hoàn thành trong 10 phút.

Không có khóa học nào để bán cho bạn.

Nút thắt không ai ngờ tới

Đây là trần mà tôi đang đối mặt: RAM.

Mỗi agent cần worktree riêng. Mỗi worktree cần node_modules riêng. Mỗi agent chạy các bản dựng, type checks, kiểm thử. Năm agent chạy đồng thời có nghĩa là năm trình biên dịch TypeScript song song, năm runner kiểm thử, năm bộ dependency được nạp vào bộ nhớ.

Mac Mini 16GB của tôi chịu được tối đa 4-5 agent trước khi bắt đầu swap — và tôi cần may mắn là chúng không cố gắng xây dựng cùng lúc.

Vì vậy tôi đã mua một Mac Studio M4 max với 128GB RAM ($3,500) để cấp nguồn cho hệ thống này. Nó sẽ đến vào cuối tháng 3 và tôi sẽ chia sẻ liệu nó có đáng giá không.

Tiếp theo: Công ty triệu đô một người

Chúng ta sẽ thấy rất nhiều công ty triệu đô một người bắt đầu từ năm 2026. Đòn bẩy là rất lớn cho những ai hiểu cách xây dựng các agent tự cải thiện một cách đệ quy.

Đây là những gì nó trông như thế nào: một trình điều phối AI như một phần mở rộng của chính bạn (giống như Zoe đối với tôi), ủy thác công việc cho các agent chuyên biệt xử lý các chức năng kinh doanh khác nhau. Kỹ thuật. Hỗ trợ khách hàng. Vận hành. Tiếp thị. Mỗi agent tập trung vào những gì nó giỏi. Bạn duy trì sự tập trung cao độ và toàn quyền kiểm soát.

Thế hệ doanh nhân tiếp theo sẽ không thuê một đội 10 người để làm những gì một người với hệ thống phù hợp có thể làm. Họ sẽ xây dựng như thế này — giữ quy mô nhỏ, di chuyển nhanh, ra mắt hàng ngày.

Hiện tại có quá nhiều thứ tào lao do AI tạo ra. Quá nhiều hype xung quanh agent và "mission control" mà không xây dựng bất cứ thứ gì thực sự hữu ích. Những bản demo hào nhoáng không có lợi ích thực tế.

Tôi đang cố gắng làm ngược lại: ít hype hơn, nhiều tài liệu hơn về việc xây dựng một doanh nghiệp thực sự. Khách hàng thực, doanh thu thực, commit thực được đưa lên production, và cả thất bại thực.

Tôi đang xây dựng gì? Agentic PR — một công ty một người thách thức các ông lớn PR doanh nghiệp. Các agent giúp startup có được sự chú ý của báo chí mà không cần giữ chân $10k/tháng.

Nếu bạn muốn thấy tôi đi được bao xa, hãy theo dõi.

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