Mỹ học của kỹ thuật vòng lặp (The Art of Loop Engineering)
(langchain.com)- Để tận dụng agent một cách ổn định cho các tác vụ hữu ích, chỉ một mô hình tốt là chưa đủ; còn cần một harness được thiết kế phù hợp với tập tác vụ
- Vòng lặp agent cơ bản nhất là cấu trúc cung cấp ngữ cảnh cho LLM và lặp lại việc gọi công cụ cho đến khi tác vụ hoàn tất
- Từ đó có thể xây dựng agent hiệu quả hơn bằng cách xếp chồng (stacking) thêm vòng lặp xác minh, vòng lặp dựa trên sự kiện và vòng lặp leo đồi
- Mỗi tầng vòng lặp có thể được đo đạc/triển khai bằng các primitive của LangChain, và bài viết minh họa bằng ví dụ về một agent viết tài liệu nội bộ
- Tiềm năng thực sự không nằm ở bản thân mô hình mà ở các vòng lặp được xây dựng xung quanh agent
Loop 1: Vòng lặp agent
- Về bản chất, agent là một mô hình liên tục gọi công cụ cho đến khi công việc hoàn thành
create_agentcủa LangChain cung cấp vòng lặp này; chỉ cần chọn mô hình và kết nối tools là sẽ có một vòng lặp agent hoạt động- Công cụ là thành phần giúp agent có thể hành động trong thế giới thực
- Trong ví dụ agent tài liệu nội bộ, bước vòng lặp đầu tiên nhận yêu cầu cải thiện tài liệu, rồi mô hình lập kế hoạch và soạn thay đổi, đồng thời dùng công cụ để clone repo, đọc file, viết tài liệu và mở pull request
Level 2: Vòng lặp xác minh
- Vòng lặp agent có thể xử lý tác vụ, nhưng không phải lúc nào cũng tạo ra kết quả chính xác hoặc nhất quán ngay từ lần đầu; khi tính nhất quán quan trọng, có thể bọc nó bằng vòng lặp xác minh để kiểm tra đầu ra và nếu còn thiếu sót thì đưa phản hồi trở lại mô hình
- Vòng lặp xác minh bổ sung một grader để đối chiếu đầu ra của agent với rubric, và nếu thất bại thì trả kết quả lại kèm phản hồi
- Grader có thể là quyết định luận hoặc mang tính agent, trong đó LLM as a judge là ví dụ điển hình
RubricMiddlewarecó thể xử lý mẫu này, hoặc có thể nối qua hookafter_agentcủacreate_agent
- Trong ví dụ viết tài liệu, grader chạy test sau mỗi lần thử để xác nhận mọi liên kết đều hoạt động, mọi kiểm tra CI đều qua, và diff chỉ giới hạn trong phạm vi yêu cầu, nhờ đó bắt được các loại lỗi mà không cần review thủ công
- Việc thêm xác minh làm tăng độ trễ và chi phí cho mỗi lần chạy, nhưng với phần lớn ứng dụng production nơi chất lượng quan trọng hơn tốc độ thì điều này rất đáng giá
Level 3: Vòng lặp dựa trên sự kiện
- Một trong những phần quan trọng nhất của phát triển agent là lớp tích hợp (integrations layer), nơi kết nối agent vào hệ sinh thái để nó chạy ở chế độ nền
- Vòng lặp dựa trên sự kiện sẽ kích hoạt agent khi xảy ra sự kiện như có tài liệu mới, lịch chạy được kích hoạt hoặc webhook đến
- Agent không còn là thứ phải được gọi thủ công, mà là một thành phần vận hành liên tục trong một hệ thống lớn hơn
- LangSmith Deployment hỗ trợ hạ tầng trigger, bao gồm cron schedule và webhook
- Một ví dụ phổ biến của cron là heartbeats của openclaw, biến agent thành một trợ lý chủ động luôn bật
- Agent tài liệu được vận hành bằng công cụ xây dựng agent no-code Fleet, trong đó channels và schedules của Fleet xử lý các trigger dựa trên sự kiện và cron
- Khi có tin nhắn trong kênh Slack
#docs-plz, agent tài liệu sẽ được chạy thông qua kênh đó
- Khi có tin nhắn trong kênh Slack
Level 4: Vòng lặp leo đồi
- Nếu ba vòng lặp trước tự động hóa công việc, thì vòng lặp thứ tư tự động hóa chính quá trình cải thiện
- Mỗi lần agent chạy đều tạo ra một trace ghi lại hành vi của mô hình, các công cụ đã gọi, phản hồi từ grader, v.v.; trong các trace này có những tín hiệu rất giá trị về điều gì đang hoạt động và điều gì không
- Vòng lặp leo đồi chạy một agent phân tích trên các trace, rồi dùng kết quả đó để viết lại cấu hình harness thành cấu hình tốt hơn
- Điều này bao gồm điều chỉnh prompt/tool hoặc điều chỉnh grader
- Trong LangSmith, vòng lặp thứ tư này được đo đạc bằng agent phân tích trace Engine
- Trong ví dụ agent tài liệu, engine được chạy trên các trace để phát hiện vấn đề; nếu nhiều trace cùng báo hiệu một vấn đề tiềm ẩn thì sẽ tạo issue yêu cầu thay đổi prompt hoặc công cụ có vấn đề
- Điểm mấu chốt là mũi tên quay về không chỉ đơn giản đi lại lên trên cùng, mà đi vào bên trong để cập nhật trực tiếp vòng lặp agent; mỗi chu kỳ của vòng lặp bên ngoài sẽ làm vòng lặp bên trong hiệu quả hơn
-
Triển vọng sắp tới
- Prompt và cấu hình công cụ là những thứ dễ cải thiện nhất, nhưng không phải lựa chọn duy nhất; các đội ngũ vận hành mô hình open-weight có thể nối vòng lặp leo đồi với RL fine-tuning để dùng trace hoặc kết quả đánh giá làm tín hiệu huấn luyện và cải thiện chính mô hình
- Các ngữ cảnh bổ trợ như memory hay kỹ năng được truy xuất cũng có thể được cải thiện theo cùng cách; vòng lặp là một mẫu, còn tối ưu thứ gì là tùy người dùng
Giám sát và chuyên môn của con người
- Tự động hóa không có nghĩa là loại con người ra khỏi vòng lặp; ở mọi tầng đều có những điểm mà sự giám sát của con người mang lại giá trị
- Grader tự động có thể kiểm tra xem liên kết có hoạt động hay không, nhưng việc nhận ra cách diễn đạt bị lệch với độc giả mục tiêu vẫn là phần việc của con người; đó là kiểu đánh giá dựa trên bối cảnh, kinh nghiệm và con mắt nghề nghiệp, nơi review của con người là cần thiết
- Một số loại chuyên môn phải được mã hóa vào chính prompt/tool, nhưng với những hành động nhạy cảm như giao dịch tài chính hay thao tác cơ sở dữ liệu thì bắt buộc phải có review của con người theo thời gian thực
- LangChain hỗ trợ dễ dàng đo đạc các điểm tiếp xúc này trong mọi vòng lặp
- Vòng lặp agent: yêu cầu đầu vào từ con người trước khi thực hiện hành động nhạy cảm/gọi công cụ
- Vòng lặp xác minh: con người đóng vai trò grader trong các workflow nhạy cảm
- Vòng lặp ứng dụng: con người phê duyệt đầu ra trước khi trả về cho người dùng cuối
- Vòng lặp leo đồi: cải tiến harness phải được con người review trước khi triển khai
- Mọi framework mã nguồn mở của LangChain đều cung cấp human in the loop như một primitive hạng nhất
Tổng hợp
- Tóm tắt cách bốn vòng lặp được xếp chồng lên nhau
- Vòng lặp agent: mô hình lặp lại việc gọi công cụ cho đến khi hoàn thành tác vụ → tự động hóa công việc; primitive là
create_agentvà các mô hình được LangChain hỗ trợ - Vòng lặp xác minh: chấm điểm đầu ra theo rubric và thử lại kèm phản hồi khi thất bại → bảo đảm chất lượng và độ chính xác của tác vụ; primitive là
RubricMiddleware - Vòng lặp dựa trên sự kiện: sự kiện kích hoạt agent chạy để cập nhật hệ thống thực → tự động hóa công việc ở quy mô lớn; primitive là LangSmith Deployment dựa trên cron trigger/webhook hoặc Fleet channels
- Vòng lặp leo đồi: trace từ các lần chạy production cải thiện cấu hình harness thông qua agent phân tích → cải thiện harness; primitive là LangSmith Engine
- Vòng lặp agent: mô hình lặp lại việc gọi công cụ cho đến khi hoàn thành tác vụ → tự động hóa công việc; primitive là
- Đây chính là điều swyx gọi là loopcraft, tức hình hài thực sự của kỹ thuật vòng lặp; các lãnh đạo như Steipete, Boris và Andrej cũng đi đến cùng một kết luận rằng tiềm năng của agent nằm ở các vòng lặp được xây dựng quanh nó
- Vòng lặp 1 và 2 đã được bàn đến từ lâu, nhưng giờ trọng tâm cần chuyển sang vòng lặp 3 và 4: nhúng agent vào hệ sinh thái để nó liên tục được cải thiện theo tiêu chuẩn và giá trị được cộng dồn theo lãi kép
- Satya nhấn mạnh góc độ lợi ích ở cấp tổ chức, cho rằng những công ty xây dựng sớm vòng lặp học tập nơi phán đoán của con người và vốn token cùng tích lũy theo lãi kép sẽ giành được lợi thế khó sao chép
Chưa có bình luận nào.