---
title: "Program of Thoughts Prompting (CS)"
source: "https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)"
wiki: "systems-analysis.info/int"
article: "Program_of_Thoughts_Prompting_(CS)"
language: "cs"
categories:
  - "Category:Czech"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 5849
wiki_created_at: 2026-09-06T23:54:53Z
wiki_modified_at: 2026-09-06T23:54:53Z
downloaded_at: 2026-09-07T23:10:39Z
---

# Program of Thoughts Prompting (CS)

**Program of Thoughts Prompting** (**PoT**, angl. «program myšlenek») — je metoda prompt engineeringu pro velké jazykové modely (LLM), při níž model generuje programový kód jako mezikroky řešení úlohy namísto textového vysvětlení<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>. Tento přístup umožňuje oddělit logické uvažování od matematických výpočtů: jazykový model sestavuje plán řešení v podobě programu (například v Pythonu), přičemž samotné výpočty provádí externí, deterministický interpret kódu.

Metoda byla navržena v roce 2022 skupinou výzkumníků v čele s **Wenhu Chenem** (*Wenhu Chen*) a je zaměřena především na úlohy číselného nebo logického charakteru (matematické úlohy, finanční výpočty), kde tradiční metody uvažování, jako je Chain-of-Thought, narážely na potíže s přesností výpočtů<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>.

## Předpoklady a koncepce

### Omezení Chain-of-Thought

Metoda PoT je rozvinutím myšlenky **Chain-of-Thought (CoT)** (řetězec uvažování), která dříve představovala hlavní přístup ke zlepšení logického odvozování LLM<sup>[\[2\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-cot_paper-2)</sup>. V metodě CoT model generuje posloupnost mezikroků v přirozeném jazyce. Přes výrazné zlepšení kvality uvažování má tento přístup zásadní omezení: model provádí jak logiku, tak samotné výpočty v textové formě. To často vede k nepřesným aritmetickým operacím, chybám zaokrouhlování a dalším nepřesnostem, protože jazykové modely ze své podstaty nejsou přesnými kalkulačkami.

### Základní myšlenka Program of Thoughts

Základní myšlenka PoT spočívá v delegování výpočtů na externí systém (interpret kódu), přičemž od jazykového modelu se požaduje pouze formalizace plánu řešení v podobě spustitelného programu<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>. Model tak vystupuje v roli „programátora", nikoliv „počítadla".

Postup práce vypadá takto:

1.  Model obdrží na vstupu úlohu (například textovou matematickou úlohu).
2.  Namísto textového uvažování generuje skript v programovacím jazyce (například **Python**), který tuto úlohu řeší.
3.  Vygenerovaný kód je předán externímu interpretu, který jej vykoná.
4.  Výsledek vykonání kódu je konečnou odpovědí.

Složité a přesné výpočty (operace s velkými čísly, volání specializovaných knihoven) tedy neprovádí samotný model, ale program, což zajišťuje determinismus a vysokou přesnost<sup>[\[3\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_ministry_ai-3)</sup>.

## Implementace a využití knihoven

Při implementaci PoT je klíčová schopnost LLM generovat správný a efektivní kód. Autoři přístupu využili model **OpenAI Codex**, speciálně natrénovaný na programátorských úlohách. Přístup PoT umožňuje modelu využívat externí knihovny, což výrazně rozšiřuje třídu řešitelných úloh. Například při řešení úloh symbolické matematiky může model vygenerovat kód využívající knihovnu **SymPy** pro analytické řešení rovnic, což přesahuje možnosti čistě jazykových metod<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>.

Prompt pro PoT může být poskytnut ve dvou režimech:

- **Few-shot**: Prompt obsahuje několik příkladů párů „otázka — program-řešení".
- **Zero-shot**: Prompt obsahuje pouze instrukci popisující úlohu, bez příkladů.

Dokonce i v režimu *zero-shot* vykazuje PoT vysokou efektivitu díky explicitní struktuře, kterou musí model vygenerovat<sup>[\[4\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_learnprompting-4)</sup>.

## Výsledky a efektivita

Metoda PoT prokázala výrazné zlepšení kvality řešení u úloh vyžadujících vícekrokové číselné uvažování. V původní práci byla otestována na osmi sadách matematických a finančních úloh, včetně **GSM8K**, **AQUA**, **SVAMP**, **FinQA** a dalších.

- **Zvýšení přesnosti**: Ve všech případech PoT překonal základní přístup CoT. V průměru bylo dosaženo relativního zisku přibližně **~12 %** v podílu správných řešení.
  - Na populární matematické sadě **GSM8K** dosáhla přesnost modelu s PoT **71,6 %**, zatímco s CoT činila **63,1 %**.
  - U finančních úloh byl zisk ještě výraznější: na datasetu **FinQA** vzrostla přesnost z **40,4 %** (CoT) na **64,5 %** (PoT)<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>.

<!-- -->

- **Kombinace se Self-Consistency**: Efektivita PoT může být dále zlepšena v kombinaci s metodou **samosoudržnosti** (*self-consistency*). V tomto případě model generuje několik nezávislých programů-řešení a výsledná odpověď je zvolena „principem většiny" z výsledků jejich vykonání. V kombinaci se *self-consistency* dosáhl PoT nového **stavu umění** (*state-of-the-art*) v době publikace pro všechny testované matematické a finanční benchmarky<sup>[\[1\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_paper-1)</sup>.

## Výhody a omezení

### Výhody

- **Přesnost výpočtů**: Hlavní výhoda. Provádění aritmetických operací externím interpretem odstraňuje chyby zaokrouhlování a nepřesnosti vlastní LLM.
- **Možnost využití knihoven**: Model může využívat výkonné externí knihovny (například pro symbolické výpočty, statistickou analýzu, práci s daty), čímž řeší úlohy, které dříve nebyly dostupné.
- **Interpretovatelnost a ladění**: Programový kód je formálním a strukturovaným vyjádřením logiky řešení, což usnadňuje jeho ověření a ladění ve srovnání s uvažováním v přirozeném jazyce.
- **Univerzálnost**: Přístup je efektivní jak v režimu *few-shot*, tak *zero-shot* a je použitelný v různých doménách (matematika, finance, věda).

### Omezení

- **Bezpečnost**: Vykonávání vygenerovaného kódu na externím interpretu vytváří bezpečnostní rizika. Model může teoreticky vygenerovat škodlivý kód (například pro mazání souborů). Praktické použití PoT proto vyžaduje izolaci prostředí pro vykonávání (*sandbox*) a důkladnou filtraci kódu<sup>[\[4\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pot_learnprompting-4)</sup>.
- **Omezená oblast použitelnosti**: Metoda je nejefektivnější pro úlohy, které lze jasně formalizovat v podobě algoritmu. Pro úlohy vyžadující porozumění jazykovým nuancím, zdravý rozum nebo kreativní přístup je přímé použití PoT obtížné.
- **Závislost na kvalitě kódu**: Efektivita metody přímo závisí na schopnosti LLM generovat syntakticky správný a logicky korektní kód.

## Související přístupy

Myšlenka využití kódu ke zlepšení uvažování LLM se rozvinula i v dalších podobných přístupech.

- **Program-Aided Language Models (PAL)**: Metoda navržená téměř současně s PoT, která rovněž využívá generování Python kódu pro řešení úloh<sup>[\[5\]](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_note-pal_guide-5)</sup>. Koncepčně jsou PAL a PoT velmi blízké a potvrzují efektivitu strategie „uvažování prostřednictvím kódu".
- **Tree of Thoughts (ToT)**: Složitější metoda, která navrhuje generovat a prozkoumávat „strom" možných kroků řešení, což je rozvinutím myšlenky lineárního „řetězce" myšlenek. PoT může být použit v rámci uzlů tohoto stromu pro ověřování hypotéz.

## Odkazy

- Původní vědecký článek o Program of Thoughts Prompting
- Průvodce PoT na portálu Learn Prompting

## Literatura

- 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.

## Poznámky

1.  <span id="cite_note-pot_paper-1">↑ <sup>[1.0](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_ref-pot_paper_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_ref-pot_paper_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_ref-pot_paper_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_ref-pot_paper_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#cite_ref-pot_paper_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#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_(CS)#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_(CS)#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_(CS)#cite_ref-pot_learnprompting_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Program_of_Thoughts_Prompting_(CS)#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_(CS)#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>
