Panduan lengkap untuk pengajar mengendalikan sesi membina AI Agent menggunakan Cloudflare Agents SDK + Claude API. Modul paling advanced dalam kursus Vibe Coding.
Sesi ini adalah kemuncak keseluruhan kursus Vibe Coding. Pelajar akan belajar membina AI Agent — aplikasi pintar yang boleh berfikir, ingat perbualan, dan melaksanakan tugas menggunakan kuasa Claude API dan Cloudflare Workers.
Ini adalah skill yang sangat bernilai: keupayaan untuk membina AI agent adalah antara kemahiran paling dicari dalam industri teknologi masa kini.
Peringatan: Modul ini adalah advanced dan memerlukan persiapan rapi. Pastikan semua prasyarat teknikal (Node.js, akaun Cloudflare, API key) telah disediakan SEBELUM sesi bermula. Kegagalan prasyarat akan menyebabkan sesi tergendala.
Terangkan apa itu AI Agent dengan analogi mudah:
Analogi: Bayangkan chatbot biasa macam mesin layan diri — awak tekan butang, dia bagi minuman. Tapi AI Agent macam pelayan restoran — dia boleh ingat pesanan awak, tanya soalan, cadangkan menu, dan kalau perlu, dia pergi dapur ambil makanan. Agent ada memory, boleh guna tools, dan boleh buat keputusan sendiri.
Chatbot biasa: balas satu-soal-satu-jawab, tiada ingatan, tiada keupayaan bertindak. AI Agent: ada konteks perbualan, boleh ingat, boleh guna tools (cari web, query database), dan boleh execute tasks. Agent adalah evolusi chatbot — lebih pintar, lebih autonomous.
(1) LLM (Claude) — otak agent yang memproses dan menjana teks. (2) System Prompt — personality dan peraturan agent. (3) Memory/State — ingatan perbualan. (4) Tools — keupayaan agent untuk bertindak (search web, query database, panggil API). (5) Runtime — Cloudflare Workers sebagai persekitaran larian.
Demo langsung membina agent paling asas dari kosong. Gunakan skrip di bawah:
Tip Pengajar: Demo ini sangat penting untuk membina keyakinan pelajar. Tunjukkan yang setup hanya ambil beberapa minit. Pelajar akan teruja bila nampak agent pertama mereka berfungsi!
Demo Flow: (1) Tunjuk terminal — create project, (2) install dependencies, (3) tulis kod agent, (4) set secret, (5) deploy, (6) test dengan curl. Keseluruhan proses patut ambil kurang 15 minit.
Pelajar menjalankan Latihan 1 hingga 3 secara individu. Beredar untuk bantu pelajar yang menghadapi masalah teknikal.
Demo bagaimana agent boleh ingat perbualan menggunakan state management:
Key Concept: Durable Objects membolehkan agent mempunyai persistent state. Setiap perbualan diingati. Agent tahu konteks — apa yang disebut 10 minit lepas, preferensi pengguna, dan history perbualan penuh.
Pelajar menjalankan Latihan 4 dan 5:
Pelajar diberi masa untuk memperkemas agent mereka — tambah tools, baiki personality, atau tambah WebSocket untuk real-time chat.
Gambarajah senibina bagaimana AI Agent berfungsi di Cloudflare Workers:
Aliran: User hantar mesej -> Worker terima request -> Agent proses dengan Claude API -> Agent guna State untuk ingat konteks -> Agent boleh guna Tools untuk bertindak -> Response dikembalikan ke User melalui WebSocket atau HTTP.
Demo ini adalah tunjuk cara paling penting. Ia membuktikan bahawa setup AI Agent hanya mengambil masa 15 minit dari kosong kepada live agent.
Gantikan content src/index.js dengan kod berikut:
Tip Pengajar: Kalau curl nampak complicated, guna tools macam Postman atau Thunder Client (VS Code extension) untuk test. Atau bina HTML form ringkas yang POST ke endpoint agent.
Masalah Biasa: (1) CLAUDE_API_KEY tidak set — worker akan return error 500. (2) CORS — kalau nak panggil dari browser, perlu tambah CORS headers. (3) Model name — pastikan guna model name yang betul untuk Claude API.
Demo ini menunjukkan cara agent boleh ingat perbualan menggunakan Durable Objects untuk persistent state.
Edit wrangler.toml untuk tambah Durable Object binding:
Kenapa ini penting? Dengan memory, agent boleh: (1) ingat nama pengguna, (2) ingat preference, (3) ingat konteks perbualan, (4) sediakan pengalaman yang personalized. Tanpa memory, agent akan lupa semuanya setiap kali user hantar message baru.
| Konsep | Penerangan | Kenapa Penting |
|---|---|---|
| AI Agent | Program AI yang boleh berfikir, ingat, dan bertindak secara autonomous | Asas segala yang akan dibina |
| System Prompt | Instructions yang define personality dan peraturan agent | Menentukan cara agent berkelakuan |
| State Management | Menyimpan dan mengurus data perbualan agent | Agent perlu ingat untuk berguna |
| Tools | Keupayaan agent untuk berinteraksi dengan dunia luar | Agent tanpa tools adalah chatbot biasa |
| Durable Objects | Cloudflare's persistent storage untuk state | Backend yang power untuk agent memory |
| WebSocket | Sambungan real-time antara user dan agent | Pengalaman chat yang smooth |
| RPC | Remote Procedure Call — agent panggil agent lain | Multi-agent architecture |
| Deploy | Menyiarkan agent ke internet melalui Cloudflare Workers | Agent boleh diakses semua orang |
Masalah: Pelajar tak set secret. Worker cuba baca env variable yang tiada.
✅ Penyelesaian: Jalankan npx wrangler secret put CLAUDE_API_KEY sebelum deploy. Boleh juga set di Cloudflare Dashboard: Workers & Pages -> pilih worker -> Settings -> Variables -> Add secret.
Masalah: Pelajar lupa install dependencies. @anthropic-ai/sdk atau agents-sdk tak diinstal.
✅ Penyelesaian: Jalankan npm install @anthropic-ai/sdk dan npm install agents-sdk. Pastikan package.json ada dependencies yang betul.
Masalah: Pelajar tak implement state management. Setiap request baru, state bermula kosong.
✅ Penyelesaian: Guna Durable Objects atau Agents SDK state management. Pastikan messages array disimpan antara requests.
Masalah: Worker tak set CORS headers. Browser block request sebab cross-origin.
✅ Penyelesaian: Tambah CORS headers dalam response: Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: POST, OPTIONS, Access-Control-Allow-Headers: Content-Type. Handle OPTIONS preflight request.
Masalah: Claude API ambil masa 5-10 saat untuk generate response. Worker mungkin timeout.
✅ Penyelesaian: Guna streaming response — agent hantar response char-by-char. Atau set max_tokens lebih rendah. Cloudflare Workers ada limit 30 saat untuk HTTP request.
Masalah: System prompt tak specify bahasa. Claude default kepada English.
✅ Penyelesaian: Dalam system prompt, tulis dengan jelas: "Anda mesti menjawab dalam Bahasa Melayu sahaja. Walaupun user tanya dalam English, jawab dalam Bahasa Melayu."
Untuk kelas: Dapatkan Claude API key dari console.anthropic.com. Dana $10-20 cukup untuk kelas 20 pelajar selama 4-6 jam (setiap request Claude API ~$0.01-0.05). Optional: guna Anthropic Batch API untuk 50% lebih murah.
Moment "Wow": Momen paling berkesan dalam modul ini adalah bila pelajar hantar message, dan agent mereka ingat nama mereka. Atau bila agent buat keputusan sendiri untuk guna tool. Tangkap momen ini — ia akan diingati pelajar sebagai titik "Saya boleh buat AI!"