DEV Community

Gophernment
Gophernment

Posted on

Osloq — ให้ AI reproduction เวลาเกิด bug

Osloq — ใช้ AI หาสาเหตุ bug แทน

เวลา AI coding tools เสนอจะ "fix bug ให้" — เราได้แต่กด Accept หรือไม่ก็ Reject สองปุ่ม สองทางเลือก

แต่เราไม่เคยรู้ว่า:

  • AI รู้ได้ยังไงว่า bug เกิดจากตรงนี้?
  • มัน reproduce แล้วหรือแค่อ่านโค้ดแล้วเดา?
  • ถ้าเรา accept — มันจะพังของอย่างอื่นไหม?

Osloq เลือกทางที่สาม: ไม่ใช่ "fix ให้" — แต่ "หาให้เจอแล้วบอกว่าเกิดอะไรขึ้น"


Osloq คืออะไร

Osloq เป็น AI agent ที่ทำหน้าที่ "นักสืบ bug"

มีคนเปิด GitHub Issue → Osloq อ่าน → trace โค้ด → reproduce ใน sandbox → ส่งรายงานพร้อมหลักฐาน

┌─────────────────────────────────────────────────────┐
│  GitHub Issue: "ปุ่ม submit กดไม่ติดบน Safari"          │
└─────────────────────┬───────────────────────────────┘
                      ▼
┌─────────────────────────────────────────────────────┐
│  Osloq:                                             │
│  1. อ่าน issue → เข้าใจว่า "ปุ่มไม่ทำงาน"                 │
│  2. trace โค้ด: จาก handler → service → DOM event    │
│  3. reproduce: รัน Safari ใน sandbox → ปุ่มไม่ติดจริง     │
│  4. จับหลักฐาน: logs, screenshots, call stack         │
│  5. สรุป: "event listener ใช้ 'click' แต่ Safari       │
│     บน iOS 18 ไม่ bubble event — ต้องใช้ 'pointerdown' │
└─────────────────────┬───────────────────────────────┘
                      ▼
┌─────────────────────────────────────────────────────┐
│  Report บน GitHub Issue:                            │
│  📸 screenshot ของ Safari ที่ปุ่มไม่ทำงาน                │
│  📋 console error: "Unhandled Promise Rejection"    │
│  🔗 code path: handler.ts:42 → form.ts:17           │
│  💡 suggestion: เปลี่ยน event type                    │
└─────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

คุณอ่าน report → เข้าใจปัญหา → ตัดสินใจเอง ว่าจะแก้ยังไง


ต่างจาก "AI Fix Everything" ยังไง

Devin / Sweep AI Osloq
แนวคิด "Fix the bug" "Find the cause"
ทำงานยังไง เขียนโค้ดใหม่ → เปิด PR Reproduce → รายงาน evidence
เราเห็นอะไร PR diff ภาพ, log, call stack, บทสรุป
ใครตัดสินใจ AI (เราแค่ merge) เรา (AI บอกว่าอะไรผิด)
ถ้าผิดพลาด โค้ดผิดเข้า main Report ผิด — ไม่กระทบโค้ด
ความเสี่ยง สูง — AI แก้โค้ดโดยตรง ต่ำ — AI แค่แนะนำ

ทำไมถึง "สบายใจกว่า"

1. คุณเห็นหลักฐาน — ไม่ใช่แค่ diff

❌ "Fixed button click handler — please review"
   → review 300 บรรทัด — ไม่รู้ว่าแก้ถูกไหม

✅ "Button click fails because event listener uses 'click' 
   instead of 'pointerdown'. Safari 18 on iOS doesn't bubble 
   click events from certain elements. Evidence attached."
   → อ่าน 5 บรรทัด — เข้าใจทันที — แก้เอง 3 บรรทัด
Enter fullscreen mode Exit fullscreen mode

2. คุณคุม scope ของการแก้

AI fix ทุกอย่างอาจจะ:

  • เปลี่ยน architecture โดยไม่บอก
  • เพิ่ม dependency ใหม่
  • "fix" โดย refactor 500 บรรทัด — ทั้งที่ปัญหาจริงคือ 1 บรรทัด

Osloq ไม่แตะโค้ดคุณเลย — มันแค่บอกว่าจุดไหนผิด

3. คุณเรียนรู้ไปด้วย

ทุกครั้งที่ Osloq reproduce bug — คุณเห็น:

  • วิธี reproduce (ไว้สอน QA หรือ junior)
  • root cause (เข้าใจระบบตัวเองดีขึ้น)
  • pattern (bug นี้เหมือนกับอีก 3 issue ที่เคยเกิด — สรุปว่า design ตรงนี้มีปัญหา)

AI ที่ fix ให้เลย — คุณไม่ได้เรียนรู้อะไร — แค่กด merge


มันทำงานยังไงในทางเทคนิค

1. GitHub App ติดตั้ง → อ่าน issue + โค้ด (read-only)
2. Sandbox → clone repo → ติดตั้ง dependencies
3. trace code path จาก issue description
4. รัน → reproduce bug → จับ logs, screenshots
5. sandbox ถูกลบทิ้ง — โค้ดไม่ถูกเก็บ
6. ส่ง report กลับไปที่ GitHub issue
Enter fullscreen mode Exit fullscreen mode

Privacy: sandbox ถูกทำลายหลัง investigation — โค้ดไม่เคยถูกเก็บ, ไม่ถูกใช้ train, GitHub App มีสิทธิ์ read-only


Osloq vs เครื่องมืออื่น — แนวคิดต่างกัน

เครื่องมือ แนวคิด ใครตัดสินใจ
Osloq Reproduce → Report 👤 คุณ
Devin Understand → Fix → PR 🤖 AI
Sweep AI Read issue → Fix → PR 🤖 AI
SWE-agent Explore → Fix → PR 🤖 AI
Copilot Suggest code inline 🤖 AI + 👤 คุณ

Osloq อยู่ใน niche "investigator" — ไม่มีใครเล่นบทนี้โดยตรง


เหมาะกับทีมแบบไหน

ทีม เหมาะไหม
มี QA อยู่แล้ว ✅ Osloq reproduce → QA validate
Open source (issue เยอะ) ✅ กรอง issue — อันไหน bug จริง อันไหน user error
Safety-critical (fintech, health) ✅ หลักฐานก่อนตัดสินใจ — audit trail
Startup เร่งส่งของ ⚠️ Devin/Sweep fix เลยเร็วกว่า
Junior dev เยอะ ✅ เรียนรู้จาก report ที่ Osloq สร้าง

สรุป

Osloq ไม่ได้แข่งว่า "ใคร fix bug ได้เร็วสุด" — มันแข่งว่า "ใครไว้ใจได้มากสุด"

มันคือเครื่องมือที่บอกว่า: "นี่คือสาเหตุ นี่คือหลักฐาน ที่เหลือคุณตัดสินใจ"

และสำหรับหลายทีม — โดยเฉพาะทีมที่ทำงานกับระบบที่ผิดพลาดแล้วกระทบคนจำนวนมาก — ความไว้ใจมีค่ามากกว่าความเร็ว

📚 อ่านต่อ:

  • Osloq — AI bug reproduction for GitHub issues

Top comments (0)