นี่คือซีรีส์ 10 ตอนที่เล่าถึงวิธีที่ Apidog พัฒนา Apidog CLI ซึ่งเป็นเครื่องมือบรรทัดคำสั่งสำหรับการทดสอบ API และการจัดการวงจรชีวิต API คุณสามารถอ่านตามลำดับหรือเลือกอ่านตอนที่สนใจได้เลย:
| หัวข้อ | จุดเน้น | |
|---|---|---|
| 1 | เราสร้างเครื่องมือ MCP ไป 126 ตัว แต่นั่นไม่ใช่ทางออกที่ดีที่สุดสำหรับ Agent | การค้นพบปัญหา |
| 2 | ทำไมเราถึงพัฒนา Apidog CLI ใหม่ทั้งหมด | การพัฒนาสถาปัตยกรรม |
| 3 | กฎทอง: CLI สร้างข้อเท็จจริง, โมเดลดำเนินการตามข้อเท็จจริง | ปรัชญาหลัก |
| 4 | agentHints: การสอน CLI ให้สื่อสารกับ Agent |
ผลลัพธ์ที่มีโครงสร้าง |
| 5 | SKILL: การส่งมอบประสบการณ์การดำเนินงานเป็นโค้ด | ประสบการณ์การดำเนินงาน |
| 6 | ตัวเลขไม่โกหก: ลดการเรียกใช้เครื่องมือลง 30%, ลดโทเค็นลง 25% | ผลลัพธ์เชิงปริมาณ |
| 7 | จาก PRD สู่ Testing Loop: เวิร์กโฟลว์ Agent ที่สมบูรณ์ด้วย Apidog CLI | บทช่วยสอนเชิงปฏิบัติ |
| 8 | ทำไมความเข้ากันได้กับ CI/CD จึงเป็นสิ่งที่ไม่สามารถต่อรองได้สำหรับเครื่องมือ Agent | มุมมองของ DevOps |
| 9 | AI Branch: การเปลี่ยนแปลงโปรเจกต์ที่ปลอดภัยยิ่งขึ้นด้วย AI Agents | เลเยอร์ความปลอดภัย |
| 10 | Spec-First เป็นเรื่องเมื่อวานนี้ ยินดีต้อนรับสู่ Skill-First. | วิสัยทัศน์และอนาคต |
มาดูตัวอย่างจริง: ทีมมี PRD และโค้ดเบสสำหรับการคืนเงินคำสั่งซื้อ ลองดูว่า Agent ใช้ Apidog CLI + SKILL อย่างไรในการสร้าง OpenAPI, สร้างการทดสอบ, ตรวจสอบความถูกต้อง และยืนยันผล ตั้งแต่ต้นจนจบ
สถานการณ์
มาทำให้ทุกอย่างเป็นรูปธรรมด้วยเวิร์กโฟลว์จริงกัน
บริบท:
ทีมเพิ่งเขียน PRD "การคืนเงินคำสั่งซื้อ" เสร็จสิ้น โค้ดเบสมีเส้นทาง (routes) และคอนโทรลเลอร์ที่เกี่ยวข้องอยู่แล้ว
คำขอของผู้ใช้ถึง Agent:
"สร้างการทดสอบ API สำหรับฟังก์ชันการคืนเงินตาม PRD และโค้ดเบส จากนั้นรันการยืนยัน"
ปัญหาของแนวทางเดิม
ด้วยเครื่องมือ MCP (Multi-Component Platform) Agent ต้องเผชิญกับสถานการณ์ที่กลืนไม่เข้าคายไม่ออกหลายอย่าง:
| จุดตัดสินใจ | ความไม่แน่นอน |
|---|---|
| ค้นหาโปรเจกต์ก่อน? | หรือสร้าง Endpoint ก่อน? |
| เขียน Test Case ก่อน? | หรือสร้าง Schema ก่อน? |
| รันการทดสอบโดยตรง? | หรืออ่านทรัพยากรกลับมาก่อน? |
| เครื่องมือใดสำหรับแต่ละขั้นตอน? | ค้นหาผ่าน 126 เครื่องมือ |
Agent ใช้ความพยายามอย่างมากเพียงแค่ตัดสินใจเส้นทาง ไม่ใช่การดำเนินการงาน
เส้นทาง CLI + SKILL
CLI + SKILL ตอบสนองกระบวนการ R&D จริงด้วยลำดับที่ชัดเจน:
สร้าง OpenAPI จาก PRD & โค้ดเบส
↓
นำเข้าสู่ Apidog
↓
เพิ่ม Test Case สำหรับ Single-Endpoint
↓
ตรวจสอบความถูกต้องก่อนเขียน
↓
สร้าง Test Scenario สำหรับกระบวนการทางธุรกิจ
↓
ตรวจสอบความถูกต้องก่อนเขียน
↓
รันการทดสอบอัตโนมัติมาดูแต่ละขั้นตอนกัน
ขั้นตอนที่ 1: สร้าง OpenAPI และนำเข้า
Agent อ่าน PRD และโค้ดเบส จากนั้นสร้างข้อมูลจำเพาะ OpenAPI
ส่วนหนึ่งของ PRD:
Order Refund API
POST /api/orders/{orderId}/refund
- Request body: { "reason": string, "amount": number }
- Response: { "refundId": string, "status": string, "processedAt": datetime }
GET /api/orders/{orderId}/refund/{refundId}
- Response: { "refundId": string, "status": string, "amount": number }Agent สร้าง OpenAPI:
{
"openapi": "3.0.0",
"paths": {
"/api/orders/{orderId}/refund": {
"post": {
"summary": "Create refund request",
"parameters": [...],
"requestBody": {...},
"responses": {...}
}
},
"/api/orders/{orderId}/refund/{refundId}": {
"get": {
"summary": "Get refund status",
...
}
}
}
}นำเข้าสู่ Apidog:
apidog import --project <projectId> --format openapi --file ./openapi.jsonเอาต์พุต CLI:
{
"success": true,
"data": {
"importedEndpoints": ["POST /refund", "GET /refund/{refundId}"],
"endpointIds": ["ep-001", "ep-002"]
},
"agentHints": {
"summary": "นำเข้า OpenAPI สำเร็จแล้ว สร้าง 2 Endpoint.",
"nextSteps": [
"แสดงรายการ Endpoint ที่นำเข้าเพื่อยืนยันโครงสร้าง",
"เพิ่ม Test Case สำหรับแต่ละ Endpoint",
"สร้าง Test Scenario สำหรับกระบวนการคืนเงินที่สมบูรณ์"
]
}
}ขั้นตอนที่ 2: Test Case สำหรับ Single-Endpoint
Agent จะเน้นที่ "refund endpoint" ก่อน
Agent อ่าน Endpoint:
apidog endpoint get ep-001 --project <projectId>CLI คืนค่าโครงสร้าง Endpoint:
{
"id": "ep-001",
"method": "POST",
"path": "/api/orders/{orderId}/refund",
"requestBody": {
"schema": {
"type": "object",
"properties": {
"reason": { "type": "string" },
"amount": { "type": "number" }
},
"required": ["reason", "amount"]
}
},
"responses": {
"200": {...}
}
}Agent สร้าง Test Case:
{
"name": "สร้างการคืนเงิน - สำเร็จ",
"endpointId": "ep-001",
"request": {
"path": "/api/orders/order-123/refund",
"body": {
"reason": "คำขอของลูกค้า",
"amount": 99.99
}
},
"assertions": [
{
"subject": "responseJson.status",
"comparator": "equal",
"target": "ดำเนินการแล้ว"
}
]
}ตรวจสอบความถูกต้องก่อนเขียน:
apidog cli-schema validate test-case-create --file ./test-case-create.jsonผลการตรวจสอบความถูกต้องของ CLI:
{
"success": true,
"agentHints": {
"summary": "โครงสร้าง Test Case ถูกต้อง",
"nextSteps": [
"สร้าง Test Case ใน Apidog",
"อ่าน Test Case ที่สร้างขึ้นกลับมาเพื่อยืนยัน",
"เพิ่ม Assertions เพิ่มเติมหากจำเป็น"
]
}
}สร้าง Test Case:
apidog test-case create --project <projectId> --file ./test-case-create.jsonเอาต์พุต CLI:
{
"success": true,
"data": {
"id": "tc-001",
"name": "สร้างการคืนเงิน - สำเร็จ"
},
"agentHints": {
"summary": "สร้าง Test Case สำเร็จแล้ว",
"nextSteps": [
"อ่าน Test Case tc-001 กลับมาเพื่อยืนยัน Assertions",
"สร้าง Test Case สำหรับ GET /refund/{refundId}",
"สร้าง Test Scenario สำหรับกระบวนการคืนเงินที่สมบูรณ์"
]
}
}ขั้นตอนที่ 3: Test Scenario สำหรับกระบวนการที่สมบูรณ์
ตาม PRD กระบวนการทางธุรกิจที่สมบูรณ์คือ:
สร้างคำสั่งซื้อ → ชำระเงิน → คืนเงิน → สอบถามสถานะการคืนเงินAgent สร้าง Scenario:
{
"name": "กระบวนการคืนเงินคำสั่งซื้อที่สมบูรณ์",
"steps": [
{ "type": "case", "caseId": "tc-create-order" },
{ "type": "case", "caseId": "tc-pay" },
{ "type": "case", "caseId": "tc-001" },
{ "type": "case", "caseId": "tc-get-refund" }
]
}ตรวจสอบความถูกต้องก่อนเขียน:
apidog cli-schema validate test-scenario-update --file ./scenario-update.jsonสร้าง Scenario:
apidog test-scenario create --project <projectId> --file ./scenario-update.jsonขั้นตอนที่ 4: รันการยืนยัน
เมื่อ Test Case และ Scenario พร้อมแล้ว:
apidog run --project <projectId> \
--test-scenario scenario-001 \
--environment env-production \
-r "cli,html,junit" \
--out-dir ./apidog-reportsเอาต์พุต CLI:
{
"success": true,
"stats": {
"total": 4,
"passed": 4,
"failed": 0
},
"reportFiles": {
"cli": "./apidog-reports/cli-report.txt",
"html": "./apidog-reports/report.html",
"junit": "./apidog-reports/junit.xml"
},
"agentHints": {
"summary": "การทดสอบทั้งหมดผ่าน สำเร็จ 4 ขั้นตอน",
"nextSteps": [
"ตรวจสอบรายงาน HTML สำหรับผลลัพธ์โดยละเอียด",
"หากเกิดข้อผิดพลาด ให้แก้ไขโดยใช้รายละเอียดข้อผิดพลาดของ CLI",
"รวมการทดสอบนี้เข้ากับ CI Pipeline"
]
}
}ห่วงโซ่ที่สมบูรณ์
ตอนนี้องค์ประกอบทั้งหมดเชื่อมต่อกันแล้ว:
| องค์ประกอบ | สถานะ |
|---|---|
| PRD | อ่านและประมวลผลแล้ว |
| โค้ดเบส | วิเคราะห์เส้นทางแล้ว |
| OpenAPI | สร้างและนำเข้าแล้ว |
| Endpoint assets | สร้างใน Apidog แล้ว |
| การทดสอบ Single-Endpoint | สร้างและตรวจสอบความถูกต้องแล้ว |
| Scenario ทางธุรกิจ | สร้างและยืนยันแล้ว |
ทุกอย่างสามารถตรวจสอบและติดตามได้
agentHints ตลอดกระบวนการ
สังเกตว่า agentHints แนะนำแต่ละการเปลี่ยนผ่านอย่างไร:
| หลังจาก | agentHints แนะนำ |
|---|---|
| นำเข้า Endpoint | "แสดงรายการ Endpoint, เพิ่ม Test Case" |
| สร้าง Test Case | "อ่านกลับมา, สร้าง Test Case เพิ่มเติม, สร้าง Scenario" |
| สร้าง Scenario | "เพิ่ม Assertions, ตรวจสอบความถูกต้อง, รัน" |
| รันการทดสอบ | "ตรวจสอบรายงาน, แก้ไขข้อบกพร่องหากจำเป็น, รวมเข้ากับ CI" |
Agent ไม่ต้องเดาเลยว่าจะทำอะไรต่อไป
การเปรียบเทียบ: MCP vs. CLI + SKILL สำหรับงานนี้
| มิติ | แนวทาง MCP | แนวทาง CLI + SKILL |
|---|---|---|
| จุดเริ่มต้น | Agent ค้นหาเครื่องมือโปรเจกต์ | SKILL ระบุประเภทงาน |
| การสร้าง Endpoint | Agent เดาว่าเครื่องมือไหน, ฟิลด์ไหน | CLI นำเข้าจาก OpenAPI |
| การสร้าง Test Case | ลองใหม่หลายครั้งกับข้อผิดพลาดของฟิลด์ | ตรวจสอบความถูกต้องภายในก่อนเขียน |
| การสร้าง Scenario | Agent เขียนโครงสร้างด้วยตนเอง | นำเข้าขั้นตอน, อ่านกลับ, อัปเดต |
| การยืนยัน | Agent ค้นหาเครื่องมือรัน | agentHints แนะนำหลังจาก Scenario |
| จำนวนขั้นตอนทั้งหมด | ~20-25 การเรียกใช้พร้อมการลองใหม่ | ~10-12 การเรียกใช้ที่ตรวจสอบความถูกต้องแล้ว |
อะไรจะเกิดขึ้นต่อไป
ตัวอย่างเชิงปฏิบัตินี้แสดงให้เห็นว่า CLI + SKILL ทำงานอย่างไรในเวิร์กโฟลว์จริง
แต่มีรากฐานอยู่ภายใต้สิ่งเหล่านี้ทั้งหมด: ความเข้ากันได้กับ CI/CD
ในตอนที่ 8 ทำไมความเข้ากันได้กับ CI/CD จึงเป็นสิ่งที่ไม่สามารถต่อรองได้สำหรับเครื่องมือ Agent เราจะสำรวจว่าทำไม apidog run จึงตอบสนองทั้ง CI pipeline และ AI Agent — และเหตุใดวัตถุประสงค์คู่จึงมีความสำคัญต่อการออกแบบเครื่องมือที่ยั่งยืน
ประเด็นสำคัญ
- เวิร์กโฟลว์ที่สมบูรณ์: PRD → OpenAPI → นำเข้า → Test Case → Scenario → ตรวจสอบ
- แต่ละขั้นตอนมีคำสั่ง CLI + การตรวจสอบ + agentHints
- การนำเข้าขั้นตอน + การอ่านกลับปลอดภัยกว่าการเขียน Scenario ด้วยตนเอง
--with-case-detailให้โครงสร้างจริงสำหรับการอัปเดต- agentHints นำทางทุกการเปลี่ยนผ่าน
- ทุกอย่างสามารถตรวจสอบและติดตามได้
ดาวน์โหลด Apidog เพื่อ ออกแบบ, จำลอง, ทดสอบ, และ จัดทำเอกสาร API ในพื้นที่ทำงานเดียว เรียนรู้เพิ่มเติมเกี่ยวกับ Apidog CLI สำหรับการทดสอบ API ด้วยบรรทัดคำสั่ง, การทำงานอัตโนมัติของ CI และเวิร์กโฟลว์ AI Agent
