DEV Community

Cover image for วิธีตั้งค่า 5 เอเจนต์ AI สร้าง API ครบวงจร ตั้งแต่ Spec ถึง Test
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

วิธีตั้งค่า 5 เอเจนต์ AI สร้าง API ครบวงจร ตั้งแต่ Spec ถึง Test

หยุดใช้ผู้ช่วย AI ตัวเดียวสำหรับทุกอย่าง — ตั้งค่า Agent ผู้เชี่ยวชาญ 5 ตัวเพื่อสร้าง API ที่สมบูรณ์: Backend Architect (สถาปนิกแบ็กเอนด์) ออกแบบระบบ, Database Optimizer (ผู้ปรับแต่งฐานข้อมูล) ตรวจสอบ Schema, Frontend Developer (นักพัฒนาส่วนหน้า) สร้างไคลเอนต์, Code Reviewer (ผู้ตรวจสอบโค้ด) ตรวจสอบความปลอดภัย, และ Reality Checker (ผู้ตรวจสอบความเป็นจริง) ตรวจสอบความถูกต้องก่อนนำส่ง

ทดลองใช้ Apidog วันนี้

คุณต้องสร้าง API เร็ว แต่ถ้าใช้ AI ตัวเดียวทำทุกอย่างจะเจอปัญหา: ฐานข้อมูลขาด Index, Endpoint มีช่องโหว่, ส่วนหน้าละเลย error state, การทดสอบไม่ละเอียด เอเจนต์ผู้เชี่ยวชาญแก้ไขปัญหาเหล่านี้ — แต่ละตัวมีรายการตรวจสอบและผลลัพธ์เฉพาะด้าน เช่น Backend Architect คิดถึง Scale, Database Optimizer หา Index ที่ขาด, Code Reviewer หา Security flaws, Reality Checker ต้องการหลักฐาน

บทความนี้สอนตั้งค่า Agent 5 ตัวจาก The Agency เพื่อรันเวิร์กโฟลว์สร้าง API ที่ครบถ้วน พร้อมผสาน Apidog สำหรับทดสอบและสร้างเอกสาร OpenAPI ก่อนนำ API ไป deploy

Agent 5 ตัวที่คุณจะได้ใช้

Agent แผนก ความรับผิดชอบ
Backend Architect วิศวกรรม การออกแบบ API, Schema ฐานข้อมูล, การตรวจสอบสิทธิ์
Database Optimizer วิศวกรรม คำแนะนำ Index, การปรับแต่ง Query
Frontend Developer วิศวกรรม คอมโพเนนต์ React, ไคลเอนต์ API, การจัดการ State
Code Reviewer วิศวกรรม การตรวจสอบความปลอดภัย, Type Safety, การจัดการข้อผิดพลาด
Reality Checker การทดสอบ การตรวจสอบความถูกต้องโดยอาศัยหลักฐาน, หลักฐานภาพหน้าจอ

ติดตั้ง Agent

# Clone The Agency repo
git clone https://github.com/msitarzewski/agency-agents.git
cd agency-agents

# Copy agents to Claude Code
cp engineering/engineering-backend-architect.md ~/.claude/agents/
cp engineering/engineering-database-optimizer.md ~/.claude/agents/
cp engineering/engineering-frontend-developer.md ~/.claude/agents/
cp engineering/engineering-code-reviewer.md ~/.claude/agents/
cp testing/testing-reality-checker.md ~/.claude/agents/
Enter fullscreen mode Exit fullscreen mode

ขั้นตอนที่ 1: Backend Architect ออกแบบระบบ

เริ่ม session Claude Code ใหม่:

Activate Backend Architect mode.

Design a REST API for an e-commerce platform with:
- User authentication (JWT with refresh tokens)
- Product catalog with categories and filtering
- Shopping cart management
- Order processing with status tracking
- Payment webhook integration

Output:
1. OpenAPI 3.0 specification
2. PostgreSQL database schema with relationships
3. Project folder structure (Express.js + TypeScript)
4. Authentication flow diagram
Enter fullscreen mode Exit fullscreen mode

ผลลัพธ์ตัวอย่าง

OpenAPI Spec (บางส่วน):

openapi: 3.0.0
info:
  title: "E-commerce API"
  version: 1.0.0
paths:
  /auth/login:
    post:
      summary: User login
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email: { type: string, format: email }
                password: { type: string, minLength: 8 }
      responses:
        '200':
          description: "JWT tokens"
          content:
            application/json:
              schema:
                type: object
                properties:
                  accessToken: { type: string }
                  refreshToken: { type: string }
Enter fullscreen mode Exit fullscreen mode

Schema ฐานข้อมูล:

CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

CREATE TABLE products (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name VARCHAR(255) NOT NULL,
    description TEXT,
    price DECIMAL(10, 2) NOT NULL CHECK (price >= 0),
    category_id UUID REFERENCES categories(id),
    inventory_count INTEGER DEFAULT 0,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

CREATE TABLE orders (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID REFERENCES users(id),
    total_amount DECIMAL(10, 2) NOT NULL,
    status VARCHAR(50) DEFAULT 'pending',
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
Enter fullscreen mode Exit fullscreen mode

โครงสร้างโฟลเดอร์:

src/
├── controllers/
│   ├── auth.controller.ts
│   ├── products.controller.ts
│   └── orders.controller.ts
├── middleware/
│   ├── auth.middleware.ts
│   └── validation.middleware.ts
├── routes/
│   ├── auth.routes.ts
│   ├── products.routes.ts
│   └── orders.routes.ts
├── services/
│   ├── auth.service.ts
│   ├── products.service.ts
│   └── orders.service.ts
├── models/
│   ├── User.ts
│   ├── Product.ts
│   └── Order.ts
└── index.ts
Enter fullscreen mode Exit fullscreen mode

บันทึกผลลัพธ์เพื่อนำไปใช้ในขั้นถัดไป


ขั้นตอนที่ 2: Database Optimizer ตรวจสอบ Schema

เปิด session ใหม่:

Activate Database Optimizer mode.

Review this PostgreSQL schema for an e-commerce API:

[Paste the schema from Step 1]

Check for:
1. Missing indexes on foreign keys and frequently queried columns
2. Query performance on product search (name, category, price range)
3. Proper constraints for data integrity
4. Missing tables for common e-commerce features (reviews, wishlists)
5. Soft delete patterns for audit trails

Output specific ALTER TABLE statements and new table definitions.
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างผลลัพธ์

คำแนะนำ Index:

-- Add indexes on foreign keys
CREATE INDEX idx_products_category_id ON products(category_id);
CREATE INDEX idx_orders_user_id ON orders(user_id);

-- Add index for product search
CREATE INDEX idx_products_name_search ON products USING gin(to_tsvector('english', name));
CREATE INDEX idx_products_price ON products(price) WHERE inventory_count > 0;

-- Add composite index for category filtering
CREATE INDEX idx_products_category_price ON products(category_id, price);
Enter fullscreen mode Exit fullscreen mode

ตารางที่ขาดหายไป:

CREATE TABLE reviews (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    product_id UUID REFERENCES products(id),
    user_id UUID REFERENCES users(id),
    rating INTEGER CHECK (rating >= 1 AND rating <= 5),
    comment TEXT,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(product_id, user_id)
);

CREATE TABLE cart_items (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID REFERENCES users(id),
    product_id UUID REFERENCES products(id),
    quantity INTEGER DEFAULT 1 CHECK (quantity > 0),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(user_id, product_id)
);
Enter fullscreen mode Exit fullscreen mode

ข้อจำกัดที่ควรเพิ่ม:

-- Email format validation
ALTER TABLE users ADD CONSTRAINT chk_email_format
    CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');

-- Soft delete column
ALTER TABLE products ADD COLUMN deleted_at TIMESTAMP WITH TIME ZONE NULL;
CREATE INDEX idx_products_deleted_at ON products(deleted_at) WHERE deleted_at IS NULL;
Enter fullscreen mode Exit fullscreen mode

นำข้อเสนอเหล่านี้ไปเพิ่มใน Schema


ขั้นตอนที่ 3: Frontend Developer สร้างไคลเอนต์

เปิด session ใหม่:

Activate Frontend Developer mode.

Build a React dashboard for this e-commerce API:

[Paste OpenAPI spec from Step 1]

Requirements:
- TypeScript with strict mode
- React Query for server state management
- Product list with filters (category, price range, search)
- Shopping cart with real-time updates
- Order history with status tracking
- Proper error handling and loading states
- Responsive design (mobile, tablet, desktop)

Output:
1. Project setup (Vite + React + TypeScript)
2. API client with React Query hooks
3. Core components (ProductList, ProductCard, Cart, OrderHistory)
4. Error boundary and loading skeletons
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างโค้ดไคลเอนต์ API:

// src/lib/api-client.ts
import { QueryClient, useQuery, useMutation } from '@tanstack/react-query';

const API_BASE = 'http://localhost:3000/api';

async function fetcher<T>(endpoint: string, options?: RequestInit): Promise<T> {
  const response = await fetch(`${API_BASE}${endpoint}`, {
    ...options,
    headers: {
      'Content-Type': 'application/json',
      ...options?.headers,
    },
  });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.message || 'Request failed');
  }

  return response.json();
}

export function useProducts(filters?: ProductFilters) {
  const params = new URLSearchParams(filters as Record<string, string>);
  return useQuery({
    queryKey: ['products', filters],
    queryFn: () => fetcher<Product[]>(`/products?${params}`),
  });
}

export function useAddToCart() {
  return useMutation({
    mutationFn: (item: CartItem) =>
      fetcher<CartItem>('/cart', {
        method: 'POST',
        body: JSON.stringify(item),
      }),
  });
}
Enter fullscreen mode Exit fullscreen mode

คอมโพเนนต์รายการสินค้า:

// src/components/ProductList.tsx
import { useProducts } from '@/lib/api-client';
import { ProductCard } from './ProductCard';
import { FilterSidebar } from './FilterSidebar';
import { Skeleton } from './ui/skeleton';

export function ProductList() {
  const [filters, setFilters] = useState<ProductFilters>({});
  const { data: products, isLoading, error } = useProducts(filters);

  if (error) {
    return <Alert variant="destructive">{error.message}</Alert>;
  }

  return (
    <div className="flex gap-4">
      <FilterSidebar filters={filters} onFilterChange={setFilters} />
      <div className="flex-1 grid grid-cols-1 md:grid-cols-3 gap-4">
        {isLoading ? (
          Array.from({ length: 6 }).map((_, i) => (
            <Skeleton key={i} className="h-64" />
          ))
        ) : products?.length === 0 ? (
          <EmptyState message="No products found" />
        ) : (
          products?.map(product => (
            <ProductCard key={product.id} product={product} />
          ))
        )}
      </div>
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Error Boundary:

// src/components/ErrorBoundary.tsx
export class ErrorBoundary extends React.Component<
  { children: React.ReactNode },
  { hasError: boolean; error: Error | null }
> {
  constructor(props: { children: React.ReactNode }) {
    super(props);
    this.state = { hasError: false, error: null };
  }

  static getDerivedStateFromError(error: Error) {
    return { hasError: true, error };
  }

  render() {
    if (this.state.hasError) {
      return (
        <div className="p-4 bg-red-50 border border-red-200 rounded">
          <h2 className="text-lg font-semibold text-red-800">Something went wrong</h2>
          <p className="text-red-600">{this.state.error?.message}</p>
          <Button onClick={() => window.location.reload()} className="mt-2">
            Reload
          </Button>
        </div>
      );
    }

    return this.props.children;
  }
}
Enter fullscreen mode Exit fullscreen mode

ขั้นตอนที่ 4: Code Reviewer ตรวจสอบทุกอย่าง

เปิด session ใหม่:

Activate Code Reviewer mode.

Review this codebase for:

1. Security vulnerabilities:
   - SQL injection risks
   - XSS vulnerabilities
   - CSRF protection
   - Authentication bypass possibilities

2. TypeScript strict mode compliance:
   - No implicit any
   - Proper type definitions
   - Null/undefined handling

3. Error handling gaps:
   - Uncaught promise rejections
   - Missing try/catch blocks
   - Silent failures

[Paste the code from Steps 1-3]

Output a report with severity ratings (Critical, High, Medium, Low) and specific fixes.
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างรายงาน:

## ปัญหาสำคัญ (Critical Issues)

### 1. SQL Injection ในการค้นหาสินค้า
**ตำแหน่ง:** `src/controllers/products.controller.ts:24`
**ปัญหา:** ข้อมูลที่ผู้ใช้ป้อนถูกเชื่อมโดยตรงกับ SQL query
Enter fullscreen mode Exit fullscreen mode
// VULNERABLE
const query = `SELECT * FROM products WHERE name LIKE '%${search}%'`;
Enter fullscreen mode Exit fullscreen mode

วิธีแก้ไข: ใช้ Parameterized Queries

const query = 'SELECT * FROM products WHERE name LIKE $1';
await db.query(query, [`%${search}%`]);
Enter fullscreen mode Exit fullscreen mode

2. การขาดการป้องกัน CSRF

ตำแหน่ง: src/index.ts
วิธีแก้ไข: เพิ่ม csurf Middleware

import csrf from 'csurf';
app.use(csrf({ cookie: true }));
Enter fullscreen mode Exit fullscreen mode

3. Implicit Any ในการตอบกลับ API

ตำแหน่ง: src/lib/api-client.ts:8
วิธีแก้ไข: เพิ่ม Type Constraint

async function fetcher<T extends Record<string, unknown>>(
  endpoint: string,
  options?: RequestInit
): Promise<T> { ... }
Enter fullscreen mode Exit fullscreen mode

รายงานความปลอดภัยของประเภท (Type Safety Report):

## การละเมิด TypeScript

1. `products.controller.ts:45` - ขาดการระบุประเภทการคืนค่า (Return Type Annotation)
2. `auth.middleware.ts:12` - Implicit any ในบล็อก catch
3. `orders.service.ts:78` - อ็อบเจกต์อาจเป็น Undefined

เรียกใช้ `tsc --noEmit` เพื่อดูรายการทั้งหมด แก้ไขก่อนการปรับใช้
Enter fullscreen mode Exit fullscreen mode
**ดำเนินการแก้ไขก่อนต่อไป**
Enter fullscreen mode Exit fullscreen mode

ขั้นตอนที่ 5: Reality Checker ตรวจสอบความถูกต้องก่อนนำส่ง

เปิด session ใหม่:

Activate Reality Checker mode.

This e-commerce API is ready for production validation.

Run your mandatory reality check process:

1. Verify files exist
2. Cross-reference claimed features with actual code
3. Require screenshot evidence from Playwright tests
4. Review test-results.json for performance metrics

Project URL: http://localhost:3000
Test results: ./public/qa-screenshots/test-results.json

Output: PASS or NEEDS WORK with specific blocking issues.
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างคำสั่งและผลลัพธ์

# 1. ตรวจสอบไฟล์
ls -la src/controllers/ src/services/ src/routes/
ls -la src/components/ src/lib/

# 2. เปรียบเทียบคุณสมบัติที่กล่าวอ้างกับโค้ดจริง
grep -r "jwt\|jsonwebtoken" . --include="*.ts" || echo "NO JWT FOUND"
grep -r "bcrypt\|argon2" . --include="*.ts" || echo "NO PASSWORD HASHING FOUND"
grep -r "rateLimit\|express-rate-limit" . --include="*.ts" || echo "NO RATE LIMITING FOUND"

# 3. เรียกใช้ Playwright เพื่อจับภาพหน้าจอ
npx playwright test --config=qa-playwright.config.ts --grep "@screenshot"

# 4. ตรวจสอบผลการทดสอบ
cat public/qa-screenshots/test-results.json
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างรายงาน

## ผลลัพธ์การตรวจสอบความเป็นจริง

### การตรวจสอบไฟล์: ผ่าน
- ไฟล์ Controller ทั้งหมดมีอยู่
- ไฟล์ Component ทั้งหมดมีอยู่

### การตรวจสอบคุณสมบัติ: ต้องแก้ไข
- การตรวจสอบสิทธิ์ JWT: พบ
- การแฮชรหัสผ่าน: พบ
- การจำกัดอัตรา (Rate limiting): ไม่พบ (ปัญหาที่ต้องแก้ไข)

### หลักฐานภาพหน้าจอ: ต้องแก้ไข
- รูปแบบเดสก์ท็อป: ผ่าน
- รูปแบบแท็บเล็ต: ผ่าน
- รูปแบบมือถือ: ไม่ผ่าน (ตารางสินค้าเสียที่ 375px)

### ตัวชี้วัดประสิทธิภาพ: ต้องแก้ไข
- เวลาโหลดเฉลี่ย: 2.3 วินาที (เป้าหมาย: <1 วินาที)
- ข้อผิดพลาดใน Console: 3 (เป้าหมาย: 0)
- คำขอเครือข่ายล้มเหลว: 1 (เป้าหมาย: 0)

## สถานะสุดท้าย: ต้องแก้ไข

### ปัญหาที่ต้องแก้ไข:
1. ไม่ได้ใช้ Rate limiting
2. รูปแบบมือถือในรายการสินค้าเสีย
3. มีข้อผิดพลาดใน Console 3 รายการที่ต้องแก้ไข
4. เวลาโหลดเกินเป้าหมาย 1 วินาที

### ปัญหาที่ไม่ต้องแก้ไขทันที:
- เพิ่ม Loading Skeleton ในประวัติการสั่งซื้อ
- ปรับปรุงข้อความแสดงข้อผิดพลาด
Enter fullscreen mode Exit fullscreen mode

แก้ไขปัญหาและรัน Reality Checker อีกครั้ง


สรุปเวิร์กโฟลว์

┌─────────────────────────────────────────────────────────────────┐
│  Backend Architect                                              │
│  → OpenAPI spec, Schema ฐานข้อมูล, โครงสร้างโฟลเดอร์              │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Database Optimizer                                             │
│  → คำแนะนำ Index, ตารางที่ขาดหายไป, ข้อจำกัด           │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Frontend Developer                                             │
│  → คอมโพเนนต์ React, ไคลเอนต์ API, การจัดการข้อผิดพลาด                 │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Code Reviewer                                                  │
│  → การตรวจสอบความปลอดภัย, Type Safety, ช่องว่างในการจัดการข้อผิดพลาด             │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Reality Checker                                                │
│  → การตรวจสอบความถูกต้องโดยอาศัยหลักฐาน, หลักฐานภาพหน้าจอ, ผ่าน/ไม่ผ่าน       │
└─────────────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

การดำเนินการ Agent แบบขนาน (ขั้นสูง)

รัน Agent หลายตัวแบบขนานเพื่อลดเวลา:

# เทอร์มินัล 1: Backend Architect
claude "เปิดใช้งาน Backend Architect ออกแบบ API e-commerce..."

# เทอร์มินัล 2: Database Optimizer (รอผลลัพธ์ Schema)
claude "เปิดใช้งาน Database Optimizer ตรวจสอบ Schema นี้..."

# เทอร์มินัล 3: Frontend Developer (รอ API Spec)
claude "เปิดใช้งาน Frontend Developer สร้างแดชบอร์ด React..."

# เทอร์มินัล 4: Code Reviewer (รอโค้ด)
claude "เปิดใช้งาน Code Reviewer ตรวจสอบ codebase นี้..."

# ทุกเทอร์มินัล: Reality Checker (การตรวจสอบขั้นสุดท้าย)
claude "เปิดใช้งาน Reality Checker ดำเนินการตรวจสอบที่จำเป็น..."
Enter fullscreen mode Exit fullscreen mode

ทำงานแบบขนานให้เสร็จใน 2-4 ชั่วโมง แทน 6-8 ชั่วโมง


สิ่งที่คุณสร้าง

ผลลัพธ์ Agent ผลลัพธ์ที่ได้
การออกแบบ API Backend Architect OpenAPI spec, Schema ฐานข้อมูล, โครงสร้างโฟลเดอร์
การปรับแต่ง Schema Database Optimizer คำแนะนำ Index, ตารางเพิ่มเติม, ข้อจำกัด
ส่วนหน้า Frontend Developer คอมโพเนนต์ React, ไคลเอนต์ API, ขอบเขตข้อผิดพลาด
การตรวจสอบความปลอดภัย Code Reviewer รายงานช่องโหว่, การแก้ไข Type Safety
การตรวจสอบขั้นสุดท้าย Reality Checker หลักฐานภาพหน้าจอ, การรับรองผ่าน/ไม่ผ่าน

ขั้นตอนถัดไป

  • ปรับใช้ API:
  • ตั้งค่า PostgreSQL สำหรับ Production พร้อม Connection Pooling
  • กำหนดค่าตัวแปรสภาพแวดล้อมสำหรับข้อมูลลับ
  • เพิ่ม Endpoint สำหรับตรวจสอบสถานะ
  • ตั้งค่าการเฝ้าระวัง (Prometheus, Grafana)

  • ขยายเวิร์กโฟลว์:

  • เพิ่ม Agent Performance Benchmarker สำหรับ Load Testing

  • เพิ่ม Agent Technical Writer สำหรับเอกสารประกอบ

  • เพิ่ม Agent DevOps Automator สำหรับ CI/CD Pipeline

  • นำรูปแบบกลับมาใช้ใหม่:

  • บันทึก Prompt เป็น Template

  • สร้างสคริปต์ workflow เชื่อมโยงเซสชัน Agent

  • แชร์กับทีม

Agent ผู้เชี่ยวชาญห้าตัว API ที่สมบูรณ์แบบหนึ่งชุด ไม่มีคำแนะนำทั่วไป

พลังของการแบ่งความเชี่ยวชาญ — แต่ละ Agent มีโดเมน รายการตรวจสอบ และผลลัพธ์เฉพาะ

ตาคุณแล้ว: เลือกโปรเจกต์ เปิด Agent แล้วนำส่งงานได้เร็วขึ้น


ประเด็นสำคัญ

  • Agent ผู้เชี่ยวชาญดีกว่าผู้ช่วยทั่วไป — Agent แต่ละตัวมีความเชี่ยวชาญ รายการตรวจสอบ และ output เฉพาะ
  • เวิร์กโฟลว์แบบลำดับ = คุณภาพ — Backend Architect ออกแบบ, Database Optimizer ตรวจสอบ, Frontend Developer สร้าง, Code Reviewer ตรวจสอบ, Reality Checker ตรวจสอบความถูกต้อง
  • การอนุมัติด้วยหลักฐานป้องกันข้อผิดพลาด — Reality Checker ต้องการภาพหน้าจอ, grep results, metric ก่อน Certified "ผ่าน"
  • รันขนานลดเวลา — ใช้ 4 terminal พร้อมกัน เสร็จใน 2-4 ชม. แทน 6-8 ชม.
  • บันทึก Prompt เป็น Template — ใช้ใหม่ได้สำหรับทุกโปรเจกต์

คำถามที่พบบ่อย

AI Agent สำหรับนักพัฒนาคืออะไร?

AI Agent คือผู้ช่วย AI ผู้เชี่ยวชาญแต่ละด้าน ไม่เหมือน Chatbot ทั่วไป เช่น Backend Architect หรือ Code Reviewer จะมี checklist และ output ที่สม่ำเสมอ

ติดตั้ง Agent จาก The Agency อย่างไร?

Clone repo ที่ github.com/msitarzewski/agency-agents แล้วคัดลอกไฟล์ .md ไปที่ ~/.claude/agents/ สำหรับ Claude Code หรือใช้สคริปต์ติดตั้งกับเครื่องมืออื่น

Reality Checker Agent คืออะไร?

Reality Checker คือ Agent QA ที่ต้องการหลักฐาน เช่น ภาพหน้าจอ, grep results, metric ก่อนจะรับรอง "ผ่าน"

รัน Agent หลายตัวขนานกันได้หรือไม่?

ได้ เปิดหลาย terminal แล้ว activate agent ที่ต่างกันในแต่ละหน้าต่าง ส่งผลลัพธ์ด้วยการคัดลอก output หรือใช้หน่วยความจำ MCP เพื่อส่งงานอัตโนมัติ

ส่ง Context ระหว่าง Agent อย่างไร?

คัดลอก output จาก Agent หนึ่งแล้ววางเป็น input ให้ตัวถัดไป หรือใช้หน่วยความจำ MCP เพื่อให้ Agent ถัดไปดึงข้อมูลเอง

ถ้า Agent แจ้งว่า 'ต้องแก้ไข'?

แก้ไขจุดที่ Agent บอก แล้วรัน Agent นั้นอีกครั้ง Reality Checker จะชี้ปัญหาที่ต้องแก้ไขก่อนรับรอง "ผ่าน"

จำเป็นต้องใช้ Agent ทั้ง 5 ตัวทุกโปรเจกต์ไหม?

ไม่จำเป็น สำหรับ API เล็กเริ่มที่ Backend Architect + Code Reviewer ถ้า Schema ซับซ้อนเพิ่ม Database Optimizer, งาน UI ให้ Frontend Developer, QA ก่อนส่งให้ Reality Checker

Top comments (0)