Agen LangChain yang berjalan di dalam webhook.
Stripe berhenti menunggu setelah sekitar 20 detik (tidak dipublikasikan). Agen LangChain Anda butuh 60 detik untuk merangkai tiga pemanggilan tool. AnyHook menjawab dalam sekitar satu detik dan memberi agen waktu hingga batas waktu pengiriman paket Anda untuk selesai.
Masalah waktu
Agen LangChain dengan dua atau tiga pemanggilan tool, seperti vector search, query DB, dan panggilan model, rutin memakan 30 sampai 90 detik. Sebagian besar pengirim webhook memberi Anda 5 sampai 30. Hitungannya tidak cocok.
Solusi yang biasa dipakai adalah memindahkan pekerjaan ke antrean yang Anda kelola sendiri: Redis, SQS, Inngest, Trigger.dev, Vercel cron, BullMQ. Masing-masing berarti dependensi baru, dashboard baru, kebijakan dead-letter baru. AnyHook adalah antrean yang tidak perlu Anda operasikan.
Jalankan agen. AnyHook yang menjaga sisi pengirim.
Route Next.js atau Fastify yang sudah ada tetap sama. Cukup verifikasi AnyHook-Signature, bukan tanda tangan (signature) pengirim, lalu jalankan agen tanpa tekanan timeout.
import { verifyWebhook } from "anyhook-verify";
import { AgentExecutor } from "langchain/agents";
export async function POST(req: Request) {
const ok = await verifyWebhook(req, process.env.ANYHOOK_SIGNING_SECRET!);
if (!ok) return new Response("invalid", { status: 401 });
const event = await req.json();
// Stripe / GitHub / Shopify already saw a 200 from AnyHook.
// You have up to 5 minutes (Scale plan) to finish.
const result = await agentExecutor.invoke({
input: `Process this event: ${JSON.stringify(event)}`,
});
await persistToDb(result);
await maybeNotify(result);
return new Response("ok", { status: 200 });
}Pertanyaan yang sering diajukan tim
- Apakah AnyHook juga bisa dipakai dengan LangGraph?
- Ya, lihat /for/langgraph-webhooks. Workflow stateful LangGraph punya bentuk yang sama: callback webhook yang perlu memicu panggilan model berikutnya.
- Bagaimana jika agen saya gagal di tengah jalan?
- Kembalikan 5xx dari handler Anda. AnyHook memperlakukannya sebagai error yang dapat dicoba ulang dan menerapkan jadwal backoff yang dikonfigurasi. Event aslinya tetap disimpan terenkripsi (at rest), jadi Anda dapat memutarnya ulang dari dashboard setelah bug-nya diperbaiki.
- Apa bedanya dengan Inngest atau Trigger.dev?
- Keduanya adalah platform durable execution: Anda menulis workflow dalam DSL mereka dan mereka yang menjalankannya. AnyHook berada di upstream: AnyHook hanya mengubah webhook sinkron menjadi pengiriman asinkron yang andal. Anda tetap bisa memakai Inngest untuk workflow jika mau; AnyHook hanya memastikan event pemicu sampai ke Inngest dengan andal.
Ganti satu URL. Handler LangChain Anda tetap.
Paket Free mencakup 10 rb event / bulan. Tanpa SDK: arahkan LangChain ke URL masuk AnyHook Anda.