AI Algorithm Mentor — GitHub Action ที่รีวิวการแก้โจทย์อัลกอริทึมให้อัตโนมัติ

เมื่อคุณแก้โจทย์อัลกอริทึมแล้วคอมมิต ระบบจะวิเคราะห์ รายละเอียดโจทย์ + โค้ดของคุณ ร่วมกัน แล้วทิ้งคอมเมนต์แบบโค้ชว่า “ทำไมวิธีแก้นี้ถึงถูกต้อง/ช้า/ควรปรับปรุงตรงไหน” ให้โดยอัตโนมัติ เป็น GitHub Action สำหรับ code review ที่ขับเคลื่อนด้วย AI

มีประโยชน์ในสถานการณ์แบบไหน?

  • กำลังเรียนโค้ดดิ้งเทสต์/อัลกอริทึมด้วยตัวเอง และรู้สึกว่า “ยังขาดฟีดแบ็ก”
  • วิธีแก้ถูกต้องแล้ว แต่ต้องการตรวจทานในมุมมองของ time complexity, edge case, การเขียนให้สะอาดขึ้น
  • อยากอัปโหลดการแก้โจทย์ลงรีโพอย่างต่อเนื่อง และสะสมบันทึกทบทวนย้อนหลัง (feedback log) แบบอัตโนมัติ

แนวคิดหลัก (วิธีทำงาน)

  1. ใส่ URL ของโจทย์ไว้ใน คอมเมนต์บรรทัดแรก ของไฟล์คำตอบ
  2. เมื่อ push, Action จะตรวจจับ URL นั้นแล้ว crawl หน้า online judge (ชื่อโจทย์/คำอธิบาย/อินพุต-เอาต์พุต/ตัวอย่าง ฯลฯ)
  3. จากนั้น LLM จะวิเคราะห์พร้อมกับโค้ด
  4. แล้ว โพสต์ผลลัพธ์เป็นคอมเมนต์ของคอมมิตโดยอัตโนมัติ

ฟีเจอร์หลัก

  • การวิเคราะห์โค้ดอัจฉริยะ

    • ทำความเข้าใจข้อกำหนด/ข้อจำกัดของโจทย์โดยอัตโนมัติ
    • วิเคราะห์ time/space complexity และเสนอแนวทางปรับให้เหมาะสมขึ้น
    • เสนอการปรับปรุงด้านความอ่านง่าย/คอนเวนชัน
    • โครงสร้าง “algorithm review agent” ที่อิง CrewAI
  • ตรวจจับ & crawl Online Judge อัตโนมัติ

    • ระบุแพลตฟอร์มอัตโนมัติจาก URL ของโจทย์ในคอมเมนต์บรรทัดแรกของไฟล์
    • เก็บข้อมูลที่จำเป็นจากหน้าโจทย์โดยอัตโนมัติ
  • รองรับการประมวลผลหลายไฟล์พร้อมกัน

    • ประมวลผลไฟล์คำตอบหลายไฟล์แบบขนานด้วย asynchronous
  • แพลตฟอร์มที่รองรับ

    • Baekjoon, LeetCode, Programmers
  • รองรับผู้ให้บริการ/โมเดล LLM หลายเจ้า

    • ตั้งค่าแบบ multi-provider ได้ เช่น OpenAI / Google(Gemini) / Anthropic(Claude) (อิง LiteLLM) ([GitHub][1])
  • รีวิวได้หลายภาษา

    • เลือกภาษาของคำตอบรีวิวได้

วิธีใช้งาน (สรุป)

  • ลงทะเบียน API key ใน Secrets ของรีโพ (เช่น GEMINI_API_KEY หรือ OPENAI_API_KEY เป็นต้น)
  • ใช้ choam2426/AI-Algorithm-Mentor@v5 ใน workflow ได้เลย
  • เพียงใส่คอมเมนต์ URL ของโจทย์ไว้ที่บรรทัดแรกของไฟล์คำตอบ จากนั้นทุกครั้งที่คอมมิตก็จะมีรีวิวอัตโนมัติ

ไลเซนส์ / สเปก

  • MIT License
  • Python 3.13+

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น