skipLink.label

Quest 3 - Compare AI Tools

Quest 3: Compare AI Tools

medium 25 minutes

🎯 Learning Objectives

  • ✅ How to run the same prompt across multiple AI tools
  • ✅ Why different tools produce different outputs for the same task
  • ✅ How to write a structured comparison document
  • ✅ The engineering habit: CALIBRATE YOUR TOOLS

📖 Concept: Comparing AI Tools

ไม่ใช่ AI tool ทุกตัวจะเหมาะกับทุกงาน เช่นเดียวกับช่างไม้ที่มีทั้งเลื่อย สิ่ว และค้อน — แต่ละเครื่องมือมีจุดแข็งของตัวเอง

การ เปรียบเทียบ AI tools ช่วยให้คุณรู้ว่า tool ไหนดีกว่าสำหรับงานอะไร เช่น Copilot อาจเขียน code ได้เร็ว但在 edge cases อาจพลาด, Claude Code อาจเขียน code ได้ละเอียดกว่า但ช้ากว่า

วิธีที่ดีที่สุดคือ รัน prompt เดียวกันใน 2+ tools แล้วเปรียบเทียบผลลัพธ์ — ไม่ใช่แค่อ่านรีวิว


⚙️ How It Works

The Comparison Workflow

1. Write ONE clear prompt (e.g., "write a sortByKey function")
↓
2. Run the SAME prompt in Tool A and Tool B
↓
3. Copy the outputs side by side
↓
4. Write a structured comparison document
↓
5. Evaluate: which was better, and WHY?

ตัวอย่าง Prompt ที่ดี

// Prompt ที่ชัดเจนและเฉพาะเจาะจง
"Write a JavaScript function called sortByKey that takes an array of objects
and a key string, and returns a new array sorted by that key in ascending order.
Handle edge cases: empty array, missing key, non-array input."

ตัวอย่าง Comparison Matrix

CriteriaTool ATool B
ความเร็ว⚡ เร็วมาก🐢 ช้ากว่าเล็กน้อย
ความถูกต้อง✅ ถูกต้อง✅ ถูกต้องเหมือนกัน
Edge cases❌ ลืม null check✅ จัดการครบ
ความสวยงาม📝 โค้ดสะอาด📝 โค้ดมี comment มากกว่า
ราคา💰 ฟรี💰 $20/เดือน

💡 Example: Running the Same Prompt

ขั้นตอนที่ 1: เขียน prompt เดียว

// ใช้ prompt เดียวกันในทุก tool
"Write a function that validates email addresses using regex.
Return true for valid emails, false for invalid.
Handle edge cases: empty string, null, undefined."

ขั้นตอนที่ 2: เปรียบเทียบผลลัพธ์

// Tool A output:
function validateEmail(email) {
if (!email) return false;
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}
// Tool B output:
function validateEmail(email) {
if (typeof email !== 'string') return false;
if (email.length === 0) return false;
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return regex.test(email);
}

ขั้นตอนที่ 3: วิเคราะห์

Tool B ดีกว่าเพราะ:

  • ตรวจสอบ typeof email !== 'string' (จัดการ null/undefined ได้ดีกว่า)
  • Regex ละเอียดกว่า (จำกัด characters ที่ใช้ได้)

⚠️ Common Mistakes

Mistake 1: เปรียบเทียบ prompt ต่างกัน

ใช้ prompt ต่างกันในแต่ละ tool แล้วบอกว่า tool หนึ่งดีกว่า → ต้องใช้ prompt เดียวกันเสมอ

Mistake 2: ดูแค่ความเร็ว

“Tool A เร็วกว่า เลยดีกว่า” → ต้องดูความถูกต้อง, edge cases, ราคาด้วย

Mistake 3: ไม่เขียน comparison document

เปรียบเทียบในหัวแล้วลืม → เขียน comparison.md เพื่อเป็นบันทึก

Mistake 4: ยอมรับผลลัพธ์แรกโดยไม่ test

เห็นโค้ดสวยแล้วคิดว่าดี → ต้องรัน test จริงเสมอ


📝 Knowledge Check

📝 Knowledge Check

Q1:When comparing AI tools, what is the most important rule?

Q2:Your comparison.md document should include which sections?

Q3:What does 'CALIBRATE YOUR TOOLS' mean?


🏋️ Quest: Compare AI Tools

รัน prompt เดียวกันใน 2+ AI tools แล้วเขียน comparison document

  1. Download ไฟล์เริ่มต้นของ quest:

    Terminal window
    npx bluebeltdojo download quest-03-compare-tools
    cd quest-03-compare-tools
  2. เลือก prompt จาก instructions ใน problem.js

  3. รัน prompt เดียวกันใน AI tools อย่างน้อย 2 ตัว (เช่น Copilot, Claude Code, ChatGPT)

  4. เขียน comparison.md ตาม structure ที่กำหนด:

    • Tool: tool ที่ใช้
    • Output: ผลลัพธ์จากแต่ละ tool
    • Better: tool ไหนดีกว่า
    • Why: เหตุผล
  5. ตรวจสอบ:

    Terminal window
    node test.js
  6. ส่งคำตอบ:

    Terminal window
    npx bluebeltdojo submit

💡 Tip: ถ้าไม่มี access หลาย tools ลองใช้ ChatGPT free + GitHub Copilot free — แค่ 2 ตัวก็เพียงพอ


คำใบ้

  • ใช้ prompt เดียวกันเสมอ — อย่าเปลี่ยน prompt ระหว่าง tools
  • เขียน comparison.md ตาม structure ที่ problem.js ระบุ
  • ดู不仅仅是ความเร็ว — ต้องดู edge cases, ความถูกต้อง, และราคาด้วย
  • ถ้าติดขัด ลองดู example comparison ใน solution directory