ข้ามไปยังเนื้อหา
Nekowebops
AI ในเครื่องและเอเจนต์มีข้อมูลวัดจริง

ทดสอบ LLM ในเครื่องทีละคำถามจะมองไม่เห็นความล้มเหลว: สิ่งที่เราวัดบน Mac 64 GB

บน Mac 64 GB โมเดลในเครื่องสองตัวตอบถูกครบ 6/6 เมื่อถามทีละข้อ แต่พอรวมคำถามเดิมไว้ในบริบทเดียว ผลแยกเป็น 9/18 กับ 17/18

โดยทีม Nekowebops · · อ่าน 6 นาที

วัดผลเมื่อ 17 สิงหาคม 2569 · Apple M1 Max 64 GB · Ollama 0.32.14

  • LLM ในเครื่อง
  • เอเจนต์
  • เบนช์มาร์ก
  • Apple Silicon
  • การออกแบบการทดสอบ
  • 6/6 · 6/6

    ถามทีละข้อ: ทั้งสองโมเดลตอบถูกหมด

  • 9/18 เทียบ 17/18

    รวมคำถามเดิมไว้ด้วยกัน: MoE เทียบ dense

  • 0/3 เทียบ 2/3

    รอบที่ถูกครบทุกข้อเมื่อรวมคำถาม

  • ≈2.1 เท่า

    ความเร็ว decode แต่เวลาจริงใกล้เคียงกัน

ทำไมเราจึงทดสอบเรื่องนี้

เราใช้โมเดลในเครื่องภายในระบบเอเจนต์เขียนโค้ด โมเดลจะอ่านไฟล์ด้วยเครื่องมือแบบอ่านอย่างเดียวแล้วตอบคำถามเกี่ยวกับโค้ดเบส วิธีตรวจสอบโมเดลแบบนี้ที่คนมักใช้คือถามคำถามเดียวแล้วดูว่าตอบถูกไหม เราอยากรู้ว่าแค่นั้นพอหรือเปล่า

เราพบความต่างนี้โดยบังเอิญ ลูปตัวหนึ่งทำให้โปรเซสของเอเจนต์กลืนอินพุตมาตรฐานไป คำถามข้อ 2 ถึง 6 จึงถึงโมเดลเป็นพรอมต์ก้อนใหญ่ก้อนเดียว แทนที่จะเป็นห้าคำถามแยกกัน ผลลัพธ์ต่างจากเดิมชัดเจนจนเรานำเงื่อนไขแบบรวมก้อนนี้มาทำเป็นการทดสอบอย่างเป็นทางการ

บทความนี้รายงานการทดสอบนั้น เป็นข้อสังเกตเล็ก ๆ เรื่องวิธีทดสอบ ไม่ใช่การจัดอันดับโมเดล

ถ้าทดสอบทีละข้อ เราคงไม่มีวันเห็นความต่างนี้

การตั้งค่าการทดสอบ

ทุกอย่างรันบนเครื่องเดียว โหลดโมเดลทีละตัว

เครื่อง
Mac ชิป Apple Silicon 1 เครื่อง: M1 Max, 64 GB
รันไทม์ในตอนนั้น
Ollama 0.32.14 โหลดโมเดลไว้ทีละตัวเท่านั้น
โมเดล A
โมเดล mixture-of-experts (MoE) 35B-A3B มีพารามิเตอร์ที่ทำงานจริงประมาณ 3B (ตระกูล Qwen3.5) แบบ Q4_K_M
โมเดล B
โมเดล dense 27B (ตระกูล Qwen3.8) แบบ Q4_K_M
งาน
ตอบคำถามโดยอ่านโค้ดเบสของเราเองด้วยเครื่องมืออ่านอย่างเดียว (read, grep, find, ls) ผ่านระบบเอเจนต์ตัวเดียวกับที่เราใช้ทุกวัน
การให้คะแนน
ต้องตรงกับเฉลยที่คนตรวจสอบแล้วทุกตัวอักษร
การตั้งค่าการทดสอบ
  1. งาน

    คำถามที่มีคำตอบแน่นอนซึ่งคนตรวจสอบแล้ว

  2. ระบบเอเจนต์

    ตัวเดียวกับที่เราใช้ทุกวัน ใช้เครื่องมืออ่านอย่างเดียว: read, grep, find, ls

  3. โมเดลในเครื่อง

    MoE หรือ dense โหลดไว้ทีละตัว

  4. การให้คะแนน

    สคริปต์ตรวจว่าตรงกับเฉลยที่คนตรวจสอบแล้วทุกตัวอักษร

วิธีตั้งค่าและให้คะแนนแต่ละรอบ

โมเดล mixture-of-experts ใช้พารามิเตอร์เพียงบางส่วนต่อโทเคน (ที่นี่ประมาณ 3B) ส่วนโมเดล dense ใช้ทั้งหมด เราไม่เปิดเผยชื่อไฟล์ ชื่อการตั้งค่า หรือโค้ดจากโค้ดเบส จึงอธิบายงานแบบกว้าง ๆ

เราถามอะไรบ้าง

ทั้งหมด 6 คำถาม แต่ละข้อมีคำตอบที่แน่นอนซึ่งคนตรวจสอบแล้ว

  1. 1ระบุการตั้งค่า 15 รายการที่ขึ้นต้นด้วยคำนำหน้าเดียวกัน
  2. 2ไล่ตามสายเหตุผล 3 ขั้น แล้วบอกรหัสการตรวจ ฟังก์ชันที่อยู่เบื้องหลัง และค่าคงที่
  3. 3บอกค่าที่แน่นอนที่เงื่อนไขหนึ่งใช้
  4. 4ใช้เหตุผลว่าการตรวจแบบ “มีสักตัวที่ตรงเงื่อนไขไหม” จะคืนค่าอะไรเมื่อรายการว่างเปล่า
  5. 5บอกหมายเลขบรรทัดที่ข้อความหนึ่งปรากฏ โดยไม่นับส่วนที่เป็นคอมเมนต์
  6. 6นับว่านิพจน์หนึ่งปรากฏกี่ครั้ง
คำถามทั้ง 6 ข้อ อธิบายแบบกว้าง ๆ

ผลที่ 1: ถามทีละข้อ

ขั้นแรกเราถามทั้ง 6 คำถามทีละข้อ รันละหนึ่งข้อ โมเดลทั้งสองตอบถูกครบทั้ง 6 ข้อ

MoE ใช้เวลารวม 137.3 วินาที ส่วน dense ใช้เวลารวม 417.4 วินาที ช้ากว่า 3.0 เท่า แต่ด้านคุณภาพ การทดสอบนี้ไม่เห็นความต่างเลย

เวลาต่อข้อ เมื่อถามทีละข้อ

เวลาเป็นวินาทีของแต่ละคำถามทั้ง 6 ข้อ โมเดลทั้งสองตอบถูกครบ และ dense ใช้เวลานานกว่าในทุกข้อ

MoEdense
  1. ข้อ 1
    17.5
    43.9
  2. ข้อ 2
    21.0
    135.3
  3. ข้อ 3
    29.2
    121.0
  4. ข้อ 4
    48.1
    67.6
  5. ข้อ 5
    15.7
    31.5
  6. ข้อ 6
    5.8
    18.1
รวม · MoE
137.3 วินาที
รวม · dense
417.4 วินาที
ดูข้อมูลเป็นตาราง
ถามทีละข้อ: เวลาเป็นวินาที
คำถามMoEdense
ข้อ 117.543.9
ข้อ 221.0135.3
ข้อ 329.2121.0
ข้อ 448.167.6
ข้อ 515.731.5
ข้อ 65.818.1
รวม137.3417.4
ตอบถูก6/66/6

ถ้าหยุดแค่ตรงนี้ เราคงสรุปว่าโมเดลสองตัวนี้เชื่อถือได้พอ ๆ กันสำหรับงานแบบนี้

ผลที่ 2: รวมไว้ในบริบทเดียว

จากนั้นเรารวมคำถามเดิมทั้ง 6 ข้อไว้ในบริบทเดียว แล้วรันก้อนนี้โมเดลละ 3 รอบ รวมโมเดลละ 18 คำตอบย่อย

ความต่างที่การทดสอบทีละข้อซ่อนไว้ ปรากฏขึ้นทันที

เมื่อรวมไว้ในบริบทเดียว: ทุกคำตอบย่อย ทีละรอบ

โมเดลละ 3 รอบ รอบละ 6 คำตอบย่อย เครื่องหมาย ✓ คือตรงเฉลย ✕ คือผิด ส่วนแถวลายเฉียงคือรอบที่ไม่มีผลลัพธ์ออกมาเลย

ถูกผิดไม่มีผลลัพธ์

MoE

ข้อ 1ข้อ 2ข้อ 3ข้อ 4ข้อ 5ข้อ 6คะแนน

dense

ข้อ 1ข้อ 2ข้อ 3ข้อ 4ข้อ 5ข้อ 6คะแนน
ดูข้อมูลเป็นตาราง
รวมไว้ในบริบทเดียว: จำนวนข้อที่ถูกและเวลาในแต่ละรอบ
รอบMoEdense
รอบที่ 10/6 · 187.7 วินาที
ผลลัพธ์ว่างเปล่า
6/6 · 375.5 วินาที
ถูกทั้งหมด
รอบที่ 24/6 · 168.9 วินาที
ทำรายการตก 1 รายการ และตอบจริง/เท็จผิด 1 ข้อ
5/6 · 346.8 วินาที
รายการ 15 รายการถูกหมด แต่เพิ่มชื่อที่ไม่มีอยู่จริงอีก 2 ชื่อ (รวม 17 รายการ)
รอบที่ 35/6 · 155.5 วินาที
ตอบเป็นนิพจน์และตัวแปรภายใน ทั้งที่ต้องตอบชื่อฟังก์ชันและชื่อค่าคงที่
6/6 · 364.4 วินาที
ถูกทั้งหมด
รวม9/18 (50%)17/18 (94%)

ภาพรวมเมื่อรวมคำถาม

คำตอบย่อยที่ถูกจาก 18 รอบที่ถูกครบทุกข้อจาก 3 และเวลาเฉลี่ยต่อรอบ

MoEdense✓ = ถูก / สำเร็จ · · ไม่ถึง

คำตอบย่อยที่ถูก

รอบที่ถูกครบทุกข้อ

เวลาเฉลี่ยต่อรอบ

ดูข้อมูลเป็นตาราง
ภาพรวมเมื่อรวมคำถาม
ตัวชี้วัดMoEdense
คำตอบย่อยที่ถูก9/18 (50%)17/18 (94%)
รอบที่ถูกครบทุกข้อ0/32/3
เวลาเฉลี่ยต่อรอบ170.7 วินาที362.2 วินาที

MoE รวม 9 จาก 18 (50%) ไม่มีรอบไหนถูกครบทุกข้อ (0 จาก 3) เวลาเฉลี่ย 170.7 วินาที ส่วน dense รวม 17 จาก 18 (94%) ถูกครบทุกข้อ 2 จาก 3 รอบ เวลาเฉลี่ย 362.2 วินาที ช้ากว่า MoE 2.12 เท่า

ในรอบที่ 1 ของ MoE โปรเซสจบการทำงานอย่างเงียบ ๆ หลังผ่านไป 187.7 วินาที โดยไม่มีข้อมูลออกทางเอาต์พุตมาตรฐานหรือข้อผิดพลาดมาตรฐานเลยแม้แต่ไบต์เดียว

สองโมเดลพลาดกันคนละแบบ

การนับจำนวนข้อที่ถูกไม่ได้บอกว่ารอบนั้นพังอย่างไร เราจึงบันทึกรูปแบบความล้มเหลวด้วย

พลาดอะไร แยกตามประเภท

นับรูปแบบความล้มเหลวเป็นคำตอบย่อย (หนึ่งคำถามในหนึ่งรอบ) รอบเงียบของ MoE รอบเดียวก็นับเป็น 6

MoEdense1 ช่อง = 1 คำตอบย่อย
MoEdense
ผลลัพธ์ว่างเปล่าโดยเงียบ
รายการตก
ตอบจริง/เท็จผิด
คิดตื้น
แต่งรายการขึ้นเอง
ดูข้อมูลเป็นตาราง
พลาดอะไร แยกตามประเภท
รูปแบบความล้มเหลวMoEdense
ผลลัพธ์ว่างเปล่าโดยเงียบ60
รายการตก10
ตอบจริง/เท็จผิด10
คิดตื้น10
แต่งรายการขึ้นเอง01

โมเดล MoE เมื่อมีภาระมาก

  • เงียบและว่างเปล่า: รอบที่ 1 จบการทำงานโดยไม่มีอะไรออกมาเลยทั้งเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน
  • ทำรายการตก: ขาดไป 1 จาก 15 รายการ และตอบจริง/เท็จผิดอีก 1 ข้อ
  • คิดตื้น: หยุดอยู่แค่ผิวเผิน ไม่ไล่สายการเรียกไปถึงฟังก์ชันและค่าคงที่ตัวจริง

โมเดล dense

  • แต่งขึ้นเอง: ตอบรายการจริงครบ 15 รายการ แล้วเติมชื่อที่ไม่มีอยู่จริงเพิ่มอีก 2 ชื่อ

สำหรับบทบาทที่มอบหมายการตัดสินใจให้ เราเห็นว่าการรันที่เงียบและว่างเปล่าเป็นความล้มเหลวที่เสียหายกว่า

ความเร็ว decode กับเวลาจริง

ตัวเลขความเร็วมักอ้างความเร็ว decode คือโมเดลเขียนได้กี่โทเคนต่อวินาที แต่งานเอเจนต์จริงยังมี prefill ด้วย คือขั้นที่โมเดลอ่านทุกอย่างที่ได้รับ ซึ่งในที่นี้คือไฟล์ที่เอเจนต์เปิด เราวัดทั้งสองอย่างกับโมเดล dense ด้วยพรอมต์เดียวกัน ในสภาพที่โมเดลอุ่นเครื่องแล้ว และปิด thinking

ความเร็ว decode เทียบกับเวลาจริง (โมเดล dense สองเอนจิน)

รันละ 3 รอบ เอนจิน MLX ทำ decode ได้เร็วกว่า แต่เมื่อรันชุดคำถามรวม เวลาใกล้เคียงกัน

dense, Q4_K_M (GGUF)dense, MLX (nvfp4)◆ เฉลี่ย

ความเร็ว decode, tok/s (แท่งยาวกว่า = เร็วกว่า)

dense, Q4_K_M (GGUF)

9.2 / 8.7 / 7.2 tok/s

dense, MLX (nvfp4)

18.3 / 18.2 / 17.2 tok/s

≈2.1× decode เร็วกว่า (MLX เทียบ GGUF)

เวลาจริง, วินาที (แท่งสั้นกว่า = เร็วกว่า)

dense, Q4_K_M (GGUF)

529.4 / 468.0 / 447.8 วินาที · เฉลี่ย 481.7

dense, MLX (nvfp4)

639.8 / 338.5 / 498.3 วินาที · เฉลี่ย 492.2

เวลาจริง: ไม่มีความต่างที่มีนัยสำคัญ

เหตุผล: งานเอเจนต์จริงส่วนใหญ่คือ prefill คือโมเดลอ่านไฟล์ที่ได้รับ ซึ่งความเร็ว decode ไม่ได้วัด

ดูข้อมูลเป็นตาราง
ความเร็ว decode เทียบกับเวลาจริง (โมเดล dense สองเอนจิน)
รูปแบบรอบที่ 1รอบที่ 2รอบที่ 3เฉลี่ย
MoE, Q4_K_M · tok/s39.940.040.0—
dense, Q4_K_M (GGUF) · tok/s9.28.77.2—
dense, Q4_K_M (GGUF) · วินาที529.4468.0447.8481.7
dense, MLX (nvfp4) · tok/s18.318.217.2—
dense, MLX (nvfp4) · วินาที639.8338.5498.3492.2

เอนจิน MLX ทำ decode ได้เร็วกว่า GGUF ประมาณ 2.1 เท่า แต่เมื่อรันชุดคำถาม 6 ข้อรวมกัน เวลาจริงแทบไม่ต่างกัน ค่าเฉลี่ยของ GGUF คือ 481.7 วินาที และของ MLX คือ 492.2 วินาที ไม่มีความต่างที่มีนัยสำคัญ เพราะในงานเอเจนต์จริง เวลาส่วนใหญ่หมดไปกับ prefill (การอ่านไฟล์) ไม่ใช่ decode

ทั้งสองรูปแบบตอบถูกในคำถามที่ไม่ถูกกระทบจากการแก้โค้ดภายหลัง (ดูข้อจำกัดด้านล่าง)

อัตราส่วนความเร็วระหว่าง MoE กับ dense ก็ขึ้นกับพรอมต์ ในการทดสอบนี้คือ 4.8 เท่า (40.0 เทียบกับ 8.4 tok/s) ส่วนในการทดสอบก่อนหน้านี้คือ 7 เท่า โปรดอย่าอ้าง “7 เท่า” เป็นตัวเลขทั่วไป

ตอนนี้เราทำอย่างไร

  1. ทดสอบเอเจนต์ด้วยภาระแบบที่จะเจอจริง คือบริบทยาวที่รวมคำถามไว้ด้วยกัน ไม่ใช่แค่ถามทีละข้อ
  2. บันทึกรูปแบบความล้มเหลวด้วย ไม่ใช่แค่คะแนน: ผลลัพธ์ว่างเปล่าโดยเงียบ รายการตก คิดตื้น แต่งขึ้นเอง
  3. มอง tok/s ของ decode ว่าเป็นตัวแทนที่ไม่ดีของเวลาทำงาน เมื่อ prefill กินเวลาส่วนใหญ่
  4. ให้คะแนนด้วยสคริปต์เทียบกับเฉลยที่คนตรวจสอบแล้ว และเก็บล็อกดิบไว้
  5. บอกการตั้งค่าและข้อจำกัดให้ชัด อย่าเอา n=3 ไปทำเป็นตารางอันดับ

ข้อจำกัดและข้อควรระวัง

  • นี่เป็นการทดสอบขนาดเล็ก: 6 คำถาม x 3 รอบ x 2 โมเดล เครื่องเดียว โค้ดเบสเดียว n=3 ต่อช่อง เป็นข้อสังเกตเรื่องการออกแบบการทดสอบ ไม่ใช่การจัดอันดับโมเดล
  • ซอฟต์แวร์เดินหน้าไปแล้ว ชุด Ollama ที่ใช้ที่นี่ถูกแทนที่ด้วย llama.cpp ในระบบของเราแล้ว ชื่อตระกูลโมเดลตรงกับที่ทดสอบ ผลวันนี้อาจต่างไป และเราไม่ได้อ้างอะไรเกี่ยวกับเวอร์ชันปัจจุบัน
  • เงื่อนไขเรื่องความเร็วรันหลังจากการแก้โค้ดที่ทำให้คำตอบของคำถามหนึ่งข้อ (ข้อ 5) เปลี่ยนไป จึงเทียบเงื่อนไขนั้นจากอีก 5 ข้อที่เหลือเท่านั้น
  • ฮาร์ดแวร์เป็น Apple Silicon ไม่ใช่ NVIDIA อย่านำตัวเลขเหล่านี้ไปปนกับตัวเลขจากระบบของคนอื่น
  • การให้คะแนนใช้การตรงกับเฉลยที่คนตรวจสอบแล้วทุกตัวอักษร การตรวจด้วยสายตาครั้งแรกพลาดการแต่งขึ้นเองของโมเดล dense ในรอบที่ 2 ไปหนึ่งจุด และสคริปต์แก้ให้ถูก จึงควรให้คะแนนด้วยสคริปต์เสมอ

ลองกับเอเจนต์ของคุณเอง

ไม่ต้องใช้โค้ดของเราก็นำแนวคิดเดียวกันไปใช้ได้

  1. เขียนงานที่มีคำตอบแน่นอนซึ่งคนตรวจสอบแล้ว เพื่อให้สคริปต์ให้คะแนนได้
  2. รันแต่ละงานแยกกันก่อน แล้วรวมเป็นบริบทยาวก้อนเดียวให้เหมือนที่การรันจริงของคุณเป็น
  3. ทำซ้ำแต่ละเงื่อนไขหลายครั้ง และเก็บผลของแต่ละรอบไว้
  4. บันทึกประเภทความล้มเหลวของทุกรอบที่ผิด: ผลลัพธ์ว่าง รายการตก คิดตื้น แต่งขึ้นเอง
  5. วัดเวลาจริง และวัดความเร็ว decode แยกต่างหาก
  6. ให้คะแนนด้วยสคริปต์และเก็บล็อกดิบไว้
  7. จดการตั้งค่าและข้อจำกัดไว้ข้างผลลัพธ์

บันทึกดิบ

ล็อกการรัน (ตามต้นฉบับ)

[qwen3.5:35b-a3b] C1 done 187.7s[qwen3.5:35b-a3b] C2 done 168.9s[qwen3.5:35b-a3b] C3 done 155.5s[qwen3.8:27b] C1 done 375.5s[qwen3.8:27b] C2 done 346.8s[qwen3.8:27b] C3 done 364.4s
บันทึกเวลาเพียงชุดเดียวจากการรันแบบรวมคำถาม คัดลอกจากล็อกตามต้นฉบับ C1 ถึง C3 คือสามรอบ
ขนาดเอาต์พุตและเวลาของแต่ละรอบแบบรวมคำถาม
โมเดลรอบเอาต์พุต (ไบต์)แถบขนาดวินาที
MoEรอบที่ 10 ⚠187.7
MoEรอบที่ 2475168.9
MoEรอบที่ 3488155.5
denseรอบที่ 1495375.5
denseรอบที่ 2533346.8
denseรอบที่ 3495364.4
รอบแรกของ MoE เขียนเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานเป็น 0 ไบต์ แล้วจบการทำงานอย่างเงียบ ๆ
บันทึกรายข้อ การรันแบบรวมคำถาม
คำถามMoE
รอบที่ 1
MoE
รอบที่ 2
MoE
รอบที่ 3
dense
รอบที่ 1
dense
รอบที่ 2
dense
รอบที่ 3
ข้อ 1ไม่มีผลลัพธ์ผิดถูกถูกผิดถูก
ข้อ 2ไม่มีผลลัพธ์ถูกผิดถูกถูกถูก
ข้อ 3ไม่มีผลลัพธ์ถูกถูกถูกถูกถูก
ข้อ 4ไม่มีผลลัพธ์ผิดถูกถูกถูกถูก
ข้อ 5ไม่มีผลลัพธ์ถูกถูกถูกถูกถูก
ข้อ 6ไม่มีผลลัพธ์ถูกถูกถูกถูกถูก
คำตอบย่อยที่ผิด: MoE รอบ 2 ข้อ 1 (ตกไป 1 จาก 15 รายการ) และข้อ 4 (จริง/เท็จกลับด้าน) MoE รอบ 3 ข้อ 2 (ตอบเป็นนิพจน์และตัวแปรภายในแทนชื่อฟังก์ชันและค่าคงที่) dense รอบ 2 ข้อ 1 (ถูกครบ 15 รายการ แต่เพิ่มชื่อที่ไม่มีอยู่จริง 2 ชื่อ)

อภิธานศัพท์

MoE (mixture of experts)
โมเดลที่ใช้พารามิเตอร์เพียงบางส่วนต่อโทเคน
โมเดล dense
โมเดลที่ใช้พารามิเตอร์ทั้งหมดต่อโทเคน
prefill
ขั้นที่โมเดลอ่านทุกอย่างที่ได้รับ เช่น ไฟล์ที่เอเจนต์เปิด
decode
ขั้นที่โมเดลเขียนคำตอบออกมาทีละโทเคน
tok/s
จำนวนโทเคนต่อวินาที บอกว่า decode เร็วแค่ไหน
เวลาจริง (wall-clock)
เวลาจริงตั้งแต่เริ่มจนจบการรัน รวม prefill และ decode
ตรงกันทุกตัวอักษร (exact match)
นับว่าถูกก็ต่อเมื่อตรงกับเฉลยที่คนตรวจสอบแล้วทุกตัวอักษร

ข้อมูลและวิธีการ

ดาวน์โหลดข้อมูล

บันทึกเบื้องหลังบทความนี้ ในรูปแบบไฟล์ธรรมดา แต่ละไฟล์ CSV ขึ้นต้นด้วยส่วนอธิบายสั้น ๆ

# ที่มา: ล็อกการรันของเราเอง วัดผลเมื่อ 17 สิงหาคม 2569 บน Apple M1 Max 64 GB ด้วย Ollama 0.32.14 ให้คะแนนด้วยสคริปต์ ไม่เผยแพร่คำตอบที่ถูกต้อง สัญญาอนุญาต: ยังไม่ได้ระบุ

แหล่งอ้างอิง

  1. ล็อกการรันและเฉลย. ล็อกการรันของเราเอง ให้คะแนนใหม่ด้วยการเทียบตรงกันทุกตัวอักษรกับเฉลยที่คนตรวจสอบแล้ว ทีมเก็บรักษาไว้ ไม่เผยแพร่เฉลย
  2. ไฟล์ข้อมูลด้านบน. ตัวเลขทุกตัวในบทความนี้อยู่ในไฟล์เหล่านั้น

พร้อมจะทำให้ธุรกิจของคุณเติบโตไปกับ Nekowebops แล้วหรือยัง

เล่าเกี่ยวกับธุรกิจของคุณ แล้วเราจะดูแลต่อให้

เริ่มต้นใช้งาน
มาสคอตแมวของ Nekowebops ยิ้มขณะทำงานกับแล็ปท็อป