Ambler: Khi 'Cỗ Máy Trạng Thái' Trở Nên Đơn Giản, Và AI Code Theo Lời Bạn
Lê Lân
0
Ambler: Giải Pháp Đơn Giản Hóa Quy Trình Làm Việc Với Mô Hình Ngôn Ngữ Lớn
Mở Đầu
Trong thời đại công nghệ phát triển mạnh mẽ, việc xây dựng các workflow tích hợp mô hình ngôn ngữ lớn (Large Language Models - LLMs) ngày càng trở nên phổ biến và quan trọng. Tuy nhiên, phức tạp trong việc thiết kế và vận hành các workflow này cũng tạo ra nhiều thách thức cho lập trình viên.
Gần đây, tôi phát hiện một dự án thú vị mang tên PocketFlow với cách tiếp cận tối giản để xây dựng quy trình làm việc liên quan đến LLMs. PocketFlow ban đầu được viết bằng Python – ngôn ngữ mà tôi chưa từng sử dụng thực tế nhiều. Vì vậy, tôi quyết định chuyển nó sang Kotlin, với mong muốn hiểu rõ hơn cách thức hoạt động. Trong quá trình đó, tôi nhận thấy dự án thực chất chỉ là một dạng máy trạng thái rực rỡ và có thể được đơn giản hóa thêm nữa.
Kết quả của quá trình nghiên cứu và thử nghiệm là một dự án mới mang tên Ambler: một đoạn code rất đơn giản gồm một hàm và một lớp hỗ trợ biểu diễn chương trình như chuỗi các bước cập nhật trạng thái và chuyển tiếp sang bước tiếp theo. Mặc dù không có gì đột phá, nhưng sức mạnh của sự đơn giản này giúp bạn có thể mô tả ứng dụng dưới dạng văn bản tiếng Anh logic trong một tài liệu markdown, từ đó nhờ trợ lý lập trình (coding agent) để hiện thực, đồng thời đảm bảo cấu trúc ứng dụng luôn rõ ràng, dễ kiểm soát và nhất quán.
Ambler Và Cách Tiếp Cận Đơn Giản Hóa Workflow
Ambler Là Gì?
Ambler là một dự án mã nguồn mở được thiết kế dựa trên nguyên tắc đơn giản hóa thiết kế, xây dựng các chương trình dưới dạng chuỗi bước xử lý trạng thái liên tiếp. Mỗi bước có thể thay đổi trạng thái hiện tại và truyền trạng thái này sang bước kế tiếp.
Điểm nổi bật của Ambler:
Rất nhẹ, chỉ với một hàm và một lớp cơ bản
Tập trung vào mô hình hóa logic theo bước, thay vì chi tiết triển khai
Phù hợp với việc mô tả ứng dụng bằng markdown trước khi code
Quy Trình Phát Triển Ban Đầu
Bắt đầu bằng việc thử nghiệm ứng dụng đếm đơn giản làm ví dụ minh họa, tôi để cho Gemini CLI tự quyết định ngôn ngữ lập trình – mặc định nó ưu tiên Python. Qua nhiều lần hiệu chỉnh, tôi thu được phiên bản mong muốn và tiếp tục mở rộng các triển khai tương đương bằng các ngôn ngữ khác nhau như Go, JavaScript, Kotlin, Ruby, Rust và Typescript.
Phát Hiện Về Độ Dài Mã Nguồn Ở Các Ngôn Ngữ
Khi so sánh các phiên bản này trên GitHub, tôi nhận thấy có sự khác biệt rõ ràng về tỷ lệ mã nguồn viết bằng từng ngôn ngữ – kể cả với những chương trình tương đương nhau về tính năng. Sự khác biệt này khiến tôi suy nghĩ về mối quan hệ giữa:
Độ dài mã nguồn (số dòng, số ký tự)
Số lượng token mà các coding agent tiêu thụ khi sinh code tự động
Chi phí và hiệu quả khi sử dụng các ngôn ngữ lập trình ít verbose và ngắn gọn
Giả thuyết: Sử dụng ngôn ngữ lập trình có cú pháp ngắn gọn, biểu đạt mạnh mẽ hơn có thể giúp tiết kiệm đáng kể chi phí lập trình tự động dựa trên LLM, bởi vì số tokens dùng trong quá trình tạo code giảm xuống.
Ứng Dụng Của Ambler Và Gemini CLI
Ambler và Một Số Ví Dụ Thực Tiễn
Sau khi thành công với ví dụ đếm đơn giản, tôi đã tiếp tục sử dụng Gemini CLI để tự động tạo ra các ứng dụng nhỏ, hữu ích cho công việc hàng ngày. Một trong số đó là ứng dụng Ambler m3u Downloader – giúp tải xuống các URL từ tập tin m3u.
Ngoài ra, tôi còn có một tiện ích mở rộng Chrome Audini được Gemini CLI tạo ra trước đó để tương tác với các công cụ xử lý âm thanh. Đây là minh chứng rõ nét cho việc sử dụng hiệu quả workflow đơn giản tạo ra các công cụ tự động, có thể tái sử dụng dễ dàng.
Quy Trình Làm Việc Với Markdown Và Coding Agent
Điểm mạnh của Ambler cho phép nội dung logic của ứng dụng được mô tả trực tiếp, dễ hiểu trong tài liệu markdown. Dựa vào đó, coding agent (như Gemini CLI) có thể:
Đọc hiểu cấu trúc ứng dụng
Sinh ra code phù hợp cho từng bước trong workflow
Đảm bảo cấu trúc nhất quán, có thể mở rộng hoặc sửa đổi dễ dàng
Tương Lai Của Các Công Cụ Tự Động Hoá Workflow Với LLM
Với tốc độ phát triển vượt bậc của công nghệ AI, cùng với xu hướng giản lược hoá thiết kế và mô hình hoá bằng ngôn ngữ tự nhiên, các công cụ như Ambler và Gemini CLI hứa hẹn sẽ trở thành trợ thủ đắc lực cho lập trình viên trong tương lai gần.
Các Hướng Phát Triển Tiềm Năng
Mở rộng khả năng mô tả phức tạp hơn trong markdown
Thêm các thành phần điều kiện, vòng lặp phức tạp giúp biểu diễn quy trình kinh doanh động hơn.
Tích hợp sâu với nhiều ngôn ngữ và nền tảng
Tự động sinh code phù hợp với nhiều môi trường khác nhau, giảm thiểu rào cản ngôn ngữ.
Phân tích, kiểm thử, và tối ưu mã tự động bằng AI
Giúp đảm bảo chất lượng mã và hiệu suất mà không cần can thiệp thủ công quá nhiều.
Chi phí thấp hơn nhờ cú pháp ngắn gọn
Dựa trên phân tích token, sử dụng ngôn ngữ lập trình biểu đạt cao giúp tiết kiệm tài nguyên và chi phí cloud khi dùng LLM.
Kết Luận
Ambler không chỉ là một dự án mã nguồn mở đơn giản, mà còn là minh chứng cho sức mạnh của sự tối giản trong thiết kế workflow tích hợp LLM. Việc mô tả ứng dụng bằng ngôn ngữ tự nhiên, sau đó nhờ trợ lý lập trình tự động hiện thực, sẽ làm cho phát triển phần mềm trở nên dễ dàng, nhanh chóng và hiệu quả hơn.
Nếu bạn đang quan tâm đến tự động hoá, hay muốn khám phá sức mạnh của AI trong phát triển phần mềm, Ambler cùng với Gemini CLI chắc chắn là những công cụ không thể bỏ qua.
Hãy thử tạo cho mình một ứng dụng đơn giản với Ambler và trải nghiệm sự khác biệt trong công việc lập trình hàng ngày!