AI แต่งตัวเลขงบได้เนียนกว่าที่คุณคิด — และคนที่เสียเงินคือคุณ ไม่ใช่ AI
AI ไม่ได้แต่งตัวเลขจากอากาศ มันแต่งรอบตัวเลขจริงจนคุณจับไม่ได้ — ถ้าคุณเอาตัวเลขนั้นไปซื้อหุ้น คุณคือคนที่จ่าย นี่คือ 3 ด่านที่ผมใช้กันตัวเลขปลอม พร้อมสคริปต์ที่ก็อปไปใช้ได้เลย และวิธีที่ผมฝังทั้งสามด่านไว้ในเครื่องมือค้น 56-1/MD&A ให้แล้ว
AI แต่งตัวเลขงบได้เนียนกว่าที่คุณคิด — และคนที่เสียเงินคือคุณ ไม่ใช่ AI
AI ไม่ได้แต่งตัวเลขจากอากาศ มันแต่งรอบตัวเลขจริงจนคุณจับไม่ได้ — ถ้าคุณเอาตัวเลขนั้นไปซื้อหุ้น คุณคือคนที่จ่าย นี่คือ 3 ด่านที่ผมใช้กันตัวเลขปลอม พร้อมสคริปต์ที่ก็อปไปใช้ได้เลย และวิธีที่ผมฝังทั้งสามด่านไว้ในเครื่องมือค้น 56-1/MD&A ให้แล้ว
ถ้าคุณเคยก็อปงบการเงินไปวางใน AI แล้วถามว่า "หุ้นตัวนี้งบดีไหม" — แล้วได้ย่อหน้าสวย ๆ กลับมา ตัวเลขครบทุกช่อง มีเชิงอรรถอ้างอิงเรียบร้อย อ่านแล้วน่าเชื่อถือทุกบรรทัด ผมอยากให้คุณอ่านบทความนี้ก่อนที่จะเอาตัวเลขชุดนั้นไปกดซื้อ
วันหนึ่งระบบเขียนข่าวอัตโนมัติของผมส่งบทความมาให้ตรวจ ในนั้นมีตารางเปรียบเทียบอัตราการใช้ AI ของห้าประเทศ สวยงาม มีเชิงอรรถอ้างอิงครบ ปัญหาคือมีตัวเลขจริงอยู่แค่ตัวเดียว ที่เหลือถูก "เติมให้ครบตาราง" และแหล่งที่มันอ้างก็ไม่เคยพูดถึงตัวเลขพวกนั้นเลย — ที่แย่กว่านั้นคือมันเขียนรายงานยืนยันการตรวจสอบแนบมาด้วย เป็นรายงานที่มันพิมพ์เองโดยไม่เคยเปิดลิงก์ต้นทางสักครั้ง
ผมทำงานสาย model validation ในแบงก์มาหลายปี งานของผมคือถามคำถามเดียวซ้ำ ๆ กับทุกโมเดลที่จะถูกเอาไปใช้จริง: "คุณรู้ได้อย่างไรว่ามันถูก" และเคสนี้สอนผมว่าปัญหาไม่ได้อยู่ที่โมเดล แต่อยู่ที่ผมออกแบบระบบตรวจให้ "ผู้ถูกตรวจเป็นคนให้เกรดตัวเอง"
ถ้าตารางนั้นไม่ใช่อัตราการใช้ AI แต่เป็นอัตรากำไรขั้นต้นของหุ้นที่คุณกำลังจะซื้อ — เรื่องนี้จะไม่ใช่เรื่องคุณภาพงานเขียนอีกต่อไป มันคือเงินในพอร์ตคุณ
1. ในตลาดหุ้น "เชื่อโดยไม่ตรวจ" มีราคาเป็นเงินจริง
ความเสี่ยงที่แท้จริงของ AI หลอนไม่ได้อยู่ที่ตัวโมเดลเลย มันอยู่ที่ โครงสร้างของการรับผล — ลองไล่ลำดับดูช้า ๆ ว่าใครเป็นคนจ่ายในแต่ละขั้น
| ขั้นตอน | สิ่งที่เกิดขึ้น | ใครรับผล |
|---|---|---|
| AI สรุปงบให้ | ตัวเลข 9 ใน 10 ตัวถูก ตัวที่ 10 ถูกเติมให้ตารางครบ | — |
| คุณอ่านแล้วเชื่อ | ทุกอย่างสมเหตุสมผล มีอ้างอิงประกบครบ | — |
| คุณกดซื้อ | เงินจริงออกจากพอร์ต | คุณ |
| ความจริงโผล่ | คุณเปิดงบฉบับจริงตอนราคาลงไปแล้ว | คุณ |
| ฝั่ง AI | ไม่มีอะไรเกิดขึ้นกับมันเลย แม้แต่นิดเดียว | — |
นี่ไม่ใช่การขู่ให้กลัว AI ผมใช้มันทุกวันและมันคือเครื่องมือที่ดีที่สุดที่นักลงทุนรายย่อยเคยมี ประเด็นคือ ผู้ผลิตข้อมูลกับผู้แบกความเสี่ยงเป็นคนละคนกัน และเมื่อไหร่ที่โครงสร้างเป็นแบบนี้ งานสายความเสี่ยงจะบอกว่าคุณต้องมีจุดตรวจคั่นกลางเสมอ ไม่ใช่เพราะไม่ไว้ใจ แต่เพราะความเชื่อใจที่พิสูจน์ไม่ได้ ไม่ใช่ control
กฎจากงานวัดความเสี่ยง: control ที่ผู้ถูกควบคุมเป็นคนรายงานผลเอง ไม่ใช่ control มันคือพิธีกรรม ในงาน model validation เราถึงไม่เคยให้ทีมที่สร้างโมเดลเป็นคนเซ็นรับรองโมเดลตัวเอง หลักการเดียวกันใช้กับ AI ที่สรุปงบให้เรา — คำยืนยันของมันว่า "ตรวจแล้ว" ไม่มีน้ำหนักใด ๆ ถ้าเราไม่ได้เห็นหลักฐานว่ามันเปิดเอกสารจริง
2. AI ไม่ได้แต่งตัวเลขจากอากาศ — มันแต่งรอบตัวเลขจริง
รูปแบบการหลอนที่อันตรายที่สุดไม่ใช่การกุตัวเลขขึ้นมาลอย ๆ เพราะแบบนั้นคนอ่านจับได้ง่าย รูปแบบที่อันตรายคือโมเดลเจอตัวเลขจริงหนึ่งตัว แล้วสร้างบริบทรอบ ๆ ให้มันสมเหตุสมผล
ตัวเลขจริง 1 ตัว (มันเจอมาจริง ๆ)
│
├─ เติมบริษัทที่ขาด ให้ตารางเปรียบเทียบครบ ← เดา
├─ เติมปีที่หายไป ให้เห็นเทรนด์ต่อเนื่อง ← เดา
├─ ปัดเศษให้กลม อ่านลื่นขึ้น ← เพี้ยนจากของจริง
└─ วางเชิงอรรถของแหล่งที่ "มีอยู่จริง" ประกบ ← แหล่งจริง แต่ไม่เคยพูดถึงตัวเลขพวกนี้
│
▼
ย่อหน้าที่ทุกองค์ประกอบ "ดูตรวจสอบได้"
└─ ตรวจจริงแล้วรอดตัวเดียว จากทั้งย่อหน้า
ทำไมมันถึงหลุดสายตา เพราะเราตรวจผิดชั้น เวลาอ่านงานที่ AI เขียน เราตรวจว่า มีการอ้างอิงไหม ไม่ใช่ ตัวเลขนี้อยู่ในแหล่งนั้นจริงไหม สองอย่างนี้ต่างกันคนละโลก และช่องว่างระหว่างมันคือที่ที่ตัวเลขปลอมอาศัยอยู่
ตัวอย่างสด ๆ อยู่ในข่าวที่ผมเคยไล่ตรวจเอง สุนทรพจน์ของรองผู้ว่าการธนาคารกลางอังกฤษที่เวที ECB Sintra ถูกหลายสำนักพาดหัวโดยอ้างสัดส่วนบริษัทการเงินที่ใช้ agentic AI ราวกับเป็นตัวเลขจากปากผู้พูด ผมเปิดตัวบทฉบับเต็มแล้วไล่หาสถิติทุกตัว — ไม่มีตัวเลขร้อยละใดในสุนทรพจน์นั้นเลย ตัวเลขไม่ได้ถูกกุขึ้น มันแค่ถูกจับไปวางผิดปาก ซึ่งในบทวิเคราะห์หุ้นที่คุณกำลังอ่าน ผลลัพธ์ไม่ต่างกัน (กลไกเดียวกันนี้กำลังทำให้แบงก์ทั้งโลกปวดหัวเรื่องการปล่อยให้ AI agent ขยับเงินจริง และฝั่งผู้กำกับไทยเองก็เริ่มเขียนกติกาแล้ว — ดูเกณฑ์คุม AI ในสถาบันการเงินไทยของแบงก์ชาติ)
3. ด่านที่ 1 — สัญญาแหล่งอ้างอิง ที่เขียนก่อนลงมือเขียนงาน
ด่านแรกไม่ใช่เครื่องมือ แต่เป็นลำดับการทำงาน กฎมีข้อเดียว: ห้ามพิมพ์ตัวเลขลงในร่าง ก่อนที่ตัวเลขนั้นจะมีบรรทัด quote รองรับอยู่ในไฟล์แยกแล้ว ไฟล์นั้นผมเรียกว่าสัญญาแหล่งอ้างอิง (sources contract) หน้าตาเรียบง่ายมาก
ประโยคต้นฉบับ (ccaf-profitability): "Only 40% of respondents report increased
profitability from AI, while 43% report no change" (ที่มา: 1)
#### **Works cited**
1. Report finds uneven AI adoption in financial services — Cambridge Judge Business School
https://www.jbs.cam.ac.uk/2026/report-finds-uneven-ai-adoption-in-financial-services/
หัวใจอยู่ที่คำว่า verbatim — quote ต้องเป็นข้อความคำต่อคำที่ปรากฏในหน้านั้นจริง ไม่ใช่การสรุปความ เพราะถ้าเป็นการสรุป เครื่องจักรจะตรวจอะไรไม่ได้เลย และเมื่อ quote เป็นคำต่อคำ เราจึงเช็คได้ตรง ๆ ว่าตัวเลขในร่างโผล่อยู่ใน quote หรือไม่
เวลาสั่ง AI ให้หาข้อมูล ผมสั่งเป็นสองจังหวะแยกกันเสมอ จังหวะแรกให้มันไปดึง quote คำต่อคำมาใส่สัญญา ห้ามเขียนบทความ จังหวะที่สองค่อยให้เขียนโดยห้ามใช้ตัวเลขนอกสัญญา การแยกสองจังหวะทำให้โมเดลไม่มีโอกาส "เขียนไปคิดตัวเลขไป" ซึ่งเป็นจังหวะที่การหลอนเกิดขึ้นมากที่สุด
แปลเป็นภาษาพอร์ตของคุณ: ถ้าคุณจดโน้ตหุ้นเอง กฎข้อนี้แปลว่า ห้ามพิมพ์อัตรากำไรขั้นต้น D/E หรือรายได้รายไตรมาส ลงในโน้ต ก่อนที่คุณจะแปะข้อความจากงบหรือคำอธิบายฝ่ายจัดการที่มีตัวเลขนั้นอยู่จริง ฟังดูน่ารำคาญในสัปดาห์แรก แต่มันคือความต่างระหว่างโน้ตที่กลับมาอ่านแล้วเชื่อได้ กับโน้ตที่คุณเองก็จำไม่ได้ว่าเอาตัวเลขมาจากไหน
มุมคนทำ model validation: นี่คือ input control ธรรมดา ๆ — จำกัดสิ่งที่ป้อนเข้าโมเดล แทนที่จะไปไล่จับความผิดที่ปลายทาง ต้นทุนของด่านนี้คือความช้าตอนหาแหล่ง ซึ่งถูกกว่าต้นทุนของการตัดสินใจผิดด้วยเงินจริงมาก
4. ด่านที่ 2 — สคริปต์ที่ผู้เขียนโกงตัวเองไม่ได้
ด่านที่สองคือเครื่องจักร มันทำงานง่ายมาก: ดึงตัวเลขสถิติทุกตัวออกจากร่าง แล้วถามทีละตัวว่าตัวเลขนี้ปรากฏใน quote ไหนของสัญญาหรือเปล่า ถ้าไม่ มันไม่ถามความเห็นใคร มันตกทันที ก็อปไปวางเป็น check_numbers.py แล้วใช้ได้เลย ไม่ต้องลงไลบรารีอะไรเพิ่ม
#!/usr/bin/env python3
"""check_numbers.py — ทุกตัวเลขในร่าง ต้องอยู่ใน quote ของแหล่งอ้างอิงจริง
ใช้: python3 check_numbers.py draft.md sources.md
exit 0 = ผ่าน · exit 1 = มีตัวเลขที่ไม่มีแหล่ง (อย่าเพิ่งเผยแพร่)
"""
import re
import sys
# ตัวเลขที่ "ปั้นง่าย" — สถิติ/เงิน/จำนวนใหญ่ (ปีไม่นับ เพราะเป็นวันที่ ไม่ใช่สถิติ)
CLAIM = [
re.compile(r"(\d[\d,]*\.?\d*)\s*%"),
re.compile(r"ร้อยละ\s*(\d[\d,]*\.?\d*)"),
re.compile(r"(\d[\d,]*\.?\d*)\s*(?:ล้าน|พันล้าน|หมื่นล้าน)"),
re.compile(r"(\d[\d,]*\.?\d*)\s*(?:billion|million|trillion)", re.I),
]
def tok(raw):
return raw.replace(",", "").rstrip(".")
def strip_noise(md):
md = re.sub(r"^---\n.*?\n---\n", "", md, flags=re.S) # frontmatter
md = re.sub(r"```.*?```", "", md, flags=re.S) # code fences
return md
def numbers_in(md):
seen, out = set(), []
for pat in CLAIM:
for m in pat.finditer(md):
t = tok(m.group(1))
if not t or t in seen or re.fullmatch(r"(?:19|20)\d{2}", t):
continue
seen.add(t)
out.append((m.group(0).strip(), t))
return out
def quotes_in(src):
return re.findall(r'"([^"]+)"', src)
def main():
if len(sys.argv) != 3:
sys.exit(__doc__)
draft = strip_noise(open(sys.argv[1], encoding="utf-8").read())
quoted = " ".join(quotes_in(open(sys.argv[2], encoding="utf-8").read()))
quoted_tokens = " ".join(tok(q) for q in re.findall(r"\d[\d,]*\.?\d*", quoted))
bad = 0
for raw, t in numbers_in(draft):
ok = re.search(rf"(?<!\d){re.escape(t)}(?!\d)", quoted_tokens)
print(f"{'✅' if ok else '❌'} {raw:<12} {'พบใน quote' if ok else 'ไม่มี quote รองรับ'}")
bad += 0 if ok else 1
print(f"\n{'ผ่าน' if not bad else f'ตก {bad} ตัว — ห้ามเผยแพร่'}")
return 1 if bad else 0
if __name__ == "__main__":
sys.exit(main())
อ่านทีละส่วนว่าแต่ละอย่างกันอะไร
CLAIMเก็บเฉพาะตัวเลขที่ปั้นง่าย — เปอร์เซ็นต์ เงิน จำนวนหลักล้าน ส่วนตัวเลขโครงสร้างอย่าง "3 ด่าน" หรือ "5 ขั้นตอน" ไม่ถูกจับ เพราะมันมาจากเนื้อหาไม่ใช่จากแหล่ง ถ้าจับหมดคนเขียนจะรำคาญจนเลิกใช้ และ control ที่ไม่มีใครใช้คือ control ที่ไม่มีอยู่- บรรทัด
re.fullmatch(r"(?:19|20)\d{2}", t)ตัดปีทิ้ง — ปีคือวันที่ ไม่ใช่สถิติ ถ้าไม่ตัด ทุกบทความจะตกเพราะคำว่าปีปัจจุบัน strip_noiseลบ frontmatter กับ code fence — โค้ดตัวอย่างในบทความไม่ใช่ข้ออ้างเชิงข้อเท็จจริง จึงไม่ต้องมีแหล่งquoted_tokensเก็บเฉพาะตัวเลขที่อยู่ในเครื่องหมายคำพูดของไฟล์สัญญา — จุดนี้คือหัวใจ ตัวเลขที่ผู้เขียนพิมพ์ไว้นอก quote ไม่นับ แปลว่า ผู้เขียนโกงตัวเองไม่ได้ด้วยการพิมพ์ตัวเลขลงไปเฉย ๆ ต้องยกข้อความจากแหล่งมาจริง(?<!\d)กับ(?!\d)กันการจับผิดตัว — เลข 43 ต้องไม่ไปแมตช์กับ 143 ที่บังเอิญอยู่ในแหล่ง
ลองของจริง สมมติร่างเขียนว่า มีเพียง 40% ที่บอกว่ากำไรเพิ่มขึ้นจริงจาก AI ขณะที่ 43% บอกว่าไม่เปลี่ยนแปลง แต่ไฟล์สัญญายังว่างเปล่า ไม่มี quote ใดเลย
$ python3 check_numbers.py draft.md sources_empty.md
❌ 40% ไม่มี quote รองรับ
❌ 43% ไม่มี quote รองรับ
ตก 2 ตัว — ห้ามเผยแพร่
$ echo $?
1
ทีนี้ใส่ quote คำต่อคำจากรายงาน CCAF ลงในสัญญา แล้วรันใหม่ด้วยไฟล์เดิม
$ python3 check_numbers.py draft.md sources.md
✅ 40% พบใน quote
✅ 43% พบใน quote
ผ่าน
$ echo $?
0
ร่างไม่ได้เปลี่ยนสักตัวอักษร สิ่งที่เปลี่ยนคือหลักฐาน และนี่คือพฤติกรรมที่เราต้องการจาก gate — มันไม่สนใจว่าใครเขียน มันสนใจว่ามีหลักฐานหรือไม่ เพราะ exit code เป็น 0 หรือ 1 คุณจึงเสียบมันเข้า pre-commit hook หรือ CI ได้ทันที ตัวเลขที่ไม่มีแหล่งจะ commit ไม่ผ่านตั้งแต่เครื่องตัวเอง
กับดักที่ผมเจอมาแล้ว: gate เวอร์ชันแรกของผมตรวจแค่ว่าไฟล์รายงานผลตรวจ มีคำว่า verified อยู่ไหม ผลคือ AI เขียนคำว่า verified ลงไปเอง แล้วผ่านฉลุย บทเรียนคือ อย่าตรวจคำประกาศ ให้ตรวจของ — เช็คว่าตัวเลขอยู่ใน quote จริง ไม่ใช่เช็คว่ามีใครบอกว่าตรวจแล้ว
5. ด่านที่ 3 — ดึงแหล่งใหม่สดตอนจะเผยแพร่
สองด่านแรกยังมีรูอยู่หนึ่งรู: ถ้าผู้เขียนเป็นคนพิมพ์ quote เอง มันก็แต่ง quote ได้เหมือนที่แต่งตัวเลข ด่านที่สามจึงเป็นด่านเดียวที่ผู้เขียนแตะไม่ได้ — ตอนจะเผยแพร่ ระบบจะไปโหลดทุก URL ในสัญญาใหม่สด ๆ แล้วเช็คว่า quote นั้นมีอยู่ในหน้านั้นจริง ไม่ใช้รายงานที่ผู้เขียนแนบมาเด็ดขาด
ผลลัพธ์แบ่งเป็นสี่สถานะ และแต่ละสถานะมีวิธีจัดการชัดเจน
| ผลตรวจ | แปลว่าอะไร | ต้องทำอะไรต่อ |
|---|---|---|
| พบตรงเป๊ะ | quote นั้นอยู่บนหน้านั้นจริง | ใช้ได้ |
| พบบางส่วน เกินเกณฑ์คำที่ตั้งไว้ | มักเกิดจากเว็บใส่เครื่องหมายคำพูดหรือขีดคนละแบบ | ใช้ได้ แต่ต้องอ่านด้วยตาก่อน |
| ไม่พบ quote ในหน้านั้น | ผู้เขียนแต่ง quote หรือหน้าถูกแก้ไปแล้ว | ตัดตัวเลขทิ้ง หรือหาแหล่งใหม่ — ห้ามเดา |
| โหลดหน้านั้นไม่ได้ | ยังไม่มีใครตรวจ (ไม่ใช่ "ผ่าน") | ใช้แหล่งกระจกหรือประกาศต้นทางแทน |
จุดที่คนมักพลาดคือเหมารวมสถานะ "โหลดไม่ได้" เป็น "ผ่าน" เพราะรู้สึกว่าแหล่งดูน่าเชื่อถือ ทั้งที่มันแปลว่า ยังไม่มีใครตรวจ ต่างหาก ในภาษาของงานกำกับความเสี่ยง นี่คือการเอา evidence gap ไปนับเป็น evidence
กฎจากงานวัดความเสี่ยง: หลักฐานที่ฝ่ายผลิตงานเป็นคนหยิบยื่นให้ ต้องถูกสุ่มตรวจซ้ำโดยฝ่ายที่ไม่มีส่วนได้เสีย ในระบบเนื้อหา ฝ่ายที่ไม่มีส่วนได้เสียคือสคริปต์ที่รันตอน deploy ไม่ใช่ตัวโมเดลที่เขียนบทความ
6. สามด่านรวมกันเป็นภาพเดียว
ถ้าต่อทั้งสามด่านเข้าด้วยกัน จะเห็นว่าแต่ละด่านดักคนละจังหวะ และจังหวะที่ AI โกงได้มีแค่จังหวะเดียว
[ ด่าน 1 ] สัญญาแหล่งอ้างอิง
ห้ามพิมพ์ตัวเลข ก่อนมี quote คำต่อคำรองรับ
│ ← ดักตอน "คิด/เขียน" · AI แตะด่านนี้ได้
▼
[ ด่าน 2 ] สคริปต์ตรวจ check_numbers.py
ตัวเลขทุกตัวในร่าง ต้องโผล่ใน quote → ไม่โผล่ = exit 1
│ ← ดักตอน "commit" · AI แตะไม่ได้ เครื่องตัดสิน
▼
[ ด่าน 3 ] ดึงแหล่งใหม่สด
เปิด URL จริงตอน deploy → quote อยู่บนหน้านั้นจริงไหม
│ ← ดักตอน "เผยแพร่" · AI แตะไม่ได้ ของนอกมือมันทั้งหมด
▼
เผยแพร่ได้ — ทุกตัวเลขกดตรวจต้นฉบับได้
จุดสำคัญไม่ได้อยู่ที่จำนวนด่าน แต่อยู่ที่ ด่านสองในสามอยู่นอกมือของผู้เขียน ระบบตรวจที่ผู้ถูกตรวจแก้ผลเองได้ ไม่ว่าจะกี่ชั้นก็เท่ากับศูนย์ชั้น
7. คุณไม่ต้องเขียน Python เอง — ผมฝังสามด่านนี้ไว้ในเครื่องมือให้แล้ว
ถึงตรงนี้ผมเดาได้ว่าคุณคิดอะไรอยู่ "ผมเป็นนักลงทุน ไม่ใช่โปรแกรมเมอร์ จะให้มานั่งเขียน regex ตรวจตัวเลขทุกครั้งที่อ่านงบเหรอ" — คำตอบคือไม่ต้อง และนั่นคือเหตุผลที่ผมเอาสถาปัตยกรรมทั้งสามด่านนี้ไปประกอบเป็นเครื่องมือจริง
โจทย์ในสนามของนักลงทุนคือ จะให้ AI อ่าน 56-1 และคำอธิบายฝ่ายจัดการ (MD&A) ทั้งตลาดแทนคนได้อย่างไร โดยที่มันไม่แอบเติมตัวเลขเอง คำตอบของผมไม่ใช่การหาโมเดลที่ฉลาดขึ้น แต่คือการบังคับด้วยสถาปัตยกรรม — วางด่านตรวจการอ้างอิงไว้ระหว่างโมเดลกับสายตาผู้ใช้ แล้วให้กฎข้อเดียวว่า ข้อความไหนพิสูจน์ตำแหน่งบนเอกสารต้นฉบับไม่ได้ ข้อความนั้นไม่ถูกส่งออกไปให้ใครเห็น
นี่คือผลวัดสดของด่านนั้น ณ 14 ส.ค. 2026 (ขอบเขต FY2021–2026 ซึ่งเป็นช่วงที่ระบบเปิดให้ค้นจริง)
| ด่านตรวจการอ้างอิง — วัดสด 14 ส.ค. 2026 | จำนวน |
|---|---|
| ข้อความในคลังที่ผ่านการตรวจทั้งหมด | 362,524 |
| พิสูจน์ย้อนได้ถึงตำแหน่งจริงบนเอกสาร | 359,413 (99.14%) |
| พิสูจน์ไม่ได้ → ถูกกักไว้ ไม่แสดงให้ผู้ใช้เห็น | 3,111 |
บรรทัดล่างสุดคือบรรทัดที่ผมภูมิใจที่สุด ไม่ใช่บรรทัดกลาง — เพราะระบบส่วนใหญ่จะเลือกแสดงของ 3,111 ชิ้นนั้นพร้อมคำเตือนตัวเล็ก ๆ แล้วโยนภาระการตรวจให้ผู้ใช้ เรายอมที่จะ "ไม่ตอบ" ดีกว่า "แต่งตัวเลขตอบ" เพราะสำหรับคนที่เอาเงินตัวเองไปลงทุน คำตอบที่ผิดแต่ฟังดูดี มีราคาแพงกว่าการไม่มีคำตอบมาก
ผลคือเครื่องมือที่ทำงานตามผังนี้ ซึ่งถ้าคุณย้อนไปดูผังในข้อ 6 จะเห็นว่ามันคือโครงเดียวกัน แค่เปลี่ยนจากงานเขียนเป็นงานอ่านงบ
คุณพิมพ์คำถามเป็นภาษาคน เช่น "ใครเริ่มพูดถึงแรงกดดันต้นทุนวัตถุดิบ"
│
▼
ค้นด้วยความหมาย ไม่ใช่คีย์เวิร์ด ในคลัง 56-1/MD&A ของบริษัทจดทะเบียนไทยแทบทั้งตลาด
│
▼
ดึง "ข้อความคำต่อคำ" ที่ฝ่ายจัดการเขียนเอง — ไม่ใช่บทสรุปของ AI
│
▼
[ ด่านตรวจการอ้างอิง ] ← ด่าน 2 + ด่าน 3 ในบทความนี้ รวมร่างกัน
├─ ผ่าน → แสดง + ลิงก์เอกสาร ก.ล.ต. + ตำแหน่งบนหน้านั้น
└─ ไม่ผ่าน → ไม่แสดง (ไม่เดาให้ผ่าน ไม่เกลี่ยให้ดูดี)
│
▼
[ คุณกดเปิดต้นฉบับ อ่านเอง แล้วตัดสินใจ ] ← คนตัดสินใจยังเป็นคุณเสมอ
นี่คือคำถามชุดที่ผมคิดว่ารายย่อยควรใช้ตัดสินว่าเครื่องมือไหนควรได้รับความไว้ใจจากเงินของตัวเอง
| คำถามที่ควรถามเครื่องมือ | AI ทั่วไปที่ใช้กันอยู่ | เครื่องมือที่มีด่านตรวจ |
|---|---|---|
| ตัวเลขนี้มาจากประโยคไหน | ตอบเป็นชื่อรายงาน หรือเรียบเรียงให้ใหม่ | ข้อความคำต่อคำที่บริษัทเขียนเอง |
| กดดูต้นฉบับได้ไหม | ส่วนใหญ่ไม่ได้ หรือได้ลิงก์ที่เปิดไม่ตรงจุด | ลิงก์เอกสาร ก.ล.ต. + ตำแหน่งบนหน้านั้น |
| ถ้าพิสูจน์ไม่ได้ มันทำอย่างไร | เรียบเรียงให้ดูดีไว้ก่อน | ไม่แสดงเลย |
| ครอบคลุมแค่ไหน | ขึ้นกับสิ่งที่มันเคยเห็นตอนเทรน | 56-1/MD&A ไทย 916 บริษัท (FY2021–2026) |
| ใครเป็นคนเคาะ | มันสรุปมาให้แล้ว คุณแค่เชื่อ | มันหาให้ คุณอ่านต้นฉบับแล้วเคาะเอง |
พูดให้ชัดว่ามันไม่ใช่อะไร: มันไม่ใช่ AI กล่องดำที่คิดแทนคุณ มันไม่บอกให้ซื้อหรือขาย ไม่ให้คะแนนหุ้น ไม่ทำนายราคา สิ่งที่มันทำคือย่นเวลาอ่านเอกสารพันฉบับให้เหลือหลักนาที แล้วส่งของจริงพร้อมที่มาให้คุณตัดสินใจเอง (ถ้าอยากเห็นว่าการค้นด้วยความหมายต่างจากการค้นคีย์เวิร์ดอย่างไร อ่านต่อได้ที่semantic search บน MD&A ภาษาไทย)
8. เอาหลักสามด่านไปใช้กับงานอื่นของคุณ
หลักนี้ไม่ได้ผูกกับงานเขียนข่าวเลย มันคือรูปแบบเดียวกับที่ใช้ได้กับทุกงานที่ AI ผลิตตัวเลขให้เรา
- สรุปงบการเงินหรือ 56-1 ด้วย AI — ให้โมเดลคัด quote จากเอกสารต้นฉบับก่อน แล้วค่อยให้สรุป ตัวเลขที่ไม่ได้มาจาก quote ถือว่าไม่มีอยู่ (วิธีอ่าน 56-1 ให้ได้ของจริง ผมเขียนไว้แล้วในอ่าน One Report/MD&A อย่างไรให้เจอสัญญาณ)
- โน้ตหุ้นในวอทช์ลิสต์ของคุณ — ทุกตัวเลขในโน้ตต้องมีบรรทัด quote + ลิงก์กำกับ เวลากลับมาอ่านอีกหกเดือนคุณจะแยกออกทันทีว่าอันไหนคือข้อเท็จจริง อันไหนคือความเห็นของตัวเองเมื่อครึ่งปีก่อน
- สไลด์เสนอผู้บริหาร หรือรายงานที่ต้องส่งผู้ตรวจ — บังคับให้ทุกตัวเลขบนสไลด์มี cell อ้างอิงในชีตแนบ ที่เก็บ quote คำต่อคำจากเอกสารต้นทาง ไม่ใช่แค่ชื่อรายงาน เพราะสิ่งที่ผู้ตรวจถามเสมอไม่ใช่ "ตัวเลขถูกไหม" แต่คือ "คุณรู้ได้อย่างไรว่ามันถูก"
ถ้าคุณใช้ AI ช่วยงานเป็นประจำ ผมแนะนำให้เขียนกฎพวกนี้ลงเป็นไฟล์กติกาประจำ workspace ไปเลย จะได้ไม่ต้องสั่งซ้ำทุกครั้ง
## ตัวเลข
- ห้ามพิมพ์ตัวเลขสถิติ/เงิน ลงในร่าง ก่อนมี quote คำต่อคำใน `sources.md`
- quote ต้องเป็นข้อความจากหน้าเว็บ/เอกสารจริง ห้ามสรุปความ
- ก่อน commit: `python3 check_numbers.py draft.md sources.md` ต้อง exit 0
- ตัวเลขที่โหลดแหล่งไม่ได้ = ยังไม่ตรวจ (ไม่ใช่ผ่าน) → ตัดทิ้งหรือหาแหล่งใหม่
ภาพรวม
ตัวเลขปลอมไม่ได้เล็ดลอดออกไปเพราะโมเดลแย่ แต่เพราะระบบตรวจถามคำถามผิด เราชอบถามว่า มีอ้างอิงไหม ทั้งที่คำถามที่มีความหมายคือ ตัวเลขนี้อยู่ในแหล่งนั้นจริงหรือเปล่า สามด่านที่เล่ามาตอบคำถามหลังทั้งหมด — ด่านแรกบังคับให้หลักฐานมาก่อนข้อความ ด่านที่สองให้เครื่องจักรเป็นคนตัดสินแทนความรู้สึก และด่านที่สามตัดโอกาสที่ผู้เขียนจะให้เกรดตัวเอง ทั้งสามด่านรวมกันเขียนได้ในไม่กี่สิบบรรทัด และมันจับของจริงมาแล้ว
ข้อสรุปของผมสั้นมาก และใช้ได้ทั้งกับงานในแบงก์และกับพอร์ตของคุณ — อย่าเถียงกันว่า AI ฉลาดพอหรือยัง ให้ถามว่ามันถูกบังคับให้แสดงหลักฐานหรือเปล่า เพราะในตลาดหุ้น คนที่จ่ายค่าตัวเลขผิดไม่เคยเป็น AI
ลองของจริงวันนี้: ผมประกอบสามด่านนี้เป็นเครื่องมือจริงแล้ว — Boom Leverage Terminal ค้น MD&A/56-1 ทั้งตลาดด้วยความหมาย คืนข้อความคำต่อคำพร้อมลิงก์ต้นฉบับ ก.ล.ต. ทุกครั้ง เริ่มฟรี 10 เครดิต/วัน ไม่ต้องผูกบัตร ลองยิงคำถามที่คุณสงสัยกับหุ้นในพอร์ตตัวเองสัก 2–3 คำถาม แล้วกดเปิดต้นฉบับเทียบทีละบรรทัด — นี่คือ AI ที่กล้าให้คุณตรวจต้นฉบับได้ทุกบรรทัด ถ้าเครื่องมือไหนให้คุณทำแบบนั้นไม่ได้ ผมคิดว่ามันยังไม่ควรได้รับความไว้ใจจากเงินของคุณ · ระดับทีม/สถาบัน (seats · Excel export · API) คุยได้ที่ หน้า Enterprise หรือ contact@boomleverage.com
ที่มา
- Report finds uneven AI adoption in financial services — Cambridge Judge Business School
- ตัวเลขด่านตรวจการอ้างอิงและจำนวนบริษัทในคลัง: วัดสดจากระบบ Boom Leverage Terminal 14 ส.ค. 2026 (ขอบเขต FY2021–2026)
อ่านต่อ
ธงแดงใบเดียวไม่เคยพอ — ผมนับสัญญาณที่บริษัทไทยเขียนสารภาพไว้เอง 104,153 บรรทัด แล้วพบว่ามีแค่ 9 ครั้งที่ไฟติดครบทั้งหกดวงพร้อมกัน
อ่านต่อ คำอธิบายฝ่ายจัดการ (MD&A)ผู้สอบบัญชีเตือนไว้ล่วงหน้าเป็นปี ๆ แต่ไม่มีใครอ่าน — 68 บริษัทในตลาดไทยที่ความเห็นผู้สอบไม่ 'สะอาด' (ปีงบ 2564–2568)
อ่านต่อ คำอธิบายฝ่ายจัดการ (MD&A)งบแต่งได้ แต่เงินสดต้องไปโผล่ที่ไหนสักแห่ง — 216 รายการที่บริษัทเขียนบอกไว้เอง ในหน้าที่ไม่มีใครอ่าน
อ่านต่อ