Bỏ qua tới nội dung chính
Quay lại tin tức

Đừng sử dụng các mô hình ngôn ngữ lớn (LLM) như những công cụ giải quyết vấn đề khổng lồ.

Towards Data Science· Clara Chong· 26/5/2026general

Làm thế nào tôi biến 100 tệp PDF lộn xộn thành thông tin chi tiết có cấu trúc bằng cách xây dựng một vòng lặp xác định xung quanh các tác nhân Bài viết Làm ơn đừng dùng LLM như những công cụ giải quyết vấn đề khổng lồ nữa xuất hiện đầu tiên trên Towards Data Science.

ỨNG DỤNG LLM Ngừng sử dụng LLM như những công cụ giải quyết vấn đề khổng lồ Cách tôi biến 100 tệp PDF lộn xộn thành thông tin chi tiết có cấu trúc bằng cách xây dựng một vòng lặp xác định xung quanh các tác nhân. Clara Chong Ngày 26/5/2026 6 phút đọc Chia sẻ Ảnh của Wesley Tingey từ Unsplash Gần đây, tôi đã thực hiện một tính năng mà tôi phải chuyển đổi 100 tệp PDF tuân thủ lộn xộn thành các quy tắc JSON có cấu trúc. Cách tiếp cận thô sơ là rõ ràng: cung cấp cho tác nhân văn bản nguồn, giải thích nhiệm vụ, cung cấp ví dụ và yêu cầu nó tạo ra các quy tắc. Vì đây là cách dễ nhất, tôi đã thử nó trước. Thoạt nhìn, kết quả có vẻ ổn. JSON đầu ra hợp lệ và khớp với những gì tôi mong đợi. Nhưng khi tôi lấy mẫu thủ công các kết quả để kiểm tra độ chính xác, những sai sót đã xuất hiện. Một số quy tắc quá rộng, một số khác bị bỏ sót. Một số quy tắc không giữ được sắc thái của văn bản gốc. Tôi đã thử sử dụng một tác nhân khác để phát hiện và sửa lỗi nhưng với một kho dữ liệu khổng lồ như vậy, việc xác minh đầu ra một cách tự tin là không thể. Đó là phần gây khó chịu. Các lỗi không rõ ràng. Đây là một triển khai quá mong manh để mở rộng quy mô. Mặc dù tôi không thể chia sẻ chi tiết triển khai chính xác, nhưng những gì tôi có thể chia sẻ là những bài học kiến trúc tôi đã học được và cách tôi cuối cùng đã triển khai nó. Hy vọng rằng, những hiểu biết này sẽ hữu ích nếu bạn đang xây dựng các hệ thống AI cần mở rộng quy mô, duy trì độ tin cậy và xử lý dữ liệu lộn xộn. Và nếu bạn có những cách làm tốt hơn, hãy liên hệ để trò chuyện! Được rồi, hãy bắt đầu. Vấn đề 100 tệp PDF tôi đã làm việc đã được phân tích cú pháp và chia nhỏ trước khi đến tay tôi. Nhưng nội dung thô vẫn còn lộn xộn. Có các dấu đầu dòng, bảng, các tạo tác OCR, các phần được dịch, các tiêu đề bán cấu trúc, chân trang, đầu trang, định dạng không nhất quán và các đặc điểm riêng của tài liệu. Tôi đã chọn sử dụng một tác nhân vì việc quyết định điều gì quan trọng đòi hỏi sự đánh giá ngữ nghĩa. Các tài liệu không tuân theo một mẫu nhất quán, vì vậy mức độ liên quan không thể được xác định chỉ bằng các quy tắc đơn giản. Bạn phải hiểu ngữ cảnh xung quanh. Không có điều nào trong số này là khó khăn khi được thực hiện trên một phần nhỏ dữ liệu. Thử thách là thực hiện điều này một cách đáng tin cậy ở quy mô lớn. Các quy tắc này sau đó được xử lý bởi một hệ thống hạ nguồn khác để được đánh giá một cách xác định. Điều cuối cùng đã hiệu quả Sau một vài thử nghiệm, tôi nhận ra rằng sự cải thiện lớn nhất không đến từ một lời nhắc tốt hơn, một công cụ mới, một máy chủ MCP hay một bộ điều khiển tác nhân tinh vi hơn. Nó đến từ việc thay đổi hình dạng của vấn đề. Thay vì cố gắng làm cho tác nhân thông minh hơn, tôi đã làm cho công việc của tác nhân nhỏ hơn. Thay đổi đầu tiên là chuẩn bị dữ liệu nguồn trước. Thay vì yêu cầu tác nhân truy vấn cơ sở dữ liệu, truy xuất bản ghi, quyết định xem nó có đầu vào phù hợp hay không, và sau đó thực hiện trích xuất, tôi đã cung cấp cho nó một điểm khởi đầu được kiểm soát hơn. Trong trường hợp của tôi, điều đó có nghĩa là tạm thời lưu trữ dữ liệu thô liên quan cục bộ. Điều này có thể không phải lúc nào cũng thực tế. Nhưng nguyên tắc cơ bản là giảm lượng bất định truy xuất mà tác nhân phải xử lý. Nếu công việc của tác nhân là suy luận về nội dung, đừng bắt nó phải chịu trách nhiệm tìm ra liệu nó đã tìm thấy đúng nội dung hay chưa. Một lựa chọn khác là chuẩn bị truy vấn trước. Tôi cũng đã sử dụng một tập lệnh để loại bỏ siêu dữ liệu và các trường không cần thiết trước khi chuyển nội dung thô cho tác nhân. Ít ngữ cảnh không liên quan hơn có nghĩa là ít sự phân tâm hơn, ít cơ hội hơn để tác nhân bám vào các chi tiết sai và một nhiệm vụ suy luận tổng thể rõ ràng hơn. Tuy nhiên, thay đổi quan trọng nhất là đơn vị công việc. Thay vì xử lý mọi thứ cùng một lúc, tôi thực hiện công việc lặp đi lặp lại và xử lý từng tài liệu một. Điều này giúp mỗi công việc nhỏ hơn, dễ kiểm tra, dễ thử lại và dễ kiểm toán hơn. Tôi đã khởi tạo năm tác nhân phụ để xử lý tài liệu song song, với mỗi tác nhân ghi lại tiến độ vào một tệp. Nếu một tài liệu bị lỗi, tôi có thể chỉ thử lại tài liệu đó. Nếu một đầu ra có vấn đề về định dạng, tôi có thể khắc phục trường hợp cụ thể đó mà không cần chạy lại toàn bộ lô. Nếu quy trình dừng giữa chừng, tiến độ đã lưu trữ cho phép nó tiếp tục từ điểm kiểm tra thành công cuối cùng. Đây cũng là nơi sự phân chia trách nhiệm trở nên rõ ràng hơn. Tác nhân xử lý công việc ngữ nghĩa: hiểu nội dung, xác định các phần liên quan và viết đầu ra JSON. Mã xung quanh xử lý các phần cơ học: song song hóa công việc, thực thi lược đồ, tạo ID, ghi tệp, lưu trữ tiến độ, xác thực tham chiếu và kiểm tra xem đầu ra có thể truy nguyên từ nguồn gốc hay không. Tôi cũng có một bộ điều phối giám sát tiến độ của tập lệnh. Làm cho đầu ra có thể kiểm toán được Một quyết định thiết kế hữu ích là thêm ID tham chiếu vào mỗi quy tắc được tạo. Điều này có nghĩa là mỗi mục đầu ra đều trỏ ngược về một nguồn cụ thể. Điều này giúp đầu ra dễ kiểm toán hơn. Thay vì hỏi, “Quy tắc được tạo này có vẻ đúng không?”, tôi có thể đặt những câu hỏi chính xác hơn như: đoạn nguồn được tham chiếu có tồn tại không? Văn bản nguồn được trích dẫn có thực sự có trong đoạn đó không? Tôi cũng có thể nhờ một tác nhân khác chọn lọc chạy kiểm toán trên các tài liệu lớn hơn và phức tạp hơn để đảm bảo rằng các sắc thái quan trọng được giữ nguyên. Ngoài ra, tôi đã thực hiện một phiên bản đánh giá nhẹ. Tôi đã chạy một lô nhỏ tài liệu thô thông qua quy trình làm việc và tự mình xem xét kết quả về mức độ bao phủ và độ chính xác. Một bộ dữ liệu vàng hoàn chỉnh không thực tế cho phạm vi của nhiệm vụ này, nhưng tôi vẫn cần một cách để chứng minh cho bản thân rằng quy trình làm việc đang hoạt động. Mục tiêu của tôi không phải là xây dựng một tiêu chuẩn hoàn hảo mà là làm cho hệ thống có thể kiểm toán được đủ để tôi có thể kiểm tra đầu ra, phát hiện lỗi và lặp lại để đạt được độ chính xác cao hơn. Nếu bạn có ý tưởng về cách tôi có thể làm tốt hơn, hãy cho tôi biết! Bài học lớn nhất của tôi Mô hình hoạt động hiệu quả là ngừng coi LLM (mô hình ngôn ngữ lớn) là toàn bộ hệ thống. Hệ thống trở nên đáng tin cậy hơn không phải vì tác nhân trở nên hoàn hảo, mà vì quy trình làm việc giúp đầu ra của nó dễ truy nguyên, xác thực và phục hồi hơn.

Nguồn tin: Towards Data Science — Tác giả: Clara Chong. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.