Quy trình workflow bền bỉ đơn giản chỉ với Postgres
(lucumr.pocoo.org)Nội dung cho rằng có thể triển khai thực thi bền bỉ (durable execution) cho các AI agent chỉ với Postgres, không cần các dịch vụ bên thứ ba phức tạp.
Các điểm chính
• Vấn đề: Khi xây dựng AI agent, cần tiếp tục chạy mà không làm mất công việc ngay cả khi bị crash hoặc khởi động lại
• Nhược điểm của các giải pháp hiện có: Các công cụ như Temporal, Inngest rất tuyệt vời nhưng phức tạp và cần dịch vụ riêng
• Cách tiếp cận của Absurd:
- Triển khai bằng một file SQL duy nhất
- Chỉ sử dụng chức năng hàng đợi của Postgres + kho lưu trữ trạng thái
- Lưu từng bước (step) như checkpoint để có thể tiếp tục sau khi bị gián đoạn
Tính thực tiễn
// định nghĩa tác vụ
absurd.registerTask({name: "my-agent"}, async (params, ctx) => {
// tự động lưu checkpoint theo từng bước
const result = await ctx.step("iteration", async () => {
return await singleStep(messages);
});
});
// cũng có thể chờ 7 ngày, chờ sự kiện, v.v.
await ctx.sleep(60 * 60 * 24 * 7);
Kết luận: Chỉ với Postgres là đủ, không cần plugin compiler hay runtime riêng. Đây là một lựa chọn đặc biệt hấp dẫn khi cần self-hosting.
1 bình luận
Việc có thể tiếp tục lại từ điểm bị gián đoạn đúng là rất tuyệt.