---
title: "Program of Thoughts Prompting (TH)"
source: "https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)"
wiki: "systems-analysis.info/int"
article: "Program_of_Thoughts_Prompting_(TH)"
language: "th"
categories:
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
  - "Category:Thai"
revision_id: 5866
wiki_created_at: 2026-09-06T23:55:09Z
wiki_modified_at: 2026-09-06T23:55:09Z
downloaded_at: 2026-09-07T23:10:46Z
---

# Program of Thoughts Prompting (TH)

**Program of Thoughts Prompting** (**PoT**, อังกฤษ: «program of thoughts» — โปรแกรมแห่งความคิด) — คือวิธีการ prompt engineering สำหรับ large language models (LLM) ซึ่งโมเดลจะสร้างโค้ดโปรแกรมเป็นขั้นตอนกลางในการแก้ปัญหา แทนที่จะเป็นคำอธิบายในรูปแบบข้อความ<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup> แนวทางนี้ช่วยแยกการใช้เหตุผลเชิงตรรกะออกจากการคำนวณทางคณิตศาสตร์ โดย language model จะสร้างแผนการแก้ปัญหาในรูปของโปรแกรม (เช่น บน Python) ส่วนการคำนวณจะดำเนินการโดย interpreter โค้ดภายนอกที่เป็น deterministic

วิธีการนี้ถูกเสนอขึ้นในปี 2022 โดยกลุ่มนักวิจัยนำโดย **เวินหู เฉิน** (*Wenhu Chen*) และมุ่งเน้นไปที่งานที่มีลักษณะเป็นตัวเลขหรือเชิงตรรกะเป็นหลัก (โจทย์คณิตศาสตร์, การคำนวณทางการเงิน) ซึ่งวิธีการใช้เหตุผลแบบดั้งเดิม เช่น Chain-of-Thought ประสบปัญหาด้านความแม่นยำในการคำนวณ<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup>

## พื้นหลังและแนวคิด

### ข้อจำกัดของ Chain-of-Thought

วิธี PoT เป็นการพัฒนาต่อยอดจากแนวคิด **Chain-of-Thought (CoT)** (ลูกโซ่แห่งการใช้เหตุผล) ซึ่งเดิมเป็นแนวทางหลักในการปรับปรุงการอนุมานเชิงตรรกะของ LLM<sup>[\[2\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-cot_paper-2)</sup> ในวิธี CoT โมเดลจะสร้างลำดับขั้นตอนกลางเป็นภาษาธรรมชาติ แม้คุณภาพการใช้เหตุผลจะดีขึ้นอย่างมีนัยสำคัญ แต่แนวทางนี้มีข้อจำกัดเชิงพื้นฐาน คือโมเดลต้องรับผิดชอบทั้งการใช้ตรรกะและการคำนวณในรูปแบบข้อความ ซึ่งมักนำไปสู่การดำเนินการเลขคณิตที่ไม่แม่นยำ ความผิดพลาดในการปัดเศษ และความคลาดเคลื่อนอื่น ๆ เนื่องจาก language models โดยธรรมชาติแล้วไม่ใช่เครื่องคำนวณที่แม่นยำ

### แนวคิดหลักของ Program of Thoughts

แนวคิดหลักของ PoT คือการมอบหมายการคำนวณให้กับระบบภายนอก (interpreter โค้ด) และกำหนดให้ language model ทำหน้าที่เพียงการกำหนดรูปแบบแผนการแก้ปัญหาในรูปของโปรแกรมที่ประมวลผลได้<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup> โมเดลทำหน้าที่เป็น «นักเขียนโปรแกรม» ไม่ใช่ «นักคำนวณ»

กระบวนการทำงานมีดังนี้:

1.  โมเดลรับโจทย์เป็น input (เช่น โจทย์คณิตศาสตร์ในรูปข้อความ)
2.  แทนที่จะใช้การใช้เหตุผลแบบข้อความ โมเดลจะสร้าง script ในภาษาโปรแกรม (เช่น **Python**) ที่แก้ปัญหานั้น
3.  โค้ดที่สร้างขึ้นจะถูกส่งต่อไปยัง interpreter ภายนอกเพื่อประมวลผล
4.  ผลลัพธ์ของการประมวลผลโค้ดคือคำตอบสุดท้าย

ด้วยวิธีนี้ การคำนวณที่ซับซ้อนและแม่นยำ (การดำเนินการกับตัวเลขขนาดใหญ่, การเรียกใช้ library เฉพาะทาง) จะไม่ถูกดำเนินการโดยตัวโมเดลเอง แต่โดยโปรแกรม ซึ่งรับประกัน determinism และความแม่นยำสูง<sup>[\[3\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_ministry_ai-3)</sup>

## การนำไปใช้งานและการใช้ library

ในการนำ PoT ไปใช้งาน ความสามารถของ LLM ในการสร้างโค้ดที่ถูกต้องและมีประสิทธิภาพเป็นสิ่งสำคัญ ผู้เสนอแนวทางนี้ใช้โมเดล **OpenAI Codex** ซึ่งได้รับการฝึกฝนเป็นพิเศษในงานโปรแกรมมิ่ง แนวทาง PoT ช่วยให้โมเดลสามารถใช้ library ภายนอกได้ ซึ่งขยายขอบเขตของโจทย์ที่แก้ได้อย่างมีนัยสำคัญ ตัวอย่างเช่น เมื่อแก้โจทย์คณิตศาสตร์เชิงสัญลักษณ์ โมเดลสามารถสร้างโค้ดที่ใช้ library **SymPy** เพื่อแก้สมการเชิงวิเคราะห์ ซึ่งอยู่นอกเหนือความสามารถของวิธีภาษาล้วน ๆ<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup>

การกำหนด prompt สำหรับ PoT สามารถทำได้ในสองโหมด:

- **Few-shot**: ใน prompt มีตัวอย่างคู่ «คำถาม — โปรแกรมแก้ปัญหา» หลายตัวอย่าง
- **Zero-shot**: ใน prompt มีเพียงคำสั่งที่อธิบายโจทย์โดยไม่มีตัวอย่าง

แม้แต่ในโหมด *zero-shot* PoT ก็แสดงประสิทธิภาพสูงเนื่องจากโครงสร้างที่ชัดเจนที่โมเดลต้องสร้างขึ้น<sup>[\[4\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_learnprompting-4)</sup>

## ผลลัพธ์และประสิทธิภาพ

วิธี PoT แสดงให้เห็นการปรับปรุงคุณภาพการแก้ปัญหาอย่างมีนัยสำคัญในโจทย์ที่ต้องการการใช้เหตุผลเชิงตัวเลขหลายขั้นตอน ในงานวิจัยต้นฉบับ วิธีนี้ได้รับการทดสอบบน dataset คณิตศาสตร์และการเงินแปดชุด ได้แก่ **GSM8K**, **AQUA**, **SVAMP**, **FinQA** และอื่น ๆ

- **การเพิ่มความแม่นยำ**: ในทุกกรณี PoT เหนือกว่าแนวทางพื้นฐาน CoT โดยเฉลี่ยแล้วได้รับผลกำไรสัมพัทธ์ประมาณ **~12%** ในสัดส่วนของคำตอบที่ถูกต้อง
  - บน dataset คณิตศาสตร์ยอดนิยม **GSM8K** ความแม่นยำของโมเดลด้วย PoT สูงถึง **71.6%** ในขณะที่ด้วย CoT อยู่ที่ **63.1%**
  - ในโจทย์การเงิน ผลกำไรยิ่งมีนัยสำคัญมากขึ้น: บน dataset **FinQA** ความแม่นยำเพิ่มขึ้นจาก **40.4%** (CoT) เป็น **64.5%** (PoT)<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup>

<!-- -->

- **การรวมกับ Self-Consistency**: ประสิทธิภาพของ PoT สามารถปรับปรุงเพิ่มเติมได้เมื่อรวมกับวิธี **self-consistency** (ความสอดคล้องด้วยตนเอง) ในกรณีนี้โมเดลจะสร้างโปรแกรมแก้ปัญหาอิสระหลายโปรแกรม และคำตอบสุดท้ายจะถูกเลือกตาม «หลักการเสียงข้างมาก» จากผลลัพธ์การประมวลผล เมื่อรวมกับ *self-consistency* PoT ได้สถาปนา **state-of-the-art** ใหม่ ณ เวลาที่ตีพิมพ์สำหรับ benchmark คณิตศาสตร์และการเงินทั้งหมดที่ทดสอบ<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_paper-1)</sup>

## ข้อดีและข้อจำกัด

### ข้อดี

- **ความแม่นยำในการคำนวณ**: ข้อได้เปรียบหลัก การดำเนินการทางคณิตศาสตร์โดย interpreter ภายนอกขจัดข้อผิดพลาดการปัดเศษและความไม่แม่นยำที่มีอยู่ใน LLM
- **ความสามารถในการใช้ library**: โมเดลสามารถใช้ library ภายนอกที่ทรงพลัง (เช่น สำหรับการคำนวณเชิงสัญลักษณ์, การวิเคราะห์ทางสถิติ, การทำงานกับวันที่) แก้โจทย์ที่ไม่สามารถทำได้มาก่อน
- **การตีความและการแก้ไขข้อบกพร่อง**: โค้ดโปรแกรมเป็นการแสดงแทนตรรกะการแก้ปัญหาที่เป็นทางการและมีโครงสร้าง ซึ่งทำให้ง่ายต่อการตรวจสอบและแก้ไขข้อบกพร่องเมื่อเทียบกับการใช้เหตุผลในภาษาธรรมชาติ
- **ความหลากหลาย**: แนวทางนี้มีประสิทธิภาพทั้งในโหมด *few-shot* และ *zero-shot* และใช้ได้กับหลายโดเมน (คณิตศาสตร์, การเงิน, วิทยาศาสตร์)

### ข้อจำกัด

- **ความปลอดภัย**: การประมวลผลโค้ดที่สร้างขึ้นบน interpreter ภายนอกก่อให้เกิดความเสี่ยงด้านความปลอดภัย โมเดลอาจสร้างโค้ดที่เป็นอันตรายในทางทฤษฎี (เช่น เพื่อลบไฟล์) ดังนั้นการนำ PoT ไปใช้งานจริงจึงต้องการการแยกสภาพแวดล้อมการประมวลผล (*sandbox*) และการกรองโค้ดอย่างรอบคอบ<sup>[\[4\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pot_learnprompting-4)</sup>
- **ขอบเขตการใช้งานที่จำกัด**: วิธีนี้มีประสิทธิภาพสูงสุดสำหรับโจทย์ที่สามารถกำหนดรูปแบบเป็นอัลกอริทึมได้อย่างชัดเจน สำหรับโจทย์ที่ต้องการความเข้าใจในความละเอียดอ่อนของภาษา, สามัญสำนึก หรือความคิดสร้างสรรค์ การนำ PoT ไปใช้โดยตรงเป็นเรื่องยาก
- **การพึ่งพาคุณภาพโค้ด**: ประสิทธิภาพของวิธีนี้ขึ้นอยู่กับความสามารถของ LLM ในการสร้างโค้ดที่ถูกต้องทางไวยากรณ์และถูกต้องเชิงตรรกะโดยตรง

## แนวทางที่เกี่ยวข้อง

แนวคิดการใช้โค้ดเพื่อปรับปรุงการใช้เหตุผลของ LLM ได้รับการพัฒนาในแนวทางอื่น ๆ ที่คล้ายกันด้วย

- **Program-Aided Language Models (PAL)**: วิธีที่เสนอขึ้นเกือบพร้อมกันกับ PoT ซึ่งใช้การสร้าง Python โค้ดเพื่อแก้ปัญหาเช่นกัน<sup>[\[5\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_note-pal_guide-5)</sup> ในเชิงแนวคิด PAL และ PoT ใกล้เคียงกันมากและยืนยันประสิทธิผลของกลยุทธ์ «การใช้เหตุผลผ่านโค้ด»
- **Tree of Thoughts (ToT)**: วิธีที่ซับซ้อนกว่า ซึ่งเสนอให้สร้างและสำรวจ «ต้นไม้» ของขั้นตอนการแก้ปัญหาที่เป็นไปได้ ซึ่งเป็นการพัฒนาแนวคิดของ «ลูกโซ่» ความคิดเชิงเส้น PoT สามารถนำมาใช้ภายในโหนดของต้นไม้นี้เพื่อการตรวจสอบสมมติฐาน

## อ้างอิง

- บทความวิจัยต้นฉบับเกี่ยวกับ Program of Thoughts Prompting
- คู่มือ PoT บนพอร์ทัล Learn Prompting

## บรรณานุกรม

- Chen, W. et al. (2023). *Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks*. arXiv:2211.12588.
- Wei, J. et al. (2022). *Chain of Thought Prompting Elicits Reasoning in Large Language Models*. arXiv:2201.11903.
- Wang, X. et al. (2022). *Self-Consistency Improves Chain of Thought Reasoning in Language Models*. arXiv:2203.11171.
- Gao, L. et al. (2022). *PAL: Program-Aided Language Models*. arXiv:2211.10435.
- Cobbe, K. et al. (2021). *Training Verifiers to Solve Math Word Problems*. arXiv:2110.14168.
- Chen, Z. et al. (2021). *FinQA: A Dataset of Numerical Reasoning over Financial Data*. arXiv:2109.00122.
- Zhu, F. et al. (2021). *TAT-QA: A Question Answering Benchmark on a Hybrid of Tabular and Textual Content in Finance*. arXiv:2105.07624.
- Patel, A. et al. (2021). *Are NLP Models Really Able to Solve Simple Math Word Problems? (Introducing SVAMP)*. arXiv:2103.07191.
- Xu, F. et al. (2023). *RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation*. arXiv:2310.04408.
- Mu, J. et al. (2023). *Learning to Compress Prompts with Gist Tokens*. arXiv:2304.08467.

## หมายเหตุ

1.  <span id="cite_note-pot_paper-1">↑ <sup>[1.0](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_paper_1-5)</sup> Chen, W. et al. «Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks». *arXiv:2211.12588*, 2023. <a href="https://arxiv.org/abs/2211.12588" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-cot_paper-2">[↑](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-cot_paper_2-0) Wei, J. et al. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». *arXiv:2201.11903*, 2022. <a href="https://arxiv.org/abs/2201.11903" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-pot_ministry_ai-3">[↑](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_ministry_ai_3-0) «Program of Thoughts: Everything You Need to Know». *The Ministry of AI*. <a href="https://medium.com/@ThePromptIndex/program-of-thoughts-everything-you-need-to-know-7ebf2cb9d59c" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-pot_learnprompting-4">↑ <sup>[4.0](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_learnprompting_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pot_learnprompting_4-1)</sup> «Program of Thoughts Prompting: Enhancing Accuracy in Reasoning and Computation». *Learn Prompting*. <a href="https://learnprompting.org/docs/advanced/decomposition/program_of_thoughts" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-pal_guide-5">[↑](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(TH)#cite_ref-pal_guide_5-0) «PAL (Program-Aided Language Models)». *Prompt Engineering Guide*. <a href="https://www.promptingguide.ai/techniques/pal" class="external autonumber" rel="nofollow">[5]</a></span>
