Nhà máy phần mềm mã nguồn mở của LangChain

@BraceSproul
TIẾNG ANH2 ngày trước · 18 thg 7, 2026
177K
285
48
11
737

TL;DR

LangChain đã phát hành một bộ công cụ mã nguồn mở bao gồm dcode, OpenSWE và OpenWiki để tạo ra một nhà máy tác nhân AI toàn diện cho các quy trình kỹ thuật phần mềm.

Tại LangChain, chúng tôi tương tác với các tác nhân kỹ thuật phần mềm từ terminal, Slack, Linear, GitHub và CI.

Các quy trình làm việc khác nhau cần các tác nhân khác nhau. Lập trình cục bộ cần mang tính tương tác. Lập trình trên đám mây nên chạy nền và mở PR. Đánh giá code cần cẩn thận và tích hợp với GitHub. Tài liệu repo nên gắn liền với code và cung cấp ngữ cảnh hữu ích cho các tác nhân.

Chúng tôi đã xây dựng hệ thống đó như một bộ công cụ mã nguồn mở:

  • dcode dành cho lập trình cục bộ
  • OpenSWE dành cho các tác nhân lập trình trên đám mây
  • OpenSWE Review dành cho đánh giá code tự động
  • OpenWiki dành cho tài liệu repo và bộ nhớ tác nhân

Cùng nhau, chúng tạo nên nhà máy tác nhân kỹ thuật phần mềm của chúng tôi. Đây là hình dạng chúng tôi sử dụng nội bộ: tác nhân cục bộ, tác nhân đám mây, tác nhân đánh giá, bộ nhớ repo, mô hình mở và dấu vết LangSmith xuyên suốt hệ thống.

Tại sao mã nguồn mở lại quan trọng

Các tác nhân kỹ thuật phần mềm đọc code, chỉnh sửa code, đánh giá PR và tham gia vào các quy trình kỹ thuật. Các nhóm cần hiểu và kiểm soát cách các tác nhân đó hoạt động.

Điều đó rất khó nếu tác nhân là một hệ thống đóng. Bạn bị giới hạn vào các mô hình, hành vi đánh giá, tích hợp và khả năng quan sát mà nhà cung cấp hỗ trợ.

Chúng tôi muốn các tác nhân mà các nhóm có thể kiểm tra, sửa đổi và thích ứng với quy trình làm việc của riêng họ, bao gồm các tiêu chuẩn đánh giá, quy ước repo, lựa chọn mô hình và công cụ nội bộ của riêng họ. Đó là lý do tại sao các dự án này là mã nguồn mở.

Các thành phần

dcode

dcode là tác nhân lập trình cục bộ mà chúng tôi sử dụng từ terminal.

Brace - inline image

CLI và môi trường chạy tác nhân hoạt động cục bộ trên máy của bạn, trong khi mô hình vẫn có thể được lưu trữ từ xa. Điều đó cho phép các nhà phát triển làm việc trực tiếp với một repo cục bộ trong khi sử dụng các mô hình lập trình lớn có thể không chạy được trên laptop.

Chúng tôi sử dụng dcode cho công việc lập trình tương tác: khám phá repo, thực hiện chỉnh sửa và chạy các tác vụ triển khai từ terminal.

OpenSWE

OpenSWE là tác nhân lập trình trên đám mây mà chúng tôi sử dụng khi công việc cần chạy nền.

Rất nhiều công việc kỹ thuật bắt đầu từ bên ngoài terminal. Một lỗi xuất hiện trên Slack. Một yêu cầu tính năng nằm trong Linear. Một tác vụ bảo trì repo cần chạy theo lịch.

OpenSWE có thể được kích hoạt từ Slack, Linear, GitHub hoặc giao diện web. Nó chạy trên đám mây, làm việc trên code và có thể mở một pull request khi hoàn thành.

Nội bộ, đây đã trở thành một trong những quy trình làm việc tác nhân được sử dụng nhiều nhất của chúng tôi. Chỉ trong tuần trước, chúng tôi đã kích hoạt OpenSWE gần 1.000 lần chỉ từ Slack, chưa kể đến Linear hoặc giao diện web.

Vì OpenSWE chạy trong một sandbox trên đám mây, chúng tôi có thể chạy nhiều tác nhân lập trình song song mà không làm ảnh hưởng đến môi trường cục bộ của bất kỳ ai.

OpenSWE cũng bao gồm một giao diện để kiểm tra công việc của tác nhân, trò chuyện với tác nhân lập trình đám mây, cấu hình mô hình và prompt, xem phân tích, và thiết lập tự động hóa theo lịch.

Brace - inline image

OpenSWE Review

OpenSWE Review kết nối với GitHub và tự động đánh giá các pull request. Nó xác định lỗi và hồi quy trước khi code được hợp nhất.

Brace - inline image

Nó cũng hoạt động cực kỳ tốt trên các benchmark bên ngoài. Trên Offline Code Review Benchmark, OpenSWE Review đạt 47% khi chạy GPT-5.5 với khả năng suy luận trung bình. Điều đó đưa nó lên đứng thứ 6 tổng thểđứng đầu trong số các tác nhân đánh giá code mã nguồn mở.

Đánh giá code mang tính đặc thù cao đối với từng tổ chức. Các nhóm khác nhau về vấn đề họ quan tâm, cách họ diễn đạt nhận xét và khi nào họ muốn tác nhân chặn, đề xuất hoặc im lặng.

OpenSWE Review cung cấp cho chúng tôi một mặc định mạnh mẽ mà chúng tôi có thể thích ứng bằng cách thay đổi prompt, quy trình làm việc, lựa chọn mô hình và hành vi cụ thể theo repo.

OpenWiki

OpenWiki tạo và duy trì tài liệu codebase bằng cách sử dụng Open Knowledge Format của Google.

Tài liệu sống cùng với code và được cập nhật tự động thông qua một GitHub action. Điều đó cung cấp cho cả con người và tác nhân một lớp kiến thức được duy trì cho repo, mà không cần lo lắng về việc bảo trì tài liệu (OpenWiki làm điều đó cho bạn!).

Brace - inline image

Nếu một tác nhân phải khám phá lại kiến trúc của một repo mỗi lần chạy, nó sẽ lãng phí token và bỏ lỡ các quy ước quan trọng. OpenWiki cung cấp cho các tác nhân lập trình và đánh giá một điểm khởi đầu tốt hơn, đồng thời hỗ trợ luồng tự động cập nhật để bạn không bao giờ cần nghĩ đến việc bảo trì tài liệu tác nhân của mình nữa.

Ngăn xếp công nghệ

Deep Agents

dcode, OpenSWE, OpenSWE Review và OpenWiki đều được xây dựng trên Deep Agents.

Các quy trình làm việc khác nhau, nhưng chúng chia sẻ cùng một nền tảng tác nhân cơ bản. Điều đó mang lại cho chúng tôi một cách nhất quán để xây dựng, tùy chỉnh và cải thiện các tác nhân trên toàn bộ lập trình cục bộ, lập trình đám mây, đánh giá và tài liệu. Việc chia sẻ code, tài nguyên và kiến thức kỹ thuật trở nên dễ dàng hơn khi tất cả đều được xây dựng trong cùng một framework.

Mô hình mở

Chúng tôi đã tối ưu hóa ngăn xếp cho các mô hình mở.

Các tác nhân SWE trở nên đắt đỏ nhanh chóng khi chúng chạy trên toàn bộ tổ chức. Lập trình cục bộ, lập trình đám mây, đánh giá code, tài liệu, bảo trì theo lịch và phân tích repo lặp đi lặp lại đều sử dụng token.

Các mô hình mở cho chúng tôi nhiều quyền kiểm soát hơn đối với chi phí (lý do chính), độ trễ và các lựa chọn triển khai. Chúng cũng cho phép các nhóm định tuyến các tác vụ khác nhau đến các mô hình khác nhau, thử nghiệm với các mô hình lập trình mở hoặc thậm chí tinh chỉnh các mô hình cho repo và quy trình làm việc của riêng họ.

LangSmith

Chúng tôi theo dõi các tác nhân này bằng LangSmith.

Khi một tác nhân mở PR, để lại nhận xét đánh giá hoặc thất bại trong một tác vụ, các dấu vết hiển thị các tệp nó đã kiểm tra, ngữ cảnh nó đã tải, các lệnh gọi công cụ nó đã thực hiện và nơi nó bị kẹt.

Những dấu vết đó giúp chúng tôi gỡ lỗi các lần chạy riêng lẻ và cải thiện hệ thống theo thời gian. Chúng tôi sử dụng chúng để xác định các chế độ thất bại, cải thiện prompt, so sánh các mô hình và cung cấp các ví dụ chất lượng cao hơn cho các quy trình cải tiến liên tục với LangSmith Engine.

Engine cho các tác nhân lập trình là một quy trình làm việc mới mà chúng tôi đang thử nghiệm, nơi chúng tôi để Engine chạy trên các dấu vết của tác nhân lập trình, xác định các thiếu sót và đề xuất các tối ưu hóa. Vì mọi lần chạy tác nhân lập trình từ mọi nhân viên tại LangChain đều được theo dõi, Engine có thể xác định và thực hiện các tối ưu hóa này từ góc nhìn tổng thể, thay vì riêng lẻ trên các dấu vết của từng kỹ sư cụ thể.

Xây dựng nhà máy tác nhân kỹ thuật phần mềm của riêng bạn

Ngăn xếp này phản ánh cách chúng tôi sử dụng các tác nhân kỹ thuật phần mềm tại LangChain, nhưng các thành phần là mã nguồn mở để các nhóm khác có thể thích ứng chúng và giữ toàn quyền kiểm soát nhà máy phần mềm của riêng bạn.

Bạn có thể bắt đầu từ nhỏ:

  1. Sử dụng dcode cho lập trình cục bộ.
  2. Thêm OpenSWE để chạy các tác nhân lập trình từ Slack, Linear, GitHub hoặc giao diện web.
  3. Bật OpenSWE Review để đánh giá PR tự động.
  4. Sử dụng OpenWiki để duy trì kiến thức repo cho con người và tác nhân.
  5. Kết nối các dấu vết với LangSmith nếu bạn muốn khả năng quan sát và các vòng lặp cải tiến trên toàn bộ hệ thống.

Mục tiêu không phải là chuyển mọi quy trình làm việc kỹ thuật vào một giao diện tác nhân duy nhất. Đó là đặt các tác nhân phù hợp vào những nơi công việc kỹ thuật đã diễn ra, với đủ quyền kiểm soát để chúng phù hợp với repo, mô hình và quy ước nhóm của bạn.

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral