AI Agents merupakan perkembangan menarik dalam Generative AI, memungkinkan Large Language Models (LLMs) berkembang dari sekadar asisten menjadi agen yang mampu mengambil tindakan. Kerangka kerja AI Agent memungkinkan pengembang membuat aplikasi yang memberikan LLM akses ke alat dan manajemen status. Kerangka kerja ini juga meningkatkan visibilitas, memungkinkan pengguna dan pengembang memantau tindakan yang direncanakan oleh LLM, sehingga meningkatkan pengelolaan pengalaman.
Pelajaran ini akan mencakup area berikut:
- Memahami apa itu AI Agent - Apa sebenarnya AI Agent itu?
- Mengeksplorasi empat kerangka kerja AI Agent yang berbeda - Apa yang membuat mereka unik?
- Menerapkan AI Agents ini ke berbagai kasus penggunaan - Kapan kita harus menggunakan AI Agents?
Setelah mengikuti pelajaran ini, Anda akan dapat:
- Menjelaskan apa itu AI Agents dan bagaimana mereka dapat digunakan.
- Memahami perbedaan antara beberapa kerangka kerja AI Agent populer, dan bagaimana mereka berbeda.
- Memahami cara kerja AI Agents untuk membangun aplikasi dengan mereka.
AI Agents adalah bidang yang sangat menarik dalam dunia Generative AI. Dengan antusiasme ini, terkadang muncul kebingungan tentang istilah dan penerapannya. Untuk menjaga kesederhanaan dan mencakup sebagian besar alat yang merujuk pada AI Agents, kita akan menggunakan definisi ini:
AI Agents memungkinkan Large Language Models (LLMs) melakukan tugas dengan memberikan mereka akses ke state dan tools.
Mari kita definisikan istilah-istilah ini:
Large Language Models - Ini adalah model yang dirujuk sepanjang kursus ini seperti GPT-3.5, GPT-4, Llama-2, dll.
State - Ini mengacu pada konteks yang sedang digunakan oleh LLM. LLM menggunakan konteks dari tindakan sebelumnya dan konteks saat ini, membimbing pengambilan keputusan untuk tindakan berikutnya. Kerangka kerja AI Agent memungkinkan pengembang untuk lebih mudah mempertahankan konteks ini.
Tools - Untuk menyelesaikan tugas yang diminta pengguna dan direncanakan oleh LLM, LLM membutuhkan akses ke alat. Beberapa contoh alat bisa berupa database, API, aplikasi eksternal, atau bahkan LLM lainnya!
Definisi ini diharapkan memberikan dasar yang baik saat kita melihat bagaimana mereka diterapkan. Mari kita eksplorasi beberapa kerangka kerja AI Agent yang berbeda:
LangChain Agents adalah implementasi dari definisi yang telah kita berikan di atas.
Untuk mengelola state, LangChain menggunakan fungsi bawaan yang disebut AgentExecutor. Fungsi ini menerima agent yang telah didefinisikan dan tools yang tersedia untuknya.
AgentExecutor juga menyimpan riwayat percakapan untuk memberikan konteks percakapan.
LangChain menawarkan katalog alat yang dapat diimpor ke aplikasi Anda sehingga LLM dapat mengaksesnya. Alat-alat ini dibuat oleh komunitas dan tim LangChain.
Anda kemudian dapat mendefinisikan alat-alat ini dan meneruskannya ke AgentExecutor.
Visibilitas adalah aspek penting lainnya saat berbicara tentang AI Agents. Penting bagi pengembang aplikasi untuk memahami alat mana yang digunakan oleh LLM dan mengapa. Untuk itu, tim di LangChain telah mengembangkan LangSmith.
Kerangka kerja AI Agent berikutnya yang akan kita bahas adalah AutoGen. Fokus utama AutoGen adalah percakapan. Agen bersifat conversable dan customizable.
Conversable - LLM dapat memulai dan melanjutkan percakapan dengan LLM lain untuk menyelesaikan tugas. Hal ini dilakukan dengan membuat AssistantAgents dan memberikan mereka pesan sistem tertentu.
autogen.AssistantAgent( name="Coder", llm_config=llm_config, ) pm = autogen.AssistantAgent( name="Product_manager", system_message="Creative in software product ideas.", llm_config=llm_config, )Customizable - Agen dapat didefinisikan tidak hanya sebagai LLM tetapi juga sebagai pengguna atau alat. Sebagai pengembang, Anda dapat mendefinisikan UserProxyAgent yang bertanggung jawab untuk berinteraksi dengan pengguna untuk memberikan umpan balik dalam menyelesaikan tugas. Umpan balik ini dapat melanjutkan eksekusi tugas atau menghentikannya.
user_proxy = UserProxyAgent(name="user_proxy")Untuk mengubah dan mengelola state, Assistant Agent menghasilkan kode Python untuk menyelesaikan tugas.
Berikut adalah contoh prosesnya:
system_message="For weather related tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done."Pesan sistem ini mengarahkan LLM tertentu ke fungsi mana yang relevan untuk tugasnya. Ingat, dengan AutoGen Anda dapat memiliki beberapa AssistantAgents yang didefinisikan dengan pesan sistem yang berbeda.
user_proxy.initiate_chat( chatbot, message="I am planning a trip to NYC next week, can you help me pick out what to wear? ", )Pesan dari user_proxy (Manusia) inilah yang akan memulai proses Agent untuk mengeksplorasi fungsi yang seharusnya dijalankan.
chatbot (to user_proxy):
***** Suggested tool Call: get_weather ***** Arguments: {"location":"New York City, NY","time_periond:"7","temperature_unit":"Celsius"} ******************************************************** --------------------------------------------------------------------------------
>>>>>>>> EXECUTING FUNCTION get_weather... user_proxy (to chatbot): ***** Response from calling function "get_weather" ***** 112.22727272727272 EUR ****************************************************************
Setelah percakapan awal diproses, Agent akan mengirimkan alat yang disarankan untuk dipanggil. Dalam kasus ini, alat tersebut adalah fungsi bernama get_weather. Bergantung pada konfigurasi Anda, fungsi ini dapat dieksekusi secara otomatis dan dibaca oleh Agent atau dapat dieksekusi berdasarkan input pengguna.
Anda dapat menemukan daftar contoh kode AutoGen untuk lebih mengeksplorasi cara memulai pembangunan.
Kerangka kerja agent berikutnya yang akan kita eksplorasi adalah Taskweaver. Kerangka ini dikenal sebagai agen "code-first" karena alih-alih bekerja secara ketat dengan strings, ia dapat bekerja dengan DataFrames di Python. Hal ini menjadi sangat berguna untuk tugas analisis dan generasi data. Contohnya seperti membuat grafik dan diagram atau menghasilkan angka acak.
Untuk mengelola state percakapan, TaskWeaver menggunakan konsep Planner. Planner adalah LLM yang menerima permintaan dari pengguna dan memetakan tugas-tugas yang perlu diselesaikan untuk memenuhi permintaan tersebut.
Untuk menyelesaikan tugas-tugas tersebut, Planner memiliki akses ke koleksi alat yang disebut Plugins. Plugins ini bisa berupa kelas Python atau interpreter kode umum. Plugins ini disimpan sebagai embeddings sehingga LLM dapat lebih baik mencari plugin yang tepat.
Berikut adalah contoh plugin untuk menangani deteksi anomali:
class AnomalyDetectionPlugin(Plugin): def __call__(self, df: pd.DataFrame, time_col_name: str, value_col_name: str):Kode ini diverifikasi sebelum dieksekusi. Fitur lain untuk mengelola konteks di Taskweaver adalah experience. Experience memungkinkan konteks percakapan disimpan dalam jangka panjang dalam file YAML. Hal ini dapat dikonfigurasi sehingga LLM dapat meningkatkan kinerjanya dari waktu ke waktu pada tugas-tugas tertentu karena terpapar pada percakapan sebelumnya.
Kerangka kerja agent terakhir yang akan kita eksplorasi adalah JARVIS. Yang membuat JARVIS unik adalah ia menggunakan LLM untuk mengelola state percakapan dan tools adalah model AI lainnya. Setiap model AI adalah model khusus yang melakukan tugas tertentu seperti deteksi objek, transkripsi, atau penjelasan gambar.
LLM, sebagai model tujuan umum, menerima permintaan dari pengguna dan mengidentifikasi tugas spesifik serta argumen/data yang diperlukan untuk menyelesaikan tugas tersebut.
[{"task": "object-detection", "id": 0, "dep": [-1], "args": {"image": "e1.jpg" }}]LLM kemudian memformat permintaan dalam cara yang dapat diinterpretasikan oleh model AI khusus, seperti JSON. Setelah model AI mengembalikan prediksi berdasarkan tugas, LLM menerima responsnya.
Jika beberapa model diperlukan untuk menyelesaikan tugas, LLM juga akan menginterpretasikan respons dari model-model tersebut sebelum menggabungkannya untuk menghasilkan respons kepada pengguna.
Contoh di bawah ini menunjukkan bagaimana ini akan bekerja ketika pengguna meminta deskripsi dan jumlah objek dalam sebuah gambar:
Untuk melanjutkan pembelajaran Anda tentang AI Agents, Anda dapat membangun dengan AutoGen:
- Sebuah aplikasi yang mensimulasikan rapat bisnis dengan berbagai departemen dari startup pendidikan.
- Buat pesan sistem yang membimbing LLM dalam memahami berbagai persona dan prioritas, serta memungkinkan pengguna untuk mempresentasikan ide produk baru.
- LLM kemudian harus menghasilkan pertanyaan lanjutan dari setiap departemen untuk menyempurnakan dan meningkatkan presentasi serta ide produk.
Setelah menyelesaikan pelajaran ini, lihat koleksi pembelajaran Generative AI kami untuk terus meningkatkan pengetahuan Anda tentang Generative AI!
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diketahui bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang penting, disarankan menggunakan jasa penerjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang timbul dari penggunaan terjemahan ini.





