Agent lập trình của bạn chỉ có một nhân cách mặc định: một chuyên gia tổng quát đủ năng lực. Yêu cầu nó review một luồng xác thực, bạn sẽ nhận lại những lời khuyên hợp lý nhưng nhạt nhòa. Nhưng nếu bạn hỏi một chuyên gia đánh giá bảo mật với threat model và checklist trong tay, bạn sẽ nhận được những phát hiện thực sự. Sự khác biệt đó chẳng tốn gì ngoài một file markdown — đó là lý do agency-agents đạt tới 149.312 sao.
Thư viện này thực sự hữu ích. Nhưng nó cũng chỉ là một thư mục file nằm trên một máy, và điều đó trở thành giới hạn ngay khi có nhiều hơn một người cần các vai trò này mang ý nghĩa thực sự. Bài viết này điểm qua những gì bạn nhận được, cách chỉ cài đúng phần mình cần, và sự khác biệt giữa một định nghĩa vai trò với một Agent mà cả nhóm có thể giao việc.
TL;DR
Đây là một trong năm bài phân tích chuyên sâu trong loạt bài tổng hợp của chúng tôi về các công cụ mã nguồn mở mở rộng khả năng cho coding agent.
agency-agents là bộ sưu tập hơn 300 định nghĩa vai trò agent thuộc khoảng 20 hạng mục, dùng giấy phép MIT, cài được vào Claude Code, Cursor, Codex, Gemini CLI, OpenCode và khoảng một tá công cụ khác chỉ bằng một lệnh. Mỗi file mô tả một danh tính, một quy trình làm việc, các sản phẩm đầu ra và tiêu chí hoàn thành. Vai trò thay đổi cách agent nhìn nhận một nhiệm vụ; nó không cung cấp cho agent những thông tin mà agent không có, và cũng không tồn tại qua khỏi phiên làm việc. Hãy cài một nhóm, chỉnh sửa các file cho khớp với stack của bạn, rồi nâng những vai trò bạn dùng hàng tuần thành các cấu hình đã lưu để cả nhóm có thể giao việc.
Bạn đang cài thứ gì
Tính theo cây thư mục của repository vào ngày 1 tháng 9 năm 2026, có 312 file markdown nằm trong 20 thư mục hạng mục cấp cao nhất. README của repository vẫn ghi “230+”, thông tin này đã lỗi thời.
| Nhóm | Số file | Nhóm | Số file |
|---|---|---|---|
| engineering | 59 | testing | 9 |
| specialized | 58 | paid-media | 7 |
| marketing | 36 | project-management | 7 |
| game-development | 21 | academic | 6 |
| integrations | 18 | spatial-computing | 6 |
| strategy | 16 | support | 6 |
| gis | 13 | finance | 5 |
| security | 12 | product | 5 |
| design | 10 | healthcare | 3 |
| sales | 9 | examples | 6 |
Nhóm engineering là nơi hầu hết các team bắt đầu, và mức độ chi tiết ở đây cao hơn mức một bộ sưu tập prompt thường đạt tới. Bên cạnh Frontend Developer và Backend Architect còn có Network Engineer giới hạn trong phạm vi Cisco IOS-XE và Juniper Junos, Embedded Firmware Engineer cho các nền tảng ESP32 và STM32, Incident Response Commander phụ trách post-mortem và mức độ sẵn sàng on-call, cùng Codebase Onboarding Engineer được viết để khám phá repository ở chế độ chỉ đọc và nêu ra sự thật thay vì đề xuất thay đổi.
Ví dụ cuối cho thấy mô hình này đang vận hành. Một vai trò chỉ đọc với yêu cầu tuyệt đối không chỉnh sửa là một công cụ khác hẳn agent mặc định của bạn, mà chi phí chỉ là một file.
Chỉ cài những gì bạn cần
git clone https://github.com/msitarzewski/agency-agents.git
cd agency-agents
./scripts/install.sh # interactive
./scripts/install.sh --tool claude-code --division engineering,security
./scripts/install.sh --tool cursor --agent frontend-developer
./scripts/install.sh --list teams
./scripts/install.sh --tool opencode --division engineering --dry-run
Một cảnh báo mà repository có ghi nhưng hầu hết các bài viết đều bỏ qua: runtime của OpenCode chỉ đăng ký khoảng 119 agent và âm thầm loại bỏ phần còn lại. Cài một tập con bằng --division sẽ giúp bạn nằm dưới giới hạn đó, và trình cài đặt sẽ cảnh báo khi lựa chọn của bạn vượt quá giới hạn. Cắt bớt một cách âm thầm là kiểu lỗi tệ nhất có thể xảy ra, vì vai trò bạn muốn đã biến mất mà chẳng có gì báo cho bạn biết.
Kể cả không có lỗi đó, cài toàn bộ 300 vai trò vẫn là một sai lầm. Một danh sách bạn không thể nhớ nổi là một danh sách bạn sẽ không dùng. Hãy cài nhóm mà bạn làm việc cùng, đọc năm file, và xóa những file không khớp với cách team bạn vận hành.
Định nghĩa vai trò dừng lại ở đâu
Vai trò là một khung định hướng. Nó quy định agent tìm kiếm điều gì, tạo ra định dạng nào, và coi điều gì là hoàn thành. Giá trị của nó lớn hơn vẻ ngoài, bởi phần lớn lý do khiến output của agent yếu không phải là model sai, mà là model đang tối ưu cho một dạng câu trả lời không phù hợp.
Có hai việc mà một vai trò không thể làm.
Nó không thể cung cấp thông tin mà model không có. Một vai trò Backend Architect tạo ra code có tổ chức tốt dựa trên một interface mà nó tự suy đoán. Vai trò đó cải thiện cấu trúc. Nó không làm cho kết quả trở nên đúng.
Nó không thể tồn tại qua khỏi phiên làm việc. Bạn kích hoạt một vai trò, nó làm một nhiệm vụ, terminal đóng lại. Ngày mai bạn lại gõ lệnh kích hoạt từ đầu. Chín nhóm trong repository này mô tả những công việc chỉ tồn tại bên trong một tổ chức, trong khi công cụ cài đặt chúng lại không có chút khái niệm nào về tổ chức. Không có phân công, không có ghi chép về những gì chuyên gia bảo mật tìm ra hôm thứ Ba tuần trước, và đồng nghiệp của bạn cũng không có cách nào xem được bất kỳ thứ gì trong đó.
Từ định nghĩa vai trò đến một Agent có thể giao việc
Một định nghĩa vai trò là một prompt bạn phải gõ lại mỗi lần. Còn một Agent trong Sharkly là một cấu hình đã lưu: chỉ dẫn, runtime, skill, repository và môi trường. Đó chính là phiên bản bền vững mà một file trong ~/.claude/agents/ đang hướng tới.
Mỗi thành phần đảm nhận một việc. Agent định nghĩa cách xử lý công việc. Computer cung cấp máy chủ và tài nguyên cục bộ. Runtime thực hiện phiên agent thực tế, dùng đúng công cụ lập trình mà team bạn đã cài. Task vẫn là bản ghi chung.
Sharkly không thay thế Claude Code, Codex hay các vai trò trong repository này. Nó bổ sung lớp task chung, Computer, ngữ cảnh, kiểm soát và review xung quanh chúng. Việc sử dụng model vẫn diễn ra qua các gói đăng ký hoặc API key đã cấu hình trong những công cụ đó.
Khái niệm nhóm ở đây ánh xạ trực tiếp. Một Crew là một nhóm People và Agent có thể tái sử dụng, được điều phối bởi một leader Agent. Crew vận hành theo kiểu leader-first: leader đọc ngữ cảnh của task, quyết định cần huy động những thành viên nào, và gom kết quả của họ về một Task duy nhất, thay vì tất cả chuyên gia cùng lao vào một lúc. Đó là điều mà agency-agents đang hướng tới với tám nhóm của mình nhưng không thể thực thi, bởi một thư mục file thì không có leader và cũng không có task chung nào để trả kết quả về.
Quá trình thực thi, các điểm tắc nghẽn, kết quả và thảo luận tiếp theo đều được ghi lại trên timeline của task. Khi ai đó hỏi chuyên gia bảo mật đã tìm ra điều gì, câu trả lời nằm ngay trong Task.
Hãy dùng repository như một thư viện, không phải như một đội nhóm
Dùng thẳng agency-agents khi bạn chỉ có một mình, làm việc cục bộ, và muốn có định hướng tốt hơn cho công việc hôm nay. Cài một nhóm, đọc các file, và nhận giá trị trong vòng hai mươi phút.
Dùng Agent đã lưu khi vai trò đó cần được nhiều hơn một người tái sử dụng, khi kết quả cần được review trước khi được công nhận, hoặc khi ba tháng nữa sẽ có người hỏi một vai trò đã tạo ra cái gì và vì sao. Ngưỡng ở đây không phải là quy mô team. Mà là liệu vai trò đó có cần tồn tại lâu hơn phiên làm việc hay không.
Quy trình thực tế là hãy coi repository này như nguồn nguyên liệu. Lấy cấu trúc file — phần thực sự có thể tái sử dụng — thay nội dung chung chung bằng stack và tiêu chí hoàn thành của bạn, rồi nâng bất cứ thứ gì bạn dùng hai lần một tuần thành một cấu hình đã lưu. Những file tốt đều có chung một khuôn mẫu: danh tính, sứ mệnh, quy trình có thứ tự, sản phẩm đầu ra kèm định dạng, và tiêu chí thành công. Một vai trò review có quy trình bảy bước sẽ cho ra kết quả nhất quán qua các phiên. Một vai trò không có quy trình đó sẽ cho ra bất cứ thứ gì mà model cảm thấy hứng thú vào ngày hôm đó.
Agent nghiên cứu, thực thi, kiểm thử và báo cáo. Con người định hướng, trao quyền và chấp nhận kết quả.
Câu hỏi thường gặp
agency-agents có dùng được với công cụ khác ngoài Claude Code không? Có. Một script chuyển đổi sẽ tạo file tích hợp riêng cho từng công cụ, và install.sh --tool sẽ nhắm vào một công cụ cụ thể. Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Copilot, Windsurf, Aider và Kimi Code nằm trong số các mục tiêu được hỗ trợ. Ngoài ra còn có một ứng dụng desktop cho macOS, Linux và Windows.
Tôi có nên cài cả 300 vai trò không? Không. Trên OpenCode thì bạn không thể, vì chỉ khoảng 119 vai trò được đăng ký còn phần còn lại bị loại bỏ mà không có cảnh báo. Trên các công cụ khác thì bạn có thể cài hết, nhưng sẽ không dùng tới phần lớn trong số đó. Hãy cài theo nhóm.
Vai trò có làm cho agent mạnh hơn không? Chúng giúp agent được định hướng tốt hơn. Tính nhất quán và định dạng đầu ra được cải thiện. Còn kiến thức về những sự thật mà model chưa từng biết thì không thay đổi.
Thứ này có giống một agent framework không? Không. Framework cung cấp khả năng điều phối runtime bằng code. agency-agents cung cấp các file markdown thay đổi cách một agent hiện có hành xử. Khác tầng, không hề trùng lặp.
Nó liên quan thế nào đến Sharkly Skills? Một Skill là một năng lực bạn gắn vào cấu hình của một Agent, nên nó được tái sử dụng cùng Agent đó thay vì phải cài lại trên từng máy. Các định nghĩa vai trò trong repository này là nguyên liệu tốt để viết nên chúng.
Tóm gọn lại
agency-agents là phiên bản tốt nhất hiện có của một ý tưởng: một agent làm việc tốt hơn khi nó biết mình đang đóng vai gì. Hãy cài một nhóm, đọc các file, chỉnh sửa chúng thành thứ phù hợp với team của bạn.
Rồi hãy xác định rõ ranh giới. Các vai trò không biết những sự thật mà model của bạn chưa từng được cung cấp, và chúng không tồn tại trong bất cứ thứ gì mà team có thể nhìn thấy hay review. Một danh sách vai trò là một khởi đầu tốt. Nhưng nó không phải là một tổ chức. Sharkly nắm nửa còn lại: Task là bản ghi chung, quá trình thực thi diễn ra trên những Computer mà bạn kết nối thông qua các runtime bạn đã trả tiền, và kết quả được trả về nơi một con người có thể review và chấp nhận.



