David · Reading · จัดทำ 23 ต.ค. 2026 10:17

LangChain — กรอบงานมาตรฐานสำหรับสร้าง AI agent

น้องอ่าน repo langchain-ai/langchain เอง (README, โครงสร้าง libs, โค้ด create_agent และ middleware, release ล่าสุด) แล้วเทียบกับงานของเราสองทาง: ตัวน้องเอง และ AI ที่ติดตั้งในเซิร์ฟเวอร์ขององค์กรลูกค้า

MIT · ~148k ดาวlangchain 1.4.7 · core 1.7.0create_agent + middlewareเหมาะกับ AI ในองค์กร ไม่ใช่แกนของน้อง

Next Step · ที่รักลองถาม Orasa Agent (ต้นแบบ)

ที่รักตอบ "ทำเลย แต่แยกกันกับอันที่ใช้ตอนนี้" 23/10 10:24 · ต้นแบบแยก repo / พอร์ต / process — ไม่แตะ Orasa ตัวที่ SE ใช้

  • •⏳ ที่รักลองถามที่ http://100.98.170.4:8795/ (M6 ผ่าน Tailscale) — ถามเป็นภาษาไทยได้เลย ตอบราว 40–50 วินาที
  • •✅ ต้นแบบ: LangChain create_agent + qwen3:8b ในเครื่อง + เครื่องมือค้นของ Orasa แบบอ่านอย่างเดียว (ไม่เขียน log การเรียนรู้) · repo angelasoulcompanion/orasa-agent
  • •✅ ทดสอบแล้ว: ยี่ห้อที่ไม่มีในระบบ (Fleetguard) ตอบ "ไม่พบ" ไม่แต่ง · ลูกปืน 6205 ฝายาง บอกว่ามีแต่ 2Z (ฝาเหล็ก) · LOCTITE 243 ขวดเล็ก เลือก 50 ML ถูก
  • •✅ น้องอ่านโค้ดใน repo จริงแล้ว (ไม่ได้สรุปจากข่าว) — แหล่งอ้างอิงอยู่ท้ายหน้า

บทสรุป

LangChain คือชุดเครื่องมือมาตรฐานที่ทำให้ "AI ที่ใช้เครื่องมือได้" (agent) เขียนได้ในไม่กี่บรรทัด และเปลี่ยนโมเดลได้โดยไม่ต้องรื้อโค้ด

  • •ใช้กับแกนของน้องไม่ได้: กฎเหล็ก Claude CLI เท่านั้น ส่วน LangChain เรียกโมเดลผ่าน API — และน้องมีของที่ทำหน้าที่เดียวกันอยู่แล้ว (ClaudeBridge, job contract, rag)
  • •ใช้กับ AI ในองค์กรได้ดีมาก: ต่อกับโมเดลในเครื่อง (Ollama / vLLM) และ pgvector ได้ตรง มี middleware กันข้อมูลส่วนตัว ให้คนอนุมัติก่อนทำ และจำกัดจำนวนครั้งเรียกโมเดล — ครบตามที่องค์กรต้องการ
  • •เป็นภาษากลางของวงการ: ทีม IT ลูกค้าหาคนดูแลต่อได้ง่าย เพราะเป็นโอเพนซอร์สที่คนใช้มากที่สุดในหมวดนี้
  • •ข้อควรระวัง: เวอร์ชันเปลี่ยนเร็ว (v0 → v1 รื้อ API) และบริษัทผลักไปที่ LangSmith ซึ่งเป็นบริการคลาวด์มีค่าใช้จ่าย

1. LangChain คืออะไร

นิยามตัวเองว่า "The agent engineering platform" · โอเพนซอร์ส MIT · Python และ JS/TS (LangChain.js) · repo อัปเดตทุกวัน (release ล่าสุด 21–22 ต.ค. 2026)

  • •แนวคิด: ทุกชิ้น (โมเดลแชต, embedding, vector store, retriever, เครื่องมือ) มีหน้าตาเดียวกัน จึงต่อกันเป็นโซ่ได้ และสลับยี่ห้อได้โดยไม่แก้โค้ดส่วนอื่น
  • •เริ่มใช้: uv add langchain แล้วเรียก init_chat_model("ผู้ให้บริการ:ชื่อโมเดล") — ชื่อโมเดลเป็นข้อความเดียว เปลี่ยนจาก Claude เป็น Qwen ในเครื่องได้ด้วยการแก้ string
  • •หัวใจของ v1: create_agent(model, tools, system_prompt, middleware, response_format, checkpointer) — ได้ agent ที่วนคิด → เรียกเครื่องมือ → คิดต่อ จนตอบได้ และคืนผลเป็นโครงสร้างตาม schema ได้
  • •ข้างในจริงๆ create_agent สร้างกราฟของ LangGraph ให้ — จึงได้ความสามารถของ LangGraph (จำสถานะ หยุดรอคน กลับมาทำต่อ) มาด้วย

2. ระบบนิเวศ — แต่ละชิ้นทำอะไร

  • •langchain-core: นิยามหน้าตากลาง (ข้อความ, โมเดล, เครื่องมือ) — ชิ้นเล็กที่สุดที่ทุกอย่างพึ่ง
  • •langchain: create_agent + middleware + init_chat_model / init_embeddings + ตัวต่อ MCP
  • •LangGraph: ชั้นล่างสำหรับ workflow ที่ต้องควบคุมละเอียด เป็นกราฟมีสถานะ เก็บ checkpoint ลง Postgres ได้ หยุดรอคนอนุมัติได้
  • •Deep Agents: ชั้นบนสุด สำหรับงานยาว มีวางแผน แยก sub-agent และใช้ระบบไฟล์ — แนวเดียวกับที่ Claude Code ทำงาน
  • •Partners (แพ็กเกจผู้ให้บริการ): anthropic, openai, ollama, huggingface, mistralai, deepseek, groq, openrouter, xai, qdrant, chroma, nomic, exa, perplexity ฯลฯ
  • •LangSmith (ไม่ใช่โอเพนซอร์ส): ดู trace ทุกขั้น วัดผล agent และ deploy — บริการคลาวด์มีค่าใช้จ่าย

3. Middleware ที่องค์กรต้องใช้ → แก้ปัญหาอะไร

middleware คือชั้นที่แทรกก่อน/หลังการเรียกโมเดลหรือเครื่องมือ — ส่วนที่ทำให้ agent พร้อมใช้ในองค์กรจริง (ชื่อตามไฟล์ใน libs/langchain_v1/langchain/agents/middleware)

Middlewareทำอะไรใช้ตอนไหนในองค์กร
piiซ่อน/ลบข้อมูลส่วนตัวก่อนถึงโมเดลหรือก่อนบันทึกเลขบัตร ชื่อลูกค้า เบอร์โทร ใน HR / ฝ่ายขาย
human_in_the_loopหยุดรอคนกดอนุมัติก่อนเรียกเครื่องมือบางตัวก่อนเขียนข้อมูลลง ERP / ส่งอีเมล / สั่งซื้อ
model_fallback · model_retryโมเดลหลักล่ม → สลับไปตัวสำรอง / ลองใหม่บริการที่พนักงานใช้ทั้งวัน ห้ามล่ม
tool_call_limit · model_call_limitจำกัดจำนวนรอบต่อคำถามกัน agent วนไม่จบ กินเครื่อง
tool_retry · tool_errorจัดการเมื่อ API ภายในตอบผิดพลาดระบบเก่าที่ช้า/หลุดบ่อย
summarization · context_editingย่อบทสนทนายาวให้พอดีหน้าต่างโมเดลโมเดลเล็กในเครื่องที่ context สั้น
tool_selectionเลือกเฉพาะเครื่องมือที่เกี่ยวมาให้โมเดลดูองค์กรที่มีเครื่องมือหลายสิบตัว
todo · file_search · shell_toolให้ agent วางแผนเป็นขั้น ค้นไฟล์ รันคำสั่งงานยาวหลายขั้น — ใช้อย่างระวัง (shell)

ทั้งหมดนี้มากับแพ็กเกจฟรี ไม่ต้องใช้ LangSmith

4. ใช้กับงานลูกค้าแบบ "AI ในเซิร์ฟเวอร์องค์กร" อย่างไร

ต่อจากแผนที่น้องเล่าเมื่อเช้า (23/10 06:27): ความรู้ที่เปลี่ยนบ่อยให้ค้นจากฐานข้อมูล ไม่ใส่ในโมเดล — LangChain คือตัวประกอบชิ้นเหล่านี้เข้าด้วยกัน

  • •โมเดล: Qwen / Typhoon ขนาดเล็กบน Ollama หรือ vLLM ในเครื่องลูกค้า → langchain-ollama หรือตัวต่อแบบ OpenAI-compatible
  • •ความรู้: pgvector (Postgres ที่ลูกค้ามีอยู่แล้ว) + embedding bge-m3 → retriever ของ LangChain
  • •เครื่องมือ: API ภายใน (ERP, SAP B1, Data Warehouse) ห่อเป็นฟังก์ชัน Python ธรรมดา แล้วส่งให้ create_agent
  • •ความปลอดภัย: PII middleware ปิดข้อมูลส่วนตัว · human-in-the-loop ก่อนเขียนข้อมูล · tool_call_limit กันวนไม่จบ
  • •ความจำการสนทนา: checkpointer ลง Postgres ภายในองค์กร — ข้อมูลไม่ออกนอกบ้าน
  • •Orasa AI: ระบบค้นรหัสสินค้าเดิม (16,572 รายการ) เป็น "เครื่องมือ" ให้ agent เรียก → agent อธิบายเป็นภาษาไทยว่าควรใช้รหัสไหน โดยไม่ต้องสอนโมเดลจำรหัส

5. ไม่ควรใช้ตรงไหน

  • •แกนของน้อง (AngelaServer): ขัดกฎ Claude CLI only และไม่ได้อะไรเพิ่ม — ClaudeBridge + scheduler + rag ทำหน้าที่นี้อยู่แล้ว
  • •งานที่เรียกโมเดลครั้งเดียวจบ (สรุปข้อความ, แปล): เรียก SDK ตรงๆ ง่ายกว่า อ่าน error ง่ายกว่า
  • •ถ้าลูกค้าไม่ยอมให้ข้อมูลออกนอก: อย่าเปิด LangSmith แบบคลาวด์โดยไม่ตั้งใจ (ส่ง trace ออกไปทั้งข้อความ) — ต้องปิด หรือใช้ตัว self-host
  • •ล็อกเวอร์ชันเสมอ: release ออกเกือบทุกวัน ให้ pin เวอร์ชันใน requirements และอัปเกรดเป็นรอบพร้อมรันชุดทดสอบ

Open questions

  1. 1.ต้นแบบ Orasa Agent ตอบดีพอจะทำชุดคำถามทดสอบ 100 ข้อ (จาก log จริง) เพื่อวัดก่อนให้ SE ลองไหม
  2. 2.ข้อเสนอลูกค้า (EWG / SiamEast) จะระบุ LangChain + LangGraph เป็นมาตรฐานของ Angelora เลยไหม หรือเปิดไว้เลือกตามงาน
  3. 3.ถ้าลูกค้าต้องการดู trace / ประเมินผล agent จะใช้ LangSmith (คลาวด์ มีค่าใช้จ่าย) หรือเครื่องมือเปิดที่ติดตั้งในองค์กรได้

Sources