Setup AI để chạy hơn 100 project cùng lúc
Sáu yêu cầu và bộ tool một CTO dùng để quản lý agent trên hơn 100 project: PC luôn bật, Tailscale, T3 Code, LLM wiki, local MCP, HQ và lệnh thoại.
✓ Đã duyệt độc lập · cập nhật 03/11/2026 · 15 min
1. Hơn 100 project và một bài toán chưa có lời giải sẵn
Nimród Nagy là CTO của Lynx Solutions (theo trang cá nhân của anh trên site Lynx Solutions, đọc ngày 03/11/2026). Anh mở đầu video bằng chính vai trò đó: là một Chief Technology Officer, mấy tháng qua anh đã làm trên hơn 100 project. Có project cá nhân, có project cho khách hàng, có project làm một lần rồi thôi, đủ loại mà bạn có thể nghĩ ra (theo video đăng ngày 14/10/2026).

Khi tìm trên mạng, anh thấy rất nhiều giải pháp giúp làm việc với AI tốt hơn và tối ưu workflow khi bạn đang ở bên trong một project cụ thể. Nhưng anh chưa thật sự thấy một giải pháp out-of-the-box nào tốt cho vấn đề của anh (theo video đăng ngày 14/10/2026): có ít nhất 10 project phải làm mỗi ngày, làm sao quản lý việc giao tiếp với tất cả các AI, và làm sao để bằng cách nào đó chúng có được một bộ nhớ ổn định về sở thích của anh và cách anh muốn làm việc với chúng.
Đó về cơ bản là nội dung của video. Trong mấy tháng gần đây (tính đến 10/2026), anh liên tục phải thay đổi workflow của chính mình, tải tool mới về, thử các hệ thống memory mới. Anh nghĩ giờ anh đã có một giải pháp thật sự khá tốt, và nó chạy tốt với anh (theo video đăng ngày 14/10/2026). Anh muốn giải thích hệ thống của mình hoạt động ra sao, anh dùng những workflow nào, và hy vọng nó giúp được ai đó có vấn đề giống anh.
2. Sáu yêu cầu cho hệ thống
Khi thiết kế hệ thống, anh đặt ra sáu yêu cầu phải đáp ứng (theo video đăng ngày 14/10/2026):
- Always on. Các agent phải tiếp tục làm việc ngay cả khi laptop của anh đang nằm trong túi (theo video đăng ngày 14/10/2026).
- Reachable from anywhere. Ở bất cứ đâu có kết nối internet, anh phải liên lạc được với các agent và giao thêm lệnh cho chúng (theo video đăng ngày 14/10/2026).
- Model và provider agnostic. Anh nói: đúng, lúc này (10/2026) Claude đang đứng đầu, nhưng nếu OpenAI ra một model mới thì anh phải chuyển sang được dễ dàng, bất cứ lúc nào (theo video đăng ngày 14/10/2026).
- Có memory. Một khi anh đã nói với nó điều gì, nó phải nhớ, và mọi session khác nhau của anh đều phải nhớ sở thích của anh (theo video đăng ngày 14/10/2026).
- Kết nối với mọi tool anh dùng. Nó phải kết nối được với Jira, email của anh, WhatsApp, bất cứ thứ gì anh cần (theo video đăng ngày 14/10/2026).
- Bắt đầu việc mới trong vài giây. Anh phải mở được một session mới, một thread mới, một việc mới trong vài giây. Điều này rất quan trọng, để anh có thể thay to-do list bình thường bằng việc mở ngay một thread mới và bắt tay vào thứ cần làm (theo video đăng ngày 14/10/2026).

3. Always on: một chiếc PC chơi game cũ chạy Omarchy
Bước một là làm sao để agent luôn chạy. Theo Nimród (video đăng ngày 14/10/2026), việc này thật ra khá đơn giản, nhưng bạn phải bảo đảm agent không chạy trên laptop của bạn. Như vậy khi laptop gập lại, hoặc nằm trong túi và không có internet, agent vẫn tiếp tục làm việc bạn giao.
Trường hợp của anh: anh tìm lại một chiếc PC cũ ngày trước dùng để chơi game, phủi bụi, dọn sạch ổ cứng và cài Omarchy Linux lên đó. Theo anh, nó hoàn hảo cho kiểu việc này (video đăng ngày 14/10/2026). Anh đăng nhập vào Claude, vào Codex, vào OpenCode, rồi chỉ việc SSH vào máy đó. Anh chạy được bất cứ thứ gì trên nó, và nó vẫn chạy tiếp ngay cả khi laptop đã gập (theo video đăng ngày 14/10/2026).

Anh nói anh không khuyên bạn ra ngoài thuê một VPS. Anh nghĩ điều tốt nhất bạn có thể làm là tìm một chiếc PC cũ ở đâu đó: hỏi anh chị em, anh chị em họ, hay bạn bè xem có ai còn máy cũ để không, có thể mua thêm một ổ SSD mới gắn vào, vậy là xong, bạn bắt đầu được rồi (lời khuyên trong video đăng ngày 14/10/2026).
4. Reachable from anywhere: Tailscale
Bước hai là bảo đảm truy cập được từ bất cứ đâu. Giờ bạn đã có một chiếc PC chạy Linux, mọi agent đều nằm và chạy trên đó. Làm sao để lúc nào cũng vào được nó (theo video đăng ngày 14/10/2026)?
Thứ anh dùng là Tailscale. Theo Nimród (video đăng ngày 14/10/2026), đó là một ứng dụng rất đơn giản, tải được về mọi máy: Mac, hay bất cứ đâu bạn muốn, Linux, Windows, macOS, và cả điện thoại. Tải về tất cả các thiết bị đó rồi đăng nhập cùng một tài khoản. Nó tạo ra kiểu như một mạng riêng ảo nhỏ giữa các máy.

Từ đó, theo anh (video đăng ngày 14/10/2026), mọi máy đều liên lạc được với nhau, bất kể chúng ở đâu. PC có thể đang ở nhà, sau tường lửa của router: không sao. Điện thoại thì có lẽ đang ở ngoài cùng bạn, dùng mạng di động: không sao. Chúng vẫn liên lạc với nhau qua đúng IP mà chúng vẫn dùng. Bạn có kiểu như một magic DNS, và khi đang chạy agent trên PC, bạn còn có thể bảo nó "okay, tạo một Tailscale link", rồi mở link đó trên điện thoại để xem trước thứ agent vừa build.
5. Model và provider agnostic: T3 Code
Vì sao yêu cầu này quan trọng? Theo Nimród (video đăng ngày 14/10/2026), bạn không bao giờ biết khi nào một model mới ra mắt mà rất rẻ hoặc rất tốt để dùng, trong khi có thể bạn đang bị kẹt với Anthropic hoặc OpenAI.
Anh lấy ví dụ ngay lúc quay video (tính đến 10/2026): nếu mọi thứ bạn build đều dựa trên OpenAI thì khá tệ cho bạn, vì Opus 5.5 đang rất tốt và bạn nên dùng nó, nhưng có lẽ bạn không dùng được nếu mọi thứ của bạn đều gắn với hệ thống của OpenAI (nhận định trong video đăng ngày 14/10/2026).
Để giải quyết, anh đã dùng nhiều hệ thống khác nhau. Nhưng thứ anh đang dùng và đang chạy rất tốt với anh (tính đến 10/2026) là T3 Code. Anh nói anh còn phải tra xem nó là gì, nhưng nó là một "agent harness control surface": một app nằm phía trên các harness của bạn, dùng để điều khiển các harness khác như Claude Code, Codex hay OpenCode. Nó cũng có cả app di động (theo video đăng ngày 14/10/2026).

Theo anh (video đăng ngày 14/10/2026), những gì anh vừa nói tới giờ, để agent chạy trên một máy khác và truy cập được từ bất cứ đâu, T3 Code cũng giúp được hết.
Anh bắt đầu dùng nó từ một thời gian trước vì có thể chạy cả Claude Code lẫn Codex trong đó và chuyển qua lại dễ dàng, kể cả trên cùng một project. Đôi khi anh khởi động một agent bằng Codex rồi một agent bằng Claude trên cùng project, và chúng làm việc cùng nhau. Anh nói điều đó thật tuyệt (theo video đăng ngày 14/10/2026).
6. T3 Connect thay cho Tailscale
Theo Nimród (video đăng ngày 14/10/2026), T3 Code đã được thêm rất nhiều tính năng khác nhau. Giờ bạn có thể dùng, chẳng hạn, T3 Connect, kiểu như một thứ thay thế cho Tailscale. Nếu bạn chỉ có ba thiết bị, ví dụ một laptop, một PC khác và điện thoại, thì bạn không cần Tailscale nữa, vì có thể đăng nhập T3 trên cả ba và nó tự tạo kết nối cho bạn ở phía sau.
Anh nghĩ nó được build trên Tailscale, hoặc thứ gì đó tương tự, cùng với kiểu như Clerk để xác thực, nhưng gần như là cùng một thứ (theo video đăng ngày 14/10/2026).
7. Memory: LLM wiki của Andrej Karpathy
Vấn đề thứ tư là memory. Theo Nimród (video đăng ngày 14/10/2026), Codex, Claude đều có hệ thống memory riêng, nhưng chúng khá tệ, và nếu dùng chúng thì bạn bị khoá vào hệ sinh thái của chúng.
Anh đã thử nhiều phiên bản khác nhau, nhưng thứ hiệu quả với anh là LLM wiki của Andrej Karpathy. Theo anh (video đăng ngày 14/10/2026), nó rất đơn giản: về cơ bản là một tập file markdown có link qua lại với nhau, thứ bạn cũng có thể mở trong một tool như Obsidian, và nó tạo thành một knowledge graph.

Trong tất cả các file CLAUDE.md và AGENTS.md global của mình, anh chỉ có hai dòng (theo video đăng ngày 14/10/2026). Dòng thứ nhất bảo mọi agent, đại ý: nếu cần context thì wiki đây, rất có thể trong này có thông tin hữu ích, nên trước khi hỏi user (Nimród), hãy tìm trong wiki và cố tìm câu trả lời ở đó.
Dòng thứ hai, đại ý: mỗi khi có chuyện gì lớn, mỗi khi có một incident, mỗi khi chúng ta bắt đầu một project mới, đưa ra một quyết định lớn, hãy để lại một ghi chú nhỏ trong inbox của wiki (theo video đăng ngày 14/10/2026).
Rồi cứ vài ngày, anh có một script nhỏ đi vào wiki và ingest inbox: nó lấy tất cả các mục trong inbox, những mục thô nằm trong wiki, và đưa chúng vào toàn bộ knowledge graph. Đó về cơ bản là memory của anh, và nó đã chạy rất tốt vài tháng nay (theo video đăng ngày 14/10/2026).
8. Kết nối với mọi tool: scoped API key và MCP
Yêu cầu thứ năm là agent phải kết nối được với mọi tool của anh: Jira, email, mọi loại task manager, GitLab, GitHub, tất cả những thứ đó (theo video đăng ngày 14/10/2026).

Theo Nimród (video đăng ngày 14/10/2026), phần lớn trường hợp chuyện này khá đơn giản: bạn chỉ cần tạo một API key cho agent, hoặc kết nối tới MCP của tool đó. Và đa số tool cho phép bạn chỉ cấp cho agent một số quyền: bạn có thể đưa cho chúng kiểu như scoped API key, để chúng có thể chỉ đọc hoặc chỉ cập nhật, nhưng không xoá được gì.
Nhưng anh biết có những tool không cho lựa chọn này, nhất là các tool cũ (theo video đăng ngày 14/10/2026). Ở đó bạn chỉ tạo được một API key có toàn bộ quyền mà bạn có. Đó là một vấn đề, vì có thể bạn không tin agent của mình đến mức trao toàn quyền truy cập vào ứng dụng.
9. Local MCP làm proxy cho tool cũ, và user riêng cho database
Trong trường hợp đó, anh đã tạo một local MCP, kiểu như một proxy cho tool ấy (theo video đăng ngày 14/10/2026). Ví dụ anh và đồng nghiệp đôi khi dùng Redmine, một hệ thống quản lý project từ thời xa xưa. Ở đó bạn chỉ tạo được API key có quyền truy cập toàn bộ. Vậy bạn tạo một local MCP server chỉ expose những route mà bạn thật sự muốn agent dùng; agent kết nối tới MCP, còn MCP mới là bên dùng API của Redmine để cập nhật và tạo dữ liệu.

Tất nhiên, MCP này anh cũng tạo bằng agent, nên bạn có thể dựng nó lên khá nhanh. Bạn tạo nó bằng một agent, rồi với mọi agent khác thì chỉ cần link MCP vào. Các agent kia thậm chí không biết là nó có thể bị thay đổi, nên chúng chỉ dùng những function được expose trong đó. Có lẽ bạn sẽ phải cập nhật thêm vài lần khi nhận ra cần bổ sung thứ gì, nhưng theo anh nó khá tốt (video đăng ngày 14/10/2026).
Nếu cần kết nối agent với database, theo anh (video đăng ngày 14/10/2026), bạn luôn có thể tạo những user riêng chỉ có quyền đọc trên đúng các bảng mà agent thật sự cần. Như vậy bạn không cấp cho nó quyền vào những bảng như bảng users, nơi có thể chứa thông tin định danh cá nhân mà bạn không muốn agent lấy được.
10. HQ: bắt đầu một thread mới trong vài giây
Cuối cùng, anh cần mọi thứ chạy theo cách mà bất cứ giây nào anh cũng có thể mở một thread mới và nó bắt đầu làm việc. Để làm được, anh phải build hai thứ (theo video đăng ngày 14/10/2026).
Thứ nhất là một session HQ. Trên mỗi máy của anh, gồm MacBook, một Mac mini và chiếc PC chạy Linux, cả ba đều có một bản sao của cùng một project anh gọi là HQ. Project HQ có danh sách mọi project của anh và mỗi project được cài trên máy nào. Có project được cài trên nhiều máy, nên anh có thể mở thread trên laptop hoặc trên PC (theo video đăng ngày 14/10/2026).
HQ thường là project mà anh nói chuyện cùng. Khi muốn mở một thread mới để làm một project nào đó cả tháng chưa đụng tới, thay vì cố mở thread bên trong project đó (có khi nó còn chưa có trong T3, vì anh chưa dùng lại từ lúc bắt đầu dùng T3), thay vì đi tìm nó nằm ở đâu, trên máy nào, rồi thêm nó vào làm project, anh chỉ cần nói với HQ, chẳng hạn: "okay, hey, tôi muốn bạn thêm một kiểu đăng nhập an toàn hơn cho ứng dụng này". HQ tìm trong danh sách project, xác định nó nằm ở đâu, rồi mở một thread trên đúng máy đó, vì máy nào của anh cũng truy cập được các máy còn lại (theo video đăng ngày 14/10/2026).

Theo Nimród (video đăng ngày 14/10/2026), T3 hoạt động theo mô hình có server và client. Client thì anh có trên MacBook; anh còn một client nữa nhưng không dùng nhiều. Còn server thì anh có trên PC, trên laptop và trên Mac mini. Anh có thể mở điện thoại, nơi có một client kết nối với cả ba, rồi bảo HQ trên PC mở một thread mới trong project X. Nếu project đó nằm trên laptop, PC sẽ gọi MCP của T3 server trên laptop và bắt đầu công việc ở đó, tất nhiên là với điều kiện laptop cũng đang cắm điện, có internet và đang bật.

Đó là thứ đầu tiên anh phải làm để mọi thứ chạy được, vì anh cần HQ: một AI mà phần lớn thời gian anh nói chuyện cùng để mở các session (theo video đăng ngày 14/10/2026).
11. Từ điện thoại: Hermes, Element, nút Action và Whisper
Thứ hai là làm được việc đó thật nhanh từ điện thoại. Trên PC, anh có chạy thêm một Hermes agent. Theo Nimród (video đăng ngày 14/10/2026), nếu bạn chưa biết Hermes, nó là kiểu agent luôn bật, mã nguồn mở, và bạn dùng model của chính mình phía sau nó. Anh chạy một con trên PC và có thể gửi tin nhắn cho nó.
Anh gửi tin cho nó qua Element với server Matrix, vì đó là self-hosted và an toàn hơn; nhưng theo anh, bạn cũng có thể chỉ dùng kiểu như Telegram để nhắn cho nó (video đăng ngày 14/10/2026). Con Hermes đó cũng có quyền truy cập vào tất cả MCP của các T3 server, vào wiki và vào danh sách project của HQ, nên nó cũng mở được thread trên bất kỳ máy nào.
Trên iPhone mới, hay thậm chí không mới lắm, anh không chắc, từ đời 14 hoặc 15, có nút Action (theo video đăng ngày 14/10/2026). Bạn có thể giữ nút đó và gán bất kỳ shortcut nào của riêng bạn cho nó.
Anh gán một shortcut: khi bắt đầu giữ nút, nó ghi âm. Anh chỉ cần nói, chẳng hạn, "please add passcode login to project X". Ngay lúc đó, shortcut gửi file âm thanh qua Element và Matrix về PC của anh, ở đó nó được chuyển thành chữ bằng Whisper. Đoạn chữ đó được gửi tới Hermes (theo video đăng ngày 14/10/2026).

Hermes biết rằng khi anh nói như vậy, vì anh đã cài sẵn điều này trong memory của nó, anh không muốn nó tự bắt tay làm project hay thay đổi đó. Thứ anh thật sự muốn là nó mở một thread T3 mới với thay đổi đó, để lát sau anh vào tiếp và làm tiếp (theo video đăng ngày 14/10/2026).
12. Không còn to-do list
Theo Nimród (video đăng ngày 14/10/2026), việc này rất tuyệt, vì anh không cần liên tục ngồi xuống thêm việc vào to-do list, rồi sau đó lại phải xem to-do list và làm từng việc trong đó.
Bất cứ khi nào có việc phát sinh, ví dụ anh đang ở ngoài, đang làm gì đó, và thấy một email của ai đó gửi tới mà anh cần xem một tài liệu, việc đầu tiên anh làm là cầm điện thoại lên, bấm nút, và nói đại ý: "hey, tôi vừa nhận email từ X, hãy xem nó, so với những gì chúng ta đã bàn mấy ngày trước, tôi biết có một thread ở đâu đó, rồi gửi lại kết quả để tôi review". Rồi anh đặt điện thoại xuống và nó bắt đầu làm (theo video đăng ngày 14/10/2026).

Lần tới khi ngồi vào laptop hoặc PC, anh chỉ việc mở T3 và thấy tất cả các thread mình đã mở. Rồi anh lần lượt xử lý từng cái: đóng lại nếu đã xong, hoặc giao cho nó việc tiếp theo (theo video đăng ngày 14/10/2026).
13. Setup của anh: ba máy, bốn thiết bị
Đó về cơ bản là setup của anh (theo video đăng ngày 14/10/2026). Anh có ba máy và tổng cộng bốn thiết bị: laptop là một MacBook Pro, một Mac mini, chiếc PC Linux, và điện thoại. Ba máy chạy T3 server. Điện thoại có T3 client, và laptop cũng có T3 client. Anh chạy được thread trên tất cả các máy.
Session HQ có trên cả ba máy, wiki cũng có trên cả ba. Tất cả được đồng bộ bằng một lệnh anh gọi là fleet, thứ anh nói là anh "chôm" từ Theo, người tạo ra T3 Code. Và tất nhiên còn Hermes agent cùng khung chat Element, để anh gửi tin nhắn thoại cho nó và khởi động việc thật nhanh khi cần (theo video đăng ngày 14/10/2026).
Anh nói rất hy vọng video giúp được bạn nếu bạn gặp những vấn đề giống anh, và cảm ơn mọi người đã xem.
Nguồn và liên kết 17 nguồn
- Tên gốc: My AI setup for running 100+ projects
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=kyK-MKRLRLk youtube.com
- Kênh YouTube Nimrod (Nimród Nagy): youtube.com/channel/UCkW7zZJ0liLMNvOJmRtJ73Q youtube.com
- Trang cá nhân của Nimród Nagy trên site Lynx Solutions, ghi "CTO, Lynx Solutions" (đọc ngày 03/11/2026): lynxsolutions.eu/nimrod lynxsolutions.eu
- Omarchy, bản Linux anh cài trên chiếc PC cũ: omarchy.org omarchy.org
- Tailscale: tailscale.com tailscale.com
- T3 Code, trang chủ ghi "The open-source control plane for coding agents" (đọc ngày 03/11/2026): t3.codes; README của repo tự gọi nó là một "agent harness control surface" (đọc ngày 03/11/2026): github.com/pingdotgg/t3code t3.codes
- Claude Code: claude.com/product/claude-code claude.com
- Codex: github.com/openai/codex github.com
- OpenCode: opencode.ai opencode.ai
- LLM Wiki của Andrej Karpathy, gist mô tả cách để LLM xây và duy trì một wiki gồm các file markdown liên kết với nhau (đọc ngày 03/11/2026): gist.github.com/karpathy/442a6bf555914893e9891c11519de94f gist.github.com
- Obsidian: obsidian.md obsidian.md
- Hermes Agent: github.com/NousResearch/hermes-agent github.com
- Element, ứng dụng nhắn tin trên mạng Matrix: element.io element.io
- Whisper: github.com/openai/whisper github.com
- Redmine: redmine.org redmine.org