งานวิจัย · arXiv 2508.16279
AgentScope 1.0: เฟรมเวิร์กที่เน้นนักพัฒนาสำหรับการสร้างแอปพลิเคชัน Agentic
AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications
สรุปสามบรรทัด
- 🎯 LLM agents ต้องการการโต้ตอบกับเครื่องมือที่ยืดหยุ่น ปลอดภัย และมีประสิทธิภาพ รวมถึงการประสานงานที่มีโครงสร้าง และวิศวกรรมระดับการผลิต ไม่ใช่แค่การสร้างโปรโตไทป์ของเล่น
- 🔧 แนะนำ AgentScope 1.0: แอบสแตรกชันแบบแยกส่วน (Msg, Model, Memory, Tool), ลูป ReAct ที่รองรับการควบคุมแบบเรียลไทม์และการจัดสรรเครื่องมือแบบไดนามิก, เอเจนต์เฉพาะทางสำเร็จรูป และรันไทม์การประมวลผลพร้อมแซนด์บ็อกซ์แบบแยกส่วน
- 📈 นำเสนอระบบโอเพนซอร์สระดับอุตสาหกรรมที่รองรับไคลเอนต์ MCP ทั้งแบบ stateful และ stateless, การประเมินผลแบบกระจายศูนย์ผ่าน Ray และการปรับใช้โปรโตคอล Agent-to-Agent (A2A) แบบเนทีฟ
บทคัดย่อ
ด้วยการพัฒนาอย่างรวดเร็วของโมเดลภาษาขนาดใหญ่ (LLMs) ทำให้เอเจนต์สามารถผสานความรู้ภายในเข้ากับการใช้เครื่องมือแบบไดนามิก ซึ่งช่วยเพิ่มขีดความสามารถในการจัดการงานในโลกแห่งความเป็นจริงได้อย่างมาก เพื่อให้สอดรับกับวิวัฒนาการดังกล่าว AgentScope จึงได้นำเสนอการปรับปรุงครั้งสำคัญในเวอร์ชันใหม่ (1.0) เพื่อรองรับปฏิสัมพันธ์ระหว่างเอเจนต์กับสภาพแวดล้อมผ่านเครื่องมืออย่างยืดหยุ่นและมีประสิทธิภาพ สำหรับการสร้างแอปพลิเคชันเชิงเอเจนต์ (agentic applications) โดยเฉพาะอย่างยิ่ง เราได้แยกส่วนประกอบพื้นฐานที่จำเป็นสำหรับแอปพลิเคชันเชิงเอเจนต์ พร้อมจัดเตรียมอินเทอร์เฟซแบบรวมศูนย์และโมดูลที่ขยายต่อได้ ช่วยให้นักพัฒนาสามารถนำความก้าวหน้าล่าสุด เช่น โมเดลใหม่ ๆ และ MCPs มาปรับใช้ได้อย่างง่ายดาย นอกจากนี้ เรายังวางรากฐานพฤติกรรมของเอเจนต์บนกระบวนทัศน์ ReAct และจัดเตรียมโครงสร้างพื้นฐานระดับเอเจนต์ขั้นสูงที่ออกแบบด้วยระบบอะซิงโครนัส ซึ่งช่วยเพิ่มรูปแบบปฏิสัมพันธ์ทั้งระหว่างมนุษย์กับเอเจนต์ และระหว่างเอเจนต์ด้วยกัน พร้อมทั้งปรับปรุงประสิทธิภาพการทำงาน และบนรากฐานนี้ เราได้ผสานรวมเอเจนต์สำเร็จรูป (built-in agents) หลายตัวที่ปรับแต่งมาเพื่อสถานการณ์การใช้งานจริงโดยเฉพาะ อีกทั้ง AgentScope ยังมีการสนับสนุนทางวิศวกรรมที่แข็งแกร่งเพื่อสร้างประสบการณ์ที่เป็นมิตรต่อนักพัฒนา เรามีโมดูลการประเมินผลที่ปรับขนาดได้พร้อมอินเทอร์เฟซสตูดิโอแบบภาพ (visual studio) ทำให้การพัฒนาแอปพลิเคชันเชิงเอเจนต์ที่มีขั้นตอนการทำงานยาวนาน (long-trajectory) จัดการและติดตามได้ง่ายขึ้น นอกจากนี้ AgentScope ยังมีสภาพแวดล้อมรันไทม์แบบแซนด์บ็อกซ์เพื่อรับประกันความปลอดภัยในการทำงานของเอเจนต์ และช่วยให้ปรับใช้ในสภาพแวดล้อมการผลิตได้อย่างรวดเร็ว ด้วยการปรับปรุงเหล่านี้ AgentScope จึงมอบรากฐานที่ใช้งานได้จริงสำหรับการสร้างแอปพลิเคชันเชิงเอเจนต์ที่ปรับขนาดได้ ปรับตัวได้ดี และมีประสิทธิภาพสูง
บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)
Driven by rapid advancements of Large Language Models (LLMs), agents are empowered to combine intrinsic knowledge with dynamic tool use, greatly enhancing their capacity to address real-world tasks. In line with such an evolution, AgentScope introduces major improvements in a new version (1.0), towards comprehensively supporting flexible and efficient tool-based agent-environment interactions for building agentic applications. Specifically, we abstract foundational components essential for agentic applications and provide unified interfaces and extensible modules, enabling developers to easily leverage the latest progress, such as new models and MCPs. Furthermore, we ground agent behaviors in the ReAct paradigm and offer advanced agent-level infrastructure based on a systematic asynchronous design, which enriches both human-agent and agent-agent interaction patterns while improving execution efficiency. Building on this foundation, we integrate several built-in agents tailored to specific practical scenarios. AgentScope also includes robust engineering support for developer-friendly experiences. We provide a scalable evaluation module with a visual studio interface, making the development of long-trajectory agentic applications more manageable and easier to trace. In addition, AgentScope offers a runtime sandbox to ensure safe agent execution and facilitates rapid deployment in production environments. With these enhancements, AgentScope provides a practical foundation for building scalable, adaptive, and effective agentic applications.
คู่มือการอ่าน
ปัญหาและแรงจูงใจ
แม้ว่าโมเดลภาษาขนาดใหญ่ (LLMs) สมัยใหม่จะมีความเป็นเลิศในการให้เหตุผลและการสร้างภาษาธรรมชาติ แต่การนำไปใช้ประโยชน์ในโลกแห่งความเป็นจริงจำเป็นต้องมีการปฏิสัมพันธ์ที่มีการเชื่อมโยงกับสภาพแวดล้อมภายนอกผ่าน APIs, ฐานข้อมูล และเครื่องมือแบบไดนามิก สถาปัตยกรรมเอเจนต์ยุคแรกมักพึ่งพาการทำงานของเครื่องมือตามลำดับอย่างตายตัว ขาดการจัดการอะซิงโครนัสที่แข็งแกร่ง ประสบปัญหาเครื่องมือที่มีมากเกินไป ("paradox of choice") และขาดโครงสร้างพื้นฐานที่เน้นนักพัฒนาสำหรับการแก้ไขจุดบกพร่องของวิถีการทำงานที่ยาวนาน (long trajectories) การประเมินผลแบบกระจายศูนย์ และการประมวลผลที่ปลอดภัย AgentScope 1.0 แก้ไขช่องว่างเหล่านี้โดยการเปลี่ยนผ่านจากเฟรมเวิร์กการให้เหตุผลภายในไปสู่เฟรมเวิร์กเอเจนต์ที่ขยายได้และเน้นนักพัฒนา ซึ่งมีศูนย์กลางอยู่ที่การรับรู้เครื่องมือและปฏิสัมพันธ์กับสภาพแวดล้อม
แนวคิดหลัก
AgentScope 1.0 จัดโครงสร้างออกเป็น 3 เสาหลัก:
- องค์ประกอบพื้นฐาน (Foundational Components): แอบสแตรกชันแบบแยกส่วนซึ่งรวมถึง
Msg(บล็อกมัลติโมดอล, การเรียกใช้เครื่องมือ และร่องรอยความคิด), อินเทอร์เฟซModelแบบรวมศูนย์พร้อมการสตรีมแบบอะซิงโครนัสและเครื่องมือ OpenTelemetry, ลำดับชั้นMemory(บัฟเฟอร์ระยะสั้นในหน่วยความจำ และหน่วยความจำระยะยาวที่ควบคุมโดยนักพัฒนา/เอเจนต์ผ่าน Mem0) และToolkitที่ขยายต่อได้ - โครงสร้างพื้นฐานระดับเอเจนต์ (Agent-level Infrastructure): มีศูนย์กลางอยู่ที่กระบวนทัศน์ ReAct (
Reasoning + Acting) รองรับการเรียกใช้เครื่องมือแบบขนานโดยไม่บล็อกการทำงาน, การขัดจังหวะโดยผู้ใช้ (การควบคุมแบบเรียลไทม์), การจัดสรรเครื่องมือแบบไดนามิก (การเปิด/ปิดใช้งานกลุ่มเครื่องมือ) และการคงอยู่ของสถานะตามลำดับชั้นผ่านStateModule - ประสบการณ์ที่เป็นมิตรต่อนักพัฒนา (Developer-Friendly Experience): ชุดการประเมินผลแบบบูรณาการ (รองรับ
GeneralEvaluatorตามลำดับ และRayEvaluatorแบบกระจายศูนย์),Studioแบบภาพพร้อมช่วงความเชื่อมั่นจากการทำ bootstrap และการเปรียบเทียบวิถีการทำงาน, โคไพลอตในตัว (Friday) และRuntimeการประมวลผลแบบแยกส่วนที่มีแซนด์บ็อกซ์
ระเบียบวิธี (พร้อมสมการสำคัญ)
ระบบจัดโครงสร้างการทำงานตามแอบสแตรกชันมาตรฐาน:
- สถาปัตยกรรมข้อความ (Message Architecture): แพ็กเก็ตข้อมูลถูกรวมเป็นอ็อบเจกต์
Msgเดียวกันซึ่งประกอบด้วยname,role,content(รายการของบล็อกที่มีการระบุประเภท เช่นTextBlock,ToolUseBlock,ThinkingBlock) และmetadataโดยตัวจัดรูปแบบเฉพาะของผู้ให้บริการ (ChatFormatterและMultiAgentFormatter) จะแปลงบล็อกเหล่านี้เป็นสกีมาเฉพาะของผู้ให้บริการนั้น ๆ - การทำงานและการจัดกลุ่มเครื่องมือ (Tool Execution and Grouping): เครื่องมือจะได้รับการลงทะเบียนใน
Toolkitพร้อมการดึง JSON schema อัตโนมัติจาก docstrings เพื่อลดปัญหาการเสื่อมประสิทธิภาพของพื้นที่การค้นหาจากเครื่องมือที่มีจำนวนมากเกินไป เครื่องมือจึงถูกจัดเป็นกลุ่ม โดยใช้update_tool_groupsหรือการเรียกใช้reset_equipped_tools(group_names)จากเอเจนต์ สับเซตของเครื่องมือที่ใช้งานอยู่ จะถูกปรับเปลี่ยนแบบไดนามิกในแต่ละขั้นตอนของเวิร์กโฟลว์: - การบูรณาการ MCP (MCP Integration): จำแนกระหว่าง Stateful Clients (วงจรเซสชันแบบถาวรสำหรับเครื่องมือที่ขึ้นกับสถานะ เช่น เซสชันของเบราว์เซอร์) และ Stateless Clients (การเชื่อมต่อชั่วคราวต่อหนึ่งการเรียกใช้เพื่อลดภาระ overhead)
- การประมวลผลแบบอะซิงโครนัสและการควบคุม (Asynchronous Execution & Steering): การประมวลผลเอเจนต์แบบอะซิงโครนัสใช้ตัวสร้างแบบไม่บล็อก (non-blocking generators) หากมีสัญญาณยกเลิกของ asyncio เกิดขึ้น ลูป ReAct จะขัดจังหวะการทำงานอย่างราบรื่น ส่งสถานะการทำงานบางส่วนออกมา และผนวกโทเค็นการขัดจังหวะเข้าสู่หน่วยความจำในฐานะเหตุการณ์ที่สังเกตได้
- การประสานงานหลายเอเจนต์ (Multi-Agent Coordination): รองรับรูปแบบการเรียกใช้ "Agent as a Tool" ควบคู่ไปกับการจัดกระบวนการสนทนาผ่านโครงสร้าง
Pipeline(แบบตามลำดับ, แบบแยกสาขา และแบบวนซ้ำ) และการบรอดแคสต์ด้วยMsgHub
ผลลัพธ์ (พร้อมตัวเลขที่สำคัญที่สุด)
บทความนี้นำเสนอการนำเฟรมเวิร์กไปปรับใช้จริงและการตรวจสอบความถูกต้องของสถาปัตยกรรมผ่านเอเจนต์เฉพาะทางสำเร็จรูป 3 ตัว:
- Deep Research Agent: ใช้การขยายคำค้นหา (การย่อยคำค้นหาแบบโครงสร้างต้นไม้), การค้นหาเว็บจากหลายแหล่งข้อมูลผ่าน Tavily MCP, การสะท้อนความคิดระดับต่ำ (การแก้ไขเครื่องมือ/พารามิเตอร์) และการสะท้อนความคิดระดับสูง (การวางแผนงานย่อยใหม่)
- Browser-use Agent: ใช้ Playwright MCP ผ่านไคลเอนต์ I/O มาตรฐานแบบ stateful (
StdIOStatefulClient) โดดเด่นด้วยการประมวลผล HTML เชิงภาพ การประสานงานหลายแท็บ และการแบ่งหน้าเว็บออกเป็นส่วนย่อย (chunk-wise) สำหรับหน้าเว็บขนาดยาว - Meta Planner Agent: จัดการเวิร์กโฟลว์ที่ซับซ้อนผ่าน
RoadmapManagerและWorkerManagerรองรับการสลับโหมดคู่ระหว่าง ReAct พื้นฐานสำหรับงานง่าย ๆ และการทำงานของหลายเอเจนต์ที่ขับเคลื่อนด้วยแผนงานสำหรับงานที่ซับซ้อน - โครงสร้างพื้นฐานทางวิศวกรรม (Engineering Infrastructure): บูรณาการการนำไปใช้งานด้วย FastAPI แบบเนทีฟ, การติดตามด้วย OpenTelemetry ที่เข้ากันได้กับ Arize-Phoenix และ Langfuse และการประเมินค่างานแบบกระจายคู่ขนานบน Ray พร้อมจุดตรวจสอบสถานะ (checkpoints) แบบถาวร
ข้อจำกัดและคำถามปลายเปิด
- บทความนี้นำเสนอรายงานสถาปัตยกรรมระบบมากกว่าการเปรียบเทียบความแม่นยำด้วยเกณฑ์มาตรฐานทั่วไป (เช่น ตัวเลขเกณฑ์มาตรฐานอย่าง SWE-bench หรือ GAIA ไม่ได้ระบุไว้ในเนื้อหาหลัก)
- การจัดสรรเครื่องมือแบบไดนามิกและภาระในการวางแผนใน Meta Planner จำเป็นต้องมีขนาด context-window ที่เพียงพอและความแม่นยำสูงในการเรียกใช้เครื่องมือของ LLM พื้นฐาน
- ภาระ overhead ในการประสานงานหลายเอเจนต์และต้นทุนการแยกแซนด์บ็อกซ์ภายใต้การทำงานพร้อมกันขนาดใหญ่ ยังไม่ได้รับการวัดประสิทธิภาพด้วยตัวเลข throughput ดิบในบทความนี้
คำศัพท์สำคัญ
- AgentScope 1.0
- เฟรมเวิร์กที่เน้นนักพัฒนา ออกแบบมาเพื่อการสร้างแอปพลิเคชันเอเจนต์บนพื้นฐาน LLM ที่ปรับขนาดได้ ปรับตัวได้ดี และบูรณาการเครื่องมือได้อย่างสมบูรณ์
- ReAct Paradigm
- สถาปัตยกรรมเอเจนต์ที่รวมการให้เหตุผลและการกระทำไว้ในลูปปิด เพื่อย่อยคำค้นหา ดำเนินการเครื่องมือ สังเกตผลลัพธ์ และปรับปรุงแผน
- Model Context Protocol (MCP)
- โปรโตคอลเปิดที่สร้างมาตรฐานการเชื่อมต่อระหว่าง LLMs กับบริการภายนอกและแหล่งข้อมูล โดย AgentScope รองรับทั้งไคลเอนต์แบบ stateful และ stateless
- Toolkit
- โมดูลหลักของ AgentScope สำหรับการลงทะเบียนเครื่องมือ การสร้าง JSON schema อัตโนมัติ การจัดการเครื่องมือตามกลุ่ม และการประมวลผลด้วย asynchronous generator แบบรวมศูนย์
- Real-time Steering (การควบคุมแบบเรียลไทม์)
- กลไกที่อนุญาตให้ผู้ใช้หรือระบบสามารถขัดจังหวะ เปลี่ยนทิศทาง หรือชี้นำลูป ReAct ของเอเจนต์ที่กำลังทำงานอยู่ผ่านการยกเลิกแบบไม่บล็อกและการบันทึกเหตุการณ์ขัดจังหวะ
- Dynamic Tool Provisioning (การจัดสรรเครื่องมือแบบไดนามิก)
- คุณสมบัติที่ช่วยให้เอเจนต์เปิดหรือปิดใช้งานกลุ่มย่อยของเครื่องมือได้โดยอัตโนมัติขณะรันไทม์ เพื่อลดภาระการประมวลผลและประหยัดบริบท
- StateModule
- คลาสพื้นฐานที่ช่วยให้สามารถแปลงและกู้คืนสถานะแบบซ้อนกันได้โดยอัตโนมัติผ่านเมธอด state_dict และ load_state_dict สำหรับเอเจนต์และหน่วยความจำ
- MsgHub
- กลไกการบรอดแคสต์แบบรวมศูนย์ใน AgentScope ที่อำนวยความสะดวกในการสนทนากลุ่มของหลายเอเจนต์โดยการเผยแพร่ข้อความใหม่ไปยังผู้เข้าร่วมทั้งหมด
คำถามที่พบบ่อย
ไคลเอนต์ MCP แบบ stateful และ stateless ใน AgentScope มีความแตกต่างกันอย่างไร?
ไคลเอนต์แบบ stateful จะรักษาเซสชันไว้อย่างต่อเนื่อง (เช่น การคงคุกกี้และบริบทของเบราว์เซอร์ไว้ตลอดการดำเนินการ) ในขณะที่ไคลเอนต์แบบ stateless จะสร้างการเชื่อมต่อชั่วคราวต่อการเรียกใช้เครื่องมือหนึ่งครั้งและตัดการเชื่อมต่อทันทีเพื่อลดภาระการใช้ทรัพยากร
AgentScope จัดการกับข้อจำกัดเรื่องบริบทที่ยาวระหว่างการทำงานอัตโนมัติบนเบราว์เซอร์อย่างไร?
Browser-use Agent จะแบ่งหน้าเว็บขนาดยาวออกเป็นส่วนย่อย ๆ สังเกตเนื้อหาทีละส่วน และจัดการบริบทข้ามส่วนย่อยเพื่อให้อยู่ภายใต้ข้อจำกัดบริบทของ LLM
ระบบการประเมินผลรองรับทั้งการดีบักในเครื่องและการทดสอบขนาดใหญ่ได้อย่างไร?
AgentScope นำเสนอ GeneralEvaluator สำหรับการดีบักกระบวนการในเครื่องทีละขั้นตอนตามลำดับ และ RayEvaluator สำหรับการประมวลผลแบบกระจายศูนย์คู่ขนานบนคลัสเตอร์หลายเวิร์กเกอร์โดยใช้เฟรมเวิร์ก Ray
AgentScope ป้องกันความสับสนของเอเจนต์เมื่อมีเครื่องมือหลายร้อยตัวได้อย่างไร?
ระบบใช้การจัดการเครื่องมือแบบจัดกลุ่ม ซึ่งช่วยให้นักพัฒนาหรือเอเจนต์สามารถเปิดและปิดใช้งานกลุ่มเครื่องมือเชิงตรรกะได้แบบไดนามิก (เช่น 'browser tools') เพื่อจำกัดพื้นที่การค้นหาที่ใช้งานอยู่ให้เหลือเฉพาะสิ่งที่เกี่ยวข้องกับงานย่อยในปัจจุบัน
คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด