ข้าม​ไป​ยัง​เนื้อหา

แยก context ด้วย sub-agent

หกบท​ที่​ผ่าน​มา​คุณ รักษา หน้าต่าง​ของ agent Order ให้​แน่น​จาก​ภายใน — retrieval ดึง​เฉพาะ​ที่​เกี่ยวข้อง (บท​ที่ 2), memory ย้าย​ของ​ออก​ไป​นอก​หน้าต่าง (บท​ที่ 3), การ​วัด​งบ token (บท​ที่ 4), compaction สรุป​ประวัติ​ที่​ยาว (บท​ที่ 5) และ​การ​จัด​ระเบียบ​ผล​ของ tool (บท​ที่ 6) บท​นี้​เพิ่ม​เครื่องมือ ชิ้น​สุดท้าย เข้า​กล่อง — และ​เป็น​ชิ้น​ที่​ต้อง​เปิด​คำ​เตือน​ตัว​ใหญ่​ที่สุด​กำกับ เพราะ​มัน​คาบเกี่ยว​กับ​เรื่อง​สถาปัตยกรรม​ที่​คอร์ส #12 ปัก​ธง​ไว้​แล้ว: การ​แยก​งาน​บาง​ส่วน​ไป​ให้ agent อีก​ตัว​ทำ​ใน​หน้าต่าง​ของ​มัน​เอง

📦 code ตัวอย่าง

บท​นี้​ต่อยอด agent Order ตัว​เดิม (repo kaen-food-ordering, กำลัง​จัด​ทำ) เป็น​บท​กึ่ง​แนวคิด — code ที่​แสดง​คือ โครง​บางๆ ของ​การ​เรียก sub-agent ไม่ใช่​ระบบ multi-agent เต็ม​รูป (นั่น​เป็น​เรื่อง​ของ​คอร์ส #12) เป้าหมาย​ที่​นี่​แคบ​และ​ชัด: มอง sub-agent ใน​ฐานะ เทคนิค​จัดการ context หนึ่ง​อย่าง ที่​มี​ต้นทุน​สูง​และ​ใช้​เป็น​ทาง​เลือก​สุดท้าย ทุก invariant ฝั่ง​แชต​จาก​คอร์ส #15 (x-api-key, anthropic-version: 2023-06-01, ไม่​ส่ง temperature, id claude-opus-4-8, อ่าน​คำ​ตอบ​จาก content[]) ยัง​คง​เดิม​ทั้งหมด

sub-agent คือ​ขอบเขต context — ไม่ใช่​การ​อัปเกรด​สถาปัตยกรรม

หัวข้อ​ที่​มีชื่อ​ว่า “sub-agent คือ​ขอบเขต context — ไม่ใช่​การ​อัปเกรด​สถาปัตยกรรม”

ก่อน​อื่น​ต้อง​ปัก​หมุด​กรอบ​ให้​ถูก Sub-agentSub-agentการ​แยก subtask ออก​ไป​ให้ agent อีก​ตัว​ทำ​ใน​หน้าต่าง​สะอาด​ของ​มัน​เอง แล้ว​คืน​กลับ​มา​แค่​บท​สรุป​สั้น ๆ — เป็น​เทคนิค Context Isolation ที่​ใช้ 'อย่าง​ประหยัด เป็น​ทาง​เลือก​สุดท้าย' ไม่ใช่​การ​อัปเกรด​สถาปัตยกรรม สอดคล้อง​กับ #12 ที่​ตั้ง single-agent เป็น​ค่า​เริ่มต้น: Anthropic เอง​เตือน​ว่า multi-agent กิน token ~15 เท่า ต้อง​คุ้ม​ค่า​งาน​จริง​ถึง​จะ​คุ้ม — อย่า​อ่าน​ว่า 'หลาย agent ดี​กว่า'Architecture ไม่ใช่ “ทีม​ของ agent หลาย​ตัว” ที่​คุณ​กระจาย​งาน​ให้​เพื่อ​ความ​เท่ แต่​คือ เทคนิค​หนึ่ง สำหรับ​สิ่ง​เดียว​ที่​คอร์ส​นี้​สนใจ​มา​ตลอด — Context IsolationContext Isolationการ​กัน​ความ​รก​ของ context งาน​หนึ่ง​ไม่​ให้​ปน​เข้า​หน้าต่าง​ของ​อีก​งาน — sub-agent สำรวจ​เยอะ (ใช้ token นับ​หมื่น) แต่​คืน​แค่​บท​สรุป​กลั่น​มา​แล้ว (~1–2 พัน token) จึง​ทำ​หน้าที่​เป็น 'ขอบเขต compaction ที่​บังคับ​เชิง​โครงสร้าง' ไป​ใน​ตัว เหมาะ​เมื่อ​งาน​เป็น​อิสระ​ต่อ​กัน​และ tool result ดิบ​จะ​ทำให้​หน้าต่าง​ล้น ต้นทุน coordination ตก​อยู่​ที่​หน้าต่าง​ของ agent แม่​ที่​เรา​กำลัง​รักษาArchitecture การ​กัน​ความ​รก​ของ​งาน​หนึ่ง​ไม่​ให้​ปน​เข้า​หน้าต่าง​ของ​อีก​งาน Anthropic อธิบาย​หลักการ​นี้ตรงๆ ว่า “Rather than one agent attempting to maintain state across an entire project, specialized sub-agents can handle focused tasks with clean context windows.” — แทนที่​จะ​ให้ agent ตัว​เดียว​แบก​สถานะ​ทั้ง project ก็​ให้ sub-agent เฉพาะ​ทาง​รับ​งาน​ที่​โฟกัส​ไป​ทำ​ใน​หน้าต่าง​ที่​สะอาด​ของ​มัน

หัวใจ​อยู่​ที่​คำ​ว่า isolated“the detailed search context remains isolated within sub-agents, while the lead agent focuses on synthesizing and analyzing the results.” บริบท​ดิบๆ ที่​เต็ม​ไป​ด้วย​รายละเอียด​ของ​งาน​ค้นหา​ถูก​กัก​ไว้ ภายใน sub-agent ส่วน agent หลัก​เห็น​แค่​ผลลัพธ์​ที่​กลั่น​แล้ว มอง​แบบ​วิศวกร context นี่​คือ boundary ชนิด​หนึ่ง: ความ​รก​อยู่​ข้าง​ใน​กำแพง มี​แต่​ของ​สำคัญ​ที่​ข้าม​กำแพง​ออก​มา

และ​นี่​คือ​มุม​ที่​ทำให้ sub-agent เข้า​ล็อก​กับ​บท​ที่ 5 พอดี — มัน​คือ compaction ที่​คุณ​บังคับ​ด้วย​โครงสร้าง Anthropic ให้​ตัวเลข​ไว้​ชัด: “Each subagent might explore extensively, using tens of thousands of tokens or more, but returns only a condensed, distilled summary of its work (often 1,000-2,000 tokens).” — sub-agent อาจ​เผา token ไป​หลาย​หมื่น​ใน​หน้าต่าง​ของ​มัน แต่​สิ่ง​ที่​คืน​กลับ​เข้า​หน้าต่าง​ของ agent หลัก​มี​แค่​บท​สรุป​หลัก​พัน token แทนที่​จะ​หวัง​พึ่ง​การ​สรุป​ตอน​หลัง (บท​ที่ 5) คุณ ออกแบบ ให้​รายละเอียด​ดิบ​ไม่มี​ทาง​ไหล​ข้าม​กำแพง​มา​ตั้งแต่​แรก

flowchart TB
  subgraph MONO["❌ agent เดียวแบกทุกอย่าง"]
    direction TB
    W1["หน้าต่างเดียว — บวมจนล้น<br/>ผลดิบออเดอร์ 40 รายการ<br/>+ ประวัติ + policy + งานหลัก"]
  end
  subgraph ISO["✅ แยกด้วย sub-agent"]
    direction TB
    LEAD["agent หลัก<br/>หน้าต่างสะอาด"]
    SUB["sub-agent<br/>หน้าต่างของมันเอง<br/>เผาหลายหมื่น token"]
    LEAD -->|"มอบงานค้น 40 ออเดอร์"| SUB
    SUB -->|"คืนบทสรุป ~1–2 พัน token"| LEAD
  end
  MONO -.->|"ต้นทุน: ~15 เท่าของแชต<br/>ใช้เมื่อคุ้มค่างานเท่านั้น"| ISO
  classDef bad fill:#7f1d1d,stroke:#450a0a,color:#fef2f2;
  classDef good fill:#0891b2,stroke:#064e5b,color:#f8fafc;
  class W1 bad;
  class LEAD,SUB good;

คำ​บรรยาย​ภาพ: ซ้าย/บน​คือ​หน้าต่าง​เดียว​ที่​บวม​เพราะ​ผล​ดิบ​ของ​งาน​ค้น 40 ออเดอร์​ปน​กับ​งาน​หลัก ขวา/ล่าง​คือ​การ​แยก: agent หลัก​มอบ​งาน​ค้น​ให้ sub-agent ไป​เผา token หลาย​หมื่น​ใน​หน้าต่าง​ของ​มัน​เอง แล้ว​คืน​กลับ​มา​แค่​บท​สรุป​หลัก​พัน token — หน้าต่าง​ของ agent หลัก​จึง​ยัง​สะอาด แต่​เส้น​ประ​เตือน​ว่า​ราคา​ของ isolation นี้​คือ token ราว 15 เท่า​ของ​แชต​ธรรมดา ใช้​เมื่อ​คุ้ม​ค่า​งาน​เท่านั้น

สะพาน​เชื่อม​กับ​คอร์ส #12: ค่า​เริ่มต้น​ยัง​เป็น agent เดียว

หัวข้อ​ที่​มีชื่อ​ว่า “สะพาน​เชื่อม​กับ​คอร์ส #12: ค่า​เริ่มต้น​ยัง​เป็น agent เดียว”

ถ้า​คุณ​ผ่าน​คอร์ส #12 (agent เป็น bounded context) มา​แล้ว คุณ​รู้​จุดยืน​นี้​ดี — ตั้ง agent เดียว​เป็น ค่า​เริ่มต้น และ​ถือ multi-agent เป็น ข้อ​ยกเว้น​ที่​ต้อง​มี​เหตุผล​รองรับ บท​นี้​ไม่​ได้​มา​พลิก​จุดยืน​นั้น ตรง​กัน​ข้าม — มัน​คือ​การ​หยิบ เหตุผล​รูป​เดียว ที่ context engineering ให้​สิทธิ์​คุณ​แตก​ค่า​เริ่มต้น​ได้​มา​วาง​บน​โต๊ะ แล้ว​กำกับ​ด้วย​ราคา​ของ​มัน​ทันที

พูด​เป็น​ประโยค​เดียว​ให้​จำ: ใน​คอร์ส #12 เรา​ตั้ง​ค่า​เริ่มต้น​ไว้​ที่ agent เดียว บท​นี้​เรา​เจอ​เหตุผล​รูป​เดียว​ที่​ควร​แตก​ค่า​นั้น — การ​แยก subtask อิสระ​ที่​จะ​ท่วม​หน้าต่าง​ออก​ไป — และ​ตัวเลข​ของ Anthropic เอง (15 เท่า​ของ token, ต้อง​คุ้ม​ค่า​งาน) บอก​ให้​จ่าย​มัน​อย่าง​ประหยัด

ราก​ของ​จุดยืน​นี้​คือ​หลัก​เดียว​กับ​ที่​คอร์ส #12 และ #15 ยึด — เริ่ม​จาก​สิ่ง​ที่​ง่าย​ที่สุด​เสมอ Anthropic เขียน​ไว้​ใน Building Effective Agents ว่า​ให้ “finding the simplest solution possible, and only increasing complexity when needed.” sub-agent คือ​การ เพิ่ม​ความ​ซับซ้อน อย่าง​ชัดเจน: อีก​หนึ่ง​หน้าต่าง อีก​ชุด prompt อีก​ช่อง​ทาง​ที่​ผิดพลาด​ได้ ภาระ​พิสูจน์​จึง​อยู่​ที่​คุณ​ว่า​งาน​นี้ จำเป็น ต้อง​ใช้​จริง ไม่ใช่​อยู่​ที่​การ​หา​ข้อ​อ้าง​ว่า​ทำไม​ไม่​ใช้

⚠️ อย่า​อ่าน​บท​นี้​ว่า 'หลาย agent ดี​กว่า'

ทั้ง​บท​นี้​พูด​ถึง sub-agent ใน​ฐานะ ทาง​เลือก​สุดท้าย ไม่ใช่​ทาง​ลัด​สู่​ระบบ​ที่​ดี​กว่า ตัวเลข 15 เท่า​และ​เงื่อนไข “ต้อง​คุ้ม​ค่า​งาน” ที่​คุณ​จะ​เห็น​ข้าง​ล่าง​มี​ไว้​เพื่อ จำกัด​ขอบเขต ของ​เทคนิค​นี้ ไม่ใช่​เพื่อ​โปรโมต ถ้า​งาน​ของ​คุณ​ไหล​เป็น​เส้นตรง (เช่น​เคส​คืน​เงิน​ที​ละ​ออเดอร์) คำ​ตอบ​ที่​ถูก​คือ agent เดียว จบ

เมื่อไร​ที่ isolation ช่วย​จริง — และ​เมื่อไร​ที่​มัน​แค่​เผา​เงิน

หัวข้อ​ที่​มีชื่อ​ว่า “เมื่อไร​ที่ isolation ช่วย​จริง — และ​เมื่อไร​ที่​มัน​แค่​เผา​เงิน”

Anthropic ระบุ​จุด​ที่ sub-agent เปล่ง​ประกาย​ไว้​แคบ​มาก และ​แคบ​โดย​ตั้งใจ — “Multi-agent systems excel at valuable tasks that involve heavy parallelization, information that exceeds single context windows, and interfacing with numerous complex tools.” สาม​เงื่อนไข: งาน​ที่​ขนาน​กันหนักๆ, ข้อมูล​ที่​เกิน​หน้าต่าง​เดียว, และ​การ​ต่อ​กับ tool ซับซ้อน​จำนวน​มาก สังเกต​ว่า​ทั้ง​สาม​ข้อ​ล้วน​เป็น​ปัญหา เรื่อง context — ปริมาณ​ข้อมูล​เกิน​งบ ไม่ใช่​ปัญหา​เรื่อง​ตรรกะ​ธุรกิจ

เหตุผล​เชิงกลไก​ที่ isolation ได้​ผล​คือ sub-agent ทำงาน​ขนาน​กัน​ใน​หน้าต่าง​แยก​ของ​แต่ละ​ตัว — “Subagents facilitate compression by operating in parallel with their own context windows, exploring different aspects of the question simultaneously.” และ​แต่ละ​ตัว​ได้ “separation of concerns—distinct tools, prompts, and exploration trajectories—which reduces path dependency and enables thorough, independent investigations.” การ​แยก​หน้าต่าง คือ​การ​แยก concern ใน​เชิง context โดยตรง

เทียบ​สอง​เคส​บน agent Order ให้​เห็น​เส้น​แบ่ง:

  • ไม่​ควร​ใช้ sub-agent — เคส​คืน​เงิน​ที​ละ​ออเดอร์: ลูกค้า​ถาม​ถึง​ออเดอร์​เดียว → getOrder → เช็ก policy → issueRefund งาน​ไหล​เป็น​เส้นตรง หน้าต่าง​ไม่​ท่วม การ​แตก​ไป​อีก agent มี​แต่​เพิ่ม​ต้นทุน​และ​ความ​หน่วง​เปล่าๆ agent เดียว​คือ​คำ​ตอบ
  • isolation ช่วย​จริง — เคส fan-out หลาย​สิบออเดอร์: ลูกค้า​องค์กร​ถาม​ว่า “ออเดอร์ 40 รายการ​เดือน​ที่​แล้ว​รายการ​ไหน​ส่ง​ช้า​เกิน SLA บ้าง” ถ้า agent หลัก​ดึง​ผล​ดิบ​ของ​ทั้ง 40 ออเดอร์​เข้า​หน้าต่าง​เดียว มัน​บวม​ทันที การ​มอบ​งาน ค้น​และ​กรอง 40 ออเดอร์ ให้ sub-agent ไป​เผา token ใน​หน้าต่าง​ของ​มัน แล้ว​คืน​กลับ​มา​แค่ “รายการ​ที่​ช้า​เกิน SLA: #10432, #10871” คือ​การ​ใช้ isolation ตรง​จุด — ข้อมูล​เกิน​หน้าต่าง​เดียว​จริง และ​งาน​ค้น​แยก​ออก​จาก​งาน​ตอบ​ลูกค้า​ได้​สะอาด

นี่​คือ​ใบเสร็จ​ที่​ทำให้​ทุก​อย่าง​ข้าง​บน​กลาย​เป็น ทาง​เลือก​สุดท้าย ไม่ใช่​ค่า​เริ่มต้น Anthropic วัด​มา​เอง — “agents typically use about 4× more tokens than chat interactions, and multi-agent systems use about 15× more tokens than chats.” agent ธรรมดา​กิน​ราว 4 เท่า​ของ​แชต ส่วน​ระบบ multi-agent กิน​ราว 15 เท่า และ​เงื่อนไข​ที่​ตาม​มา​คือ​กฎ​เหล็ก: “For economic viability, multi-agent systems require tasks where the value of the task is high enough to pay for the increased performance.” — มัน​จะ​คุ้ม​ก็​ต่อ​เมื่อ​มูลค่า​ของ​งาน​สูง​พอ​จะ​จ่าย​ค่า token ที่​เพิ่ม​ขึ้น​นั้น

🔁 ตัวเลข​นี้​ลง​วัน​ที่​กำกับ

15 เท่า และ 4 เท่า มา​จาก​ระบบ​วิจัย multi-agent ของ Anthropic (2025-06-13) เป็น​ค่าที่​วัด​จาก​งาน​แบบ​หนึ่ง​ใน​ช่วง​เวลา​หนึ่ง อย่า​ท่อง​เป็น​สัจธรรม​ข้าม​ทุก​งาน — สิ่ง​ที่ ไม่ เปลี่ยน​คือ ทิศทาง: การ​แตก​ไป sub-agent แพง​กว่า agent เดียว​อย่าง​มี​นัย​สำคัญ​เสมอ ดังนั้น​ภาระ​พิสูจน์​ความ​คุ้ม​ค่า​ตก​อยู่​ที่​คน​ที่​จะ​แตก

เอา​สอง​ด้าน​มา​ชน​กัน: ด้าน1 isolation ประหยัด​หน้าต่าง​ของ agent หลัก (คืน​แค่ 1–2 พัน token แทน​หลาย​หมื่น) อีก​ด้าน ระบบ​ทั้ง​ระบบ กลับ​กิน token รวม​มาก​ขึ้น​ราว 15 เท่า เพราะ sub-agent ต้อง​เผา token ใน​หน้าต่าง​ของ​มัน​เอง บวก​ค่า​ประสาน​งาน​ที่​ตก​กลับ​มา​ที่ agent หลัก การ​ประหยัด เฉพาะ​จุด กับ​ต้นทุน รวม​ทั้ง​ระบบ จึง​เป็น​คนละ​เรื่อง — และ​นี่แหละ​เหตุผล​ที่​คุณ​กัน​เทคนิค​นี้​ไว้​ใช้​เฉพาะ​งาน​ที่​หน้าต่าง​เดียว​รับ​ไม่​ไหวจริงๆ

โครง code บางๆ: sub-agent คือ IChatClient อีก​ตัว​ที่​คืน​แค่ string สรุป

หัวข้อ​ที่​มีชื่อ​ว่า “โครง code บางๆ: sub-agent คือ IChatClient อีก​ตัว​ที่​คืน​แค่ string สรุป”

ใน​ทาง code sub-agent ไม่ใช่ framework วิเศษ — มัน​คือ​การ​เรียก IChatClient (จาก​คอร์ส #15) อีก​ครั้ง​หนึ่ง​ใน​หน้าต่าง​ของ​มัน​เอง โดย​มี​กติกา​เหล็ก​ข้อ​เดียว: สิ่ง​เดียว​ที่​คืน​กลับ​เข้า agent หลัก​คือ string สรุปสั้นๆ ผล​ดิบ​ทั้งหมด​ต้องตายอยู่​ใน​หน้าต่าง​ของ sub-agent

using Microsoft.Extensions.AI;
// sub-agent = IChatClient อีกตัว ในหน้าต่าง (List<ChatMessage>) ของมันเอง
// invariant ฝั่งแชตทั้งหมดจาก #15 คงเดิม: x-api-key, anthropic-version 2023-06-01,
// "claude-opus-4-8", ไม่ส่ง temperature, อ่านคำตอบจาก content[]
async Task<string> SearchLateOrdersAsync(
string customerId, IChatClient subAgentChat, IList<AITool> orderTools)
{
// หน้าต่างสด ๆ — ไม่ share ประวัติกับ agent หลักเลย นี่คือ isolation
List<ChatMessage> isolated =
[
new(ChatRole.System,
"You search a customer's orders and report ONLY the order ids that missed SLA. " +
"Do the heavy lookups here. Return a short list, nothing else."),
new(ChatRole.User, $"Customer {customerId}: which of last month's orders missed delivery SLA?")
];
var options = new ChatOptions { Tools = orderTools }; // getOrder/getDeliveryStatus เผาในหน้าต่างนี้
var reply = await subAgentChat.GetResponseAsync(isolated, options); // ไม่มี temperature (invariant #3)
// คืนเฉพาะบทสรุปกลั่นแล้ว ~1–2 พัน token — ผลดิบ 40 ออเดอร์ตายอยู่ใน isolated
return reply.Text; // content[] อยู่ใต้ .Text ตามเดิม (invariant #5)
}

จุด​ที่​ต้อง​เห็น​ให้​ชัด: isolated เป็น List<ChatMessage> คนละ​ก้อน กับ​ประวัติ​ของ agent หลัก — ผล​ของ getOrder/getDeliveryStatus ทั้ง 40 รอบ​พอก​อยู่​ใน​นั้น​และ​ถูก​ทิ้ง​ไป​พร้อม​กับ​มัน สิ่ง​เดียว​ที่ agent หลัก​รับ​กลับ​คือ reply.Text ที่​เป็น​บท​สรุป และ​ค่า​ใช้​จ่าย​ใน​การ​ประสาน​งาน (system prompt ของ sub-agent, การ​ส่ง​งาน​เข้า–รับ​สรุป​ออก) คือ token ที่​ตกลง​มา​ใน​หน้าต่าง​ของ agent หลัก — งบ​ก้อน​เดียว​กับ​ที่​คุณ​อุตส่าห์​รักษา​มา​หกบท ทุก token ที่​ประสาน​งาน​มี​ราคา จึง​ต้อง​คุ้ม​กับ​งาน​ที่​หน้าต่าง​เดียวทำไม่ได้จริงๆ

sub-agent คือ​เทคนิค context isolation หนึ่ง​อย่าง ไม่ใช่​การ​อัปเกรด​สถาปัตยกรรม มัน​ให้ subtask อิสระ​ที่​จะ​ท่วม​หน้าต่าง​ไป​ทำ​ใน​หน้าต่าง​สะอาด​ของ​มัน​เอง แล้ว​คืน​แค่​บท​สรุป​หลัก​พัน token — เป็น compaction ที่​คุณ​บังคับ​ด้วย​โครงสร้าง มัน​ช่วย​จริง​เฉพาะ​งาน​ที่​ขนาน​หนัก/ข้อมูล​เกิน​หน้าต่าง​เดียว/ต่อ tool ซับซ้อน​จำนวน​มาก และ​ราคา​คือ token ราว 15 เท่า​ของ​แชต ที่​คุ้ม​ก็​ต่อ​เมื่อ​มูลค่า​งาน​สูง​พอ ค่า​เริ่มต้น​จาก​คอร์ส #12 ยัง​เป็น agent เดียว​เสมอ บท​นี้​แค่​เพิ่ม​เหตุผล​รูป​เดียว​ที่​ให้​สิทธิ์​แตก​ค่า​นั้น — พร้อม​ใบเสร็จ​ที่​บอก​ให้​จ่าย​อย่าง​ประหยัด บท​หน้า​เรา​ร้อย​ทั้ง​หก​ชั้น (retrieval, memory, งบ token, compaction, จัด​ระเบียบ tool result และ isolation) เข้า​เป็น context layer ตัว​เต็ม​คร่อม agent Order


🔗 อ้างอิง​ต้นทาง​ของ​บท​นี้

บท​นี้​อิง​ต้นทาง​ที่​ลง​วัน​ที่​กำกับ อ่าน​ต่อ​ได้​โดยตรง:

  • Anthropic, “Effective context engineering for AI agents” (2025-09-29) — sub-agent ให้​หน้าต่าง​สะอาด​แยก​กัน, บริบท​ค้นหา​ถูก​กัก​ไว้​ภายใน sub-agent, และ​การ​คืน​บท​สรุป​กลั่น​แล้ว 1,000–2,000 token ใน​ฐานะ compaction เชิง​โครงสร้าง
  • Anthropic, “How we built our multi-agent research system” (2025-06-13) — จุด​ที่ multi-agent เปล่ง​ประกาย (งาน​ขนาน​หนัก/ข้อมูล​เกิน​หน้าต่าง​เดียว/tool ซับซ้อน​จำนวน​มาก), separation of concerns และ​ใบเสร็จ​ต้นทุน ~4 เท่า/~15 เท่า พร้อม​เงื่อนไข “ต้อง​คุ้ม​ค่า​งาน”
  • Anthropic, “Building Effective Agents” (2024-12-19) — หลัก single-agent เป็น​ค่า​เริ่มต้น: หา​ทางออก​ที่​ง่าย​ที่สุด​ก่อน เพิ่ม​ความ​ซับซ้อน​เมื่อ​จำเป็น​เท่านั้น (ต่อ​เนื่องจาก​คอร์ส #12/#15)

เช็กความเข้าใจ — บทที่ 7

ข้อ 1 / 3

sub-agent ถูกวางกรอบว่าเป็นอะไร?