info-multi-agent-claude-code-ai

ตัวอย่างโค้ด กติกาธุรกิจ และพรอมป์ต์ในบทความนี้จัดทำขึ้นเพื่อการเรียนรู้ ส่วนคำสั่งและรูปแบบการตั้งค่าอ้างอิงเอกสาร Claude Code ที่ระบุท้ายบทความ ฟีเจอร์ทดลองอาจเปลี่ยนแปลงตามเวอร์ชัน

Multi-Agent คือการแบ่งงานให้เอเจนต์หลายตัวรับผิดชอบคนละส่วน เช่น ตรวจตรรกะ วิเคราะห์กรณีทดสอบ และรันชุดทดสอบ โดยมีผู้ประสานงานรวบรวมผลและตัดสินใจขั้นต่อไป วิธีนี้เหมาะเมื่อแยกงานได้ชัดเจนและต้องการหลายมุมมองต่อปัญหาเดียวกัน

Claude Code รองรับทั้ง Subagents ซึ่งรับงานย่อยจากเอเจนต์หลัก และ Agent Teams ซึ่งเป็นหลายเซสชันที่ประสานงานกัน การเลือกใช้จึงขึ้นกับรูปแบบงานและความจำเป็นในการสื่อสารระหว่างสมาชิก [1][2]

#1. เลือกระหว่าง Subagents กับ Agent Teams

ประเด็น Subagents Agent Teams
รูปแบบ เอเจนต์หลักมอบหมายงานย่อย Team Lead ประสานหลายเซสชัน
บริบท งานย่อยมี context ของตนเอง สมาชิกแต่ละคนมี context ของตนเอง
การส่งผล ส่งผลกลับผู้เรียกเป็นหลัก สมาชิกสื่อสารและประสานงานกัน
ตัวอย่างที่เหมาะ ตรวจไฟล์ วิเคราะห์ log รันทดสอบ ตรวจระบบหลายด้าน พัฒนาหลายโมดูล
การเริ่มใช้ สร้างไฟล์นิยามเอเจนต์ เปิดฟีเจอร์ทดลองและสั่งสร้างทีม

Subagents ที่มีชื่อสามารถส่งข้อความหากันได้ในความสามารถปัจจุบัน จึงไม่ควรอธิบายว่า Subagents “สื่อสารกันไม่ได้เสมอไป” ส่วน Agent Teams มีรูปแบบการประสานงานของทีมโดยตรง และใช้รายการงานร่วมกันเมื่อมี Task tools [1][2]

แนวทางสำหรับเวิร์กช็อปนี้: เริ่มด้วย Subagents เพื่อเรียนรู้การกำหนดบทบาทและตรวจหลักฐาน จากนั้นทดลอง Agent Teams กับโจทย์เดิมเพื่อเปรียบเทียบการทำงาน

#2. ออกแบบงานก่อนเพิ่มจำนวนเอเจนต์

ตัวอย่างทีมตรวจระบบคำนวณราคาสินค้า:

บทบาท งานที่ได้รับ ผลลัพธ์ที่ต้องส่ง
ผู้ประสานงาน อ่านข้อกำหนด แบ่งงาน รวมข้อค้นพบ แก้ไขงาน รายการแก้ไขและสรุปผลตรวจ
Code Reviewer เปรียบเทียบโค้ดกับกติกาธุรกิจ ตำแหน่งปัญหา เหตุผล และตัวอย่าง input
Test Analyst ตรวจความครอบคลุมของกรณีทดสอบ กรณีขอบเขตและ expected result
Test Runner รันคำสั่งทดสอบและตรวจรูปแบบ diff คำสั่ง exit code และจำนวนผ่าน/ไม่ผ่าน

Reviewer และ Analyst อ่านข้อมูลพร้อมกันได้ เพราะไม่ต้องแก้ไฟล์ ส่วนการรันทดสอบหลังแก้ไขต้องรอให้ผู้ประสานงานทำงานเสร็จก่อน

flowchart TD
    P["ผู้ประสานงาน: อ่านข้อกำหนด"] --> R["Reviewer: ตรวจตรรกะ"]
    P --> A["Analyst: ตรวจกรณีทดสอบ"]
    R --> F["ผู้ประสานงาน: รวมผลและแก้ไข"]
    A --> F
    F --> T["Runner: รันทดสอบ"]
    T --> D{"ผ่านเกณฑ์?"}
    D -->|ยัง| F
    D -->|ผ่าน| S["ส่งโค้ดและหลักฐาน"]

แผนภาพนี้เป็นลำดับการทำงานที่ออกแบบสำหรับบทเรียน ไม่ใช่โครงสร้างภายในทั้งหมดของ Claude Code

#3. เตรียมเครื่องมือ

ใช้ Terminal, Git, Node.js 22 ขึ้นไป และบัญชีที่ใช้งาน Claude Code ได้ ตัวอย่างใช้ Node.js Test Runner ในตัว จึงไม่ต้องติดตั้งแพ็กเกจทดสอบเพิ่มเติม [8]

#ติดตั้ง Claude Code

macOS, Linux หรือ WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

เปิด Terminal ใหม่ แล้วตรวจสอบ:

claude --version
node --version
git --version

เปิด claude และลงชื่อเข้าใช้ตามขั้นตอนที่แสดง วิธีติดตั้งอื่นและการอัปเดตให้ตรวจจากเอกสาร Setup [3]

#4. สร้างโปรเจกต์ตัวอย่าง

สร้างโฟลเดอร์ใหม่ด้วย Bash:

mkdir claude-multi-agent-lab
cd claude-multi-agent-lab
git init
mkdir -p src tests .claude/agents

สำหรับ PowerShell ให้สร้างโฟลเดอร์ src, tests และ .claude/agents ผ่าน File Explorer หรือคำสั่ง New-Item -ItemType Directory แล้วสร้างไฟล์ตามตาราง

ไฟล์ หน้าที่
package.json กำหนดคำสั่งทดสอบ
CLAUDE.md กติกาและคำสั่งประจำโปรเจกต์
src/quote.js ฟังก์ชันคำนวณราคา ซึ่งมีบั๊กสำหรับฝึก
tests/quote.test.js ชุดทดสอบตามข้อกำหนด
.claude/agents/code-reviewer.md นิยามเอเจนต์ตรวจโค้ด
.claude/agents/test-analyst.md นิยามเอเจนต์วิเคราะห์การทดสอบ
.claude/agents/test-runner.md นิยามเอเจนต์รันทดสอบ

#4.1 ไฟล์ package.json

{
  "name": "claude-multi-agent-lab",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "engines": {
    "node": ">=22"
  },
  "scripts": {
    "test": "node --test"
  }
}

#4.2 ไฟล์ CLAUDE.md

Claude Code ใช้ CLAUDE.md เป็นคำแนะนำของโปรเจกต์ เหมาะสำหรับเก็บกติกา โครงสร้าง และคำสั่งที่ใช้ซ้ำ ทั้งนี้ข้อความในไฟล์เป็นคำแนะนำใน context; การจำกัดสิทธิ์จริงต้องอาศัยการตั้งค่า permissions หรือกลไกบังคับใช้อื่น [4][5]

# Project: Quote Calculation Lab

## Business rules
- All money values use integer satang: 100 satang = 1 THB.
- subtotalCents must be an integer from 1 to 100000000.
- discountPercent must be an integer from 0 to 100.
- Round the discount amount once to the nearest satang using Math.round.
- Subtract the rounded discount before evaluating free shipping.
- Free shipping applies when the discounted subtotal is at least 100000 satang.
- Otherwise shipping costs 5000 satang.
- Return the discounted subtotal plus shipping.
- Reject invalid input with RangeError.

## Commands
- Run tests: npm test
- Check whitespace in tracked changes: git diff --check

## Collaboration
- Reviewers inspect and report; they do not edit files.
- The main session owns implementation changes in this lab.
- Preserve business rules and existing assertions.
- Add useful tests when a requirement is not covered.
- Report executed commands, exit codes, and actual test results.
- If a command was not executed, say so.

#4.3 ไฟล์ src/quote.js — เวอร์ชันเริ่มต้นที่มีบั๊ก

export function quote(subtotalCents, discountPercent = 0) {
  if (
    !Number.isInteger(subtotalCents) ||
    subtotalCents < 1 ||
    subtotalCents > 100000000
  ) {
    throw new RangeError('Invalid subtotalCents');
  }

  if (
    !Number.isInteger(discountPercent) ||
    discountPercent < 0 ||
    discountPercent > 100
  ) {
    throw new RangeError('Invalid discountPercent');
  }

  const discountCents = Math.round(subtotalCents * discountPercent / 100);
  const discountedCents = subtotalCents - discountCents;

  // Intentional bug for the workshop: this checks the wrong subtotal.
  const shippingCents = subtotalCents >= 100000 ? 0 : 5000;

  return discountedCents + shippingCents;
}

ชื่อพารามิเตอร์ใช้ Cents ตามธรรมเนียมตัวอย่างโค้ด แต่หน่วยในบทเรียนคือ สตางค์ ตามที่กำหนดใน CLAUDE.md

#4.4 ไฟล์ tests/quote.test.js

import test from 'node:test';
import assert from 'node:assert/strict';
import { quote } from '../src/quote.js';

test('500 THB with 10% discount adds 50 THB shipping', () => {
  assert.equal(quote(50000, 10), 50000);
});

test('exactly 1000 THB after discount gets free shipping', () => {
  assert.equal(quote(100000, 0), 100000);
});

test('1000 THB before discount is not enough for free shipping', () => {
  assert.equal(quote(100000, 10), 95000);
});

test('one satang below the threshold adds shipping', () => {
  assert.equal(quote(99999, 0), 104999);
});

test('1050 THB with 10% discount falls below the threshold', () => {
  assert.equal(quote(105000, 10), 99500);
});

test('negative subtotal is rejected', () => {
  assert.throws(() => quote(-1), RangeError);
});

test('fractional satang is rejected', () => {
  assert.throws(() => quote(100.5), RangeError);
});

test('invalid discount percentages are rejected', () => {
  for (const value of [-1, 101, 1.5, NaN]) {
    assert.throws(() => quote(100000, value), RangeError);
  }
});

รันทดสอบครั้งแรก:

npm test

ชุดเริ่มต้นนี้ควรได้ 8 tests: ผ่าน 6 และไม่ผ่าน 2 ปัญหาทั้งสองเกี่ยวกับการใช้ยอดก่อนลดราคาเพื่อตัดสินสิทธิ์ส่งฟรี

บันทึกจุดเริ่มต้นเพื่อให้ตรวจ diff ได้สะดวก:

git add .
git commit -m "Add quote calculation workshop starter"

หากยังไม่ได้ตั้งชื่อและอีเมล Git ให้ตั้งค่าของตนเองก่อน commit

#5. สร้าง Custom Subagents

ไฟล์เอเจนต์มี YAML frontmatter และคำสั่งเฉพาะบทบาท อยู่ใน .claude/agents/ สำหรับโปรเจกต์ หรือ ~/.claude/agents/ สำหรับใช้ข้ามโปรเจกต์ โดย name และ description เป็นฟิลด์ที่จำเป็น [1]

#5.1 ไฟล์ .claude/agents/code-reviewer.md

---
name: code-reviewer
description: Review quote calculation logic against CLAUDE.md and report concrete defects.
tools: Read, Grep, Glob
model: inherit
---

You review this project's quote calculation.
Read CLAUDE.md, src/quote.js, and relevant tests.
Do not modify files.

For each finding, return:
- Requirement being violated
- File and relevant code
- Reproduction input
- Expected and actual behavior derived from the code
- Suggested minimal correction

Label static reasoning clearly. Do not claim tests were executed.
Return "No confirmed finding" when evidence is insufficient.

#5.2 ไฟล์ .claude/agents/test-analyst.md

---
name: test-analyst
description: Analyze quote test coverage and propose requirement-based boundary cases.
tools: Read, Grep, Glob
model: inherit
---

Read CLAUDE.md, src/quote.js, and tests/quote.test.js.
Do not modify files or execute commands.

Build a table with:
- Business rule
- Existing test coverage
- Missing or weak coverage
- Proposed input and expected result

Focus on shipping boundaries, discount rounding, and invalid inputs.
Calculate expectations from the requirements, not from the implementation.
Distinguish required cases from optional additions.

#5.3 ไฟล์ .claude/agents/test-runner.md

---
name: test-runner
description: Execute the quote test suite and report verifiable results after changes.
tools: Read, Grep, Glob, Bash
model: inherit
---

Read CLAUDE.md and package.json before executing commands.
For this lab, run only these commands as needed:
- node --version
- npm test
- git diff --check

Do not edit files, install dependencies, or change Git history.
If another command is necessary, report the blocker to the caller.

Return:
- Commands actually executed
- Exit code of each command
- Total, passed, failed, and skipped tests
- Failure details, if any
- Anything that was not verified

Never infer a passing result without execution.

Reviewer และ Analyst ไม่มีเครื่องมือเขียนไฟล์หรือ Shell ส่วน Runner ต้องใช้ Bash เพื่อรันทดสอบ ข้อความ “run only” ในพรอมป์ต์เป็นแนวทางพฤติกรรม ไม่ใช่ระบบจำกัดคำสั่ง หากต้องการบังคับใช้ให้ตั้งค่า permissions และ sandbox ให้เหมาะกับสภาพแวดล้อม [5]

ตัวอย่างใช้ model: inherit เพื่อใช้โมเดลตามเซสชันหลัก โดยไม่ผูกบทเรียนกับชื่อรุ่นเฉพาะ

#6. เวิร์กช็อป A: ใช้งานแบบ Subagents

#6.1 เลือกโหมดให้ชัดเจน

สำหรับบทเรียนส่วนนี้ให้ปิด Agent Teams โดยเพิ่มหรือรวมค่าต่อไปนี้เข้าไฟล์ .claude/settings.local.json ที่มีอยู่ อย่าเขียนทับการตั้งค่าอื่น [2][6]

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "0"
  }
}

เปิด Claude Code จากรากโปรเจกต์หลังสร้างไฟล์เอเจนต์แล้ว:

claude

ถ้าไม่พบเอเจนต์ที่เพิ่งสร้าง ให้เริ่มเซสชันใหม่ โดยเฉพาะเมื่อเพิ่งสร้างโฟลเดอร์ agents เป็นครั้งแรก เอกสารปัจจุบันระบุว่า /agents แสดงคำแนะนำให้สร้างหรือแก้ไฟล์โดยตรง ส่วนเวอร์ชันเก่าบางรุ่นมีหน้าสร้างเอเจนต์แบบโต้ตอบ [1]

#6.2 สั่งวิเคราะห์พร้อมกัน

พิมพ์พรอมป์ต์ต่อไปนี้ ใน Claude Code:

อ่าน CLAUDE.md แล้วใช้ code-reviewer และ test-analyst เป็น subagents
ให้ทั้งสองวิเคราะห์โปรเจกต์นี้พร้อมกัน โดยยังไม่แก้ไขไฟล์

code-reviewer: ตรวจ src/quote.js เทียบกับข้อกำหนด
test-analyst: ตรวจ tests/quote.test.js และเสนอกรณีที่ยังขาด

เมื่อได้รับผลครบ ให้รวมข้อค้นพบที่ซ้ำกัน
แสดง requirement, input, expected result และตำแหน่งโค้ดที่เกี่ยวข้อง
ระบุให้ชัดว่าอะไรเป็นการวิเคราะห์จากโค้ด และอะไรมีผลรันทดสอบยืนยัน

คำว่า “พร้อมกัน” เป็นคำขอให้ระบบจัดตารางงานขนาน หากถูกจำกัดด้วยทรัพยากรหรือข้อจำกัดของเซสชัน ต้องตรวจการเรียกเอเจนต์จริง ไม่ใช้เพียงข้อความสรุปเป็นหลักฐานว่าเกิด parallel execution

#6.3 สั่งแก้ไขและตรวจผล

ใช้ข้อค้นพบที่ยืนยันได้แก้ implementation ให้ตรงกับ CLAUDE.md
ให้เซสชันหลักเป็นผู้แก้ไฟล์ในเวิร์กช็อปนี้
คง assertions เดิมและเพิ่มกรณีสำคัญที่ยังไม่ครอบคลุมได้

หลังแก้ไขเสร็จ ใช้ test-runner รัน npm test และ git diff --check
ถ้าไม่ผ่าน ให้แก้สาเหตุและตรวจซ้ำเฉพาะส่วนที่เกี่ยวข้อง

รายงานไฟล์ที่เปลี่ยน เหตุผล คำสั่งที่รัน exit code และจำนวน tests

#6.4 จุดแก้ไขหลักที่คาดหวัง

const shippingCents = discountedCents >= 100000 ? 0 : 5000;

เมื่อใช้บรรทัดนี้แทนของเดิม ชุดทดสอบเดิมควรได้ 8 ผ่าน 0 ไม่ผ่าน หากเพิ่มกรณีใหม่ จำนวนรวมจะมากกว่า 8 และต้องรายงานตามผลจริง

ตัวอย่างหลักฐานเชิงธุรกิจ:

Input ยอดหลังลด ค่าส่ง ผลรวมที่ถูกต้อง
500 บาท ลด 10% 450 บาท 50 บาท 500 บาท
1,000 บาท ไม่ลด 1,000 บาท 0 บาท 1,000 บาท
1,000 บาท ลด 10% 900 บาท 50 บาท 950 บาท
1,050 บาท ลด 10% 945 บาท 50 บาท 995 บาท

#7. เวิร์กช็อป B: ใช้งานแบบ Agent Teams

Agent Teams ยังเป็นฟีเจอร์ทดลองและปิดเป็นค่าเริ่มต้น การสร้าง teammates ต้องใช้ interactive session; การเปิด flag แล้วใช้ claude -p ไม่ได้ทำให้เกิดทีม [2]

#7.1 เปิดฟีเจอร์

เปลี่ยนค่าใน .claude/settings.local.json โดยรวมเข้ากับค่าที่มีอยู่:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  },
  "teammateMode": "in-process"
}

in-process ใช้งานใน Terminal เดียว ส่วนการแบ่ง pane ใช้ tmux หรือ iTerm2 ตามเงื่อนไขของเอกสาร [2]

สำหรับการทดลองกับโค้ดที่แก้แล้ว สามารถให้ทีมตรวจยืนยันพฤติกรรมที่ถูกต้องและตรวจกรณีขาดได้ หากต้องการฝึกค้นบั๊กอีกครั้ง ให้สร้างโฟลเดอร์ทดลองใหม่จากชุดเริ่มต้น แทนการล้างงานที่กำลังใช้อยู่

#7.2 พรอมป์ต์สร้างทีม

สร้าง agent team เพื่อตรวจระบบ quote calculation นี้
คุณเป็น Team Lead และสร้าง teammates 3 คนโดยใช้ agent types:
1. code-reviewer
2. test-analyst
3. test-runner

ให้ทุกคนอ่าน CLAUDE.md และใช้ข้อกำหนดเดียวกัน

รอบแรก:
- code-reviewer ตรวจตรรกะโดยไม่แก้ไฟล์
- test-analyst ตรวจกรณีทดสอบโดยไม่แก้ไฟล์
- ให้สองคนนี้แบ่งปันข้อค้นพบและตรวจประเด็นที่เห็นต่างกัน

รอบถัดไป:
- Lead รวมข้อค้นพบและเป็นผู้แก้ไฟล์
- test-runner รอจน Lead แก้ไขเสร็จ แล้วรันทดสอบ
- หากมี Task tools ให้แสดง dependency ระหว่างงานเหล่านี้

รายงานว่าได้สร้าง teammates จริงหรือใช้ subagents
จบด้วยหลักฐานคำสั่ง ผลทดสอบ และประเด็นที่ยังไม่ได้ตรวจ

พรอมป์ต์นี้เป็นตัวอย่างที่ออกแบบสำหรับบทเรียน สามารถปรับชื่อบทบาทและผลส่งมอบตามโปรเจกต์จริง

#7.3 ติดตามงานและปิดทีม

ตรวจรายการสมาชิก งานที่กำลังทำ และผลลัพธ์ที่แต่ละคนส่งกลับ อย่าให้ Lead สรุปว่าทุกอย่างเสร็จเพียงเพราะสมาชิกคนหนึ่งตอบแล้ว เมื่อเสร็จให้สั่ง Lead ขอให้ teammates ปิดการทำงาน [2]

ตรวจว่างานทุกชิ้นมีผลลัพธ์ครบแล้ว
สรุปผลการทดสอบและข้อจำกัด จากนั้นขอให้ teammates ทุกคน shut down

ข้อจำกัดที่ควรนำไปคิดในการวางแผนคือ การ resume ไม่คืน in-process teammates และสถานะงานอาจอัปเดตล่าช้า จึงควรเก็บข้อค้นพบสำคัญไว้ในไฟล์ของโปรเจกต์ระหว่างงานที่ใช้เวลานาน [2]

#8. การแบ่งไฟล์เมื่อพัฒนางานจริง

เมื่อเปลี่ยนจากการตรวจงานเป็นการเขียนโค้ดหลายส่วน ให้ระบุเจ้าของไฟล์ก่อนเริ่ม:

ผู้รับผิดชอบ ขอบเขตตัวอย่าง สิ่งที่ต้องส่งต่อ
Backend src/api/ API contract และ error responses
Frontend src/ui/ หน้าจอและการจัดการ loading/error
QA tests/ test cases และผลรันทดสอบ
Lead การรวมงานและไฟล์ตั้งค่าร่วม integrated diff และผลตรวจรวม

ตกลง API contract ก่อนให้ Frontend และ Backend ลงมือ เช่น method, path, JSON fields และ status codes ส่วน lockfile, migration และการตั้งค่าร่วมควรมีผู้รับผิดชอบชัดเจน

ถ้าหลายงานต้องแก้บริเวณเดียวกัน ให้จัดลำดับการแก้ หรือแยก Git worktree แล้วรวมผลอย่างตั้งใจ Claude Code มี workflow สำหรับ worktree แต่ควรอ่านวิธีเลือกจุดเริ่มต้นและรวมผลให้ตรงกับเวอร์ชันที่ใช้อยู่ [7]

แยก context ไม่ได้แปลว่าแยก filesystem: อย่าสมมติว่าทุกเอเจนต์มีสำเนา repository ของตัวเองเพียงเพราะมีบทสนทนาแยกกัน

#9. เขียน Task ให้ตรวจรับได้

งานที่ดีควรระบุเป้าหมาย ขอบเขต อินพุต และหลักฐาน:

เป้าหมาย: ตรวจเงื่อนไขส่งฟรีหลังส่วนลด
ไฟล์: src/quote.js, tests/quote.test.js, CLAUDE.md
ขอบเขต: อ่านและรายงาน ไม่แก้ไขไฟล์
สิ่งที่ต้องส่ง:
- requirement ที่เกี่ยวข้อง
- input ที่ทำให้เกิดปัญหา
- expected result จากกติกาธุรกิจ
- actual behavior และวิธีที่ใช้ยืนยัน
เกณฑ์เสร็จ: ทุกข้อค้นพบต้องมีหลักฐานอ้างกลับได้

หลีกเลี่ยงงานกว้างอย่าง “ทำให้ระบบดีขึ้น” เพราะสมาชิกอาจตีความคนละแบบ หรือทำงานซ้ำกันโดยไม่รู้ตัว

#10. ควบคุมเวลาและค่าใช้จ่าย

หลายเอเจนต์อาจลดเวลารอเมื่อแบ่งงานอิสระได้ แต่จำนวนเอเจนต์ไม่ใช่ตัวรับประกันความเร็วหรือความถูกต้อง การอ่านข้อมูลซ้ำ การประสานงาน และการรวมผลเพิ่มภาระให้ระบบ

ข้อเสนอสำหรับการเริ่มทดลอง:

  • ใช้บทบาทเท่าที่โจทย์ต้องการ เช่น ผู้ตรวจสองด้าน แทนการสร้างทีมขนาดใหญ่ทันที
  • ส่งเฉพาะไฟล์และข้อกำหนดที่จำเป็นให้แต่ละงาน
  • ให้รายงานผลสั้นพร้อมหลักฐาน แทนการคัดลอก log ทั้งหมด
  • บันทึกระยะเวลา จำนวนรอบแก้ไข และการใช้งานที่ระบบรายงาน
  • เปรียบเทียบกับเซสชันเดียวบนโจทย์เดียวกันก่อนสรุปว่าทีมคุ้มค่า

สำหรับการศึกษาเชิงทดลอง ควรรายงานทั้งคุณภาพและต้นทุน:

ตัวชี้วัด วิธีเก็บข้อมูลตัวอย่าง
Requirement correctness ตรวจผลลัพธ์กับ test cases ที่มาจากข้อกำหนด
Confirmed defects นับข้อค้นพบที่ทำซ้ำและยืนยันได้
False positives นับข้อกล่าวหาบั๊กที่ตรวจแล้วไม่จริง
Wall-clock time เวลาตั้งแต่เริ่มโจทย์จนผ่านเกณฑ์
Usage/cost ค่าที่เครื่องมือหรือระบบเรียกเก็บรายงานจริง
Integration effort จำนวน conflict หรือรอบแก้ที่ใช้รวมงาน

ตารางนี้เป็นข้อเสนอด้านการออกแบบการทดลอง ไม่ใช่ผล benchmark ของ Claude Code

#11. ปัญหาที่พบบ่อย

อาการ จุดตรวจและแนวทางแก้
ไม่พบ Custom Agent ตรวจตำแหน่งไฟล์และ frontmatter แล้วเริ่มเซสชันใหม่ถ้าจำเป็น [1]
ขอ Subagent แต่กลายเป็น Teammate ตรวจค่า Agent Teams และ settings ที่มีลำดับความสำคัญสูงกว่า [2][6]
เปิด flag แล้วทีมไม่เกิด ใช้ interactive session และระบุชัดว่าต้องการ agent team [2]
ผลตรวจเห็นต่างกัน ให้แต่ละคนแสดง requirement และ input เพื่อใช้หลักฐานตัดสิน
ชุดทดสอบผ่านแต่กติกาผิด ตรวจ expected results กับข้อกำหนดโดยอิสระจาก implementation
โค้ดทับกัน กำหนดเจ้าของไฟล์หรือจัดลำดับงานก่อนลงมือ
Runner อ้างว่าผ่านแต่ไม่มี log ขอคำสั่ง exit code และผลรันจริง
คำสั่งติดสิทธิ์ ตรวจ permission mode และคำสั่งที่ขออนุญาต [5]

#12. เกณฑ์ส่งงานเวิร์กช็อป

ผู้เรียนควรส่งไฟล์นิยามเอเจนต์ โค้ดที่แก้แล้ว และรายงานสั้นที่มีข้อมูลต่อไปนี้:

  1. ใช้ Subagents หรือ Agent Teams และมีหลักฐานการมอบหมายงานใด
  2. บั๊กคืออะไร และ input ใดแสดงปัญหาได้
  3. แก้ไขส่วนใดให้ตรงกับ requirement
  4. รันคำสั่งใดจริง พร้อม exit code และจำนวน tests
  5. มีกรณีใดเพิ่มขึ้น และช่วยตรวจ requirement ข้อไหน
  6. ส่วนใดยังไม่ได้ตรวจ หรือมีข้อจำกัดอะไร

หมายเหตุการตรวจตัวอย่างในบทความ: ตรวจรันเฉพาะโค้ด Node.js ด้วย Node.js v24.19.0 แล้ว: ชุดเริ่มต้นผ่าน 6/8 และเวอร์ชันแก้บั๊กผ่าน 8/8 ส่วนการสร้าง Subagents และ Agent Teams เป็นขั้นตอนที่ตรวจเทียบกับเอกสารทางการ ยังไม่ได้รันผ่าน Claude Code ในสภาพแวดล้อมนี้

#เอกสารอ้างอิง

เอกสารผลิตภัณฑ์อาจอัปเดตหลังวันที่ตรวจสอบ ให้เปิดลิงก์ทางการเมื่อคำสั่งหรือหน้าจอไม่ตรงกับเวอร์ชันที่ติดตั้ง

  1. Claude Code — Create custom subagents
  2. Claude Code — Orchestrate teams of Claude Code sessions
  3. Claude Code — Setup
  4. Claude Code — Project memory and CLAUDE.md
  5. Claude Code — Configure permissions
  6. Claude Code — Settings files and precedence
  7. Claude Code — Common workflows
  8. Node.js — Test runner