Thursday, October 8, 2026

[OpenCode - Multi-Agent] คู่มือตั้งค่า OpenCode Agent Modes: ควบคุมสิทธิ์การทำงาน และจัดโครงสร้าง Multi-Agent

ในสถาปัตยกรรม OpenCode คุณสามารถจัดรูปแบบและขอบเขตการทำงานของ Agent ตามโหมดการทำงานและลำดับขั้น (Hierarchy) เพื่อควบคุมบทบาทหน้าที่ และสิทธิ์ในการเรียกใช้งานได้อย่างชัดเจน ดังนี้:


1. สรุปประเภท Mode: Primary, Subagent และ All

  • Primary Mode: เอเจนต์ระดับบนสุด (Main Orchestrator) เป็นผู้รับคำสั่งโดยตรงจากผู้ใช้ ทำหน้าที่ประมวลผลความต้องการภาพรวม วางแผนงาน และแจกจ่ายคำสั่งย่อยไปยัง Subagents
  • Subagent Mode: เอเจนต์ย่อยเฉพาะทาง ที่รอรับคำสั่งจาก Primary Agent หรือถูกเรียกใช้งานผ่าน @agent_name เพื่อทำภารกิจเฉพาะจุด (เช่น เขียนโค้ด, ตรวจ Security, เขียน Test)
  • All / Dual Mode: โหมดอเนกประสงค์ที่สามารถเป็นได้ทั้ง Primary Agent (คุยตรงกับผู้ใช้) และ Subagent (ถูกเอเจนต์ตัวอื่นเรียกไปช่วยงาน) ขึ้นอยู่กับบริบทของเวิร์กโฟลว์

2. ตารางเปรียบเทียบความแตกต่าง

คุณลักษณะ Primary Subagent All (Primary & Subagent)
จุดรับคำสั่งหลัก รับโดยตรงจาก User รับจาก Primary Agent / Task Delegation รับได้ทั้งจาก User และ Agent อื่น
บทบาทหน้าที่ วางแผน, คุมเวิร์กโฟลว์, กระจายงาน เจาะจงเฉพาะ Task ย่อยๆ มีความยืดหยุ่นสูง ปรับตามสถานการณ์
สิทธิ์การกระจายงาน สั่งงาน Subagent ตัวอื่นได้ ส่วนใหญ่ไม่สั่งต่อ (ส่งผลลัพธ์กลับ) สั่งงานต่อได้เมื่อทำหน้าที่เป็น Primary
โมเดลที่เหมาะสม Reasoning สูง (เช่น Sonnet, Ultra) สปีดไว / เฉพาะทาง (เช่น Lightning, Haiku) โมเดลสมดุลสูง ประมวลผลได้ดีทุกบริบท

3. ตัวอย่างการตั้งค่า Mode ในไฟล์ Config (`.opencode/agents/`)

คุณสามารถระบุโหมดการทำงานผ่านฟิลด์ mode ใน YAML Front Matter ของไฟล์กำหนดเอเจนต์ได้ ดังนี้:

ตัวอย่าง: การตั้งค่า Subagent Mode

---
name: tester
description: สำหรับเขียน Unit Test และ Integration Test
mode: subagent
model: anthropic/claude-3-5-haiku
permissions:
  read: true
  write: true
  terminal: true
---
ทำหน้าที่เขียนและรัน Test cases เมื่อได้รับมอบหมายจาก Primary Agent เท่านั้น

บทสรุปสำหรับการออกแบบ Multi-Agent System

การกำหนดโหมด Primary, Subagent หรือ All ช่วยให้โครงสร้างของ Multi-Agent System ใน OpenCode มีความเป็นระเบียบ ไม่เกิดการเรียกใช้เอเจนต์วนลูปซ้ำซ้อน และยังช่วยควบคุมการบริโภค Token ได้อย่างคุ้มค่าสูงสุด

No comments:

Post a Comment