logo
ทำ RAG โดยไม่ต้องทำ Vector Embeddings ด้วย Pageindex

ทำ RAG โดยไม่ต้องทำ Vector Embeddings ด้วย Pageindex

Introduction...

เรื่องนี้เป็นควันหลงจากการที่ผู้เขียนไปฟังบรรยายจากงาน AgentCon Bangkok 2026 โดยมาจากหัวข้อเกี่ยวกับการทำ RAG โดยไม่ต้องทำ Vector Database, Top-K หรือ Embeddings ใด ๆ เลย เพียงแค่ทำ Index ไว้แค่นั้นหรอ !!!

ภาพที่ไปฟังบรรยายที่งาน AgentCon Bangkok 2026 ที่ตึก K+ หัวข้อ How to Make an Accurate Legal Thai Chatbot Assistant

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

https://github.com/VectifyAI/PageIndex

Pageindex คืออะไร

Pageindex คือการทำ RAG (Retrieval-Augmented Generation) โดยไม่ต้องทำ Vector, Chunking, และเป็นการใช้ Reasoning เป็นหลัก

จุดขายหลัก ๆ ของ Pageindex

  • ไม่ต้องใช้ Vector Database ที่ใช้ในการเก็บ Vector Embeddings ที่ใช้ในการค้นหาด้วย vector
  • ไม่ต้อง Chunking ที่ทำให้ไฟล์มีการขาดตอน หรือเกิดความไม่ต่อเนื่องได้
  • เป็นการจำลองสิ่งที่คนเวลาค้นหาเอกสารเหมือนกับผู้เชี่ยวชาญ
  • มีการอธิบายที่โปร่งใสขึ้น เพราะมีการ Thinking ก่อนตอบเสมอ

การทำงานของ Pageindex คือเป็นการเอา Tools ที่เขียนด้วย python มาใช้ในการแบ่งไฟล์ออกมาจากใหญ่ ๆ และให้ LLM อ่านแล้วทำการสรุปออกมาเป็นสารบัญ หากไฟล์มีสารบัญก็จะทำให้ LLM อ่านไฟล์สารบัญได้เลย และ สร้าง index ได้ออกมาแบบแม่นยำ

ตัวอย่าง index

...
{
  "title": "Financial Stability",
  "node_id": "0006",
  "start_index": 21,
  "end_index": 22,
  "summary": "The Federal Reserve ...",
  "nodes": [
    {
      "title": "Monitoring Financial Vulnerabilities",
      "node_id": "0007",
      "start_index": 22,
      "end_index": 28,
      "summary": "The Federal Reserve's monitoring ..."
    },
    {
      "title": "Domestic and International Cooperation and Coordination",
      "node_id": "0008",
      "start_index": 28,
      "end_index": 31,
      "summary": "In 2023, the Federal Reserve collaborated ..."
    }
  ]
}
...

Pageindex เหมาะกับไฟล์แบบใด

  • หนังสือ
  • เอกสารที่มีสารบัญชัดเจน
  • paper งานวิจัย
  • งบการเงิน

อยากใช้งาน Pageindex ทำได้อย่างไร

  • https://chat.pageindex.ai/ เล่นเว็บนี้ก็ได้แต่มีการจำกัด usage ซึ่งทางเจ้าของมี MCP และ API ให้ในการต่อกับ Application อื่น ๆ ได้
  • เอามาเปิดเองก็ clone https://github.com/VectifyAI/PageIndex มาได้เลยเพราะเป็น project Open Source และมี MIT License

เมื่ออยากลองทำ Pageindex ของตัวเองโดยการทำให้เป็น Agent Skills

  • ใน Trend ปัจจุบันการทำ Skills กลายเป็นเรื่องจำเป็นมาก ๆ โดยในที่นี้ให้ Clude Code ลองสร้าง Skills โดยแบ่งออกเป็น 2 ส่วนคือ สร้าง index กับ อ่าน index และเลียนแบบการ Reasoning ให้เหมือนกับ Pageindex เป๊ะ ๆ

โดยหากต้องการใช้งาน Skills สามารถติดตั้งได้ที่

npx skills add https://github.com/vjumpkung/pixellatent-agent-skills/tree/main/skills/pageindex
npx skills add https://github.com/vjumpkung/pixellatent-agent-skills/tree/main/skills/pageindex-search

*หมายเหตุ : ต้องลงโปรแกรม nodejs และ python ก่อนใช้งาน pageindex

มาทำ RAG ด้วยวิธี Pageindex กันเถอะ

สิ่งที่ต้องการ

  • AI Agent เช่น Claude Code, Codex, Openclaw, GEMINI CLI หรือ AI Agent ที่สามารถใช้งาน Agent, skills ได้
  • Nodejs
  • Python

สร้าง folder และติดตั้ง Agents Skills

  • การทำ RAG หลัก ๆ ต้องมี system prompt ก่อนโดยในที่นี้จะมี CLAUDE.md ตามนี้เลย

https://gist.github.com/vjumpkung/ca6739795a46b584af4fcb46ce092393

สามารถนำไปปรับแต่งให้มีการตอบตามที่ต้องการได้

หลักจากนั้นให้ทำการติดตั้ง skills โดยการใช้

npx skills add https://github.com/vjumpkung/pixellatent-agent-skills/tree/main/skills/pageindex
npx skills add https://github.com/vjumpkung/pixellatent-agent-skills/tree/main/skills/pageindex-search

หรือโหลดไฟล์ zip นี้ไปใช้งานได้

https://drive.google.com/drive/folders/1otWE69yGM52dWz9-eVEXoHEO2ooFcoSk?usp=sharing

หลังจากนั้นให้ setup folder ให้มีตามนี้

สร้าง index

และทำการเปิด claude code หรือ AI Agent ขึ้นมา

และให้ใส่ไฟล์ pdf ที่ต้องการเข้าไปใน folder ที่ได้ทำการ setup ไว้

ในที่นี้ใส่เอกสารนี้เป็นไฟล์รวมวิชาทั่วไปของ ม.เกษตร ปี 2564 มีความยาว 180 หน้า

https://registrar.ku.ac.th/curr-ge64

ในการเรียก skill จะใช้ slash command หรือ prompt คำว่า

create pageindex index of this file @...

หรือ

/pageindex @...

AI Agent ของเราก็จะทำการสร้าง index ขึ้นมา

ในขั้นตอนนี้จะใช้เวลานานขึ้นกับขนาดของเอกสารที่ใช้ในการค้นหา และ ความซับซ้อนของเอกสาร

หลังจากที่ทำการ index เสร็จแล้วจะได้ไฟล์ json ออกมา

{
  "doc_name": "gened64.pdf",
  "structure": [
    {
      "title": "ส่วนนำ (Front Matter)",
      "node_id": "0000",
      "start_index": 1,
      "end_index": 8,
      "prefix_summary": "ส่วนนำของเอกสารการปรับปรุงหมวดวิชาศึกษาทั่วไป มหาวิทยาลัยเกษตรศาสตร์ พ.ศ. 2564 ประกอบด้วยหน้าปก สารจากผู้บริหาร และสารบัญ",
      "nodes": [
        {
          "title": "หน้าปก สารจากอธิการบดี และรองอธิการบดีฝ่ายวิชาการ",
          "node_id": "0001",
          "start_index": 1,
          "end_index": 6,
          "summary": "หน้าปกและสารจากอธิการบดีมหาวิทยาลัยเกษตรศาสตร์และรองอธิการบดีฝ่ายวิชาการ เป็นหน้าภาพที่ไม่มีข้อความที่สกัดได้ (image-only pages) แสดงถึงความสำคัญของการปรับปรุงหมวดวิชาศึกษาทั่วไปในระดับผู้บริหาร",
          "nodes": []
        },
        {
          "title": "สารบัญ (Table of Contents)",
          "node_id": "0002",
          "start_index": 7,
          "end_index": 8,
          "summary": "สารบัญแสดงโครงสร้างเอกสารทั้งหมด ครอบคลุมบทนำ การจัดการศึกษาและโครงสร้างหมวดวิชาศึกษาทั่วไป รายละเอียดรายวิชา แผนที่การกระจายความรับผิดชอบ แบบฟอร์ม ขั้นตอนการดำเนินงาน และภาคผนวกต่างๆ",
          "nodes": []
        }
      ]
    },
    ...

แนะนำให้ทำการ clear context ออกก่อนแล้วทำการเริ่มแชทถามตอบเกี่ยวกับเอกสารนี้ได้เลย

ทดสอบการทำงานของ RAG Pageindex

วิชาสุขภาพเพื่อชีวิตอยู่ในหมวดอะไร

ในการทำงานคือเพื่อประหยัด context windows ใน system prompt ใช้วิธีการแตก subagents ที่เป็นโมเดลขนาดเล็กในการค้นหาและใช้ skill pageindex-search ในการค้นหา และทำการตอบคำถามออกมา

คำตอบที่ได้

คำตอบจาก LLM

● วิชา สุขภาพเพื่อชีวิต (รหัส 01999012) อยู่ใน กลุ่มสาระอยู่ดีมีสุข ของหมวดวิชาศึกษาทั่วไป โดยจัดอยู่ในกลุ่มย่อย "รายวิชาอื่นๆ ในกลุ่มสาระอยู่ดีมีสุข" (หน้า67)

  - หน่วยกิต: 3 (3-0-6)
  - เนื้อหา: กลไกการกำเนิดและพัฒนาการของมนุษย์, การดูแลส่งเสริมสุขภาพกายและจิต, สุขภาพผู้บริโภค, สิ่งแวดล้อมและสุขภาพ, ความก้าวหน้าทางวิทยาศาสตร์สุขภาพ ฯลฯ

ไฟล์ฉบับ

จากที่เห็นพบว่ามีความแม่นยำ และสามารถตรวจสอบย้อนหลังได้เพราะว่ามีการ reasoning ค้นหาก่อนแล้ว

ตัวอย่างที่ 2

❯ อยากรู้ว่าวิชาทั่วไปแบ่งออกเป็นกี่กลุ่มสาระ

● Agent(Search for กลุ่มสาระ in gened64) Haiku 4.5
  ⎿  Prompt:
       Use the pageindex-search skill to search the document indexed at
       D:\demo-pageindex-test\gened64_structure.json for the query: "หมวดวิชาศึกษาทั่วไปแบ่งออกเป็นกี่กลุ่มสาระ มีอะไรบ้าง"

       Return the raw search results including page numbers and relevant content about all subject groups (กลุ่มสาระ)
        in the general education curriculum.
  ⎿  Skill(pageindex-search)
  ⎿  Read(D:\demo-pageindex-test\gened64_structure.json)
  ⎿  Bash(python "D:\demo-pageindex-test\.claude\skills\pageindex\scripts\extract_pages.py" --pdf
  ⎿  Read(C:\Users\vjump\AppData\Local\Temp\pageindex_search_result_groups.json)
  ⎿  Response:
       Perfect! Now I have the information needed. Let me provide the raw search results with the key findings.

       Raw Search Results - General Education Subject Groups (กลุ่มสาระศึกษาทั่วไป)

       Query: หมวดวิชาศึกษาทั่วไปแบ่งออกเป็นกี่กลุ่มสาระ มีอะไรบ้าง

       Answer: The general education curriculum at Kasetsart University is divided into 5 subject groups (กลุ่มสาระ).

       ---
       Complete List of 5 Subject Groups with Descriptions

       Source: Pages 25-26 of gened64.pdf

       Subject Group: อยู่ดีมีสุข
       English Name: Wellness
       Description: Comprises living well with physical and mental health, morality and ethics, self-reliance based
        on
         sufficiency economy philosophy, understanding self-worth and others' worth, building harmonious and stable
        families,
         and living peacefully with others in society.
       ────────────────────────────────────────
       Subject Group: ศาสตร์แห่งผู้ประกอบการ
       English Name: Entrepreneurship
       Description: Involves business opportunities and implementation, holistic thinking, creativity, creating
       innovation
         based on creative economy, linking problem-solving processes, finding creative solutions, demonstrating
         determination, pursuing knowledge advancement, ethical management, providing services, and demonstrating
       good
         leadership and followership skills.
       ────────────────────────────────────────
       Subject Group: ภาษากับการสื่อสาร
       English Name: Language and Communication
       Description: Involves using language and constructive communication in both Thai and foreign languages,
       developing
         skills in speaking, listening, reading, writing, and appropriate presentation for diverse audiences, being
        media
         literate and using information technology for communication, information retrieval, data collection and
       analysis.
       ────────────────────────────────────────
       Subject Group: พลเมืองไทยและพลเมืองโลก
       English Name: Thai Citizen and Global Citizen
       Description: Comprises being a citizen with value to both Thai and global society, being broadly
       knowledgeable with
         far-sighted perspectives, recognizing citizens' rights and responsibilities, taking pride in being a Thai
       and global
         citizen, valuing similarities and differences, understanding cultural diversity, history, local wisdom,
       equality in
         human dignity, having volunteer spirit and public consciousness.
       ────────────────────────────────────────
       Subject Group: สุนทรียศาสตร์
       English Name: Aesthetics
       Description: Comprises appreciating and valuing beauty and elegance perceptible through senses, beauty in
       nature and
         environment, human-created beauty, acquiring knowledge to access beauty, understanding the nature of life
       and
         developing self-worth to society, creating and preserving beautiful things, possessing lifelong learning
       skills to
         develop physical, mental, emotional, aesthetic and spiritual dimensions.

       ---
       Key Finding

       According to Table 1 (ตารางที่ 1) on page 26 of the document, all five subject groups are explicitly defined
       with comprehensive descriptions explaining their educational philosophy and learning outcomes. These groups
       are integrated with subject matter areas (ภาพที่ 1) and aligned with learning outcome standards (ภาพที่ 2) to
       develop graduates with desired characteristics (ภาพที่ 3).
  ⎿  Done (4 tool uses · 50.2k tokens · 23s)

                                                                                      11:01 PM claude-sonnet-4-6
● หมวดวิชาศึกษาทั่วไปของมหาวิทยาลัยเกษตรศาสตร์ แบ่งออกเป็น 5 กลุ่มสาระ ได้แก่ (หน้า 25–26):

  ┌─────┬───────────────────────┬─────────────────────────────────┐
  │  #  │        กลุ่มสาระ        │           ชื่อภาษาอังกฤษ           │
  ├─────┼───────────────────────┼─────────────────────────────────┤
  │ 1   │ อยู่ดีมีสุข                │ Wellness                        │
  ├─────┼───────────────────────┼─────────────────────────────────┤
  │ 2   │ ศาสตร์แห่งผู้ประกอบการ    │ Entrepreneurship                │
  ├─────┼───────────────────────┼─────────────────────────────────┤
  │ 3   │ ภาษากับการสื่อสาร        │ Language and Communication      │
  ├─────┼───────────────────────┼─────────────────────────────────┤
  │ 4   │ พลเมืองไทยและพลเมืองโลก │ Thai Citizen and Global Citizen │
  ├─────┼───────────────────────┼─────────────────────────────────┤
  │ 5   │ สุนทรียศาสตร์            │ Aesthetics                      │
  └─────┴───────────────────────┴─────────────────────────────────┘

✻ Crunched for 33s

จะเห็นว่ามีการแตก subagent ออกมาทำให้ประหยัด context windows ไปได้เป็นจำนวนมาก

จากที่เห็นคือ context windows ใช้ไปเพียงเล็กน้อยเพราะว่า subagents ช่วยค้นหาไปได้หมดแล้ว

เปรียบเทียบกับการโยนไฟล์ pdf ไปถามตรง ๆ

คำถามที่นำมาทดสอบ : ถ้าต้องการเรียนให้ครบหน่วยกิตตามที่กำหนดไว้ควรลงวิชาอะไรดี

คำตอบจาก ChatGPT แบบฟรี

ถ้าจะลงให้ **ครบหน่วยกิตหมวดวิชาศึกษาทั่วไป (GE)** ตามเอกสารนี้
ต้องคิดแบบนี้ก่อน 👇

## 📌 หลักสำคัญ

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

---

## ✅ แนวทางเลือกวิชา (แนะนำแบบเข้าใจง่าย)

### 1. กลุ่มสาระอยู่ดีมีสุข (Wellness)

👉 วิชาที่ควรมี

* สุขภาพเพื่อชีวิต
* พลศึกษา

✔️ เป็นวิชาบังคับ + เรียนไม่ยาก เหมาะเก็บหน่วยกิต

---

### 2. กลุ่มสาระภาษากับการสื่อสาร

👉 แนะนำ

* ภาษาอังกฤษ / การสื่อสาร

✔️ สำคัญ ใช้จริงในชีวิต

---

### 3. กลุ่มสาระพลเมืองไทยและพลเมืองโลก

👉 แนะนำ

* วิชาสังคม / พลเมือง / โลกปัจจุบัน

✔️ เนื้อหาไม่หนักมาก อ่านทำความเข้าใจได้

---

### 4. กลุ่มสาระสุนทรียศาสตร์

👉 เลือกตามความชอบ

* ดนตรี / ศิลปะ / ภาพยนตร์

✔️ ส่วนใหญ่เรียนสบาย สนุก

---

### 5. กลุ่มสาระศาสตร์แห่งผู้ประกอบการ

👉 แนะนำ

* การคิดธุรกิจ / การเป็นผู้ประกอบการ

✔️ ได้สกิลใช้จริง

---

## 🎯 ตัวอย่างแผนลงแบบ “เรียนง่าย + ครบไว”

* สุขภาพเพื่อชีวิต
* พลศึกษา
* ภาษาอังกฤษสัก 1 วิชา
* วิชาสังคมหรือพลเมือง
* วิชาศิลปะ/ดนตรี
* วิชาผู้ประกอบการ
* * เลือกเสรีเพิ่ม เช่น **ทะเลกับชีวิต**

---

## 💡 ทริคเลือกวิชา

* เลือก **วิชาที่สนใจ → จะเรียนง่ายกว่า**
* ดู **รีวิวรุ่นพี่** ว่าวิชาไหนคะแนนดี
* กระจายวิชา ไม่ลงยากทุกตัวในเทอมเดียว

---

## 📌 สรุปสั้น ๆ

👉 เลือกวิชาให้ **ครบ 5 กลุ่ม + หน่วยกิตถึง**
👉 เน้น **ง่าย + สนใจ + ไม่หนักเกินไป**

---

ถ้าคุณบอกได้ว่า “ต้องใช้กี่หน่วยกิต” หรือมีตัวเลือกวิชาอะไรบ้าง
ผมช่วยจัดตารางลงให้แบบเป๊ะ ๆ ได้เลย 👍

คำตอบจาก GEMINI แบบ Thinking

[cite_start]เพื่อให้เรียนครบหน่วยกิตตามที่หลักสูตรหมวดวิชาศึกษาทั่วไป มหาวิทยาลัยเกษตรศาสตร์ (ฉบับปรับปรุง พ.ศ. 2564) กำหนดไว้ไม่น้อยกว่า 30 หน่วยกิต [cite: 30, 428] [cite_start]โดยนิสิตจะต้องเรียนให้ครบทั้ง 5 กลุ่มสาระ [cite: 33, 78, 954] แนะนำให้เลือกวิชาโดยแบ่งตามประเภทดังนี้ครับ:

### 1. วิชาบังคับ (ที่ทุกหลักสูตรกำหนดให้ต้องเรียน)
* [cite_start]**วิชา 01999111 ศาสตร์แห่งแผ่นดิน (Knowledge of the Land):** 2 หน่วยกิต [cite: 75, 81, 949] [cite_start]จัดอยู่ในกลุ่มสาระพลเมืองไทยและพลเมืองโลก [cite: 75, 1131]
* [cite_start]**วิชากลุ่มภาษาไทย:** 3 หน่วยกิต [cite: 30, 75, 949] [cite_start]เช่น *01999021 ภาษาไทยเพื่อการสื่อสาร* [cite: 440] [cite_start]หรือ *01361101 การใช้ภาษาไทยเบื้องต้น* [cite: 1087]
* [cite_start]**วิชากลุ่มภาษาต่างประเทศ:** 9 หน่วยกิต โดยต้องเลือกเรียนภาษาเดียวกันอย่างต่อเนื่อง [cite: 30, 75, 949] [cite_start]เช่น ชุดวิชาภาษาอังกฤษ (01355xxx) [cite: 1088, 441]
* [cite_start]**วิชากลุ่มพลศึกษา:** 1 หน่วยกิต [cite: 30, 75, 949] [cite_start]ซึ่งนิสิตสามารถเลือกได้ตามความสนใจ เช่น *01175112 แบดมินตันเพื่อสุขภาพ* หรือ *01175167 โยคะเพื่อสุขภาพ* [cite: 431, 433]

### 2. วิชาเลือกที่แนะนำเพื่อสะสมหน่วยกิตให้ครบ (รวมแล้วให้ได้มากกว่า 30 หน่วยกิต)
นิสิตควรเลือกวิชาที่เหลือจากกลุ่มสาระต่าง ๆ ที่ยังเรียนไม่ครบ โดยเน้นวิชาที่ช่วยพัฒนาทักษะการใช้ชีวิตและอาชีพ ดังนี้ครับ:

* **กลุ่มสาระศาสตร์แห่งผู้ประกอบการ (Entrepreneurship):**
    * [cite_start]*01131111 การเงินสำหรับผู้ประกอบการ:* เรียนรู้เรื่องการจัดการเงิน [cite: 42, 438]
    * [cite_start]*01200101 การคิดเชิงนวัตกรรม:* เน้นการแก้ปัญหาและสร้างสรรค์สิ่งใหม่ [cite: 42, 438]
    * [cite_start]*01453103 กฎหมายสำหรับผู้ประกอบการใหม่:* พื้นฐานกฎหมายที่สำคัญต่อธุรกิจ [cite: 34, 438]

* **กลุ่มสาระอยู่ดีมีสุข (Wellness):**
    * [cite_start]*01350103 ชีวิตยืดหยุ่นได้ (Resilient Life):* ช่วยเรื่องการปรับตัวและจัดการความเครียด [cite: 34, 434]
    * [cite_start]*01999011 อาหารเพื่อมนุษยชาติ:* พื้นฐานโภชนาการและการบริโภคที่ดี [cite: 40, 435]

* **กลุ่มสาระสุนทรียศาสตร์ (Aesthetics):**
    * [cite_start]*01240011 การออกแบบในชีวิตประจำวัน:* เข้าใจคุณค่าของงานออกแบบรอบตัว [cite: 47, 1146]
    * [cite_start]*01255101 มนุษย์กับทะเล:* เรียนรู้ความงามและคุณค่าของทรัพยากรทางทะเล [cite: 47, 1146]

* **กลุ่มสาระภาษากับการสื่อสาร (ด้านสารสนเทศ/คอมพิวเตอร์):**
    * [cite_start]*01418104 รู้ทันไอที:* เพื่อให้ใช้งานเทคโนโลยีได้อย่างเท่าทันและปลอดภัย [cite: 45, 1125]

**ข้อแนะนำเพิ่มเติม:**
* [cite_start]ควรตรวจสอบแผนการเรียนของคณะหรือสาขาวิชาที่นิสิตสังกัดประกอบด้วย เพราะบางหลักสูตรอาจมีการระบุรายวิชาศึกษาทั่วไปบางตัวไว้เป็นการเฉพาะครับ [cite: 8, 56]
* [cite_start]นิสิตสามารถลงทะเบียนเรียนรายวิชาที่เปิดใหม่ (24 วิชาใหม่) หรือรายวิชาที่ปรับปรุงเนื้อหาเพื่อให้ทันต่อการเปลี่ยนแปลงของโลกในศตวรรษที่ 21 ได้ [cite: 34, 55]

คำตอบจาก Pageindex Claude Code ที่สร้างขึ้นมา

● จากหลักสูตรหมวดวิชาศึกษาทั่วไป มก. พ.ศ. 2564 นิสิตต้องเรียนรวม ไม่น้อยกว่า 30 หน่วยกิต และต้องผ่านครบทุก 5 กลุ่มสาระ ดังนี้:

  ---
  โครงสร้างที่ต้องเรียนให้ครบ

  กลุ่มที่ 1 — อยู่ดีมีสุข

  ┌────────┬───────────────────┬────────┐
  │ ประเภท │     รายละเอียด     │ หน่วยกิต │
  ├────────┼───────────────────┼────────┤
  │ บังคับ   │ กิจกรรมพลศึกษา      │ 1      │
  ├────────┼───────────────────┼────────┤
  │ เลือก   │ รายวิชาในกลุ่มอยู่ดีมีสุข │ ≥ 2    │
  └────────┴───────────────────┴────────┘

  กลุ่มที่ 2 — ศาสตร์แห่งผู้ประกอบการ

  ┌────────┬───────────────────────────────┬────────┐
  │ ประเภท │           รายละเอียด           │ หน่วยกิต │
  ├────────┼───────────────────────────────┼────────┤
  │ เลือก   │ รายวิชาในกลุ่มศาสตร์แห่งผู้ประกอบการ │ ≥ 3    │
  └────────┴───────────────────────────────┴────────┘

  กลุ่มที่ 3 — ภาษากับการสื่อสาร (รวม ≥ 13 หน่วยกิต)

  ┌────────┬────────────────────────┬──────────┐
  │ ประเภท │       รายละเอียด        │  หน่วยกิต  │
  ├────────┼────────────────────────┼──────────┤
  │ บังคับ   │ ภาษาไทย                │ 3        │
  ├────────┼────────────────────────┼──────────┤
  │ บังคับ   │ ภาษาต่างประเทศ (1 ภาษา) │ 9        │
  ├────────┼────────────────────────┼──────────┤
  │ บังคับ   │ สารสนเทศ/คอมพิวเตอร์     │ 1 รายวิชา │
  └────────┴────────────────────────┴──────────┘

  กลุ่มที่ 4 — พลเมืองไทยและพลเมืองโลก

  ┌────────┬────────────────────────┬────────┐
  │ ประเภท │       รายละเอียด        │ หน่วยกิต │
  ├────────┼────────────────────────┼────────┤
  │ บังคับ   │ 01999111 ศาสตร์แห่งแผ่นดิน │ 2      │
  ├────────┼────────────────────────┼────────┤
  │ เลือก   │ รายวิชาในกลุ่มพลเมืองฯ     │ ≥ 1    │
  └────────┴────────────────────────┴────────┘

  กลุ่มที่ 5 — สุนทรียศาสตร์

  ┌────────┬───────────────────────┬────────┐
  │ ประเภท │       รายละเอียด       │ หน่วยกิต │
  ├────────┼───────────────────────┼────────┤
  │ เลือก   │ รายวิชาในกลุ่มสุนทรียศาสตร์ │ ≥ 3    │
  └────────┴───────────────────────┴────────┘

  ---
  สรุปแนวทาง

  1. เรียนวิชาบังคับให้ครบก่อน ได้แก่ กิจกรรมพลศึกษา / ภาษาไทย / ภาษาต่างประเทศ / สารสนเทศ / ศาสตร์แห่งแผ่นดิน (รวมประมาณ 16 หน่วยกิต)
  2. เลือกวิชาเพิ่มเติม ให้ครบทุกกลุ่มที่ยังขาด (กลุ่ม 1, 2, 4, 5) รวมให้ถึง 30 หน่วยกิตขึ้นไป
  3. ต้องผ่านครบทั้ง 5 กลุ่มสาระ — ห้ามเว้นกลุ่มใดกลุ่มหนึ่ง

  ต้องการให้ค้นหารายวิชาที่เปิดสอนในแต่ละกลุ่มเพิ่มเติมไหมครับ?

จะเห็นว่า Gemini และ Claude Code ที่ทำ Pageindex ไว้ตอบได้ถูกต้อง แต่ ChatGPT ไม่ได้ให้คำตอบที่่ชัดเจน (อาจจะต้องไปใช้ Codex เพื่อให้การเปรียบเทียบมีความ fair มากกว่านี้)

ข้อดีของ Pageindex

  • เนื่องจากการมี Index ที่เป็นไฟล์ json ไว้แล้วทำให้ Agent สามารถมานั่งอ่าน json index ก่อนที่จะทำการอ่านไฟล์จริงได้หรือทำการแยกไฟล์หรือการดึงข้อความออกมาจาก pdf ก่อนทำการอ่านได้ ทำให้โอกาสเกิดการอ่าน pdf โดยตรงน้อยลงไปมาก ซึ่งทำให้ประหยัด context windows ด้วยหากทำเป็น subagent

ข้อเสียของ Pageindex

  • ใช้เวลาในการค้นหานานเพราะว่าต้องมีการเรียก Tools และมีการ Thinking เพื่อให้พิจารณาว่าคำถามที่ถามมาสามารถหาได้ครอบคลุมแค่ไหน
  • บางคำถามอาจจะทำให้ Subagent ออกทะเลได้
  • การทำ pdf หรือไฟล์ markdown ควร pre-process ให้ออกมาดีก่อนโดยเฉพาะภาษาไทยที่เปลือง token มากกว่าภาษาอังกฤษ

สรุปการใช้งาน

  • ถึงแม้ว่าการสร้าง Pageindex ด้วยการทำ Agent Skills จะไม่ใช่วิธีแบบเหมือนต้นฉบับ 100% ที่เอามาจาก https://chat.pageindex.ai/chat แต่เป็นการทำให้มีความคล้ายกับการหาไฟล์โดยการทำ index ให้ได้มากที่สุด ซึ่งการทำงานแบบนี้จะดีมาก ๆ กับไฟล์ใหญ่ ๆ และคำถามที่เฉพาะเจาะจงที่โอกาสของ LLM ไม่หลอนได้

Use Cases ที่น่าสนใจ

  • การทำคลังหนังสือของตัวเองเหมือนกับห้องสมุด
  • การเปรียบเทียบข้อมูลในทางธุรกิจผ่านเอกสารที่รวมไว้ โดยอาจจะรวมกับ skills อื่น ๆ เพื่อความแม่นยำได้

Github Repository ที่ทำการ Demo ตัว PageIndex ด้วย Agent Skills

https://github.com/vjumpkung/demo-pageindex-test

สามารถนำไปใช้ในการศึกษาได้เต็มที่

Reference