productize.blog
ทดสอบจริง · decision model แบบ Jev กับงานบัญชี

Decision model แบบ Jev ช่วยลดงานบัญชีได้ไหม เราลองกับภาษีหัก ณ ที่จ่าย

เราลองให้ decision model แบบ Jev ช่วยเลือกอัตราหัก ณ ที่จ่ายให้รายการค่าใช้จ่าย 22 รายการ ให้มันเลือกอัตราเองทั้งหมด ก็มีรายการที่หักน้อยกว่าที่ควรหลุดไปโดยไม่มีใครเห็น พอให้มันบอกแค่ว่าจ่ายค่าอะไร แล้วให้ตารางเลือกอัตรา รายการที่ปล่อยผ่านโดยไม่มีคนดูก็ไม่มีรายการไหนภาษีขาดอีก แต่มันยังพลาดข้อยกเว้น 1 เคสที่ควรเป็นงานของคน

Yim· เขียนด้วยกันกับ Dobby (AI Oracle)/6 ตุลาคม 2026

สิ้นเดือนทีไร ฝ่ายบัญชีก็ต้องไล่รายการจ่ายทีละบรรทัด ค่าซ่อมแอร์ ค่าเช่าเครื่องถ่ายเอกสาร ค่าจ้างฟรีแลนซ์ทำเว็บ แต่ละบรรทัดต้องตอบให้ได้ว่าหัก ณ ที่จ่ายกี่เปอร์เซ็นต์ งานแบบนี้ซ้ำ เยอะ และพลาดแล้วเสียเงิน

ช่วงนี้มี AI กลุ่มใหม่ที่คนเรียกรวมๆ ว่า decision model ตัวที่คนพูดถึงกันมากคือ Jev ของบริษัท TypeSafe มันไม่ได้มาเขียนคำตอบยาวๆ แบบแชตบอต แต่มาตัดสินใจเลย เราเลยอยากรู้ว่าถ้าเอามาช่วยงานแบบนี้ มันช่วยได้จริงไหม แล้วควรให้มันตัดสินแค่ไหน

เราลองกับรายการค่าใช้จ่ายที่แต่งขึ้นเอง 2 ชุด รวม 51 เคส ไม่มีข้อมูลลูกค้าจริงเลยสักบรรทัด

ช่วงที่ 1decision model คืออะไร ปกติเขาใช้ทำอะไร

AI ที่เราคุ้นกันคือ LLM แบบที่พิมพ์คุยแล้วมันตอบกลับมาเป็นย่อหน้า decision model ไม่เขียนอะไรเลย

เราส่งไปให้มัน 3 อย่าง คือข้อความที่จะให้ตัดสิน (ในที่นี้คือรายการค่าใช้จ่าย 1 บรรทัด) คำถาม (รายการนี้หักกี่เปอร์เซ็นต์) และตัวเลือกทั้งหมดที่ตอบได้ (0% 1% 2% 3% 5% 10% กับอัตราก้าวหน้า ซึ่งคือการหักเป็นขั้นแบบภาษีเงินเดือน) มันตอบกลับมาเป็นตัวเลขของทุกตัวเลือก ว่าแต่ละตัวน่าจะถูกแค่ไหน ไม่มีคำอธิบายสักคำ

ลองนึกถึงข้อสอบปรนัยที่คนตอบต้องบอกด้วยว่ามั่นใจแต่ละข้อแค่ไหน หน้าตาประมาณนั้นเลย

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

งานที่คนเอา decision model ไปใช้กัน คืองานที่ต้องเลือกซ้ำๆ จากตัวเลือกที่รู้อยู่แล้ว เช่น ticket ที่ลูกค้าเปิดเข้ามา ควรส่งให้ทีมไหน ตัวเลือกมีไม่กี่ทีม มาวันละหลายพันใบ และถ้ามันไม่แน่ใจ ก็ให้คนดูแทน คำขออนุมัติ หรือ transaction ที่อาจเสี่ยง ก็หน้าตาแบบเดียวกัน

ถ้ามีเป็นล้านรายการ ให้ decision model เลือกก็ถูกกว่าและเร็วกว่าเรียก LLM มาเขียนคำตอบทุกครั้ง ข้อนี้เป็นเหตุผลฝั่งต้นทุนที่เขาพูดกัน เราไม่ได้วัดเอง

ตัว Jev เองยังเปิดแบบ early access ใช้ได้ผ่านบริการของบริษัทผู้พัฒนาเท่านั้น (อ้างอิง 1) เราเลยไม่ได้ลอง Jev ตรงๆ แต่ลองโมเดลของ Cloudflare 2 ตัวที่รับส่งข้อมูลแบบเดียวกับ Jev คือ Clef-flash ตัวเล็กขนาด 9B กับ Clef ตัวใหญ่ขนาด 27B (B คือจำนวนพารามิเตอร์หน่วยพันล้าน ยิ่งมาก โมเดลยิ่งใหญ่) decision model ตัวอื่นในกลุ่มนี้อยู่ในอ้างอิงท้ายบทความ

ช่วงที่ 2ทำไมเราคิดว่ามันน่าจะลดงานบัญชีได้

ช่วงนี้เป็นความเห็นของเรา ยังไม่ใช่ผลทดลอง

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

หน้าตาแบบนี้ตรงกับสิ่งที่ decision model ถนัดพอดี ถ้าความมั่นใจแยกได้จริงว่ารายการไหนควรมีคนดู รายการที่ AI มั่นใจก็ผ่านไปเอง ที่ไม่แน่ใจก็ไปถึงคน แทนที่นักบัญชีจะไล่ดูทุกบรรทัด ก็ได้ดูเฉพาะบรรทัดที่ต้องคิดจริงๆ

เรื่องที่เราอยากรู้ที่สุดจึงเป็นเรื่องเดียว

ตอนมันพลาด มันรู้ตัวไหม

แล้วทำไมต้องหัก ณ ที่จ่าย? เพราะเป็นสนามทดสอบที่ดีอยู่ 2 อย่าง อย่างแรก กฎเขียนไว้ชัด ทั้ง ท.ป.4/2528 (คำสั่งกรมสรรพากรที่กำหนดอัตราหักตามประเภทการจ่าย) และคำวินิจฉัยของกรมสรรพากร ซึ่งเลขขึ้นต้นด้วย กค (ย่อมาจากกระทรวงการคลัง) ทุกเคสจึงมีคำตอบที่ถูกให้เทียบได้

อย่างที่สอง ตอบผิดแล้วเสียเงินจริง และผิดได้ 2 ทางที่ราคาไม่เท่ากัน หักเกินนั้นคู่ค้าโทรมาบ่น แล้วก็แก้กันได้ แต่ภาษีขาด คือหักน้อยกว่าที่ควร หรือไม่หักทั้งที่ต้องหัก ผู้จ่ายต้องควักจ่ายภาษีส่วนที่ขาดเอง พร้อมเงินเพิ่มร้อยละ 1.5 ต่อเดือนหรือเศษของเดือน (ประมวลรัษฎากร มาตรา 27) ซึ่งเป็นคนละเรื่องกับเบี้ยปรับ เราเลยสนใจภาษีขาดมากกว่าจำนวนเคสที่ตอบถูก

ช่วงที่ 3เราลองยังไง

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

ก่อนรันชุดใหม่ เราล็อกทุกอย่างไว้ ทั้งเส้น 0.7 ข้อความที่ส่งให้โมเดล (prompt) และโค้ดที่ใช้รัน จะได้ไม่เผลอแก้ทีหลังให้ผลออกมาสวย

เฉลยก็เทียบกับ ท.ป.4/2528 และคำวินิจฉัยด้วย แล้วก็เจอว่าเฉลยเราผิดเองอยู่บางเคส เรื่องนี้เล่าในช่วงที่ 7 ตัวเลขทุกตัวข้างล่างคิดจากเฉลยที่แก้แล้ว

เราลอง 2 วิธี

  1. ให้ AI เลือกอัตราเอง ส่งรายการเข้าไป ให้มันเลือกจาก 0% 1% 2% 3% 5% 10% และอัตราก้าวหน้า
  2. แยกงาน ให้ AI ตอบแค่ว่ารายการนี้จ่ายค่าอะไร จาก 17 หมวด เช่น ค่าบริการหรือจ้างทำของ ค่าเช่าทรัพย์สิน ดอกเบี้ย ส่วนผู้รับเป็นใครกับยอดเท่าไร โค้ดอ่านจากข้อมูลแบบที่ระบบบัญชีมี (ในการทดลองนี้เรากรอกให้เอง) อัตราเลือกจากตาราง และข้อยกเว้นให้คน (ช่วงที่ 6)

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

แต่ละวิธีลองกับโมเดล 2 ตัว และ prompt 2 ภาษา รวมเป็น 4 แบบ คือ Clef-flash ภาษาไทย Clef-flash ภาษาอังกฤษ Clef ภาษาไทย และ Clef ภาษาอังกฤษ เราตกลงไว้ก่อนเลยว่า Clef-flash ภาษาไทยเป็นตัวหลัก ใช้ตัดสินว่าผ่านหรือไม่ อีก 3 แบบรันไว้ดูเทียบ

ก่อนลอง เราตั้งเกณฑ์ผ่านไว้ว่า ในเคสที่ AI ตัดสินเอง ต้องไม่มีเคสไหนหักต่ำกว่าเฉลย (รวมไม่หักทั้งที่ต้องหัก) และต้องไม่มีเคสไหนหักผิดประเภทอัตรา เคสที่ผิดข้อใดข้อหนึ่งนับเป็นพลาดตามเกณฑ์ เช่น ค่าเช่าเครื่องถ่ายเอกสารที่ต้องหัก 5% แต่หักไป 3% ชุดแรกยังต้องตอบถูกอย่างน้อย 26 จาก 29 เคสด้วย

ลองนึกถึงค่าจ้างฟรีแลนซ์ เงินได้ตามมาตรา 40(2) (เงินได้จากการรับทำงานให้) ต้องหักตามอัตราก้าวหน้าแล้วลงแบบ ภ.ง.ด.1 เหมือนเงินเดือนตามมาตรา 40(1) ถ้าไปหัก 3% แบบอัตราคงที่ รายการจะไปลงแบบ ภ.ง.ด.3 แทน การตอบผิดฝั่งระหว่างอัตราก้าวหน้ากับอัตราคงที่แบบนี้ คือหักผิดประเภทอัตรา

แต่หักผิดประเภทอัตราไม่ได้แปลว่าภาษีขาดเสมอไป อันนี้เราเพิ่งเห็นชัดตอนไล่ตัวเลขเป็นบาท

คำชี้แจงท้ายแบบ ภ.ง.ด.1 ข้อ 2.6 บอกว่าเงินได้ที่ไม่รู้ว่าจะจ่ายกี่คราวต่อปี ให้คิดภาษีจากยอดที่จ่ายคราวนั้นตามมาตรา 48(1) และ "หากคำนวณแล้วไม่มีเงินภาษีที่ต้องเสียก็ไม่ต้องหัก" ค่าพิธีกร 30,000 บาทที่จ่ายครั้งเดียว หักค่าใช้จ่าย 50% เหลือ 15,000 บาท หักค่าลดหย่อนส่วนตัว 60,000 บาทแล้วก็ไม่เหลืออะไรให้คิดภาษี ภาษีเป็น 0 บาท

เคสที่เฉลยเป็นอัตราก้าวหน้าในชุดของเราออกมาเป็น 0 บาทแบบนี้ทุกเคส (ยกเว้น 2 เคสที่เป็นเงินได้ของพนักงาน ซึ่งต้องรู้เงินเดือนก่อน) ถ้า AI ไปตอบอัตราคงที่ ก็คือหักเกิน ไม่ใช่ภาษีขาด

เราเลยนับคู่กัน 2 อย่าง พลาดตามเกณฑ์ยังเป็นตัวตัดสินผ่านเหมือนเดิม ส่วนภาษีขาดนับเป็นบาท ดูว่าเงินขาดจริงหรือเปล่า ตัวหลังนี้เพิ่มทีหลัง ตอนเห็นผลแล้ว เลยไม่ได้เอามาแทนเกณฑ์

ช่วงที่ 4ให้มันเลือกอัตราเองทั้งหมด ยังไม่รอด

ค่าเช่าเครื่องถ่ายเอกสารในชุดใหม่ต้องหัก 5% แต่มันตอบ 3% ที่ความมั่นใจ 0.75 เส้นตัดอยู่ที่ 0.7 เคสนี้เลยผ่านไปโดยไม่มีใครเห็น ให้มันเลือกอัตราเองทั้งหมดจึงยังไม่เหมาะ และความมั่นใจสูงก็ไม่ได้แปลว่าตอบถูก

ไม่บอกกฎ มันก็แค่เดา

ครั้งแรกเราให้แค่ตัวเลือก 7 ตัว ไม่บอกกฎอะไรเลย ถูก 3 ถึง 8 จาก 29 เคส ใกล้กับเดาสุ่ม ไม่มีโมเดลไหนรู้เรื่องหัก ณ ที่จ่ายของไทยมาเอง

พอเพิ่มกฎ 1 บรรทัดต่อตัวเลือก ที่เราสรุปเองจาก ท.ป.4/2528 ลงไปใน prompt ผลก็ขยับ ใช้ prompt ภาษาไทย Clef ถูก 21 จาก 29 Clef-flash ถูก 19 ส่วน Clef-flash กับ prompt ภาษาอังกฤษขึ้นไปถึง 25 แต่ก็ยังไม่ถึง 26 ไม่มีตัวไหนผ่าน

ตอนเริ่มทดลอง เรายังลองโมเดลเล็กอีก 2 ตัวที่รันบนเครื่องเราเอง (อ้างอิง 3 และ 4) แล้วก็ตัดทิ้ง ตัวหนึ่งให้ความมั่นใจ 0.999 กับเคสที่เราแทรกไว้และตั้งใจเขียนให้กำกวม อีกตัวเจอข้อความไทยแล้วตอบคำตอบเดียวซ้ำทุกเคส ถูกแค่ 3 จาก 29

เคสที่มันตัดสินเองในชุดแรกดูดี แต่ชุดใหม่ล้ม

ถึงไม่มีตัวไหนตอบถูกถึง 26 จาก 29 แต่ถ้าดูเฉพาะเคสที่มันตัดสินเอง ชุดแรกดูดี และดูดีเกินจริงด้วย เพราะเส้น 0.7 ของชุดแรกเราเลือกหลังเห็นผลแล้ว (ตอนนั้นลองไว้หลายค่า 0.5 0.7 0.9) ตัวเลขที่ออกมาเลยเป็นกรณีดีที่สุดบนข้อมูลชุดเดียวกับที่ใช้เลือกเส้น

ในชุดแรก Clef-flash ภาษาไทยตัดสินเอง 15 จาก 29 เคส ถูก 13 อีก 2 เคสหักเกินทั้งคู่ ภาษีจึงไม่ขาด เคสแรกคือค่าจ้างฟรีแลนซ์ทำเว็บ 25,000 บาท มันตอบ 3% ที่ความมั่นใจ 0.78 แต่ค่าจ้างแบบนี้ต้องหักอัตราก้าวหน้า เคสนี้จึงหักผิดประเภทอัตรา และนับเป็นพลาดตามเกณฑ์ ถ้านับเป็นบาทคือหักเกิน 750 บาท เคสที่สองคือค่าสัมมนาพนักงานที่โรงแรม 48,000 บาท มันตอบ 3% ที่ 0.73 ทั้งที่ควรเป็น 0% เคสนี้หักเกินก็จริง แต่ยังอยู่ฝั่งอัตราคงที่เหมือนกัน เกณฑ์จึงไม่นับ

ชุดใหม่ที่ล็อกทุกอย่างไว้ก่อน ตัวหลักล้ม พลาดตามเกณฑ์ 3 เคสโดยไม่มีใครเห็น และทั้ง 3 เคสภาษีขาดจริง

ตัวหลัก ชุดใหม่เคสผล
โมเดลตัดสินเอง10ถูก 7 พลาด 3 (ภาษีขาดทั้ง 3)
ส่งให้คน12คนเป็นผู้ตัดสิน (คำตอบของโมเดลถูก 6 เคส)
รวม22คำตอบของโมเดลถูก 13 เคส (7 + 6)

3 เคสที่หลุดไปคือ

อีก 3 แบบออกมาต่างกัน Clef-flash ภาษาอังกฤษกับ Clef ภาษาไทยไม่พลาดเลย Clef ภาษาอังกฤษพลาด 1 เคส คือพิธีกรที่จะเล่าในช่วงที่ 6 (หักผิดประเภทอัตรา ภาษีไม่ขาด) แต่ตัวที่ใช้ตัดสินคือตัวหลัก และตัวหลักไม่ผ่าน

ช่วงที่ 5มันเก่งตรงไหน พลาดตรงไหน

ในชุดใหม่ ตอนที่ยังให้มันเลือกอัตราเอง ค่าซักพรมที่จ่ายครั้งเดียว 800 บาท ถูกหัก 3% ใน 3 จาก 4 แบบ ความมั่นใจ 0.77 ถึง 0.92 ทั้งที่ยอดตามสัญญาไม่ถึง 1,000 บาทไม่ต้องหัก เป็นการหักเกิน ภาษีไม่ขาด มันอ่านรายการออก แต่ไม่ได้ดูยอด ที่มันพลาดส่วนใหญ่เป็นแบบนี้ คือไม่ใช่อ่านผิด แต่เป็นเรื่องเทียบยอด ผู้รับเป็นใคร และข้อยกเว้น ที่มันเก่งคืออ่านข้อความแล้วเลือกคำตอบเดียวจากตัวเลือกที่ให้ไว้ เช่น รายการนี้จ่ายค่าอะไร แต่การอ่านเองก็มีพลาดอยู่บ้าง

พอเอาข้อผิดพลาดของทั้ง 51 เคสมาวางเรียงกัน ก็แยกได้ 3 แบบ

ที่เหลือคือการอ่านว่ารายการนี้จ่ายค่าอะไร ซึ่งเป็นงานภาษาจริงๆ และเป็นส่วนที่มันถูกเป็นส่วนใหญ่ ที่อ่านผิดก็มี เช่น ค่าเช่าโกดังที่มันจัดเป็นค่าบริการ และพิธีกรที่มันจัดเป็นนักแสดง

ทำไปทำมา คำถามเลยเปลี่ยน จากเดิมที่ถามว่าโมเดลไหนตัดสินภาษีได้ กลายเป็นถามว่าควรให้มันตัดสินส่วนไหน แล้วส่วนที่เหลือควรเป็นของใคร

คนทำระบบกฎล้วน (rules engine) อาจถามว่า ถ้ามีตาราง มีข้อมูลผู้รับกับยอดอยู่แล้ว จะใช้โมเดลไปทำไม คำตอบของเราคือรายการค่าใช้จ่ายเป็นข้อความที่คนพิมพ์ การอ่านว่าจ่ายค่าอะไรจึงเป็นงานภาษา แต่เราไม่ได้ลองเทียบกับการจัดหมวดด้วยคีย์เวิร์ด เลยยังบอกไม่ได้ว่าห่างกันแค่ไหน

ช่วงที่ 6ต้องมีอะไรอยู่รอบๆ มัน

ให้ AI ทำแค่ชั้นอ่านข้อความ ที่เหลือมาจากระบบบัญชี ตาราง และคน ลองดูเคสเช่าเครื่องถ่ายเอกสารที่ตัวหลักเคยหักไป 3% แทน 5% ถ้าแยกคำตอบออกเป็นส่วนๆ ว่าจ่ายค่าอะไรมาจากโมเดล ผู้รับกับยอดมาจากระบบบัญชี อัตรามาจากตาราง และข้อยกเว้นไปที่คน ก็ได้ 4 ชั้นแบบในภาพ

สี่ชั้นของการหัก ณ ที่จ่าย แต่ละชั้นตัดสินเรื่องของตัวเองจากแหล่งของตัวเอง 01 อ่านข้อความ decision model ตอบแค่ประเภทการจ่าย เช่น ค่าเช่า · บริการ · โฆษณา 02 ข้อเท็จจริง ทะเบียนคู่ค้า ประเภทผู้รับ ยอดจากใบแจ้งหนี้ เช่น ซักพรม 800 บาท · ฟรีแลนซ์ 03 กฎหมาย ตารางอัตรา ทุกแถวอ้างที่มา เช่น โรงแรม · ดอกเบี้ยบริษัทเงินทุน 04 ข้อยกเว้น นอกตาราง คน มีคำวินิจฉัยอยู่ในมือ เช่น พิธีกรที่เป็นนักแสดง
4 ชั้นของการตัดสินอัตราหัก ณ ที่จ่าย: โมเดลทำเฉพาะชั้นภาษา
ส่วนชั้นอื่นเป็นของทะเบียนคู่ค้า ตารางอัตรา และคน

มี 2 เรื่องที่ภาพไม่ได้บอก เรื่องแรก ผู้รับเป็นใครกับยอดเท่าไร โมเดลไม่ต้องเดาจากข้อความเลย ระบบอ่านจากทะเบียนคู่ค้าและใบแจ้งหนี้หรือสัญญา เรื่องที่สอง ชั้นที่ 2 ต้องเก็บยอดสะสมของผู้รับแต่ละคนไว้ด้วย เพราะถ้าปีเดียวกันจ่ายคนเดิมซ้ำ ภาษีต้องคิดใหม่จากยอดรวม (ช่วงที่ 7)

ข้อผิดพลาด 3 แบบในช่วงที่ 5 ก็ไปลงคนละชั้น เทียบยอดกับผู้รับเป็นใครไปอยู่ชั้นที่ 2 ข้อยกเว้นที่เขียนเป็นแถวได้ เช่น โรงแรม ไปอยู่ชั้นที่ 3 ส่วนข้อยกเว้นนอกตาราง เช่น พิธีกร เป็นงานของคนในชั้นที่ 4

ตารางชั้นที่ 3 หน้าตาประมาณนี้ (ตัวอย่างบางแถว)

หมวดผู้รับ / เงื่อนไขอัตราที่มา
ค่าบริการโรงแรมหรือภัตตาคารทุกผู้รับ0%ท.ป.4/2528 ข้อ 12/1 · กค 0706(กม.05)/1022
ค่าโดยสารขนส่งสาธารณะทุกผู้รับ0%ท.ป.4/2528 ข้อ 12/4
ซื้อสินค้า รวมค่าน้ำค่าไฟตามมิเตอร์ทุกผู้รับ0%กค 0702/8593
ดอกเบี้ยสถาบันการเงิน0%ท.ป.4/2528 ข้อ 4(2)
ดอกเบี้ยนิติบุคคลทั่วไป1%ท.ป.4/2528 ข้อ 4(3)(ก)
ค่าบริการหรือจ้างทำของยอดตามสัญญาไม่ถึง 1,000 บาท0%ท.ป.4/2528 ข้อ 12/7
ค่าบริการหรือจ้างทำของบุคคลธรรมดาทำงานคนเดียวอัตราก้าวหน้ากค 0702/1232
ค่าบริการหรือจ้างทำของนิติบุคคล3%ท.ป.4/2528 ข้อ 8(2)

ตารางนี้ไม่ได้ฉลาดกว่าโมเดลหรอก แต่ถ้าแถวไหนผิด เราชี้ได้ว่าผิดเพราะอ้างข้อไหน แล้วแก้แถวนั้นแถวเดียว

ก่อนให้โมเดลลอง เราเช็คตารางก่อน โดยใส่หมวดที่ถูกเข้าไปเองทุกเคส ตารางให้อัตราตรงเฉลยครบ 51 เคส ฟังดูดี แต่แถวในตารางก็สร้างจากเคสชุดเดียวกันนี้ เลยบอกได้แค่ว่าตารางตรงกับเฉลยของเรา ยังไม่ได้บอกอะไรเรื่องเคสใหม่ และไม่ได้วัดโมเดลเลย

แถว "บุคคลธรรมดาทำงานคนเดียว" ต้องรู้เรื่องที่ข้อความในรายการไม่ได้บอก บุคคลธรรมดาที่รับงานเองและไม่ได้ตั้งเป็นกิจการ มีเงินได้ 40(2) หักตามอัตราก้าวหน้า ถ้ามีค่าใช้จ่ายสูงจนเป็นเงินได้ 40(8) (เงินได้จากธุรกิจ) ก็หัก 3% ข้อมูลที่เราจำลองไว้มีแค่ประเภทผู้รับ (บุคคลธรรมดา นิติบุคคล สถาบันการเงิน หน่วยงานรัฐ) กับยอดตามสัญญา ไม่มีช่องบอกว่ารับงานคนเดียว ตารางของเราเลยถือว่าบุคคลธรรมดาที่รับจ้างทุกรายรับงานคนเดียว

ของที่ต้องเตรียมไว้ให้ระบบกับคนหยิบใช้มี 2 ชิ้น ชิ้นแรกคือตารางอัตราที่ทุกแถวอ้างที่มา สำหรับชั้นที่ 3 ชิ้นนี้เราใช้จริงในการทดลอง ชิ้นที่สองคือรายการข้อยกเว้นที่รู้แล้ว ให้คนในชั้นที่ 4 ใช้ ชิ้นนี้ยังเป็นข้อเสนอ อยู่ในกล่องท้ายช่วงนี้

แยกงานแล้วเป็นยังไง

พอแยกงาน ค่าเช่าเครื่องถ่ายเอกสารเคสเดิมได้ 5% ตรงเฉลย และไม่มีแบบไหนที่ AI ตัดสินเองแล้วทำให้ภาษีขาดเลย แต่พลาดตามเกณฑ์รวมทั้ง 4 แบบยังเท่าเดิม เพราะเคสพิธีกรยังหลุด ภาษีขาดหายหมด แต่ยังไม่ผ่านเกณฑ์

เรารันชุดใหม่ 22 เคสเดิมอีกครั้ง ทั้ง 4 แบบเดิม เส้น 0.7 เดิม สิ่งที่เปลี่ยนมี 3 อย่าง คือคำถามที่ส่งให้โมเดล (ถามแค่ว่าจ่ายค่าอะไร จาก 17 หมวด) ตารางอัตรา และข้อมูลประเภทผู้รับกับยอดตามสัญญาที่โค้ดอ่าน ประเภทผู้รับกับยอดนี้ เรากรอกเองจากข้อความในเคส แทนข้อมูลจริงจากทะเบียนคู่ค้าและใบแจ้งหนี้หรือสัญญา และเพราะเปลี่ยนพร้อมกัน 3 อย่าง เราจึงแยกไม่ได้ว่าอย่างไหนช่วยมากแค่ไหน

ตัวเลขซ้ายของลูกศรคือให้ AI เลือกอัตราเอง ตัวขวาคือแยกงาน ตัวหลักดีขึ้นทุกช่อง ภาษีขาดเหลือ 0 แต่ยังพลาดตามเกณฑ์อยู่ 1 เคส ซึ่งช่องนี้ต้องเป็น 0 ถึงจะผ่าน

โมเดล / ภาษา promptตอบถูก
จาก 22 เคส
ก่อน → หลัง
โมเดล
ตัดสินเอง (เคส)
ก่อน → หลัง
พลาด
ตามเกณฑ์
ก่อน → หลัง
ภาษีขาด
(เคส)
ก่อน → หลัง
Clef-flash ภาษาไทย (ตัวหลัก)13 → 1910 → 153 → 13 → 0
Clef-flash ภาษาอังกฤษ18 → 2110 → 220 → 10 → 0
Clef ภาษาไทย15 → 2112 → 180 → 10 → 0
Clef ภาษาอังกฤษ18 → 2118 → 221 → 10 → 0
รวม 4 แบบ4 → 43 → 0

ทุกแบบตอบถูกมากขึ้น และตัดสินเองได้มากขึ้น 2 แบบภาษาอังกฤษตัดสินเองครบ 22 เคส คือไม่มีเคสไหนไปถึงคนเลย ภาษีขาดรวม 4 แบบลดจาก 3 เหลือ 0

ตอบถูกมากขึ้นแต่พลาดตามเกณฑ์ไม่ลด เพราะช่องพลาดนับเฉพาะเคสที่ AI ตัดสินเอง พอมันตัดสินเองมากขึ้น เคสที่เสี่ยงพลาดก็มากขึ้นตาม ตัวหลักดีขึ้นจาก 3 เหลือ 1 แต่อีก 3 แบบพลาดเพิ่มขึ้นหรือเท่าเดิม และเคสที่เหลือของทุกแบบคือพิธีกรเคสเดียวกัน

ในตัวหลัก เคสที่เคยมีปัญหาเปลี่ยนไปแบบนี้

เคสจากชุดแรกก็ออกมาถูก แต่ชุดแรกเราเห็นข้อผิดพลาดก่อนออกแบบตารางอยู่แล้ว

เคสที่เหลือคือพิธีกร

ก่อนแยกงาน พลาดตามเกณฑ์ 4 ครั้งมาจาก 4 เคสต่างกัน คือเช่าเครื่องถ่ายเอกสาร ดอกเบี้ยให้บริษัทแม่ ค่าเช่าที่ดินให้บุคคลธรรมดา และพิธีกร หลังแยกงาน ทั้ง 4 ครั้งเหลือเคสเดียว

เคสนั้นคือ "จ่ายค่าตัวพิธีกรงานเปิดตัวสินค้า ให้นางสาวพิมพ์ นักแสดงชาวไทย (บุคคลธรรมดา) 30,000 บาท"

ข้อความบอกว่าผู้รับเป็นนักแสดง มันก็เลยนึกถึงหมวดค่าตัวนักแสดง ทั้ง 4 แบบตอบหมวดนี้ที่ความมั่นใจ 0.78 ถึง 0.85 หมวดนี้หมายถึงนักแสดงสาธารณะ เช่น นักร้อง นักดนตรี นักแสดงละครหรือภาพยนตร์ และนักกีฬาอาชีพที่มาแสดง หักอัตราคงที่ 5% แต่คำวินิจฉัย กค 0811/7831 บอกว่างานพิธีกรไม่เข้าหมวดนี้ เป็นเงินได้ 40(2) ที่ต้องหักตามอัตราก้าวหน้า (เคสนี้จึงหักเกิน ไม่ใช่ภาษีขาด รายละเอียดอยู่ในช่วงที่ 7)

ก่อนแยกงาน ตัวหลักก็ตอบเคสนี้ผิด (5% ที่ความมั่นใจ 0.36) แต่ความมั่นใจต่ำ เคสเลยไปถึงคน หลังแยกงาน โมเดลจัดเป็นค่าตัวนักแสดงที่ 0.81 แล้วตัดสินเอง ตัวหลักเลยแลก 3 เคสเดิมที่ภาษีขาด กับเคสพิธีกร 1 เคสที่เมื่อก่อนเคยไปถึงคน

ที่น่าคิดคือ คำว่า "พิธีกร" อยู่ในคำอธิบายหมวดที่โมเดลเห็นอยู่แล้ว เราเขียนหมวดค่านายหน้าหรือค่ารับทำงานให้ไว้ว่า "ค่านายหน้า หรือค่าตอบแทนงานที่บุคคลทำให้ เช่น พิธีกร"

ความรู้วางอยู่ตรงหน้าแล้ว โมเดลก็ยังเลือกคำว่านักแสดง

เคสแบบนี้คือข้อยกเว้นที่คนทำบัญชีต้องรู้ และความมั่นใจสูงก็ไม่ได้ช่วยส่งมันไปถึงคน ทางที่เราคิดไว้อยู่ในกล่องข้างล่าง

ช่วงที่ 7ระวังอะไรบ้าง

ความมั่นใจสูงไม่ได้แปลว่าถูก

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

หลังแยกงาน 2 แบบภาษาอังกฤษ ทั้ง Clef-flash และ Clef ตัดสินเองครบ 22 จาก 22 เคส ไม่มีเคสไหนไปถึงคนเลย แต่ก็ยังพลาดเคสพิธีกรทั้งคู่ ในแบบนี้ คนไม่มีโอกาสได้เห็นเคสที่พลาดเลย

กฎที่เราเขียนผิด มันก็ผิดตาม

เราเทียบเฉลยกับ ท.ป.4/2528 หรือคำวินิจฉัยไปแค่บางส่วน แล้วก็เจอว่าผิดเองอยู่

ชุดเคสที่ตรวจกับ ท.ป.4/2528
หรือคำวินิจฉัยแล้ว
เคสที่เฉลยผิด
ชุดแรก12 จาก 29 เคส2 เคส (ฟรีแลนซ์ทำเว็บ สัมมนาที่โรงแรม)
ชุดใหม่ (ก่อนรัน)5 จาก 22 เคส1 เคส (พิธีกร แก้ก่อนรัน)
รวม17 เคส3 เคส

เจอผิด 3 จาก 17 เคสที่ตรวจ เฉลยของเคสที่ยังไม่ได้ตรวจจึงอาจผิดอีก

เคสแรกคือฟรีแลนซ์ทำเว็บ "จ่ายค่าจ้างพัฒนาเว็บไซต์ ให้นางสาวมาลี ฟรีแลนซ์ (บุคคลธรรมดา) 25,000 บาท" เฉลยแรกของเราคือหัก 3% และทั้ง 4 แบบที่มีกฎใน prompt ก็ตอบ 3% ที่ความมั่นใจ 0.78 ถึง 0.93

แต่คำวินิจฉัย กค 0702/1232 ว่าด้วยฟรีแลนซ์ที่รับงานเองคนเดียวและไม่ได้ตั้งเป็นกิจการ เงินได้แบบนี้เป็นเงินได้ตามมาตรา 40(2) ของประมวลรัษฎากร ต้องหักตามอัตราก้าวหน้า เฉลยที่แก้แล้วตั้งข้อเท็จจริงของมาลีไว้แบบนี้ ถ้าฟรีแลนซ์มีค่าใช้จ่ายสูงจนเป็นเงินได้ 40(8) อัตราจะเป็น 3% แทน กฎใน prompt ไม่เคยแยกสองกรณีนี้ โมเดลเลยผิดตรงเดียวกับเรา ด้วยความมั่นใจพอๆ กับเรา

เคสที่สองคือสัมมนาที่โรงแรม ค่าจัดสัมมนาพนักงานแบบเหมาห้องและอาหารที่จ่ายให้โรงแรม 48,000 บาท เฉลยแรกบอก 3% แต่ค่าบริการของโรงแรมได้รับยกเว้นตามข้อ 12/1 ของ ท.ป.4/2528 (ดูคำวินิจฉัย กค 0706(กม.05)/1022 ประกอบ) ต้องเป็น 0% และทั้ง 4 แบบของ Clef กับ Clef-flash ก็ตอบ 3% ตามเฉลยแรกที่ผิด เพราะกฎบรรทัด 3% ใน prompt ไม่ได้พูดถึงโรงแรมเลย

ใน 2 เคสนี้ ความผิดอยู่ในกฎที่คนเขียน ตั้งแต่ก่อนโมเดลจะได้เห็น โมเดลทำตามกฎที่ได้รับอย่างเคร่งครัด รวมทั้งช่องโหว่ในกฎด้วย ถ้าเราไม่ได้เช็คเฉลยกับคำวินิจฉัย ฟรีแลนซ์ทำเว็บก็จะยังนับเป็นเคสที่โมเดลทำถูก และตัวเลขที่เรารายงานก็จะดีเกินจริงไปเรื่อยๆ

ที่เราจับได้ก็เพราะเอาเฉลยไปเทียบกับข้อของ ท.ป.4/2528 และเลขคำวินิจฉัยทีละเคส ถ้ากฎในระบบไม่มีเลขอ้างอิงกำกับ เราจะตามหาบรรทัดที่ผิดไม่เจอเลย

ถ้อยคำกับภาษาเปลี่ยนผลได้

เราเขียน prompt แบบเดียวต่อภาษา ไม่ได้ลองเปลี่ยนถ้อยคำ กฎทุกบรรทัดกับคำอธิบายหมวดเราเขียนเอง คำแปลอังกฤษก็เราแปลเอง เปลี่ยนถ้อยคำแล้วตัวเลขอาจขยับทั้งหมด ผลภาษาไทยกับภาษาอังกฤษก็ต่างกันอย่างที่เห็นในตาราง

กฎใน prompt เองก็มีจุดที่ไม่ตรงกับกฎหมาย ตอนให้ AI เลือกอัตราเอง กฎ 0% เขียนว่า "จ่ายครั้งละไม่ถึง 1,000 บาท" ขณะที่ข้อ 12/7 นับยอดตามสัญญา เราปล่อยไว้แบบนั้นเพื่อให้ชุดใหม่ใช้ prompt เดิม

ส่วนเรื่องขนาดโมเดล ยังสรุปไม่ได้ บางแบบตัวใหญ่ (Clef) ดีกว่า บางแบบแย่กว่า

หักผิดประเภทอัตรา ภาษีอาจไม่ขาด แต่งานยังไม่จบ

ถ้านับเป็นบาท เคสพิธีกรไม่ได้ขาดเงินภาษี ค่าพิธีกรที่จ่ายครั้งเดียว คิดตามข้อ 2.6 แล้วภาษีเป็น 0 การหัก 5% จึงหักเกินไป 1,500 บาท และรายการไปลงแบบ ภ.ง.ด.3 แทน ภ.ง.ด.1 แต่ตัวเลข 0 บาทนี้มีเงื่อนไขอยู่ข้อหนึ่ง และมีงานที่ยังต้องทำอีกข้อหนึ่ง

ตัวเลขภาษีขาดข้างบนตั้งอยู่บน 2 ข้อ คือเคสอัตราก้าวหน้าแต่ละเคสคิดจากยอดในเคสนั้นเลย และไม่มีการจ่ายคนเดิมซ้ำในปีเดียวกัน ตัวเลขนี้ไม่ได้นับ 2 เคสที่เป็นเงินได้ของพนักงาน (รางวัลพนักงานขายดีเด่นในชุดแรก กับโบนัสประจำปีในชุดใหม่) เพราะต้องรู้เงินเดือน ซึ่งเคสไม่ได้บอก

ผลยังไม่ผ่านเกณฑ์ และยังต้องหาเคสชุดที่สามมาลอง

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

อีก 2 เรื่องก็ต้องรู้ไว้ ข้อมูลผู้รับกับยอดเรากรอกเองจากข้อความในเคส ตัวเลขจึงไม่ได้วัดความผิดพลาดตอนดึงข้อมูลจริงจากระบบเลย และเคสมีน้อย ชุดแรก 29 เคส ชุดใหม่ 22 เคส แต่งขึ้นเองทั้งหมด ผิดเคสเดียวตัวเลขก็ขยับชัด ตัวเลขในบทความนี้จึงบอกได้แค่ทิศทาง

ที่เรายังไม่ได้ลอง

ที่อยากลองต่อที่สุดมี 2 อย่าง อย่างหนึ่งคือ Jev ตัวจริง เพราะผลในบทความนี้มาจากโมเดลที่รับส่งข้อมูลแบบเดียวกันแต่ไม่ใช่ Jev อีกอย่างคือจัดหมวดด้วยคีย์เวิร์ดล้วน เพราะถ้าคีย์เวิร์ดทำได้ใกล้กัน ก็อาจไม่ต้องใช้โมเดลเลย ส่วน decision model ตัวอื่นที่ใช้ API แบบเดียวกัน (อ้างอิง 5 และ 6) RAG และการ fine-tune คือฝึกโมเดลเพิ่มด้วยข้อมูลของเราเอง เราก็ยังไม่ได้ลองเหมือนกัน

เรื่อง RAG ที่อยู่ในกล่องข้อเสนอ เราเองก็สงสัยว่าจะใช้แทนตารางได้ไหม คำตอบตอนนี้คือบอกไม่ได้ว่าช่วยหรือไม่ช่วย ที่บอกได้มีแค่สัญญาณจากเคสพิธีกร (1 เคส 4 แบบ) ว่าเอาความรู้ใส่ใน prompt อย่างเดียวยังไม่พอ ถ้าจะลอง เราจะวาง RAG ไว้ที่ชั้นที่ 4 ตามกล่องข้อเสนอในช่วงที่ 6

แล้วตารางไม่ใช่ของตายหรือ คำวินิจฉัยออกใหม่ได้เรื่อยๆ? ก็จริง แต่ตารางที่ทุกแถวมีเลขอ้างอิง ทำให้เห็นว่าแถวไหนต้องแก้เมื่อมีคำวินิจฉัยใหม่ และเคสที่ตารางไม่ครอบคลุมก็ไปจบที่คนอยู่ดี

ถ้าจะลองแนวนี้ ระบบบัญชีที่มี vendor master และเก็บยอดจากใบแจ้งหนี้หรือสัญญาอยู่แล้ว ก็มีวัตถุดิบของชั้นข้อเท็จจริงอยู่ในมือ แม้เรายังไม่ได้ลองกับข้อมูลจริง ที่ต้องเพิ่มคือช่องบอกว่าบุคคลธรรมดารายนี้รับงานคนเดียวหรือเปล่า กับตารางที่ทุกแถวบอกได้ว่ามาจากไหน

ถ้าเราจะลองซ้ำกับงานจริง เราจะเริ่มจากเตรียมเคสที่รู้เฉลย ตรวจเฉลยกับคำวินิจฉัยก่อน แล้วค่อยถามว่าโมเดลตัวไหนตอบถูก

AI ที่เราอยากได้มาช่วยงานบัญชี คือตัวที่รู้ว่าข้อไหนควรส่งให้คน

ซึ่งในการทดลองนี้ เรายังไปไม่ถึง

ที่มาและอ้างอิง
  1. Laurence Moroney, "Decision models explained" (2 ตุลาคม 2026) Jev ของ TypeSafe: https://laurencemoroney.com/2026/10/02/decision-models-explained.html
  2. Flavio Copes, "Clef" (Cloudflare Clef และ Clef-flash): https://flaviocopes.com/clef/
  3. Strands Agents, "Introducing Strands Decider" (Strands Decider ขนาด 2B): https://strandsagents.com/blog/introducing-strands-decider/
  4. Convai Innovations (NandhaKishorM), Laya (GitHub) โมเดลหลายภาษาขนาดเล็ก: https://github.com/NandhaKishorM/laya
  5. Jared Palmer, Kev (GitHub) เปิดให้ดาวน์โหลด สร้างบน Qwen โมเดลเปิดของ Alibaba: https://github.com/jaredpalmer/kev
  6. The New Stack, "OpenAI answers TypeSafe's Jev with a Decision API built on Luna": https://thenewstack.io/openai-decision-api-luna/
  7. กรมสรรพากร, คำสั่ง ท.ป.4/2528 ข้อ 4(2) ข้อ 4(3)(ก) ข้อ 8(2) ข้อ 12/1 ข้อ 12/4 ข้อ 12/7: https://www.rd.go.th/3479.html
  8. กรมสรรพากร, กค 0702/1232 (ฟรีแลนซ์บุคคลธรรมดา เงินได้ 40(2)): https://www.rd.go.th/46407.html
  9. กรมสรรพากร, กค 0811/7831 (พิธีกรไม่ใช่นักแสดงสาธารณะ): https://www.rd.go.th/24194.html
  10. กรมสรรพากร, กค 0706(กม.05)/1022 (ค่าบริการโรงแรม): https://www.rd.go.th/28765.html
  11. กรมสรรพากร, กค 0811(กม.03)/1811 (ค่ารักษาพยาบาล): https://www.rd.go.th/24182.html
  12. กรมสรรพากร, กค 0702/1151 (ลิสซิ่ง): https://www.rd.go.th/54658.html
  13. กรมสรรพากร, กค 0702/8593 (ค่าน้ำค่าไฟตามมิเตอร์): https://www.rd.go.th/43925.html
ติดตาม

รับบทความใหม่และของฟรีก่อนใคร

ทิ้งอีเมลไว้ บทความใหม่และของฟรีเป็นครั้งคราวจะส่งไปให้ ไม่สแปม

ใช้อีเมลเพื่อส่งอัปเดตเท่านั้น

ความคิดเห็น

ร่วมพูดคุย

แบ่งปันความคิดเห็นได้เลย

ชื่อจะแสดงต่อสาธารณะ อีเมลเก็บเป็นความลับ ไม่แสดงที่ไหน

กำลังโหลดความคิดเห็น…