Làm việc trong kỳ nghỉ với tác nhân AI (mà cả nhà không hề hay biết)
Đóng cửa ba tuần, hoặc thành người ôm laptop ngoài bãi biển. Tác nhân lập trình AI mở ra lựa chọn thứ ba: cách sắp đặt giúp dự án của khách hàng tiếp tục chạy với mười phút mỗi ngày.
Tháng Tám nào cũng vậy, các lập trình viên tự do và những agency nhỏ đều đứng trước cùng một lựa chọn tồi.
Đóng cửa ba tuần rồi quay lại với nguồn việc nguội lạnh, một dự án đứng bánh và một khách hàng đã lặng lẽ tìm người khác. Hoặc mang laptop theo, và trở thành người mở máy ở quán bên bãi biển trong khi tất cả những người còn lại đang ở dưới nước.
Cả hai đều có giá. Lựa chọn đầu tốn tiền và tốn đà. Lựa chọn thứ hai tốn chính kỳ nghỉ, và đó là cái bị đem ra thương lượng trong bữa tối.
Giờ đã có lựa chọn thứ ba, và nó không phải một mẹo năng suất. Việc thực thi không còn cần bạn ngồi đó nữa.
Thứ ngốn kỳ nghỉ của bạn là sự có mặt, không phải công việc
Phần trong ngày thực sự cần đến bạn nhỏ hơn vẻ ngoài của nó nhiều. Quyết định xây cái gì. Quyết định cái vừa xây có đúng không. Trả lời câu hỏi mà không ai khác trả lời được.
Mọi thứ nằm giữa những điểm đó là thực thi, và thực thi đúng là việc một tác nhân lập trình làm mà không cần giám sát: đọc mã nguồn, viết thay đổi, chạy kiểm thử, sửa những gì hỏng.
Cộng hết các quyết định trong một tuần dự án bình thường, chúng gói gọn trong hai mươi đến bốn mươi phút mỗi ngày. Phần còn lại là sự có mặt. Sự có mặt là thứ gia đình bạn nhìn thấy, và cũng chính là thứ bạn đang cố bảo vệ trong tháng Tám.
Vậy nên mục tiêu không phải là làm ít hơn trong kỳ nghỉ. Mục tiêu là giữ lại hai mươi phút đó và xóa bỏ sự có mặt.
Xếp đầy hàng đợi trước khi đi
Việc chuẩn bị diễn ra trong hai tuần trước ngày khởi hành, khi bạn vẫn còn nắm đầy đủ ngữ cảnh.
Mỗi lần bạn nghĩ "mình nên làm X", nó thành một ticket chứ không phải một ghi chú trong đầu: một tiêu đề, hai dòng ngữ cảnh, các tệp liên quan, và vai trò tác nhân nào nên nhận. Một Frontend Developer cho component, một Security Engineer cho phần dọn dẹp xác thực, một Technical Writer cho đống tài liệu chưa ai đụng tới từ tháng Ba.
Hàng đợi đó không phải danh sách việc cần làm để bạn đọc ngoài bãi biển. Nó là một tập mệnh lệnh đã nạp sẵn. Trên bảng công việc backlog, kéo một thẻ từ TODO sang In Progress sẽ khởi chạy một tác nhân trên tác vụ đó, với vai trò bạn đã chọn và phần mô tả làm đề bài. Không phải mở terminal, không phải viết prompt, không phải dựng lại ngữ cảnh sau ba tuần với cát trong bàn phím.
Nghĩa là thao tác bạn thật sự làm trong kỳ nghỉ là: kéo một cái thẻ. Mười giây. Rồi bạn đặt điện thoại xuống và đi bơi.
Mười phút bên ly cà phê, phần còn lại của ngày là của bạn
Cái nghi thức đó mới là điểm mấu chốt, và nó diễn ra trước khi mọi người kịp thức dậy.
Bạn đọc những gì đã xong qua đêm. Mỗi thẻ tác vụ hiển thị trạng thái tác nhân của nó, nên bạn biết cái gì đã xong, cái gì còn chạy và cái gì đang kẹt mà không cần mở một terminal nào. Bạn trả lời một hai tác nhân đang kẹt ở một quyết định, thường chỉ gọn trong một câu: ừ cứ di trú cột đó, không giữ endpoint cũ, cứ ra sau một feature flag.
Rồi bạn khởi động một hai thẻ mới, thế là xong. Điện thoại quay lại trong túi. Không ai ở bàn ăn nhận ra điều gì, vì chẳng có gì để nhận ra.
Đây là phần người ta hay đánh giá thấp. Làm việc trong kỳ nghỉ khổ sở không phải vì công việc. Nó khổ sở vì tư thế: cái laptop mở trên bàn, sự chú ý nửa vời, câu "cho anh năm phút" kéo thành một tiếng. Mười phút trên điện thoại lúc 7 giờ sáng là một hoạt động hoàn toàn khác.
Nếu bạn muốn phần cơ chế điều khiển tác nhân từ điện thoại thay vì phiên bản kỳ nghỉ của nó, chúng tôi đã nói riêng trong bài điều khiển tác nhân lập trình từ điện thoại.
Phần việc hoàn toàn không cần đến bạn
Một số việc diễn ra khi bạn vắng mặt thậm chí không nên chiếm của bạn mười giây.
Tác vụ theo lịch biến công việc lặp lại thành mệnh lệnh thường trực tự kích hoạt: duyệt các pull request đã về trong đêm, quét log production mỗi sáng, kiểm tra xem một phụ thuộc có vừa ra bản vá bảo mật không, viết bản tóm tắt tiến độ mỗi thứ Sáu. Bạn thiết lập một lần, trước khi đi, và chúng chạy theo lịch của mình với vai trò và prompt riêng.
Với trường hợp kỳ nghỉ, giá trị không nằm ở tự động hóa vì tự động hóa. Nó nằm ở chỗ sự vắng mặt của bạn không còn nhìn thấy được từ bên ngoài. Một khách hàng nhận bản tóm tắt thứ Sáu trong hai tuần bạn nghỉ sẽ không hề trải qua cảm giác vắng mặt nào, và riêng thói quen đó bảo vệ doanh thu tốt hơn mọi giờ ngồi laptop ngoài bãi biển.
Logic tương tự áp dụng cho những giờ bạn ngủ. Các tác nhân chạy qua đêm chính là phiên bản ca đêm của cùng ý tưởng, và trong kỳ nghỉ thì ca đêm với ca bãi biển là một.
Liên lạc được mà không phải lúc nào cũng sẵn sàng
Kiểu hỏng hay gặp khi làm việc trong kỳ nghỉ là cái điện thoại rung bất chợt và kéo bạn ra khỏi khoảnh khắc hiện tại mười một lần mỗi ngày.
Cách sửa là biến luồng thành kéo, không phải đẩy. Cấu hình thông báo sao cho chỉ hai sự kiện đến được với bạn: một tác nhân kẹt ở một quyết định, và một việc khách hàng đánh dấu khẩn. Mọi thứ khác chờ lượt duyệt buổi sáng. Một tác nhân hoàn thành tác vụ trót lọt không cần cắt ngang bữa trưa của bạn để báo tin đó.
Làm đúng thì điện thoại của bạn im lặng sáu ngày và reo hai lần. Đó là khác biệt giữa liên lạc được và luôn sẵn sàng, và cũng chính là toàn bộ cuộc thương lượng bạn đang có với những người đi nghỉ cùng.
Với các agency: ca trực tháng Tám mà không phải ca trực
Các agency gặp phiên bản khó hơn của vấn đề này. Năm dự án khách hàng, lịch nghỉ so le, một người trực, và người đó dành cả tháng chỉ để chuyển ngữ cảnh qua lại giữa những mã nguồn tuần trước mình không hề đụng tới.
Điểm chuyển là người trực thôi thực thi và bắt đầu phân loại. Mỗi dự án giữ hàng đợi riêng, tác nhân riêng và lịch sử riêng, nên nhiều dự án có thể chạy song song mà không trộn thành một mớ hỗn độn trong đầu. Khách hàng báo lỗi vào thứ Ba: ticket vào bảng của dự án đó, đúng vai trò tác nhân nhận việc, và người trực duyệt một diff đã dọn sẵn thay vì dựng lại từ đầu một mã nguồn xa lạ.
Và vì cả buồng lái đều với tới được từ điện thoại, ca trực thôi đồng nghĩa với "ngồi gần laptop". Nó thành "đọc được một diff và trả lời được một câu hỏi", việc bạn hoàn toàn làm được trên tàu.
Những gì bạn không nên làm từ bãi biển
Đây là chỗ lời khuyên thật thà quan trọng hơn lời chào hàng, vì các tình huống hỏng đều đoán trước được.
Không triển khai production nào mà bạn không thể quay lui từ điện thoại. Nếu hoàn tác cần SSH, một lần di trú và một cái đầu tỉnh táo, nó chờ.
Không hợp nhất trên các bề mặt nhạy cảm. Xác thực, thanh toán, phân quyền, dữ liệu cá nhân, di trú cơ sở dữ liệu, các đường xóa dữ liệu. Chúng cần một lượt duyệt thật trên một màn hình thật, bất kể tác nhân nói gì về công việc của chính nó. Chúng tôi đã viết về một thay đổi thực sự xứng đáng được duyệt kỹ đến đâu và không phần nào trong đó dễ hơn khi bạn đang đi dép lê.
Không kiến trúc mới. Kỳ nghỉ là dành cho hàng đợi bạn đã hiểu rõ trước khi đi. Bất cứ thứ gì buộc bạn phải giữ trong đầu một mô hình tư duy mới đúng là thứ bạn tới đây để ngừng làm.
Không để tồn đọng vô hạn. Hai mươi nhánh chưa duyệt đang chờ bạn không phải là hai tuần tiến độ, đó là một khoản nợ mang tên bạn và một ngày thứ Hai đi làm lại cực kỳ khó chịu.
Nguyên tắc chung: công việc khởi động trong kỳ nghỉ phải dễ vứt bỏ. Các tác vụ nhỏ, độc lập, đảo ngược được. Một nhánh bạn bỏ đi chẳng tốn gì. Một thay đổi hiểu nửa vời được hợp nhất từ điện thoại tốn của bạn trọn tuần đầu đi làm lại.
Một cách sắp đặt trụ được thật sự trong hai tuần
| Khi nào | Làm gì | Mất bao lâu |
|---|---|---|
| Hai tuần trước | Biến mọi ghi chú trong đầu thành ticket có phạm vi rõ và gắn sẵn vai trò | Một buổi chiều |
| Hôm trước ngày đi | Thiết lập các lượt chạy định kỳ: duyệt qua đêm, quét log buổi sáng, tóm tắt thứ Sáu | Hai mươi phút |
| Hôm trước ngày đi | Cắt thông báo xuống còn tác nhân bị kẹt và tin nhắn khẩn của khách hàng | Năm phút |
| Mỗi sáng | Đọc trạng thái, gỡ kẹt, khởi động một hai tác vụ | Mười phút |
| Không bao giờ | Triển khai, hợp nhất thay đổi nhạy cảm, khởi động kiến trúc mới | Không phải trong kỳ nghỉ |
| Ngày đầu đi làm lại | Duyệt cả đống trong một lượt, từ chối thoải mái | Nửa ngày |
Vấn đề không phải là làm nhiều hơn
Mọi thứ ở trên đều có thể bị bẻ thành "giờ thì bạn có thể làm việc cả trong kỳ nghỉ", và đó sẽ là một kết cục tồi cùng một sản phẩm còn tệ hơn.
Điểm thật sự thì khác. Trước khi có tác nhân, còn trụ lại trong cuộc chơi suốt tháng Tám nghĩa là phải có mặt: hàng giờ trước bàn phím, ai cũng thấy, trong khi người khác chờ bạn. Giờ vẫn sự liên tục đó tốn mười phút và không để lại khoảng trống nào ở bàn ăn. Lựa chọn giữa ba tuần mất trắng và một kỳ nghỉ hỏng là lựa chọn giả, và nó chưa bao giờ nói lên chuyện lập trình viên tự do làm việc chăm đến đâu.
Hãy dùng khoảng thời gian bạn lấy lại được. Hàng đợi không quan tâm bạn làm gì với nó.
AgentsRoom là trung tâm điều khiển mà cách sắp đặt này chạy trên đó: một bảng backlog nơi kéo một cái thẻ là khởi chạy một tác nhân, các lượt chạy theo lịch lặp lại, trạng thái trực tiếp của mọi tác nhân trên mọi dự án, và một ứng dụng di động cho bạn đúng buồng lái đó từ bất cứ đâu. Nó hoạt động với Claude Code, Codex và những tác nhân CLI khác mà bạn đã dùng.
Tải AgentsRoom trước khi bạn xếp vali.
Các câu hỏi thường gặp
Tác nhân lập trình AI có thực sự giữ được nhịp dự án khi tôi đi nghỉ không?
Với phần việc thực thi đã được xác định phạm vi từ trước thì có. Tác nhân đọc mã nguồn, viết thay đổi, chạy kiểm thử và sửa những gì hỏng mà không cần ai giám sát. Thứ nó không làm được là quyết định nên xây cái gì, hay tự chấp nhận công việc của chính nó ở những chỗ rủi ro. Mô hình thực tế không phải là bạn hoàn toàn đứng ngoài, mà là mười đến hai mươi phút ra quyết định mỗi ngày thay cho sáu tiếng có mặt.
Mỗi ngày trong kỳ nghỉ việc này thực sự mất bao nhiêu thời gian?
Mười đến hai mươi phút, nếu hàng đợi đã được viết trước khi bạn đi. Lượt duyệt buổi sáng gồm: đọc những gì đã xong, trả lời một hai tác nhân đang kẹt ở một câu hỏi, khởi động một hai tác vụ mới. Thứ ngốn kỳ nghỉ không phải là các quyết định, mà là việc ngồi ở bàn chờ phần thực thi diễn ra.
Khi bạn vắng mặt, tuyệt đối không nên để tác nhân phát hành những gì?
Bất cứ thứ gì đắt đỏ để hoàn tác từ điện thoại. Các lần triển khai production không có đường quay lui, và các lần hợp nhất chạm vào xác thực, thanh toán, phân quyền, dữ liệu cá nhân hay di trú cơ sở dữ liệu. Những thứ đó cần một lượt duyệt thật trên một màn hình thật. Công việc trong kỳ nghỉ nên tạo ra những nhánh dễ từ chối, không phải những thay đổi khó đảo ngược.
Lập trình viên tự do làm sao để không mất khách trong mùa hè mà vẫn không phải làm xuyên kỳ nghỉ?
Bằng cách làm cho sự vắng mặt trở nên vô hình, chứ không phải bằng cách luôn sẵn sàng. Một lượt chạy tác nhân định kỳ gửi bản tóm tắt tiến độ mỗi thứ Sáu, cộng với một hàng đợi liên tục tạo ra công việc để duyệt, khiến khách hàng cảm nhận được sự liên tục. Thứ phá hỏng quan hệ với khách hàng trong tháng Tám là sự im lặng, không phải chuyện bạn đi vắng.
Chạy tác nhân lập trình không giám sát trong hai tuần có an toàn không?
An toàn nếu các tác vụ nhỏ, độc lập và đảo ngược được, và nếu không có gì tự động hợp nhất. Hãy cô lập từng tác vụ để các tác nhân không ghi đè lên nhau, đặt trần cho lượng công việc chưa duyệt được phép dồn lại, và coi mọi kết quả là một đề xuất đang chờ con người. Rủi ro không bao giờ nằm ở việc tác nhân chạy, nó nằm ở cái diff chưa ai duyệt bị hợp nhất trong lúc vội.
Tải AgentsRoom
Chạy các agent AI của bạn (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) trên tất cả dự án, trong một cửa sổ duy nhất.
Ứng dụng đồng hành: theo dõi agent khi đi đường
Sử dụng Claude, Codex, Antigravity CLI hoặc nhà cung cấp AI khác.
Gửi lỗi và yêu cầu thẳng vào backlog công khai của bạn.
Một cái nhìn về AgentsRoom đang hoạt động.
Đọc thêm
Bạn có nên xem lại mã của AI Agent không?
Các agent của bạn viết mã tốt hơn một nửa các pull request mà bạn từng hợp nhất. Vậy bạn có còn đọc từng dòng không? Lập luận trung thực cho cả hai bên, 10 tín hiệu cho thấy một agent đã mắc lỗi, và mỗi thay đổi thực sự xứng đáng được xem xét bao nhiêu.
Đọc bài viếtQuá nhiều terminal, quá nhiều agent AI: món nợ nhận thức đang làm bạn chậm lại (và cách thoát ra)
Nhảy giữa mười terminal agent AI tạo ra một món nợ nhận thức, tài liệu và tài chính, ngốn thời gian lẫn token của bạn. Đây là cách giành lại quyền kiểm soát.
Đọc bài viết30 sự kiện hook kích hoạt trong một phiên Claude Code. Chỉ 3 sự kiện trả lời được.
Danh sách đầy đủ các sự kiện hook của Claude Code, thời điểm từng sự kiện kích hoạt, 15 sự kiện nào có thể chặn, và quy tắc stdout âm thầm nuốt chửng đầu ra của phần lớn hook. Một tài liệu tham chiếu thực chiến, đúc kết từ việc chạy hook trong môi trường sản xuất qua hàng nghìn phiên agent.
Đọc bài viết