Boom Leverage
บทความทั้งหมด

จาก 137,354 ชิ้นข้อความ สู่ข้อค้นพบที่กดดูต้นฉบับได้: บันทึกการรื้อเครื่องมือค้น MD&A จาก V1 เป็น V2

ผมกำลังรื้อเครื่องมือค้น MD&A ทั้งตลาดจากรุ่นแรกเป็นรุ่นสอง — เปลี่ยนหน่วยของคำตอบจาก 'ชิ้นข้อความ' เป็น 'ข้อค้นพบมีโครงสร้าง' บันทึกนี้เล่าตรง ๆ ว่าทำไม และตอนนี้ถึงไหนแล้ว

Varanchai Yingkhamnueng·
financeBoom Leverage

จาก 137,354 ชิ้นข้อความ สู่ข้อค้นพบที่กดดูต้นฉบับได้: บันทึกการรื้อเครื่องมือค้น MD&A จาก V1 เป็น V2

ผมกำลังรื้อเครื่องมือค้น MD&A ทั้งตลาดจากรุ่นแรกเป็นรุ่นสอง — เปลี่ยนหน่วยของคำตอบจาก 'ชิ้นข้อความ' เป็น 'ข้อค้นพบมีโครงสร้าง' บันทึกนี้เล่าตรง ๆ ว่าทำไม และตอนนี้ถึงไหนแล้ว

วันนี้ผมเปิดหน้า health ของกล่องที่รันเครื่องมือค้น MD&A อยู่ แล้วได้ตัวเลขนี้กลับมา: 850 บริษัท 137,354 ชิ้นข้อความ พร้อมให้ค้นแบบเรียลไทม์ นั่นคือรุ่นแรก (V1) ที่ลูกค้าจ่ายเงินใช้อยู่จริงตอนนี้ และมันทำงานได้ดีพอที่ผมจะเก็บเงินโดยไม่รู้สึกผิด แต่อีกหน้าจอหนึ่งบนเครื่องเดียวกัน ผมกำลังรันการสกัดข้อมูลรอบใหม่ที่จะกลายเป็นรุ่นสอง (V2) — และเหตุผลที่ต้องรื้อ ไม่ใช่เพราะ V1 พัง แต่เพราะมันตอบคำถามผิดข้อ

บทความนี้เขียนสำหรับ คนทำ credit/risk ในสถาบันการเงิน · นักวิเคราะห์และ IR · เซลส์ B2B ที่ขายของให้บริษัทจดทะเบียน · และคนทำ data ที่ต้องดึงข้อมูลเชิงคุณภาพจากงบ — กลุ่มที่ต้องอ่านคำชี้แจงผู้บริหาร (MD&A) ในแบบ 56-1 เป็นงานประจำ ผมจะเล่าว่าเครื่องมือวันนี้ทำอะไรได้จริง (พร้อมภาพผลค้นจริง) จุดที่มันตัน และรุ่นสองจะเปลี่ยนอะไร โดยจะบอกตรง ๆ ด้วยว่าตอนนี้ทำไปถึงไหนแล้ว เพราะผมไม่อยากขายของที่ยังไม่มี

เครื่องมือวันนี้ (V1) ทำอะไรได้ — และทำไมผมยังขายตัวนี้อยู่

หลักการของ V1 ตรงไปตรงมา: คุณพิมพ์ แนวคิด เป็นภาษาคน ไม่ใช่คีย์เวิร์ด แล้วระบบไปหาย่อหน้าที่ "พูดเรื่องเดียวกัน" ในเอกสารของทุกบริษัท แม้จะใช้คำคนละคำ นี่คือความต่างจากการกด Ctrl+F ที่ผมเคยเขียนไว้ละเอียดในบทเทียบ semantic search กับการค้นคีย์เวิร์ด

ผมลองรันคำค้นว่า "ความเสี่ยงด้านสภาพคล่องและกระแสเงินสด" ทั้งตลาด นี่คือผลจริงที่ได้กลับมาในเวลาไม่ถึงครึ่งวินาที

ภาพเคลื่อนไหวสองเฟรมจากเครื่องมือค้น MD&A ตัวจริง เฟรมแรกค้นคำว่า "ความเสี่ยงด้านสภาพคล่องและกระแสเงินสด" ทั้งตลาดได้ผล 30 ชิ้นจาก 19 บริษัท ครอบคลุมปี 2567 ถึง 2569 แสดงข้อความ MD&A ต้นฉบับของ RS, ZIGA, COM7, NDR, MTC พร้อมไฮไลต์สีส้มตรงประโยคที่ตรงคำถามและลิงก์ดูต้นฉบับที่ SEC เฟรมที่สองกรองเหลือเฉพาะหุ้น RS ผลลัพธ์บีบเหลือ 5 ชิ้นจาก 1 บริษัท

เฟรมแรกคือการถามทั้งตลาด เฟรมที่สองคือการเจาะรายบริษัท — สังเกตแถบสรุปด้านบนที่เปลี่ยนจาก "30 insight · 19 บริษัท" เหลือ "5 insight · 1 บริษัท" ทุกชิ้นมีปุ่มดูต้นฉบับที่ SEC และเลขหน้ากำกับ

สิ่งที่ V1 ทำได้ดีจริงและผมยังภูมิใจกับมัน:

  • ยกข้อความต้นฉบับมาตรง ๆ ไม่สรุปทับ — ทุกผลลัพธ์คือประโยคที่ผู้บริหารเขียนเอง ไม่ใช่ AI เรียบเรียงใหม่ คุณจึงตรวจย้อนกลับได้เสมอ
  • มีลิงก์กลับไฟล์ต้นทางที่ SEC ทุกชิ้น พร้อมเลขหน้า — กดแล้วไปอ่านบริบทเต็มได้ทันที
  • ข้อมูลสดจริง — ระบบดึงแบบ 56-1 ใหม่วันละ 2 รอบ แล้วรีอินเด็กซ์ตามที่ผมเล่าไว้ในบทเรื่องความสดของข้อมูล

มุมคนทำ model validation: เหตุผลที่ผมยืนกรานเรื่อง "ยกต้นฉบับ + ลิงก์กลับ" ตั้งแต่รุ่นแรก เพราะในงานตรวจโมเดล สิ่งที่ทำให้ข้อสรุปใช้ได้จริงไม่ใช่ความฉลาดของแบบจำลอง แต่คือความสามารถในการชี้ว่า "ตัวเลขนี้มาจากบรรทัดไหนของเอกสารไหน" เครื่องมือที่สรุปเก่งแต่ชี้ที่มาไม่ได้ = เอาไปวางบนโต๊ะกรรมการไม่ได้

จุดที่ V1 ตัน: "ค้นเจอ" กับ "ตอบได้" ไม่ใช่เรื่องเดียวกัน

ปัญหาโผล่ตอนผมเอาไปใช้กับงานจริงของตัวเอง สมมติผมต้องตอบคำถามง่าย ๆ ว่า "ในรอบ 3 ปีที่ผ่านมา มีบริษัทไหนบ้างที่สัญญาณสภาพคล่องแย่ลงต่อเนื่อง"

V1 ตอบไม่ได้ มันตอบได้แค่ว่า "นี่คือ 30 ย่อหน้าที่พูดถึงสภาพคล่อง" แล้วที่เหลือเป็นงานของผม — อ่านทีละชิ้น ตีความเองว่าอันไหนคือคำเตือนจริง อันไหนคือภาษาพิธีกรรมที่ทุกบริษัทเขียนเหมือนกันหมด แล้วจดลง Excel เอง

ลองดูตัวอย่างจากผลค้นจริงสองชิ้นนี้ ทั้งคู่ถูกจัดว่า "เกี่ยวกับสภาพคล่อง" เหมือนกัน

AF · ไตรมาส 1 ปี 2569: "Liquidity risk is the. risk due to the company cannot change assets to cash or unable to provide sufficient funds as needed in a timely manner. However, in the past, the company having liquidity management and receiving sufficient and continuous financial support from financial institutions and business partners."

— verbatim จาก MD&A หน้า 1-4 · ต้นฉบับที่ SEC

MTC · ไตรมาส 1 ปี 2569: "The current economic environment remains fragile due to persistent high living costs relative to household income levels. As a result, consumers have become more cautious in taking on new debt and are managing liquidity primarily to meet debt repayment obligations."

— verbatim จาก MD&A หน้า 2-3 · ต้นฉบับที่ SEC

อันแรกคือ นิยามความเสี่ยงมาตรฐาน ที่แทบทุกบริษัทเขียนไว้เหมือนกัน แล้วปิดท้ายว่าจัดการได้ดี — แทบไม่มีสารสนเทศ อันที่สองคือ การอ่านสภาพตลาดจริง ที่บอกว่าพฤติกรรมลูกหนี้เปลี่ยนไป ซึ่งมีนัยต่อคุณภาพพอร์ตสินเชื่อโดยตรง

ภาพหน้าจอจริงของเครื่องมือค้น MD&A ขณะกรองเฉพาะหุ้น RS แถบสรุปแสดง 5 insight จาก 1 บริษัท ช่วงปี 2568 ถึง 2569 ด้านล่างเป็นข้อความงบกระแสเงินสดของ RS ที่ยกมาจากต้นฉบับพร้อมไฮไลต์สีส้ม เลขหน้า 16 และปุ่มดูต้นฉบับที่ SEC

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

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

V2 เปลี่ยนหน่วยของคำตอบ: จาก "ชิ้นข้อความ" เป็น "ข้อค้นพบมีโครงสร้าง"

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

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

{
  "ticker": "MTC",
  "fy": "2026",
  "period": "Q1",
  "domain": "risk",
  "theme": "household_debt_quality",
  "severity_score": 3,
  "is_distress_signal": false,
  "snippet_verbatim": "consumers have become more cautious in taking on new debt...",
  "source_url": "https://market.sec.or.th/public/idisc/Download?FILEID=...",
  "page_ref": "2-3",
  "audit_id": "EXT-MTC-FY2026-Q1-014-v1"
}

อ่านทีละบรรทัดว่าแต่ละอย่างให้อะไร:

  • domain และ theme — บอกว่าชิ้นนี้เป็นเรื่องความเสี่ยงหรือเรื่องผลประกอบการ และเป็นธีมอะไร ทำให้ถามแบบ "ขอทุกบริษัทที่พูดเรื่องคุณภาพหนี้ครัวเรือน" ได้ตรง ๆ
  • severity_score — แยกคำเตือนจริงออกจากภาษาพิธีกรรม ซึ่งคือปัญหาในหัวข้อที่แล้วพอดี
  • snippet_verbatim กับ source_url — ยังอยู่ครบเหมือนเดิม นี่คือเส้นที่ผมไม่ยอมข้าม ต่อให้เพิ่มชั้นตีความเข้าไป ต้นฉบับกับลิงก์กลับต้องติดมาด้วยเสมอ
  • audit_id — เลขอ้างอิงของการสกัดแต่ละครั้ง เอาไว้ตามรอยได้ว่าข้อสรุปนี้มาจากการประมวลผลรอบไหน เวอร์ชันไหน

พอข้อมูลมีโครงสร้าง คำถามที่ V1 ตอบไม่ได้ก็กลายเป็นการกรองธรรมดา — "ขอทุกบริษัทที่มีสัญญาณสภาพคล่องระดับรุนแรง เรียงตามปี" กลายเป็นคำสั่งเดียว ไม่ใช่การนั่งอ่าน 30 ย่อหน้า

ทำไมมันเป็นเงิน: คนที่จ่ายเงินให้เครื่องมือแบบนี้ไม่ได้ซื้อ "การค้นหา" เขาซื้อ เวลาที่ประหยัดไปจากการอ่าน และ ความมั่นใจว่าไม่พลาดบริษัทสำคัญ V1 ขายข้อแรกได้ครึ่งเดียวและขายข้อสองไม่ได้เลย เพราะถ้าคุณอ่านไม่ครบ คุณก็ไม่รู้ว่าพลาดอะไร V2 ตั้งใจปิดช่องนี้ด้วยการทำให้ "นับได้" ไม่ใช่แค่ "ค้นเจอ"

สถานะจริงวันนี้ — ผมขอพูดตรง ๆ ว่ายังไม่เปิดให้ใช้

ส่วนนี้สำคัญกว่าส่วนไหนในบทความนี้ และผมอยากให้อ่านก่อนตัดสินใจอะไร

V2 ยังไม่เปิดให้ใช้งาน ตอนที่เขียนบทความนี้ (20 กรกฎาคม 2569) สถานะคือ:

  • ระบบสกัดข้อมูลกำลังรันอยู่จริง แต่ครอบคลุม เพียงเศษเสี้ยวของตลาด เทียบกับ 850 บริษัทที่ V1 ให้ค้นได้วันนี้ งานสกัดทั้งชุดใช้เวลาอีกราวสองสัปดาห์ตามจังหวะปัจจุบัน
  • ยังไม่มีปุ่มให้สลับไปใช้ V2 บนหน้าเว็บ และผมตั้งค่าระบบให้ปิดตายไว้ก่อน เพื่อไม่ให้ใครหลุดไปเจอดัชนีที่ยังไม่สมบูรณ์โดยบังเอิญ
  • การย้ายระบบหลักถูกแช่ไว้ จนกว่าจะพิสูจน์ได้ว่า V2 ให้ผลไม่แย่กว่า V1 ในคำถามชุดเดียวกัน การสลับตอนนี้เท่ากับทำให้ของที่เก็บเงินลูกค้าอยู่จริงล่ม ซึ่งผมไม่ทำ
  • สัปดาห์นี้ผมเพิ่ง ตัดขอบเขตงานทิ้งไปหนึ่งส่วน — เดิมตั้งใจสกัดข้อมูลด้านบรรษัทภิบาลด้วย แต่พอรันจริงพบว่าเอกสาร MD&A แทบไม่มีเนื้อหาส่วนนั้น ผลที่ได้จึงเกือบเป็นศูนย์ รุ่นแรกของ V2 จะมีแค่ด้านความเสี่ยงกับด้านผลประกอบการ

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

ข้อจำกัดที่ต้องพูดตรง ๆ

ทั้ง V1 และ V2 มีเส้นที่มันไม่ข้าม และผมอยากให้ชัดตั้งแต่ต้น:

  • มันไม่ให้คำแนะนำการลงทุนรายตัว และจะไม่มีวันให้ มันเป็นเครื่องมือหาข้อความและจัดระเบียบข้อความ ไม่ใช่เครื่องมือตัดสินใจลงทุน
  • ป้ายกำกับที่ระบบสกัดคือการตีความ ไม่ใช่ข้อเท็จจริงseverity_score เป็นผลจากแบบจำลอง มันพลาดได้ ผมจึงบังคับให้ทุกระเบียนแบกข้อความต้นฉบับกับลิงก์มาด้วยเสมอ เพื่อให้คุณเถียงกับระบบได้
  • ข้อมูลจำกัดอยู่แค่สิ่งที่บริษัทเขียนในเอกสารสาธารณะ ถ้าบริษัทไม่เขียน ระบบก็หาไม่เจอ — การไม่พบสัญญาณ ไม่เท่ากับไม่มีความเสี่ยง
  • คุณภาพข้อความขึ้นกับไฟล์ต้นทาง เอกสารบางฉบับเป็นภาพสแกนที่ต้องผ่าน OCR ตัวอักษรจึงเพี้ยนได้บ้าง ซึ่งเป็นเหตุผลที่ลิงก์กลับต้นฉบับสำคัญ

ภาพรวม

V1 ตอบคำถามว่า "ใครพูดถึงเรื่องนี้บ้าง" ได้ดีมาก และวันนี้มันครอบคลุม 850 บริษัท 137,354 ชิ้นข้อความ พร้อมลิงก์ต้นฉบับทุกชิ้น — ของจริงที่ใช้ได้เลย V2 ตั้งใจตอบคำถามถัดไปที่ยากกว่า คือ "แล้วมันแปลว่าอะไร และหนักแค่ไหน" ด้วยการเปลี่ยนหน่วยของคำตอบจากย่อหน้าดิบเป็นข้อค้นพบที่กรองและนับได้ โดยไม่ทิ้งหลักการเดิมที่ทำให้มันน่าเชื่อถือ นั่นคือทุกอย่างต้องกดกลับไปดูต้นฉบับได้

ถ้าอยากเห็นว่าเครื่องมือรุ่นปัจจุบันทำอะไรได้บ้าง ลองอ่านตัวอย่างการใช้งานจริงแยกตามอาชีพ หรือคำถาม 5 ข้อสำหรับอ่าน MD&A ทั้งตลาด แล้วมาลองใช้ตัวจริงได้ที่ Boom Leverage Terminal — ส่วน V2 ผมจะเขียนบันทึกอีกรอบตอนมันเปิดใช้ได้จริง พร้อมผลเทียบกับ V1 ในคำถามชุดเดียวกัน

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

อ่านต่อ