Sedang mengikuti modul ini?
Modul 10 · Halaman 11 daripada 20 · 9 bahagian
Agent dalam LangChain (Lanjutan)
Gelung ReAct secara terperinci, senarai penuh jenis agent, alat yang lazim digunakan agent serta contoh agent ReAct, agent berbilang alat dan agent dengan alat tersuai.
Apa itu Agent?
- Agent ialah LLM yang boleh memutuskan alat mana untuk digunakan, bila dan dalam susunan apa bagi mencapai matlamat.
- Ia boleh memecahkan tugas kompleks kepada beberapa langkah, menggunakan alat dan menaakul tindakan seterusnya.
- Agent mengikut gelung penaakulan bernama "Plan → Action → Observation".
- LangChain menyediakan pelbagai jenis agent dan cara mudah untuk mencipta agent tersuai.
Mengapa Menggunakan Agent?
- Mengendalikan tugas kompleks berbilang langkah.
- Memilih alat yang betul secara automatik berdasarkan pertanyaan pengguna.
- Bekerja dengan data masa nyata (API, DB, carian, dsb.).
- Berguna untuk chatbot, pembantu penyelidikan, penjana laporan dan sistem automasi.
- Mengurangkan usaha manual dengan membiarkan LLM menentukan aliran kerja.
Cara Agent Berfungsi (Corak ReAct)
Pertanyaan PenggunaMatlamat
LLMPenaakulan
Pilih AlatTentukan tindakan
Laksana AlatAPI / DB / carian / dsb.
Perhati HasilGuna output
Jawapan AkhirKepada pengguna
LLM berfikir, memilih alat, melakukan tindakan, memerhati hasil dan mengulang sehingga jawapan akhir sedia.
Jenis Agent dalam LangChain
| Jenis Agent | Penerangan |
|---|---|
| ZeroShotAgent | Menentukan penggunaan alat tanpa contoh. |
| ReActAgent | Menggunakan penaakulan (Thought → Action → Observation) untuk menentukan langkah seterusnya. |
| StructuredChatAgent | Menggunakan format sembang berstruktur dengan alat. |
| OpenAIFunctionsAgent | Menggunakan function calling OpenAI. |
| ConversationalAgent | Mengekalkan sejarah perbualan. |
| SelfAskWithSearchAgent | Memecahkan soalan kompleks kepada sub-soalan mudah. |
| Custom Agent | Cipta agent anda sendiri dengan logik dan alat tersuai. |
Alat Lazim yang Digunakan dengan Agent
- SerpAPI / alat carian (Google Search)
- Alat Python REPL (jalankan kod Python)
- Alat Requests (panggilan API HTTP)
- Alat SQL Database (pertanyaan pangkalan data)
- Alat Wikipedia (pengetahuan am)
- Alat tersuai (logik perniagaan, API dalaman)
Contoh 1: Agent ReAct dengan Alat Carian
python
from langchain_openai import ChatOpenAI from langchain.agents import initialize_agent, AgentType from langchain.tools import SerpAPIWrapper # Initialize LLM llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) # Create search tool search = SerpAPIWrapper() tools = [search] # Create ReAct agent agent = initialize_agent( tools=tools, llm=llm, agent=AgentType.REACT_DOCSTORE, verbose=True ) response = agent.invoke({"input": "What is the latest news about electric vehicles in India?"}) print(response["output"])
Contoh 2: Agent dengan Beberapa Alat
python
from langchain_openai import ChatOpenAI from langchain.agents import initialize_agent, AgentType from langchain.tools import SerpAPIWrapper, PythonREPLTool llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) search = SerpAPIWrapper() python_tool = PythonREPLTool() tools = [ Tool(name="Search", func=search.run, description="Search the internet for information"), Tool(name="PythonREPL", func=python_tool.run, description="Run Python code for calculation or analysis") ] agent = initialize_agent( tools=tools, llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True ) response = agent.invoke({"input": "Search the population of Delhi and calculate 5% of that number using Python."}) print(response["output"])
Contoh 3: Alat Tersuai dengan Agent
python
from langchain.tools import tool @tool def get_employee_details(emp_id: str) -> str: """Get employee details from internal system.""" # Your business logic here return f"Employee {emp_id} - Name: Rahul, Dept: IT" # Use this tool with an agent # tools = [get_employee_details] # agent = initialize_agent(tools, llm, agent=..., verbose=True)
Pengajaran Utama
- Agent boleh menggunakan beberapa alat untuk menyelesaikan tugas kompleks.
- Pilih jenis agent yang sesuai mengikut kes penggunaan anda.
- Berikan penerangan alat yang jelas untuk hasil lebih baik.
- Agent mengikut gelung penaakulan (Plan → Action → Observation).
- Gabungkan carian, pangkalan data, pelaksanaan kod dan alat tersuai.
- Berguna untuk membina pembantu AI yang berkuasa dan aliran kerja automasi.