บทนำ

การพัฒนา AI ผู้ช่วยสัมภาษณ์งาน (Interview AI Assistant) เป็นโปรเจกต์ที่ได้รับความนิยมอย่างมากในยุคปัจจุบัน เพราะช่วยให้ผู้สมัครงานได้ฝึกซ้อมการสัมภาษณ์อย่างมืออาชีพก่อนเข้าสู่สนามจริง บทความนี้จะพาคุณเรียนรู้การออกแบบระบบสนทนาที่มีประสิทธิภาพ โดยใช้ LLM API จาก สมัครที่นี่ ซึ่งมีความเร็วตอบสนองต่ำกว่า 50 มิลลิวินาที และราคาประหยัดกว่าบริการอย่างเป็นทางการถึง 85% ขึ้นไป ในฐานะผู้พัฒนาที่เคยสร้างระบบ AI สัมภาษณ์งานหลายเวอร์ชัน ผมจะแบ่งปันเทคนิคการจัดการ context window, การสร้าง memory system แบบยืดหยุ่น และ prompt engineering ที่เหมาะกับงานสัมภาษณ์โดยเฉพาะ

ตารางเปรียบเทียบบริการ LLM API

บริการราคา (ต่อล้าน tokens)ความเร็ว (latency)วิธีการชำระเงินความเร็วตอบสนอง
HolySheep AIGPT-4.1: $8
Claude Sonnet 4.5: $15
Gemini 2.5 Flash: $2.50
DeepSeek V3.2: $0.42
ต่ำกว่า 50msWeChat, Alipay, บัตรเครดิตรวดเร็วมาก
API อย่างเป็นทางการGPT-4o: $15
Claude 3.5: $15
Gemini Pro: $7
200-500msบัตรเครดิตเท่านั้นปานกลาง
บริการรีเลย์อื่นๆแตกต่างกันไป100-800msแตกต่างกันไปไม่แน่นอน
จากตารางจะเห็นได้ว่า HolySheep AI มีความได้เปรียบทั้งในด้านราคาและความเร็ว ซึ่งเหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการ latency ต่ำอย่างระบบสัมภาษณ์งานแบบเรียลไทม์

หลักการพื้นฐานของการออกแบบระบบสนทนา

การสร้าง AI ผู้ช่วยสัมภาษณ์งานที่ดีต้องคำนึงถึง 3 องค์ประกอบหลัก ประการแรกคือ context management ที่ต้องจัดการประวัติการสนทนาให้เหมาะสม ประการที่สองคือ memory system ที่ช่วยให้ AI จดจำข้อมูลสำคัญตลอดการสัมภาษณ์ และประการที่สามคือ prompt engineering ที่กำหนดบทบาทและพฤติกรรมของ AI ให้เหมาะกับการสัมภาษณ์งาน

การตั้งค่า API Connection

import requests
import json
from typing import List, Dict, Optional
from dataclasses import dataclass, field
from datetime import datetime

@dataclass
class Message:
    role: str  # "system", "user", หรือ "assistant"
    content: str
    timestamp: datetime = field(default_factory=datetime.now)

class InterviewAIClient:
    """คลาสสำหรับเชื่อมต่อกับ LLM API สำหรับระบบสัมภาษณ์งาน"""
    
    def __init__(
        self,
        api_key: str,
        model: str = "gpt-4.1",
        base_url: str = "https://api.holysheep.ai/v1"
    ):
        self.api_key = api_key
        self.model = model
        self.base_url = base_url
        self.chat_endpoint = f"{base_url}/chat/completions"
        self.conversation_history: List[Message] = []
        
    def _build_headers(self) -> Dict[str, str]:
        return {
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json"
        }
    
    def send_message(
        self,
        user_message: str,
        system_prompt: Optional[str] = None,
        temperature: float = 0.7,
        max_tokens: int = 1000
    ) -> str:
        """ส่งข้อความและรับการตอบกลับจาก AI"""
        
        # เพิ่มข้อความผู้ใช้ในประวัติการสนทนา
        self.conversation_history.append(Message("user", user_message))
        
        # สร้าง payload สำหรับ API request
        messages = []
        
        # เพิ่ม system prompt ถ้ามี
        if system_prompt:
            messages.append({"role": "system", "content": system_prompt})
        
        # เพิ่มประวัติการสนทนาทั้งหมด
        for msg in self.conversation_history:
            messages.append({
                "role": msg.role,
                "content": msg.content
            })
        
        payload = {
            "model": self.model,
            "messages": messages,
            "temperature": temperature,
            "max_tokens": max_tokens
        }
        
        try:
            response = requests.post(
                self.chat_endpoint,
                headers=self._build_headers(),
                json=payload,
                timeout=30
            )
            response.raise_for_status()
            
            result = response.json()
            assistant_reply = result["choices"][0]["message"]["content"]
            
            # เพิ่มการตอบกลับของ AI ในประวัติการสนทนา
            self.conversation_history.append(Message("assistant", assistant_reply))
            
            return assistant_reply
            
        except requests.exceptions.RequestException as e:
            print(f"เกิดข้อผิดพลาดในการเชื่อมต่อ: {e}")
            return "ขออภัย เกิดข้อผิดพลาดในการเชื่อมต่อ กรุณาลองใหม่อีกครั้ง"

ตัวอย่างการใช้งาน

client = InterviewAIClient( api_key="YOUR_HOLYSHEEP_API_KEY", model="gpt-4.1" ) print("เริ่มต้นระบบ AI ผู้ช่วยสัมภาษณ์งาน...")

การสร้างระบบ System Prompt สำหรับการสัมภาษณ์งาน

def create_interview_system_prompt(
    job_position: str,
    job_description: str,
    company_culture: str = "",
    difficulty_level: str = "medium"
) -> str:
    """
    สร้าง system prompt สำหรับ AI ผู้ช่วยสัมภาษณ์งาน
    
    Args:
        job_position: ตำแหน่งงานที่สมัคร
        job_description: รายละเอียดงาน
        company_culture: วัฒนธรรมองค์กร
        difficulty_level: ระดับความยาก (easy, medium, hard)
    """
    
    difficulty_instruction = {
        "easy": "ใช้คำถามพื้นฐานทั่วไป ให้เวลาคิดนาน ให้คำแนะนำเมื่อตอบผิด",
        "medium": "ผสมผสานระหว่างคำถามพื้นฐานและคำถามเชิงลึก ให้ feedback สม่ำเสมอ",
        "hard": "ใช้คำถามเชิงลึกและคำถาม stress test ให้ feedback กระชับ"
    }
    
    prompt = f"""คุณคือผู้จัดการฝ่าย HR ที่มีประสบการณ์การสัมภาษณ์งานมากกว่า 10 ปี
คุณกำลังสัมภาษณ์ผู้สมัครตำแหน่ง {job_position}

รายละเอียดตำแหน่งงาน:
{job_description}

{difficulty_instruction.get(difficulty_level, difficulty_instruction['medium'])}

กฎที่ต้องปฏิบัติตาม:
1. ถามทีละคำถาม รอให้ผู้สมัครตอบก่อนถามคำถามถัดไป
2. ให้คำแนะนำที่สร้างสรรค์และเป็นประโยชน์
3. ถามคำถามติดตามผลเมื่อคำตอบไม่ชัดเจน
4. ให้ feedback หลังจากคำตอบที่ดีหรือต้องปรับปรุง
5. จดจำข้อมูลที่ผู้สมัครเคยกล่าวมาเพื่อถามติดตาม
6. สิ้นสุดการสัมภาษณ์ด้วยการสรุปและให้คำแนะนำ

รูปแบบการสนทนา:
- ทักทายและแนะนำตัว
- อธิบายโครงสร้างการสัมภาษณ์
- เริ่มต้นด้วยคำถามพื้นฐาน
- ค่อยๆเพิ่มความยาก
- สรุปผลเมื่อเสร็จสิ้น"""
    
    if company_culture:
        prompt += f"\n\nข้อมูลวัฒนธรรมองค์กร:\n{company_culture}"
    
    return prompt


ตัวอย่างการใช้งาน

system_prompt = create_interview_system_prompt( job_position="Software Engineer", job_description="พัฒนาเว็บแอปพลิเคชันด้วย Python และ React\nต้องมีประสบการณ์ 2 ปีขึ้นไป\nมีความรู้ด้าน Database และ API Design", difficulty_level="medium" ) print("System Prompt พร้อมแล้ว:") print(system_prompt)

ระบบ Memory และ Context Management

การจัดการ context เป็นหัวใจสำคัญของระบบสัมภาษณ์งาน เพราะ AI ต้องจดจำข้อมูลที่ผู้สมัครเคยกล่าวมาทั้งหมด ไม่ว่าจะเป็นประสบการณ์ทำงาน ทักษะ หรือคำตอบในคำถามก่อนหน้า เพื่อถามคำถามติดตามผลได้อย่างมีประสิทธิภาพ

การสร้าง Conversation Memory System

from collections import deque
from typing import Optional, List, Tuple
import json

class InterviewMemory:
    """ระบบจัดการความจำสำหรับการสัมภาษณ์งาน"""
    
    def __init__(
        self,
        max_context_length: int = 10,
        summary_interval: int = 5
    ):
        self.max_context_length = max_context_length  # จำน