13 điểm bởi hongyeon 2025-12-08 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Xin chào. Tôi là một kỹ sư từng học chuyên ngành khảo cổ học ở đại học, nhưng rồi trở thành lập trình viên để giải quyết những công việc thủ công bất tận.

Sau nhiều trăn trở, tôi chia sẻ mã nguồn mở bộ máy tự động hóa bản tin (LLM Newsletter Kit) mà tôi tự làm để chính mình sử dụng.

Hiện tại, bộ máy này là lõi của bản tin di sản văn hóa 'Research Radar' mà tôi đang vận hành, và đã được tối ưu để duy trì tỷ lệ nhấp (CTR) 15% trong khi chi phí API LLM cho mỗi lần phát hành chỉ ở mức $0.20.

Đây không chỉ là một bộ sưu tập liên kết đơn thuần, mà là một pipeline trong đó LLM phân tích và tóm tắt kiến thức của một miền chuyên môn để cung cấp insight.

Bối cảnh phát triển và câu chuyện thẳng thắn

Vì là nền tảng dựa trên code, tôi nghĩ nó có thể sẽ không được dùng rộng rãi như các công cụ no-code do rào cản tiếp cận cao hơn. Ngay từ đầu, mục tiêu của tôi cũng không phải là phổ biến rộng rãi, mà là giải quyết một nhu cầu rất rõ ràng của bản thân.

Ban đầu, đây là một “bản tin chuyên biệt về di sản văn hóa” được làm ra chỉ để tôi tự xem. Sau đó, tôi mở dịch vụ để bất kỳ ai cũng có thể đăng ký nhận.

Trong quá trình phát triển, tôi nhận ra mã nguồn và logic miền di sản văn hóa bị kết dính quá chặt với nhau. Để giải quyết việc này, tôi đã trừu tượng hóa chúng bằng cấu trúc DI (dependency injection) và tách ra thành một thư viện mà ai cũng có thể sử dụng.

npm i @llm-newsletter-kit/core

Hiện nay, dịch vụ của tôi cũng đã loại bỏ phần mã legacy kết dính chặt trước đây và đang được vận hành sau khi migration sang dựa trên lõi mã nguồn mở này.

Triết lý thiết kế: "Logic in code, reasoning in AI"

Lý do tôi chọn code thay vì công cụ no-code là vì triết lý thiết kế của mình: “Logic nằm trong code, suy luận nằm trong AI, kết nối nằm trong kiến trúc (Logic in code, reasoning in AI, connections in architecture).”

Các công cụ no-code thì tiện, nhưng có giới hạn rõ ràng khi cần hiện thực hóa logic phức tạp. Tôi kiểm soát các workflow mang tính quyết định bằng code an toàn về kiểu dữ liệu (TypeScript), và chỉ giao phần phân tích thông minh cho LLM, từ đó hiện thực hóa được những logic tinh vi như tự phản tư (Self-reflection) hay xác minh nhiều bước.

Các đặc điểm chính

Thiết kế Type-First & DI: Được viết bằng TypeScript, và mọi giai đoạn như crawling, phân tích, tạo sinh đều dựa trên interface Provider nên có thể thay thế linh hoạt như đổi linh kiện.

Bring Your Own Scraper: Không bị khóa vào một thư viện cụ thể. Bạn có thể tiêm bất kỳ thứ gì muốn dùng theo kiểu bất đồng bộ, như Puppeteer, Cheerio, hoặc parser dựa trên AI.

Production Ready: Được trang bị logic retry, tùy chọn chain và độ bao phủ test 100% để phục vụ vận hành thực tế.

Liên kết

Xin cảm ơn. Tôi luôn hoan nghênh mọi phản hồi!

Chưa có bình luận nào.

Chưa có bình luận nào.