Tự động hóa Công việc Trí tuệ với các Tác nhân AI
Trong bối cảnh kỹ thuật phần mềm đang phát triển nhanh chóng, việc theo đuổi hiệu quả thường dẫn đến những đổi mới mang tính đột phá. Tyler McGoffin, một nhà nghiên cứu AI, gần đây đã trình bày chi tiết một hành trình tiêu biểu cho tinh thần này: tự động hóa công việc trí tuệ của mình thông qua phát triển theo hướng tác nhân với GitHub Copilot. Đây không chỉ là việc mã hóa nhanh hơn; đó là việc thay đổi cơ bản vai trò của nhà phát triển từ phân tích lặp đi lặp lại sang giải quyết vấn đề sáng tạo và giám sát chiến lược. Kinh nghiệm của McGoffin làm nổi bật một hình mẫu quen thuộc giữa các kỹ sư—xây dựng công cụ để loại bỏ công việc nhàm chán—nhưng còn tiến thêm một bước bằng cách giao phó các tác vụ phân tích phức tạp mà trước đây không thể mở rộng thủ công cho các tác nhân AI.
Nguồn cảm hứng của McGoffin xuất phát từ một khía cạnh quan trọng nhưng quá sức trong công việc của anh: phân tích hiệu suất của tác nhân mã hóa so với các tiêu chuẩn như TerminalBench2 và SWEBench-Pro. Điều này liên quan đến việc mổ xẻ 'quỹ đạo'—các nhật ký JSON chi tiết về quá trình tư duy và hành động của một tác nhân—có thể lên tới hàng trăm nghìn dòng mã trên nhiều tác vụ và lần chạy tiêu chuẩn. Mặc dù GitHub Copilot đã hỗ trợ nhận dạng mẫu, tính chất lặp đi lặp lại của vòng phân tích này đã kêu gọi việc tự động hóa hoàn toàn. Điều này đã dẫn đến việc tạo ra 'eval-agents,' một hệ thống được thiết kế để tự động hóa gánh nặng trí tuệ này, trao quyền cho nhóm của anh trong Khoa học Ứng dụng Copilot đạt được hiệu quả tương tự.
Bản thiết kế cho Phát triển theo hướng tác nhân
Sự ra đời của 'eval-agents' được định hướng bởi một tập hợp các nguyên tắc rõ ràng tập trung vào sự hợp tác và khả năng mở rộng. McGoffin đặt mục tiêu làm cho các tác nhân AI này dễ chia sẻ, dễ tạo và là phương tiện chính cho các đóng góp của nhóm. Những mục tiêu này phản ánh các giá trị cốt lõi của GitHub, đặc biệt là những giá trị được trau dồi trong kinh nghiệm của anh với tư cách là người duy trì OSS cho GitHub CLI. Tuy nhiên, chính mục tiêu thứ ba—biến các tác nhân mã hóa thành người đóng góp chính—mới thực sự định hình hướng đi của dự án và mở ra những lợi ích bất ngờ cho hai mục tiêu đầu tiên.
Thiết lập mã hóa tác nhân đã tận dụng một số công cụ mạnh mẽ để hợp lý hóa quá trình phát triển:
- Tác nhân mã hóa: Copilot CLI, cung cấp tương tác và kiểm soát trực tiếp.
- Mô hình được sử dụng: Claude Opus 4.6, cung cấp khả năng suy luận và tạo mã tiên tiến.
- IDE: VSCode, đóng vai trò là không gian làm việc trung tâm để phát triển.
Điều quan trọng là, Copilot SDK đóng vai trò then chốt, cung cấp quyền truy cập vào các công cụ hiện có, máy chủ MCP và các cơ chế để đăng ký các công cụ và kỹ năng mới. Nền tảng này đã loại bỏ nhu cầu phát minh lại các chức năng cốt lõi của tác nhân, cho phép nhóm tập trung vào logic ứng dụng cụ thể. Môi trường tích hợp này đã thúc đẩy một vòng lặp phát triển nhanh chóng, chứng minh rằng với thiết lập phù hợp, các tác nhân AI không chỉ có thể hỗ trợ mà còn thúc đẩy các phần đáng kể của nỗ lực phát triển.
Các Nguyên tắc Cốt lõi để Mã hóa Tác nhân Hiệu quả
Chuyển đổi sang mô hình theo hướng tác nhân đòi hỏi nhiều hơn là chỉ công cụ; nó đòi hỏi một sự thay đổi trong phương pháp luận. McGoffin đã xác định ba nguyên tắc cốt lõi đã chứng tỏ là nền tảng để tăng tốc phát triển và thúc đẩy sự hợp tác:
- Chiến lược ra lệnh: Tương tác hiệu quả với các tác nhân có nghĩa là phải đối thoại, dài dòng và ưu tiên lập kế hoạch.
- Chiến lược kiến trúc: Một cơ sở mã sạch sẽ, được tài liệu hóa tốt và được tái cấu trúc là tối quan trọng để các tác nhân điều hướng và đóng góp hiệu quả.
- Chiến lược lặp lại: Áp dụng tư duy "đổ lỗi quy trình, không đổ lỗi tác nhân", tương tự như văn hóa không đổ lỗi, cho phép thử nghiệm và học hỏi nhanh chóng.
Những chiến lược này, khi được áp dụng nhất quán, đã mang lại kết quả đáng kinh ngạc. Để chứng minh cho hiệu quả này, năm người đóng góp mới, chỉ trong ba ngày, đã cùng nhau thêm 11 tác nhân mới, bốn kỹ năng mới và giới thiệu khái niệm 'quy trình làm việc của tác nhân đánh giá' vào dự án. Sprint cộng tác này đã tạo ra một sự thay đổi đáng kể +28.858/-2.884 dòng mã trên 345 tệp, cho thấy tác động sâu sắc của github-agentic-workflows trong thực tế.
Dưới đây là tóm tắt các nguyên tắc cốt lõi:
| Nguyên tắc | Mô tả | Lợi ích cho Phát triển theo hướng tác nhân |
|---|---|---|
| Ra lệnh | Đối xử với tác nhân như các kỹ sư cấp cao: hướng dẫn suy nghĩ của họ, giải thích quá mức các giả định, tận dụng các chế độ lập kế hoạch (/plan) trước khi thực hiện. Hãy đối thoại và chi tiết. | Dẫn đến kết quả chính xác và phù hợp hơn, giúp tác nhân giải quyết các vấn đề phức tạp một cách hiệu quả. |
| Kiến trúc | Ưu tiên tái cấu trúc, tài liệu toàn diện và kiểm thử mạnh mẽ. Giữ cho cơ sở mã sạch sẽ, dễ đọc và có cấu trúc tốt. Tích cực dọn dẹp mã chết. | Cho phép tác nhân hiểu cơ sở mã, các mẫu và chức năng hiện có, tạo điều kiện cho các đóng góp chính xác. |
| Lặp lại | Áp dụng tư duy 'đổ lỗi quy trình, không đổ lỗi tác nhân'. Triển khai các rào cản (kiểu dữ liệu nghiêm ngặt, trình kiểm tra mã, kiểm thử mở rộng) để ngăn chặn lỗi. Học hỏi từ lỗi của tác nhân bằng cách cải thiện các quy trình và rào cản. | Thúc đẩy quá trình lặp lại nhanh chóng, xây dựng niềm tin vào các đóng góp của tác nhân và liên tục cải thiện quy trình phát triển. |
Tăng tốc Phát triển: Các Chiến lược trong Thực tiễn
Thành công của cách tiếp cận theo hướng tác nhân này bắt nguồn từ việc áp dụng thực tế các nguyên tắc này.
Chiến lược Ra lệnh: Hướng dẫn Kỹ sư AI
Các tác nhân mã hóa AI, mặc dù mạnh mẽ, nhưng lại xuất sắc trong các vấn đề có phạm vi rõ ràng. Đối với các tác vụ phức tạp hơn, chúng yêu cầu hướng dẫn, giống như các kỹ sư cấp dưới. McGoffin nhận thấy rằng việc tham gia vào một phong cách đối thoại, giải thích các giả định và tận dụng các chế độ lập kế hoạch hiệu quả hơn nhiều so với các lệnh ngắn gọn. Ví dụ, khi thêm các kiểm thử hồi quy mạnh mẽ, một câu lệnh như /plan Tôi gần đây đã nhận thấy Copilot vui vẻ cập nhật các kiểm thử để phù hợp với các mô hình mới của nó mặc dù các kiểm thử đó không nên được cập nhật. Làm thế nào tôi có thể tạo một không gian kiểm thử dành riêng mà Copilot không thể chạm vào hoặc phải giữ lại để bảo vệ chống lại các hồi quy? đã khởi xướng một cuộc đối thoại hiệu quả. Sự tương tác này, thường với mô hình claude-opus-4-6 mạnh mẽ, đã dẫn đến các giải pháp tinh vi như các rào cản kiểm thử hợp đồng, mà chỉ các kỹ sư con người mới có thể cập nhật, đảm bảo chức năng quan trọng vẫn được bảo vệ.
Chiến lược Kiến trúc: Nền tảng của Chất lượng được Hỗ trợ bởi AI
Đối với các kỹ sư con người, việc duy trì một cơ sở mã sạch, viết kiểm thử và tài liệu hóa các tính năng thường bị giảm ưu tiên dưới áp lực tính năng. Trong phát triển theo hướng tác nhân, những điều này trở nên tối quan trọng. McGoffin phát hiện ra rằng việc dành thời gian tái cấu trúc, tài liệu hóa và thêm các trường hợp kiểm thử đã cải thiện đáng kể khả năng của Copilot trong việc điều hướng và đóng góp vào cơ sở mã. Một kho lưu trữ ưu tiên tác nhân phát triển mạnh mẽ nhờ sự rõ ràng. Điều này cho phép các nhà phát triển thậm chí nhắc Copilot với các câu hỏi như "Với những gì tôi biết bây giờ, tôi sẽ thiết kế khác đi như thế nào?", biến các tái cấu trúc lý thuyết thành các dự án có thể đạt được với sự hỗ trợ của AI. Việc tập trung liên tục vào sức khỏe kiến trúc này đảm bảo rằng các tính năng mới có thể được phân phối dễ dàng.
Chiến lược Lặp lại: Tin tưởng vào Quy trình, không chỉ Tác nhân
Sự phát triển của các mô hình AI đã thay đổi tư duy từ "tin tưởng nhưng xác minh" sang một lập trường tin tưởng hơn, tương tự như cách các nhóm hiệu quả hoạt động với triết lý "đổ lỗi quy trình, không đổ lỗi con người". "Văn hóa không đổ lỗi" này trong phát triển theo hướng tác nhân có nghĩa là khi một tác nhân AI mắc lỗi, phản ứng là cải thiện các quy trình và rào cản cơ bản, thay vì đổ lỗi cho chính tác nhân đó. Điều này bao gồm việc triển khai các thực hành CI/CD nghiêm ngặt: kiểu dữ liệu nghiêm ngặt để đảm bảo sự phù hợp giao diện, trình kiểm tra mã mạnh mẽ cho chất lượng mã và kiểm thử tích hợp, đầu cuối và hợp đồng mở rộng. Mặc dù việc xây dựng các kiểm thử này theo cách thủ công có thể tốn kém, sự hỗ trợ của tác nhân làm cho chúng rẻ hơn nhiều để triển khai, mang lại sự tự tin quan trọng vào những thay đổi mới. Bằng cách thiết lập các hệ thống này, các nhà phát triển trao quyền cho Copilot kiểm tra công việc của chính mình, phản ánh cách một kỹ sư cấp dưới được tạo điều kiện để thành công.
Làm chủ Vòng lặp Phát triển theo hướng Tác nhân
Việc tích hợp các nguyên tắc này vào một quy trình làm việc thực tế sẽ tạo ra một vòng lặp phát triển mạnh mẽ, được tăng tốc:
- Lập kế hoạch với Copilot: Bắt đầu các tính năng mới bằng cách sử dụng
/plan. Lặp lại kế hoạch, đảm bảo các bản cập nhật kiểm thử và tài liệu được bao gồm và hoàn thành trước khi triển khai mã. Tài liệu có thể đóng vai trò là một bộ hướng dẫn bổ sung cho tác nhân. - Triển khai với Autopilot: Cho phép Copilot triển khai tính năng bằng cách sử dụng
/autopilot, tận dụng khả năng tạo mã của nó. - Đánh giá với Copilot Code Review: Nhắc Copilot bắt đầu một vòng lặp đánh giá. Điều này liên quan đến việc yêu cầu tác nhân Copilot Code Review, xử lý các nhận xét của nó và yêu cầu đánh giá lại cho đến khi các vấn đề được giải quyết.
- Đánh giá thủ công: Thực hiện đánh giá thủ công cuối cùng để đảm bảo các mẫu được tuân thủ và các quyết định phức tạp phù hợp với ý định chiến lược.
Ngoài vòng lặp tính năng, tối ưu hóa liên tục là chìa khóa. McGoffin thường xuyên nhắc Copilot bằng các lệnh như /plan Xem xét mã để tìm bất kỳ kiểm thử nào bị thiếu, bất kỳ kiểm thử nào có thể bị hỏng và mã chết hoặc /plan Xem xét tài liệu và mã để xác định bất kỳ khoảng trống tài liệu nào. Các kiểm tra này, được chạy hàng tuần hoặc khi các tính năng mới được tích hợp, đảm bảo môi trường phát triển theo hướng tác nhân vẫn lành mạnh và hiệu quả.
Tương lai của Kỹ thuật Phần mềm với AI
Những gì bắt đầu như một nhiệm vụ cá nhân để tự động hóa một tác vụ phân tích khó chịu đã phát triển thành một mô hình mới cho phát triển phần mềm. Phát triển theo hướng tác nhân, được hỗ trợ bởi các công cụ như GitHub Copilot và các mô hình tiên tiến như Claude Opus, không chỉ là làm cho các nhà phát triển nhanh hơn; đó là việc thay đổi cơ bản bản chất công việc cho các nhà nghiên cứu AI và kỹ sư phần mềm. Bằng cách giảm bớt công việc trí tuệ cho các tác nhân thông minh, các nhóm có thể đạt được mức độ năng suất, hợp tác và đổi mới chưa từng có, cuối cùng tập trung vào các thách thức sáng tạo và chiến lược thực sự thúc đẩy sự tiến bộ. Cách tiếp cận này báo trước một tương lai thú vị nơi các tác nhân AI không chỉ là công cụ, mà là thành viên không thể thiếu của nhóm phát triển, thay đổi cách chúng ta xây dựng và duy trì phần mềm.
Nguồn gốc
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Câu hỏi thường gặp
What is agent-driven development in the context of GitHub Copilot?
How did the 'eval-agents' project originate?
What are the key components of an agentic coding setup for this approach?
What prompting strategies are most effective when working with AI coding agents?
Why are architectural strategies like refactoring and documentation crucial for agent-driven development?
How does a 'blameless culture' apply to iteration strategies in agent-driven development?
What is the typical development loop when using agent-driven development?
What kind of impact did agent-driven development have on team productivity and collaboration?
Cập nhật tin tức
Nhận tin tức AI mới nhất qua email.
