Mitos serverless bahawa “anda hanya membayar untuk milisaat kod anda berjalan” runtuh apabila anda cuba menjalankan ejen AI pada AWS Lambda. Dalam praktiknya, item perbelanjaan terbesar bukanlah caj pengkomputeran Lambda, sebaliknya latensi cold-start, gelung cubaan semula (retry loops), dan penggunaan token yang dihasilkan oleh gelung tersebut.

Mengapa gambaran serverless biasa mengelirukan ejen AI

Kebanyakan pembangun menganggap fungsi Lambda seperti kotak pasir (sandbox) pengkomputeran tulen: pastikan handler pantas, tetapkan saiz memori yang sederhana, dan perhatikan bil kekal mendatar. Itu berkesan untuk titik akhir (endpoint) HTTP yang ringkas, tetapi ejen yang memanggil model bahasa, menilai respons, dan mungkin melakukan cubaan semula pada keseluruhan kitaran tidak selari secara satu-ke-satu dengan satu pencetusan (invocation) Lambda. Aliran kerja dalaman ejen tersebut menggandakan bilangan panggilan model, dan setiap panggilan tambahan menambah kos token yang boleh mengatasi caj pengkomputeran.

Cold start adalah kos tersembunyi

Apabila kontena Lambda mula-mula disediakan, ia perlu menyahbungkus (unpack) pakej deployment. Ejen yang berkenaan menarik masuk set perpustakaan Python yang besar, jadi imej tersebut boleh menjadi agak besar. Menyingkirkan alatan khusus pembangunan—seperti perpustakaan automasi pelayar yang hanya digunakan untuk ujian tempatan—dapat mengurangkan saiz imej, yang seterusnya memendekkan masa penyahbungkusan. Pakej yang lebih ramping bermakna fungsi tersebut menjadi lebih cepat bersedia untuk mengendalikan permintaan, sekali gus mengurangkan masa yang dihabiskan untuk menunggu kontena menjadi panas (warm up).

Pemacu kedua ialah di mana kod inisialisasi diletakkan. Dengan membina graf ejen semasa masa import modul, kerja berat dilakukan sekali sahaja bagi setiap permulaan kontena, bukannya pada setiap permintaan. Pencetusan yang sudah sedia (warm invocations) kemudiannya akan melangkau kerja tersebut sepenuhnya. Pertukaran (trade-off) yang berlaku ialah cold start yang sedikit lebih lama, tetapi hasilnya ialah masa penyediaan hampir sifar bagi setiap permintaan selepas kontena menjadi panas.

Memori berfungsi sebagai pelaras latensi

Pada Lambda, jumlah memori yang anda peruntukkan juga menentukan bahagian CPU yang diterima oleh fungsi tersebut. Menetapkan fungsi kepada 1 GB memori akan memberikannya satu teras CPU maya yang penuh. CPU tambahan tersebut mempercepatkan proses import perpustakaan dan penciptaan graf ejen, sekali gus mengecilkan latensi cold-start dan warm-up.

Kos gelung: cubaan semula menggandakan perbelanjaan token

Ejen tersebut mengikut gelung pekerja-penilai (worker-evaluator loop). Pekerja menjana respons, penilai menyemaknya, dan jika penilai menandakan ralat, tugas tersebut dihantar semula kepada pekerja. Gelung tersebut boleh berulang sehingga lima kali sebelum berhenti. Ini bermakna satu permintaan luaran boleh mencetuskan:

  • sehingga lima panggilan ke model pekerja
  • sehingga lima panggilan ke model penilai
  • sebarang bilangan panggilan alatan (tool calls) yang diputuskan oleh ejen untuk dibuat

Bil Lambda kekal boleh diramal kerana AWS mengenakan caj mengikut milisaat pelaksanaan, tetapi bil token boleh berubah secara drastik bergantung kepada berapa banyak cubaan semula yang diperlukan.

Perangkap masa tamat (timeout): API Gateway lwn. Lambda

API Gateway mengenakan had masa tamat (timeout) keras selama 29 saat pada permintaan HTTP yang dikendalikannya. Gelung ejen lima pusingan boleh dengan mudah melebihi had tersebut, walaupun fungsi Lambda di bawahnya dikonfigurasikan untuk jendela pelaksanaan selama lima minit. Memintas API Gateway dengan Lambda Function URLs menghapuskan had 29 saat tersebut, membolehkan fungsi menyelesaikan gelungnya tanpa terputus.

Apa yang perlu diperuntukkan oleh pembangun dalam bajet

Pengajarannya mudah: merancang bajet untuk ejen AI serverless memerlukan lebih daripada sekadar menjumlahkan milisaat masa larian Lambda. Anda perlu mengambil kira:

  • saiz pakej deployment dan latensi cold-start yang terhasil
  • tetapan memori yang menentukan CPU dan seterusnya kelajuan import
  • jangkaan bilangan cubaan semula dalam gelung pekerja-penilai, yang secara langsung memacu penggunaan token
  • pilihan hadapan (front-end) (API Gateway lwn. Function URL) untuk mengelakkan masa tamat pramatang

Mengabaikan mana-mana pemboleh ubah ini boleh menyebabkan anda menerima bil yang jauh berbeza daripada apa yang telah anda jangkakan.