tanghoong cv

Dự án 02 · Dự án tiêu biểu

Bỏ phần gõ tay khỏi một luồng chứng từ không được phép dừng

  • Đang vận hành — bị giới hạn bởi NDA

Một pipeline lai OCR và LLM đã giảm đáng kể việc nhập liệu thủ công trong một luồng chứng từ vận tải biển khối lượng lớn, bên trong một hoạt động mà các hệ thống nguồn không có API và không thể thay thế.

Vai trò
Senior Business Process Specialist
Năng lực
AI ứng dụng · Tự động hoá · Chịu trách nhiệm vận hành
Lĩnh vực
Vận tải container toàn cầu — nghiệp vụ tài chính và logistics
Ràng buộc
Hệ thống nguồn không có API, và thường không có cả giao diện web dùng được
Documents becoming structured records, through a human review stepShipping documents are read by OCR into per-format panels, extracted by a language model, then held in a human review queue. Nothing is committed to the database until a person has checked it.DocumentsOCR panelsper formatLLMHuman reviewqueueDBNothing commits before a person has checked it
Anonymised. No client name, no industry, no real endpoints.

Bối cảnh

Nhánh Malaysia của một hãng tàu container toàn cầu, nơi tôi là Senior Business Process Specialist. Một đội nhỏ — chủ yếu là tôi và một đồng nghiệp — với các chốt quyết định nằm ở hai nước khác. Nhân sự tài chính và logistics mỗi ngày đọc một lượng lớn chứng từ vận tải và gõ tay những gì họ tìm thấy vào hệ thống.

Bài toán và chỗ mơ hồ

Không ai có bản mô tả bằng văn bản về cách công việc thực sự diễn ra, nên bước một không phải tự động hoá mà là khảo cổ. Chứng từ tới trong đủ mọi tình trạng, từ tệp sạch do máy sinh ra cho tới thứ tệ đến mức đội tài chính phải gọi điện để giải quyết. Và hệ thống ở hai đầu thì độc lập với nhau: không API, và thường cũng không có giao diện web dùng được. Thay thế chúng chưa bao giờ nằm trên bàn, chỉ vì chi phí.

Vai trò của tôi

Vai trò của tôi: tôi phân tích các quy trình tài chính và logistics vốn không có tài liệu, để xác định bước thủ công lặp đi lặp lại và dễ sai nào mới đáng tự động hoá. Tôi thiết kế kiến trúc pipeline chứng từ, xây các API backend bằng Python cho nó, rồi xây và triển khai các luồng RPA xung quanh.

Nắm bắt yêu cầu

Ngồi cùng người đang làm việc đó, vẽ lại những gì thực sự diễn ra chứ không phải những gì quy trình nói là diễn ra, rồi đem từng bước ứng viên ra hỏi đúng một câu: nếu bước này được tự động hoá và nó hỏng vào 9 giờ sáng thứ Ba, thì doanh nghiệp làm gì thay thế?

Kiến trúc và đánh đổi

OCR lai cộng LLM, ⛔ không phải trích xuất thuần bằng LLM. Đó là một quyết định có mốc thời gian, và khi ấy nó đúng: thị giác của LLM lúc đó chưa trích xuất đáng tin từ chứng từ thực tế, nên OCR nạp vào các bảng đọc theo từng định dạng, nơi vị trí trường đã biết được che lại và trích theo toạ độ, còn mô hình ngôn ngữ làm đúng phần nó giỏi. Việc tích hợp cố ý không xâm lấn — đọc từ những gì đã có sẵn, ⛔ không đòi một doanh nghiệp thay các hệ thống lõi mà họ hoàn toàn không có ý định thay. Tóm tắt của tôi khi đó là chúng tôi có quá nhiều ràng buộc nên chỉ tới đích được bằng đường vòng, và tôi vẫn nghĩ đó là mô tả trung thực cho phần lớn công việc AI trong doanh nghiệp.

Triển khai và tích hợp

Các API backend bằng Python phục vụ bảng trích xuất theo định dạng và hàng đợi rà soát, cùng một giao diện cho người vận hành có thể chạy tiếp từ chỗ tự động hoá dừng lại. RabbitMQ cho xử lý bất đồng bộ. Kiểm soát xác thực và nhật ký kiểm toán xuyên suốt. Các luồng RPA trải trên việc thu thập, xác thực và đối chiếu dữ liệu trong nghiệp vụ tài chính và logistics.

Kiểm soát khi vận hành

Đây là phần tôi bảo vệ mạnh nhất. Giá trị trích ra không bao giờ đi thẳng vào cơ sở dữ liệu: chúng rơi vào một hàng đợi rà soát của con người, chỉnh sửa diễn ra ở đó, và ngay cả bản ghi sạch cũng được đối chiếu hai lần trước khi ghi. Một lượt thu thập có thể kéo dài hàng giờ và có thể đứt ở bất kỳ điểm nào, nên các lượt chạy được thiết kế thành những nút có điểm kiểm tra, chạy tiếp từ vị trí đã ghi lại thay vì bắt đầu lại. Công việc khởi động từ sáng sớm đúng là để một lỗi đã lộ ra trước khi nhân viên tới, cho họ đủ thời gian quay về quy trình thủ công mà vẫn bàn giao xong trước trưa. Và việc tự động hoá chưa bao giờ là được ăn cả ngã về không: nếu máy đi được nửa đường, một người có thể nhận nốt phần còn lại từ một giao diện — ⛔ không phải từ sơ đồ nút, ⛔ không phải từ mã nguồn.

Tác động

Phần lớn việc nhập liệu thủ công đã ra khỏi luồng, và hoạt động vẫn chạy suốt thời gian đó. Không có con số nào được công bố cho dự án này — đó là một quyết định bảo mật có chủ ý, và nó cũng áp dụng khi trao đổi trực tiếp.

Bài học dùng lại được

Quan điểm kiến trúc tôi hình thành ở đây tôi vẫn giữ: với doanh nghiệp sẽ không thay hệ thống lõi vì chi phí, cách tích hợp đúng là cách đọc từ những gì đã hiện trên màn hình người vận hành. Và một bước có con người rà soát không phải là chỗ thiếu của tự động hoá — đó chính là thứ khiến nó triển khai được.

Bằng chứng công khai

Tất cả ở trên là những gì có thể nói công khai. Phần được giữ lại, và phần đang chuẩn bị:

Một bản dựng lại sạch trên chứng từ tổng hợp theo kiểu vận tải biển, kèm bảng đọc, hàng đợi rà soát và các lượt chạy có điểm kiểm tra, đã được đặc tả là dự án P4; nó chưa được xây.

Đây là cách làm phía sau nó

Câu trả lời lấy từ chính trang này. Nó sẽ nói thẳng khi một dự án không đáng làm.

Cùng trao đổi nhé

Forward Deployed Engineer · Forward Deployed AI Engineer · Applied AI Engineer · Solutions Engineer · Customer Engineer · AI Solutions Architect · Technical Delivery Lead

Ở Selangor, Malaysia. Mở với công việc tại cơ sở khách hàng trong Thung lũng Klang, kể cả dài hạn, và với các dự án đặt tại Singapore cùng khu vực châu Á – Thái Bình Dương. Công dân Malaysia, sẵn sàng chuyển tới Singapore — sẽ cần giấy phép lao động do bên tuyển dụng bảo lãnh.