เวิร์กโฟลว์แบบทนทานอย่างง่ายที่สร้างได้ด้วย Postgres เพียงอย่างเดียว
(lucumr.pocoo.org)เนื้อหาว่าด้วยการที่สามารถทำ durable execution ของ AI agent ได้ด้วย Postgres เพียงอย่างเดียว โดยไม่ต้องพึ่งบริการ third-party ที่ซับซ้อน
ประเด็นสำคัญ
• ปัญหา: เวลาสร้าง AI agent ต้องทำให้งานสามารถทำต่อได้โดยไม่สูญหาย แม้จะเกิด crash หรือมีการรีสตาร์ต
• ข้อเสียของโซลูชันเดิม: เครื่องมืออย่าง Temporal และ Inngest นั้นยอดเยี่ยม แต่ซับซ้อนและต้องมีบริการแยกต่างหาก
• แนวทางของ Absurd:
- สร้างด้วยไฟล์ SQL เพียงไฟล์เดียว
- ใช้แค่ความสามารถด้านคิวของ Postgres + state store
- บันทึกแต่ละ step เป็น checkpoint จึงสามารถกลับมาทำต่อได้แม้จะถูกขัดจังหวะ
การใช้งานจริง
// 작업 정의
absurd.registerTask({name: "my-agent"}, async (params, ctx) => {
// 단계별로 자동 체크포인트 저장
const result = await ctx.step("iteration", async () => {
return await singleStep(messages);
});
});
// 7일 대기, 이벤트 대기 등도 가능
await ctx.sleep(60 * 60 * 24 * 7);
สรุป: ไม่ต้องใช้ compiler plugin หรือ runtime แยกต่างหาก แค่ Postgres ก็เพียงพอแล้ว โดยเฉพาะหากต้องการ self-hosting ก็เป็นตัวเลือกที่น่าสนใจมาก
1 ความคิดเห็น
ที่สามารถกลับมาทำต่อจากจุดที่หยุดไว้ได้นี่ดีจริง ๆ