บทนำ: ทำไมต้องเรียนรู้ LangChain Agent?
สวัสดีครับ ผมเป็นนักพัฒนาที่เริ่มต้นจากศูนย์เหมือนกัน ไม่เคยเขียนโค้ด API มาก่อนเลย แต่หลังจากทดลองและลงมือทำมาเกือบปี วันนี้อยากเล่าให้ฟังว่า LangChain Agent คืออะไร และจะเริ่มต้นใช้งานได้อย่างไร โดยเราจะใช้ HolySheep AI เป็นตัวเลือกหลักเพราะมีความเร็วต่ำกว่า 50 มิลลิวินาที ราคาถูกกว่า 85% เมื่อเทียบกับบริการอื่น (GPT-4.1 อยู่ที่ $8/ล้าน token, DeepSeek V3.2 อยู่ที่ $0.42/ล้าน token)
LangChain Agent คืออะไร?
LangChain Agent คือ "สมองกล" ที่ทำให้ AI สามารถตัดสินใจได้ด้วยตัวเอง เปรียบเหมือนลูกน้องที่รู้ว่าต้องทำอะไรต่อไป โดยไม่ต้องรอคำสั่งทุกขั้นตอน
แนวคิดหลัก 3 ประการที่ต้องเข้าใจ
1. Tools (เครื่องมือ)
Tools คือสิ่งที่ AI Agent สามารถใช้ได้ เช่น ค้นหาข้อมูล คำนวณ หรืออ่านไฟล์ ลองนึกภาพว่า Agent มีกล่องเครื่องมือ และมันจะเลือกหยิบเครื่องมือที่เหมาะสมกับงาน
2. Agent (ตัวตน)
Agent คือ "ผู้จัดการ" ที่รับงานมาแล้วตัดสินใจว่าจะใช้เครื่องมือตัวไหน โดยทำงานเป็นลำดับ: รับคำสั่ง → คิด → เลือกเครื่องมือ → ทำ → ประเมินผล → ทำต่อหรือจบ
3. Memory (ความจำ)
Memory ช่วยให้ Agent จดจำสิ่งที่เคยทำไปแล้ว ทำให้การสนทนามีความต่อเนื่อง ไม่ต้องอธิบายใหม่ทุกครั้ง
การติดตั้งและเริ่มต้นใช้งาน
ก่อนอื่นต้องติดตั้ง Python และ LangChain ก่อนนะครับ ให้เปิด Terminal (หรือ Command Prompt) แล้วพิมพ์คำสั่งนี้:
pip install langchain langchain-core langchain-community
ตอนนี้เรามาลองสร้าง Agent ตัวแรกกันเลย!
ตัวอย่างที่ 1: Agent พื้นฐานที่ใช้งานได้จริง
นี่คือโค้ดที่ผมใช้จริงในโปรเจกต์แรกของผม ลองคัดลอกไปรันได้เลยครับ:
import os
from langchain.agents import AgentExecutor, create_react_agent
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langchain import hub
ตั้งค่า API Key ของ HolySheep
os.environ["OPENAI_API_KEY"] = "YOUR_HOLYSHEEP_API_KEY"
กำหนด base_url สำหรับ HolySheep
llm = ChatOpenAI(
model="gpt-4.1",
api_key="YOUR_HOLYSHEEP_API_KEY",
base_url="https://api.holysheep.ai/v1",
streaming=True
)
สร้างเครื่องมือคำนวณอย่างง่าย
@tool
def calculate(expression: str) -> str:
"""ใช้สำหรับคำนวณทางคณิตศาสตร์"""
try:
result = eval(expression)
return f"ผลลัพธ์คือ: {result}"
except Exception as e:
return f"เกิดข้อผิดพลาด: {str(e)}"
สร้าง Agent
tools = [calculate]
prompt = hub.pull("hwchase17/react")
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
ทดสอ