Cobus Greyling อธิบาย Agent Teams — paradigm ใหม่จาก Anthropic ที่ต่างจาก single ReAct agent, agentic workflow, และ supervisor/subagent — teammate คุยกันได้โดยตรง ไม่ต้องผ่าน supervisor
Background
เดิม architecture AI agent แยกได้ชัด: single ReAct, agentic workflow, supervisor-subagent. แต่ Agent Teams จาก Anthropic รู้สึกเป็น paradigm ใหม่ + มี notion ว่า model เลื่อนขึ้น stack ฟังก์ชันถูก offload ไปที่ model
Claude Agent Teams — Ephemeral by Design
Agent Teams = teammate ephemeral (ชั่วคราว) code-defined agent = durable (คงทน) แบบ software ทั่วไป
“Agent Teams teammates are ephemeral by design. They exist for the duration of a session and then they’re gone.”
ไม่มี persistent identity, ไม่มี memory ข้าม session, ไม่มี /resume. คุณ describe team, มันรัน, มันเสร็จ, มันหายไป
Code-defined agent (เช่น LangGraph, CrewAI, AutoGen) = ตรงกันข้าม + เพิ่ม subagent เข้าไปในรายการ
Tradeoff
Ephemeral agent = สร้างเร็ว ทดลองถูก — พิมพ์ prompt ได้ team ทิ้งเลย เหมาะ task one-off (review PR, debug bug, explore codebase)
Durable agent = สิ่งที่ deploy — ต้องการ team โครงเดียวรันทุกคืนกับทุก PR ใน CI → ไม่อยากอธิบายเป็นภาษาธรรมชาติทุกครั้ง อยากเป็น code ที่ test/version/deterministic
“Agent Teams sits in the developer workflow space — interactive, exploratory, disposable.”
ไม่ได้แข่งกับ production agent framework
สิ่งที่งงตอนแรก
ตอนแรกคิดว่า agent จะถูก define ที่ไหนสักที่ — config file, markdown spec, schema. ตัวอย่างแสดง prompt ละเอียดของแต่ละ teammate ดูเหมือน declarative
มันไม่ใช่
ไม่มี agent definition file. Markdown ในตัวอย่างคือ prompt ที่ paste เข้า Claude Code เฉย ๆ. กลไกทั้งหมด:
- Config switch ใน
settings.jsonเปิด feature - Prompt ภาษาธรรมชาติที่บรรยาย team
- Claude Code จัดการ spawn, task management, messaging
ไม่มี YAML. ไม่มี schema. ไม่มี workflow definition
“You describe a team conversationally and Claude Code builds it.”
ทำไมต้อง define agent — ถ้าปล่อย Claude คิดเองก็ได้
ปล่อยให้ Claude คิดเองก็ได้ แต่การ define คือ control:
- รู้ว่าอะไรรัน + ค่าใช้จ่ายเท่าไหร่ (teammate = Claude instance แยก)
- ป้องกัน Claude over-spawn 8 teammate ทั้งที่ 3 พอ
- Control file ownership
- Shape team dynamic — collaborative / adversarial / independent
“When you let Claude decide, it might under-scope or over-scope. You lose the ability to set the structure.”
เหมือน manage ทีมจริง — บอก “here’s the problem, figure it out” ก็ได้ แต่บ่อยครั้งอยากบอก “I need these three roles, here’s how I want you to coordinate”
Spectrum ในทางปฏิบัติ
- Prescriptive — “Spawn 3 teammates: security, performance, tests”
- Guided — “Review this PR with multiple specialists, max 4 teammates”
- Open — “This PR needs review. Handle it.”
ทั้ง 3 ใช้ได้. Prescriptive สำหรับ task แพง/เสี่ยง · Open สำหรับ exploratory เร็ว ๆ
Agent Hierarchy
โพสต์ก่อนพูดถึง supervisor agent + subagent (data processing, code gen, doc, analysis). Subagent เป็นก้าวสำคัญจาก single-session prompting
“But they had a constraint. Subagents report results back to the main agent. They never talk to each other.”
ถ้า Agent 1 ค้นพบสิ่งที่ Agent 2 ต้องรู้ → main agent ต้อง relay = bottleneck
Opus 4.6 release พร้อม Agent Teams — ตัด bottleneck ออก
ต่างจาก Subagent ยังไง
“The difference between subagents and Agent Teams is communication.”
- Subagent — ใน single session ทำ focused work return result ไม่คุยกัน ไม่ share discovery mid-task ต้องผ่าน main agent
- Agent Teams — teammate ส่ง message ตรงหากัน share task list claim work coordinate debate — โดยไม่ผ่าน lead
สำคัญเพราะปัญหาน่าสนใจส่วนใหญ่ decompose เป็น subtask แยกเด็ดขาดไม่ได้:
- Code review = cross-reference security กับ performance
- Feature implementation = frontend + backend + test ต้อง sync
= coordination problem ต้อง communicate ระหว่าง worker ไม่ใช่ report ให้ manager. AI agent ที่ broadcast โดยไม่ converse = ได้ผลตื้น
Architecture
Agent Team = 4 components. teammate แต่ละตัวเป็น Claude Code instance เต็ม มี context window ของตัวเอง
Teammate load project context อัตโนมัติ (CLAUDE.md, MCP servers, skills) แต่ไม่ inherit conversation history ของ lead. เริ่ม fresh จาก spawn prompt เท่านั้น
Team + task เก็บ local:
~/.claude/teams/{team-name}/config.json
~/.claude/tasks/{team-name}/
Task claiming ใช้ file locking ป้องกัน race condition. เมื่อ teammate เสร็จ task ที่ตัวอื่นรออยู่ → blocked task unblock อัตโนมัติ
Setup
Experimental ปิดโดย default. เปิดใน settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
Display Modes
In-process (default) — teammate ทั้งหมดรันใน terminal หลัก ใช้ Shift+Down วน
Split panes — teammate แต่ละตัวมี pane เอง ต้องใช้ tmux หรือ iTerm2 เห็น output ทุกคนพร้อมกัน
{
"teammateMode": "tmux"
}
หรือ per-session:
claude --teammate-mode in-process
สรุป — ทำไม markdown ธรรมดาถึงเวิร์ก
Opus 4.6 optimize สำหรับ agentic tool use โดยเฉพาะ. Model ไม่ใช่แค่อ่าน prompt แล้วสร้าง text — มัน:
- Parse team description ภาษาธรรมชาติ
- ตัดสินใจ tool ที่จะเรียก (TaskCreate, Task + subagent spawn, mailbox messaging)
- Manage coordination loop (check task status, route message, claim work)
- ทำทั้งหมด autonomous ข้าม turn โดยไม่ต้อง steer
“The markdown prompts aren’t a configuration format. They’re instructions to a model that’s been optimised to act on them autonomously.”
“The ‘simplicity’ is a capability ceiling that only exists because the model is good enough to replace the orchestration code.”
แต่ — simple จนกว่ามันจะไม่ simple. Ephemeral nature, ไม่มี reusability, token cost scaling = limit ของการปล่อย model เป็น framework
Dedicated framework ให้ persistence + determinism + cost control
“Agent Teams gives you speed and zero boilerplate.”
เดิมพันของ Anthropic: model จะเก่ง orchestration ขึ้นเรื่อย ๆ จน framework layer ไม่จำเป็นสำหรับ use case ส่วนใหญ่
แหล่งที่มา: “Claude Code Agent Teams” โดย Cobus Greyling ตีพิมพ์ 27 ก.พ. 2026 บน Medium · อ่านต้นฉบับ