
Lập trình cặp Agent-to-Agent
Agent-to-agent pair programming
Các nhà nghiên cứu đã chứng minh khả năng "pair programming" giữa các agent LLM như Claude và Codex, cho phép chúng giao tiếp trực tiếp với nhau, mô phỏng cách con người làm việc nhóm để "code review". Phương pháp này tận dụng những phản hồi đa dạng từ nhiều agent để tạo ra một tín hiệu mạnh mẽ hơn, giúp nâng cao chất lượng code và rút ngắn chu kỳ phản hồi so với quy trình review truyền thống. Developer có thể sử dụng các công cụ như `loop` để hỗ trợ sự tương tác trực tiếp giữa các agent này. Điều này mở ra cách phát triển lặp đi lặp lại nhanh hơn, tự nhiên hơn, đồng thời vẫn cho phép con người can thiệp và định hướng quá trình. Tóm lại, quy trình phát triển AI trong tương lai có khả năng sẽ giống với cách con người làm việc nhóm, với giao tiếp "agent-to-agent" trở thành một tính năng cốt lõi.
Điều gì sẽ xảy ra nếu bạn có thể để Claude và Codex làm việc cùng nhau như những lập trình viên cặp, nói chuyện trực tiếp với nhau? Một người trong số họ là nhân viên chính và người còn lại là người đánh giá. Thật thú vị khi đại lý tốt nhất...
Điều gì sẽ xảy ra nếu bạn để Claude và Codex làm việc cùng nhau như những lập trình viên cặp, nói chuyện trực tiếp với nhau? Một người trong số họ là nhân viên chính và người còn lại là người đánh giá.
Thật thú vị khi quy trình làm việc của nhân viên hỗ trợ tốt nhất thường trông rất giống sự cộng tác của con người. Các nhà nghiên cứu tại Cursor đã phát hiện ra điều này khi nghiên cứu các tác nhân mã hóa chạy dài hạn. Công việc đó đã khiến họ tạo ra một quy trình làm việc đa tác nhân với một người điều phối chính giao nhiệm vụ cho các nhân viên. Điều này tương tự như cách hầu hết các đội con người hoạt động. Các tính năng “Nhóm đại lý” của Claude Code và Codex “Đa đại lý” hoạt động tương tự nhau, trong đó các đại lý phụ báo cáo lại cho tổng đài viên chính. Và trong tương lai, các tác nhân phụ có thể tương tác với nhau giống như con người.
Tôi muốn theo đuổi ý tưởng mô phỏng sự cộng tác của con người bằng cách khai thác nhiều tác nhân và một quy trình làm việc khác được các lập trình viên sử dụng: lập trình cặp. Khi xây dựng một tác nhân đánh giá mã bằng cách sử dụng Claude và Codex song song, tôi thấy một điều thú vị: họ đưa ra những phản hồi khác nhau -- nhưng ngay cả khi họ đưa ra những phản hồi giống nhau, điều đó cũng không gây khó chịu: trên thực tế đó là một tín hiệu rất mạnh. Nhóm của chúng tôi giải quyết 100% phản hồi khi cả hai người đánh giá đều đồng ý. Việc đánh giá mã rất hữu ích vì chúng diễn ra trên một ứng dụng nhiều người chơi, nơi con người và tổng đài viên cộng tác, nhưng chúng làm chậm vòng phản hồi và có thể gây ồn ào.
Đó là lý do tại sao tôi xây dựng vòng lặp: một CLI đơn giản giúp khởi chạy claude và codex song song trong tmux, với một cầu nối cho phép chúng giao tiếp với nhau. Nó làm cho vòng phản hồi này nhanh hơn và tự nhiên hơn, đồng thời duy trì bối cảnh qua các lần lặp lại. Điều này thú vị vì nó cho phép các tác nhân chủ động hơn vì sự tương tác giữa chúng tự nhiên hơn (và tôi hy vọng điều đó sẽ chỉ trở nên tốt hơn khi các mô hình cũng trở nên tốt hơn). Vì loop chạy các TUI tương tác nên bạn có thể theo dõi, chỉ đạo, trả lời câu hỏi và theo dõi nếu cần.
Tương lai của quy trình làm việc tổng đài có thể không giống tự động hóa kỳ diệu mà giống hoạt động làm việc nhóm quen thuộc hơn. Và tôi chắc chắn rằng có một số quan sát tuyệt vời có thể áp dụng cho quy trình lập trình cặp này. Một số câu hỏi mở xung quanh cách giúp quá trình chuyển giao con người và đánh giá PR trở nên dễ dàng hơn:
- Chúng ta có nên chia công việc cho nhiều PR không?
- Chúng ta nên chia sẻ PLAN.md trong git hay trong mô tả PR?
- Chúng ta có nên chia sẻ ảnh chụp màn hình hoặc bản ghi video để làm bằng chứng về tác phẩm không?
Việc để nhân viên hỗ trợ lặp lại có thể dẫn đến nhiều thay đổi hơn mong đợi. Điều này thường được hoan nghênh -- nhưng tiếc là điều đó khiến việc đánh giá của con người trở nên khó khăn hơn.
Rất nhiều người đang sử dụng nhiều khai thác tác nhân vì nhiều lý do: để tránh bị nhà cung cấp khóa, sử dụng và đóng góp cho một dự án nguồn mở, để tối đa hóa đăng ký của họ hoặc để có được quan điểm, thế mạnh và kết quả khác nhau. Các ứng dụng khai thác đa tác nhân có lẽ nên coi giao tiếp giữa tác nhân với tác nhân là tính năng hạng nhất. Tôi rất muốn thấy họ áp dụng cách tiếp cận này.
Dùng thử: https://github.com/axeldelafosse/loop
Xin cảm ơn tới Léna Deloizy Delafosse, Will Horn, Tian Wang và Ferruccio Balestreri vì đã đọc bản thảo này.
Tác giả: axldelafosse