เฟรมเวิร์ก DeepAgents ของ LangChain
(blog.langchain.com)- เอเจนต์ที่ใช้ LLM แบบเดิมโดยทั่วไปมักเป็นโครงสร้างแบบ 'shallow agent' ที่เพียงเรียกใช้เครื่องมือซ้ำไปมา แต่ Deep Agents คือ AI agent ที่วางแผนและมีโครงสร้าง ซึ่งสามารถแก้โจทย์ที่ซับซ้อนและระยะยาวได้อย่างลุ่มลึก
- เอเจนต์รุ่นใหม่อย่าง Deep Research, Manus, Claude Code ได้นำ 'deep agent' ที่สามารถสำรวจหัวข้อได้ลึกขึ้นและจัดการคอนเท็กซ์ได้ดีขึ้นมาใช้งาน
- system prompt แบบละเอียด, เครื่องมือวางแผน, sub-agent, การใช้ระบบไฟล์ คือหัวใจสำคัญของ 'deep agent'
- LangChain ได้เปิดตัว แพ็กเกจโอเพนซอร์ส
deepagentsเพื่อให้ทุกคนสามารถสร้าง deep agent ที่เหมาะกับ vertical (โดเมน) ของตนเองได้ง่าย- สามารถตั้งค่า prompt, tool และ sub-agent แบบกำหนดเองได้ พร้อมมอบเฟรมเวิร์กอเนกประสงค์ที่ประยุกต์ใช้ได้ในหลากหลายสาขา เช่น งานวิจัยและการพัฒนา
ข้อจำกัดของ LLM agent แบบเดิมและลักษณะเด่นของ Deep Agents
- เอเจนต์แบบดั้งเดิม: LLM วนลูปแล้วเรียกใช้แต่เครื่องมือ → เหมาะเพียงกับบริบทสั้น ๆ และงานระยะสั้นที่ไม่ซับซ้อน
- Deep Agents: สามารถแยกย่อย วางแผน ติดตาม และทำงานร่วมกันเองได้ แม้เป็นเป้าหมายระยะยาวหรืองานที่ซับซ้อน
4 องค์ประกอบที่ประกอบเป็น Deep Agents
-
system prompt แบบละเอียด
- ใช้ prompt ที่ระบุวิธีใช้เครื่องมือ/ตัวอย่างพฤติกรรมอย่างละเอียด เช่นกรณีเด่นอย่าง Claude Code
- ใช้คำสั่งที่ซับซ้อนและตัวอย่างแบบ few-shot เพื่อชี้นำให้คิดและลงมือทำได้ 'ลึก' ขึ้น
-
เครื่องมือวางแผน (Planning)
- แม้ไม่มีความสามารถจริง ก็ยังใส่เครื่องมือวางแผน เช่น 'To-Do list' ไว้ในรูทีน เพื่อ ช่วยจัดการบริบทและคงความสามารถในการลงมือทำ
- แม้จะเป็น no-op (ไม่ทำงานอะไรเลย) ก็ยังช่วยให้ prompt มีบริบทมากขึ้น
-
sub-agent
- สร้างและแบ่ง sub-agent ตามงานย่อย ให้แต่ละเอเจนต์ทำงานแยกกัน แล้วค่อยรวมผลลัพธ์
- ทำให้ปัญหาขนาดใหญ่/ซับซ้อนถูกจัดการได้ด้วยโครงสร้างแบบขนานและการแบ่งงาน
-
ระบบไฟล์
- ไม่ได้ใช้แค่กับงานไฟล์จริงเท่านั้น แต่ยังใช้เป็น ที่เก็บโน้ตและคอนเท็กซ์ ได้ด้วย
- เอเจนต์และ sub-agent หลายตัวสามารถแชร์ระบบไฟล์ร่วมกันเพื่อทำงานร่วมกันและรักษาบริบทยาวต่อเนื่อง
เฟรมเวิร์ก Deep Agents ของ LangChain: deepagents
- แพ็กเกจ Python แบบโอเพนซอร์ส (
pip install deepagents) ที่ รองรับการตั้งค่า prompt, tool และ sub-agent แบบกำหนดเอง- system prompt ที่ได้แรงบันดาลใจจาก Claude Code และปรับให้ใช้งานทั่วไปมากขึ้น
- เครื่องมือวางแผน ToDo list แบบ no-op (เหมือนกับ Claude Code)
- รองรับการสร้าง sub-agent และกำหนดเองได้
- ระบบไฟล์เสมือนที่ใช้แนวคิดของ LangGraph (อาศัยสถานะของเอเจนต์)
- มีตัวอย่าง deep research agent ให้ใช้งาน และสามารถสร้างเอเจนต์เฉพาะทางสำหรับแต่ละ vertical ได้อย่างง่ายดาย
ตัวอย่างการใช้งานและคุณค่า
- เหมาะอย่างยิ่งกับ งาน AI ระยะยาวและซับซ้อนหลายด้าน เช่น งานวิจัยและพัฒนา การสร้างโค้ด รีเสิร์ช และอัตโนมัติที่ซับซ้อน
- สามารถสร้างผลลัพธ์ที่ลุ่มลึกได้ด้วย การออกแบบบริบทอย่างละเอียดและโครงสร้างการแบ่งงาน
- ทุกคนสามารถสร้าง 'deep agent' ให้เหมาะกับโดเมนของตนเองได้ — ชี้ให้เห็นก้าวถัดไปของการประยุกต์ใช้ AI
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ผมเป็นผู้เขียนเอง ช่วงหลังมานี้รู้สึกประทับใจกับการที่เอเจนต์ชุดหนึ่งอย่าง claude code, manus, deep research ทำงานที่มีช่วงเวลายาวและหลายขั้นตอนได้ดีเป็นพิเศษ ภายในจริง ๆ ก็คือ LLM วนลูปแล้วเรียกใช้เครื่องมือ แต่ถ้าทำแบบนี้โดยไม่คิดอะไรเลย จะเกิดปัญหาว่า LLM ทำงานที่ซับซ้อนหรือยาว ๆ ได้ไม่ดีนัก เลยสงสัยว่าเอเจนต์อื่น ๆ ทำเรื่องนี้กันอย่างไร สิ่งที่พบร่วมกันมีดังนี้ 1) ใช้เครื่องมือสำหรับวางแผน 2) ใช้ sub-agent 3) ใช้โครงสร้างที่ offload context ออกไป เช่น file system 4) ออกแบบ system prompt อย่างละเอียด (prompt engineering ยังสำคัญอยู่) แต่ละอย่างเป็นวิธีที่มีมาก่อนแล้ว ทว่าเวลาพัฒนาเอเจนต์จริง ๆ กลับไม่ได้เป็นแนวทางที่ใช้กันอย่างแพร่หลาย ผมคิดว่าการเอาสิ่งเหล่านี้มาผสมกันต่างหากที่เป็น insight สำคัญ ยินดีรับ feedback
พออ่านความเห็นหลาย ๆ อันแล้ว ก็เห็นด้วยว่าแนวคิด deep agents สุดท้ายก็ไม่ได้ต่างจากการผสม agent + tool มากนัก สำหรับผม ประเด็นสำคัญคือ 1) ต้องใช้ LLM ที่มีความรู้พื้นฐานดี 2) prompt ที่จะ guide LLM ให้ถูกทางสำคัญมาก (ทำให้มันเป็นเอเจนต์) 3) ฟังก์ชันที่ไม่ต้องมีการตัดสินใจแยกต่างหากควรทำเป็น tool 4) ถ้า flow แบบ agent+tool ซับซ้อนขึ้น ก็ควรแยกเป็น sub-agent ตามโดเมน โดยแต่ละตัวมี prompt ที่โฟกัสชัดและมีเครื่องมือจำนวนน้อย
ผมคิดว่า deep agents = เอเจนต์ที่เพิ่มการวางแผน + การผสมเครื่องมือของเอเจนต์ ดังนั้นสุดท้ายก็คล้ายเอเจนต์แบบเดิมอยู่ดี น่าเสียดายที่ LangChain ดูเหมือนชอบห่อแนวคิดง่าย ๆ ให้ซับซ้อน และชอบสร้างคำหรือคอนเซปต์ใหม่ขึ้นมาเพื่อโปรโมตโดยไม่จำเป็น แน่นอนว่าถ้าจะขาย LangSmith เพิ่มก็คงเลี่ยงยาก
ผลลัพธ์ก็ใกล้เคียงกับที่ผมคาดไว้ ตอนนี้เริ่มชัดแล้วว่าการเขียน MCP server เองไม่ได้เวิร์กมากนัก เลยต้องหาแนวทางใหม่ที่ขึ้นกระแสได้เร็ว การลองสร้างเอเจนต์เองแบบ gemini หรือ claude code กำลังเป็นเทรนด์ช่วงนี้ เข้าถึงง่าย มีประโยชน์ได้ระดับหนึ่ง ไม่ต้องมีความรู้ AI เชิงลึกมาก และทำการตลาดก็ง่าย คล้ายแนว “cursor for X” แต่กลับทำเป็นโปรดักต์ได้เร็วกว่าอีก คิดว่าจะมี coding agent แนวนี้เกิดขึ้นอีกมหาศาล แต่ตอนนี้ก็ยังไม่ค่อยรู้สึกว่าใหม่อะไรมากนัก ถึงอย่างนั้น ถ้าเริ่มได้เร็วขนาดนี้ ก็ถือเป็นสัญญาณเชิงบวกว่า clone ของ claude code ที่ทำแบบตรงไปตรงมา น่าจะมีมูลค่าเข้าใกล้ศูนย์ในไม่ช้า
กำลังตามดูและวิเคราะห์โค้ดใน repo นี้อย่างต่อเนื่อง https://github.com/ghuntley/claude-code-source-code-deobfuscation ผู้เขียนทำ reverse engineer Claude Code และอธิบายสถาปัตยกรรมไว้ได้ดี ผมเปลี่ยนลิงก์เป็น repo ที่ดีกว่าแล้ว
กำลังทำ agent cli+library แบบทั่วไปด้วย rust: https://github.com/fdietze/alors ยังอยู่ช่วงต้นของการพัฒนา แต่ตอนนี้ก็ใช้มันช่วยพัฒนาตัวมันเองอยู่แล้ว ยินดีรับ feedback
สำหรับผม Jetbrains Junie น่าจะเป็นตัวแรกที่มีฟีเจอร์ to do list คุณภาพสูงมาก และผมชอบจุดนั้นที่สุด หลังจากเปลี่ยนเป็นแบบเสียเงินก็ไม่ได้ใช้อีกแล้ว แต่ตอนนั้น Junie ช้าและรอบคอบ Cursor มักเขียนทับไฟล์ที่ไม่ได้มีปัญหาด้วย ส่วน Claude ก็ให้ความรู้สึกอยู่กึ่งกลางระหว่างสองตัวนั้น
ส่วนที่น่าสนใจที่สุดกลับถูกซ่อนไว้หมด ประเด็นสำคัญคือมันจัดการ tool call ตั้งแต่การ parse ไปจนถึงการ execute อย่างไร
การแยก context ด้วย sub-agent นี่แหละคือจุดนวัตกรรมจริง ๆ ที่เหลือก็แค่ langgraph react agent
อยากรู้ว่ามีข้อมูลเพิ่มเติมไหมเกี่ยวกับส่วนที่บอกว่า todo list tool เป็น no-op อยากรู้ว่ามันทำงานแบบไหนกันแน่