AI nástroje pro programování se během několika let změnily z chytrého našeptávače kódu na poměrně komplexní vývojová prostředí. Cursor má vlastní agentní režimy a vzdálené agenty, Claude Code umí subagenty, MCP, hooks, permissions a řadu dalších funkcí a podobným směrem se vydává také OpenCode.
Mario Zechner si ale položil opačnou otázku: co když coding agent nepotřebuje stále více funkcí, ale naopak méně?
Výsledkem je Pi, open-source terminálový coding agent, respektive přesněji agent harness. Jeho základní verze dává jazykovému modelu prakticky jen čtyři nástroje: čtení souborů, zápis souborů, jejich editaci a Bash. Všechno ostatní se přidává až tehdy, když to skutečně potřebujete.
Nejde přitom o malý experiment. Pi má dnes vlastní ekosystém rozšíření a skills, podporuje řadu AI providerů, lokální modely, větvené sessions, automatickou správu kontextu, vlastní SDK i RPC rozhraní. Projekt je open source pod MIT licencí a od května 2026 žije pod organizací Earendil Works.
V tomto článku si ukážeme nejen to, co Pi je, ale hlavně jak jej nainstalovat, připojit k modelu, používat na skutečném projektu, nastavit projektové instrukce a postupně rozšiřovat. Podíváme se také na jeho kontroverzní přístup k MCP, subagentům a bezpečnosti.
Co je Pi
Pi je nejlepší chápat jako terminálový agent harness.
To je důležitý rozdíl.
Claude, GPT nebo Gemini jsou jazykové modely. Pi je prostředí, které modelu předává instrukce, zpřístupňuje mu váš projekt, poskytuje nástroje a zpracovává komunikaci mezi modelem a počítačem.
Proto například můžete používat:
Pi + GPT
Pi + Claude
Pi + Gemini
Pi + lokální model
Pi tedy nekonkuruje Claude nebo GPT jako modelům.
Mnohem bližšími konkurenty jsou Claude Code, Codex CLI a OpenCode.
Cursor je trochu jiná kategorie, protože kombinuje AI agenty s kompletním grafickým editorem.
Samotný projekt Pi je navíc rozdělen do několika vrstev. pi-ai poskytuje jednotné rozhraní pro různé LLM providery, pi-agent-core obstarává agentní smyčku a práci s nástroji a pi-coding-agent tvoří terminálového agenta, se kterým běžný uživatel pracuje.
Proč Pi vůbec vzniklo
Mario Zechner dříve používal Cursor a následně Claude Code. Postupem času mu ale začalo vadit, že nástroje tohoto typu nabírají stále více funkcí, instrukcí a abstrakcí.
Ve svém textu o vzniku Pi popisuje, že chtěl především kontrolovat, co přesně se dostane do kontextu modelu, vidět činnost agenta a mít jednoduchý, zdokumentovaný formát sessions, se kterým může dále programově pracovat.
Jeho odpovědí není další komplexní framework.
Je jí co nejmenší základ, který lze dále rozšiřovat.
To je filozofie, která prostupuje prakticky celým Pi.
Čtyři nástroje místo desítek
Ve výchozím stavu dostává model čtyři základní tools:
| Tool | Co dělá |
|---|---|
read | čte soubory |
write | vytváří nebo přepisuje soubory |
edit | provádí přesné změny existujících souborů |
bash | spouští příkazy v shellu |
Pi sice obsahuje také read-only tools jako grep, find nebo ls, ale standardně nejsou součástí základní čtveřice.
Na první pohled to může působit až příliš jednoduše.
Jenže Bash je mimořádně univerzální rozhraní.
Agent může pomocí něj použít například:
git status
git diff
rg "functionName" src/
npm test
composer test
php artisan test
curl ...
docker compose ...
Není tedy nutné mít samostatné AI tool definitions pro Git, vyhledávání, npm, Composer nebo desítky dalších operací, pokud model umí použít jejich existující CLI.
Právě zde leží jedna z hlavních myšlenek Pi: nevytvářet nové agentní abstrakce tam, kde už existují dobře fungující unixové nástroje.
Proč záleží na velikosti systémového promptu a tool definitions
Každý coding agent musí modelu vysvětlit, jaké nástroje má k dispozici a jak se mají používat.
Tyto instrukce ale nejsou zdarma.
Zabírají část context window ještě předtím, než se model začne zabývat vaším kódem.
Podle Zechnerova původního měření se systémový prompt Pi spolu s definicemi základních tools vešel pod 1 000 tokenů.
To ovšem neznamená, že Pi jako celek spotřebuje pouze tisíc tokenů.
Do kontextu se následně dostávají například vaše instrukce, AGENTS.md, popisy dostupných skills, konverzace, načtený kód a výsledky jednotlivých tools.
Výhoda je jinde: počáteční režie samotného harnessu je malá.
To je příklad context engineeringu pomocí redukce.
Místo otázky:
„Co ještě můžeme modelu přidat?“
se Pi ptá:
„Co model opravdu potřebuje vědět právě teď?“
Instalace Pi
Aktuální balíček se jmenuje:
@earendil-works/pi-coding-agent
Starší články mohou stále uvádět @mariozechner/pi-coding-agent. Tento scope už je zastaralý. Projekt se v květnu 2026 přesunul pod Earendil Works a verze 0.74.0 byla první vydaná pod novým názvem.
Nejjednodušší instalace přes npm vypadá takto:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Parametr --ignore-scripts je doporučený přímo dokumentací. Pi pro standardní instalaci nepotřebuje dependency lifecycle scripts.
Po instalaci se přesuňte do Git projektu:
cd ~/Projects/moje-aplikace
a spusťte:
pi
Tím otevřete interaktivní terminálové prostředí.
Připojení AI modelu
Samotný Pi žádný vlastní velký jazykový model neobsahuje. Musíte mu zpřístupnit model některého podporovaného providera.
V interaktivním režimu použijte:
/login
Pi aktuálně podporuje subscription login například pro ChatGPT Plus/Pro, Claude Pro/Max, GitHub Copilot, xAI a OpenRouter. Vedle toho umí velké množství providerů prostřednictvím API klíčů.
U OpenAI můžete tedy využít například přihlášení prostřednictvím ChatGPT Plus nebo Pro pro Codex.
U Anthropic je potřeba dát pozor na odlišný model účtování. Oficiální dokumentace Pi uvádí, že použití Claude Pro/Max prostřednictvím third-party harnessu využívá extra usage účtované za tokeny, nikoliv běžné limity Claude předplatného.
Další možností jsou klasické API klíče.
Například pro Anthropic:
export ANTHROPIC_API_KEY="..."
pi
Pi podporuje také OpenAI, Google Gemini, Azure OpenAI, Amazon Bedrock, DeepSeek, Mistral, Groq, Cerebras, xAI, OpenRouter, Hugging Face, Fireworks, Together AI, Cloudflare a řadu dalších providerů.
Pi umí také lokální modely
Zajímavá je podpora lokálních modelů.
Aktuální Pi podporuje router založený na llama.cpp, přes který lze modely spravovat přímo z prostředí Pi. Verze 0.81.0 přidala vyhledávání a stahování modelů z Hugging Face i explicitní načítání a odpojování modelů.
To posouvá Pi dál než k pouhému wrapperu několika cloudových API.
Můžete mít například silný cloudový model pro komplikované implementace a lokální model pro levnější nebo soukromější úlohy.
Výběr modelu přímo během práce
Jednou z výhod Pi je, že model není pevně svázán se session.
Model selector otevřete příkazem:
/model
nebo klávesovou zkratkou Ctrl+L.
Pi umí model změnit i během existující session.
To vytváří zajímavý workflow.
Můžete například začít analýzu jedním modelem, implementaci provést jiným a review nechat třetím.
Pi zároveň podporuje různé úrovně reasoning/thinking. Výběr úrovně lze cyklovat přes Shift+Tab a dostupné hodnoty dnes zahrnují podle modelu i xhigh nebo max.
První skutečný úkol
Po přihlášení nemusíte nic dalšího nastavovat.
Můžete Pi například říct:
Prozkoumej tento projekt. Neprováděj zatím žádné změny.
Zjisti jeho strukturu, jak se spouští, jaké používá technologie
a jak se spouštějí testy.
Model může používat read a Bash k procházení projektu.
Následně například:
Najdi příčinu chyby při přihlášení uživatele.
Nejdřív problém analyzuj. Potom navrhni řešení
a až následně proveď minimální potřebné změny.
Po změně spusť relevantní testy.
Pi samo o sobě nevnucuje sofistikovaný agentní workflow.
Kvalita práce proto výrazně závisí na tom, jak dobře mu vysvětlíte pravidla projektu.
A právě zde nastupuje AGENTS.md.
AGENTS.md: nejdůležitější soubor pro dlouhodobé používání
Pi při spuštění hledá projektové instrukce.
Standardně načítá globální:
~/.pi/agent/AGENTS.md
a poté AGENTS.md nebo CLAUDE.md v adresářové struktuře projektu. Pokud adresář obsahuje AGENTS.override.md, použije jej místo běžného AGENTS.md nebo CLAUDE.md daného adresáře.
Typický AGENTS.md může vypadat například takto:
# Project instructions
## Stack
- Laravel
- PostgreSQL
- Vite
## Development rules
Before modifying code, inspect related files and existing patterns.
Prefer minimal changes over large rewrites.
Do not modify production configuration.
After PHP changes run:
php artisan test
After frontend changes run:
npm run build
Never commit secrets or .env files.
Before finishing:
1. Review git diff.
2. Run relevant tests.
3. Explain what changed and why.
Takový soubor se stává dlouhodobou pamětí pravidel projektu.
Nemusíte modelu v každé nové session opakovat, jak spouštět testy, co nesmí měnit nebo jakým stylem má pracovat.
Po změně context files můžete Pi restartovat nebo použít:
/reload
Read-only režim pro bezpečnější analýzu
Minimalismus neznamená, že musí mít agent vždy možnost všechno měnit.
Pokud chcete například pouze analyzovat cizí projekt, můžete mu zpřístupnit read-only nástroje:
pi --tools read,grep,find,ls
Model může procházet soubory a vyhledávat, ale nemá write, edit ani Bash.
Zechner tento způsob původně popisoval také jako jednoduchou alternativu k samostatnému „Plan Mode“.
Od Pi 0.84.2 lze navíc výchozí tools konfigurovat globálně nebo pro jednotlivé projekty.
Sessions nejsou jen dlouhý chat
Pi ukládá sessions ve strukturovaném JSONL formátu.
Session může obsahovat zprávy, změny modelu, změny thinking levelu, compaction, branch summaries a data extensions.
To umožňuje několik zajímavých operací.
Příkaz:
/resume
otevře předchozí sessions.
Příkaz:
/tree
zobrazí strom aktuální konverzace.
Můžete se vrátit ke staršímu bodu a zkusit jinou cestu.
/fork vytvoří novou session z dřívější uživatelské zprávy, zatímco /clone vytvoří novou session z aktuální aktivní větve.
To je velmi užitečné například ve chvíli, kdy agent navrhne dvě možné architektury.
Nemusíte zahodit variantu A, abyste vyzkoušeli variantu B.
Co se stane, když se kontext zaplní
Minimalistický systémový prompt neřeší jeden základní problém: dlouhá konverzace se stejně postupně zaplní.
Pi proto používá compaction.
Když se kontext přiblíží limitu modelu, starší část session shrne a ponechá novější část konverzace v plném znění.
Automatická compaction standardně zachovává rezervu 16 384 tokenů pro odpověď modelu a snaží se ponechat posledních přibližně 20 000 tokenů bez shrnutí. Tyto hodnoty lze změnit v konfiguraci.
Compaction lze vyvolat také ručně:
/compact
nebo:
/compact Zachovej hlavně architektonická rozhodnutí a důvody změn.
Pi navíc používá branch summarization při přechodu mezi větvemi session. Důležité informace z opuštěné větve tak mohou být přeneseny dál bez nutnosti znovu posílat celý její obsah modelu.
Skills: funkce načítané až ve chvíli, kdy je potřebujete
Právě u skills se filozofie Pi ukazuje asi nejlépe.
Skill je samostatný balíček instrukcí, pomocných skriptů a dokumentace pro určitou činnost.
Může to být například skill pro práci s databází, deployment, code review, bezpečnostní audit nebo nějaké interní firemní API.
Zásadní je způsob načítání.
Pi při startu načte pouze název a stručný popis skillu.
Celý SKILL.md model načte až v okamžiku, kdy skill skutečně potřebuje.
Tomuto přístupu se říká progressive disclosure.
Místo toho, aby model dostal dvacet stránek instrukcí pro deployment při každém úkolu, ví pouze:
deployment
Slouží k nasazování této aplikace na staging a produkci.
A kompletní postup si načte až ve chvíli, kdy chcete něco nasadit.
Jak vytvořit vlastní skill
Skill může mít velmi jednoduchou strukturu:
.pi/
└── skills/
└── project-deploy/
└── SKILL.md
Samotný SKILL.md může například obsahovat:
---
name: project-deploy
description: Deploys this project to staging. Use when the user asks to deploy, publish or release the application.
---
# Project deployment
Before deployment:
1. Run tests.
2. Run the production build.
3. Check git status.
4. Do not deploy uncommitted changes.
Deploy using:
./scripts/deploy-staging.sh
After deployment verify the health endpoint.
Skill lze vyvolat explicitně:
/skill:project-deploy
nebo jej při vhodném zadání může načíst samotný model.
Pi navíc implementuje Agent Skills standard a dokáže načítat i skills používané jinými harnessy. Dokumentace například přímo ukazuje možnost přidat adresáře skills z Claude Code nebo OpenAI Codexu.
To je z hlediska portability velmi zajímavé.
Extensions: když už Markdown nestačí
Skills jsou především instrukce.
Pokud chcete skutečně přidat nové chování Pi, slouží k tomu extensions.
Extensions jsou TypeScript moduly, které mohou přidávat vlastní tools, slash commandy, UI prvky, event handlers nebo modifikovat chování sessions.
Extension může například přidat vlastní nástroj:
export default function (pi) {
pi.registerTool({
name: "deploy",
// schema + implementation
});
}
Možnosti jdou ale mnohem dál.
Oficiální dokumentace uvádí například permission gates, automatické Git checkpointy, ochranu citlivých cest, vlastní compaction, interaktivní wizardy, webhooks, CI integrace nebo vlastní providery.
To vysvětluje možná nejdůležitější rozdíl mezi „minimalistický“ a „omezený“.
Pi není omezený systém. Pi je malý základ pro sestavení vlastního systému.
Pi Packages: rozšíření nemusíte psát sami
Skills, extensions, prompt templates a themes lze distribuovat jako Pi Packages.
Instalace balíčku může vypadat například takto:
pi install npm:nazev-balicku
nebo z Git repozitáře:
pi install git:github.com/user/repo
Balíček lze nainstalovat globálně nebo pouze pro konkrétní projekt. Projektové packages lze uložit do .pi/settings.json, takže je tým může verzovat spolu s projektem.
Existuje také katalog packages na oficiálním webu Pi.
Ekosystém už dnes obsahuje mimo jiné extensions pro subagenty, správu packages, webový přístup, MCP adaptéry, task orchestration nebo persistentní workflow.
Tady je ale potřeba značná opatrnost.
Extension je spustitelný kód.
Pi proto výslovně upozorňuje, že packages mohou mít plný přístup k systému a před instalací cizího balíčku je vhodné zkontrolovat jeho zdrojový kód.
Proč Pi nemá MCP
Jedno z nejkontroverznějších rozhodnutí Pi je absence nativní podpory Model Context Protocolu.
Není to nedokončená funkce.
Je to záměr.
Mario Zechner argumentuje tím, že rozsáhlé MCP servery mohou do kontextu vkládat definice mnoha tools, z nichž většinu agent během konkrétní session vůbec nepoužije.
Ve svém měření uváděl tehdejší Playwright MCP s 21 tools a přibližně 13,7 tisíce tokenů a Chrome DevTools MCP s 26 tools a zhruba 18 tisíci tokeny. V kontextovém okně 200 tisíc tokenů to podle jeho výpočtu představovalo zhruba 6,8 a 9 %.
Je důležité zdůraznit, že jde o Zechnerovo měření tehdejších verzí konkrétních MCP serverů, nikoliv o univerzální vlastnost MCP.
Ostatně i dokumentace OpenCode dnes upozorňuje, že MCP tools spotřebovávají kontext a doporučuje zapínat pouze skutečně potřebné servery.
Pi místo toho preferuje CLI nástroje kombinované se skills.
Agent například ví, že existuje nějaký program:
company-api
ale jeho kompletní dokumentaci načte až tehdy, když ji potřebuje.
Potom jej spustí přes Bash.
To je opět progressive disclosure.
Co když MCP skutečně potřebujete
Absence nativního MCP neznamená, že jej Pi technicky používat nemůže.
Extension systém umožňuje MCP podporu doplnit a v ekosystému existují také MCP adaptéry. Samotná dokumentace Pi tento přístup zmiňuje jako jednu z možností.
Je tedy přesnější říct:
Pi nemá MCP jako součást svého core.
Ne:
Pi neumí MCP.
Rozdíl je zásadní.
Žádný Plan Mode? Použijte PLAN.md
Další Zechnerovo kontroverzní rozhodnutí se týká plánování.
Pi nemá samostatný vestavěný Plan Mode.
Autor místo něj doporučuje obyčejný soubor:
PLAN.md
Například:
# Plan
## Goal
Refactor authentication.
## Current state
Legacy session authentication is used in three controllers.
## Plan
1. Map current authentication flow.
2. Design replacement.
3. Implement backend.
4. Update frontend.
5. Add tests.
## Current step
Step 2.
Výhodou podle něj je transparentnost.
Plán vidíte, můžete jej ručně upravit, commitnout do Gitu a použít v další session.
Stejná filozofie platí pro TODO seznamy.
Místo skrytého interního task manageru můžete mít například:
TODO.md
Stav práce pak není uvězněný uvnitř konkrétního agentního prostředí.
Je to obyčejný soubor ve vašem projektu.
A co subagenti
Ani specializovaný subagent tool není součástí základního Pi.
Zechner je skeptický hlavně k nekontrolovanému delegování velkých částí vývoje mezi několik autonomních agentů a k tomu, že uživatel často nevidí jejich plnou práci.
Neznamená to však, že paralelní agenty nelze vytvořit.
Jedna instance Pi může přes Bash spustit další Pi proces. Lze použít tmux, SDK nebo extension.
Ekosystém už dnes obsahuje také extensions, které přidávají explicitní foreground i background subagenty.
Opět tedy platí stejný vzorec:
funkce není povinnou součástí core, ale může být přidána.
tmux místo vlastního background process manageru
Pi standardně nemá vlastní komplexní systém pro dlouhodobé background Bash procesy.
Zechner doporučuje používat tmux.
Například:
tmux new -s dev
a uvnitř:
npm run dev
Další shell potom může zjistit běžící sessions:
tmux ls
Agent tak používá standardní nástroj operačního systému místo interního background process manageru.
Výhodou je transparentnost: do stejné tmux session se může připojit i člověk a sledovat nebo ovládat běžící proces. Tento přístup Zechner uvádí například pro dev servery, logy nebo debugger.
Bezpečnost je nejslabší i nejdůležitější stránka Pi
Tady přestává být minimalismus pouze designovou preferencí.
Pi nemá vestavěný sandbox.
Nástroje běží s oprávněními uživatele, který Pi spustil. To znamená, že agent může podle dostupných tools číst soubory, měnit je a spouštět příkazy se stejnými oprávněními jako váš účet.
Project Trust, který novější Pi obsahuje, tento problém neřeší.
Project Trust rozhoduje, zda se mají načíst projektové extensions, settings, skills a další Pi resources.
Není to sandbox.
Dokumentace to výslovně zdůrazňuje.
Dokonce AGENTS.md, AGENTS.override.md a CLAUDE.md mohou být načteny bez ohledu na důvěru projektu, pokud jste context files explicitně nevypnuli.
Proč dnes Pi obsahuje Project Trust
Tady stojí za zmínku i historie.
Pi před verzí 0.79.0 načítalo project-local extensions ještě před explicitním schválením repozitáře.
To vedlo k bezpečnostnímu advisory CVE-2026-54325, protože škodlivý repozitář mohl obsahovat extension spuštěnou s oprávněními uživatele.
Verze 0.79.0 proto přidala project trust gating.
Je to dobrý příklad toho, proč je potřeba rozlišovat mezi dvěma riziky.
První je spuštění nedůvěryhodného extension kódu.
Druhé je agent, který sám používá Bash nebo mění soubory.
Project Trust výrazně pomáhá s prvním problémem.
Druhý vyžaduje skutečnou izolaci.
Jak používat Pi bezpečněji
Pokud pracujete na vlastním běžném projektu a aktivně sledujete, co agent dělá, může dávat smysl spouštět Pi standardně.
U cizího repozitáře, nedůvěryhodného obsahu nebo automatizace bez dozoru je situace jiná.
Oficiální dokumentace doporučuje skutečnou izolaci pomocí kontejneru, virtuálního stroje, micro-VM nebo jiného sandboxu. Zároveň doporučuje zpřístupnit agentovi pouze potřebné soubory a credentials a omezit síť, pokud ji úloha nepotřebuje.
Praktické pravidlo je jednoduché:
Pokud byste bez rozmýšlení nespustili neznámý shell script v daném projektu, nepouštějte v něm bez izolace ani autonomního coding agenta.
To ostatně není problém výhradně Pi. Jakmile AI agent umí číst citlivá data, spouštět kód a komunikovat přes síť, vzniká velmi komplikovaný bezpečnostní problém.
Pi je pouze nezakrývá za pocit bezpečí.
Pi vs. Claude Code vs. Cursor vs. OpenCode
Pi není automaticky „lepší Claude Code“.
Jde o jinou filozofii.
| Oblast | Pi | Claude Code | Cursor | OpenCode |
| Hlavní prostředí | terminál | terminál | plné IDE | terminál/TUI |
| Open source | ano | ne | ne | ano |
| Více providerů | ano | primárně Claude | ano | ano |
| Minimální core | výrazně ano | ne | ne | méně |
| MCP v core | ne | ano | ano | ano |
| Subagenti v core | ne | ano | ano / agentní funkce | ano |
| Plan workflow | soubory / extension | ano | ano | ano |
| Extensions | TypeScript | plugins/hooks/skills | vlastní ekosystém | plugins/config |
| Lokální modely | ano | ne jako hlavní workflow | omezeně dle integrací | ano |
| Built-in sandbox | ne | permission systém | vlastní agentní omezení | permission systém |
| SDK/RPC | ano | Agent SDK | API/integrace | SDK/server |
Claude Code dnes obsahuje například specializované subagenty, permissions, hooks, skills, MCP a další vrstvy agentního workflow.
Cursor navíc nabízí například vzdálené Background Agents běžící v izolovaném Ubuntu prostředí.
OpenCode je Pi filozoficky možná nejbližší konkurent, protože je rovněž otevřenější a multi-provider. Zároveň ale obsahuje built-in Plan/Build agenty, subagenty, permission systém a nativní MCP.
Proto záleží na tom, co od nástroje chcete.
Kdy bych zvolil Cursor
Cursor dává smysl, pokud chcete kompletní grafické vývojové prostředí.
Máte editor, projekt, diffy, AI funkce a další tooling v jednom produktu.
Pi není náhrada grafického IDE.
Může běžet vedle VS Code, Zedu, Neovimu nebo jiného editoru, ale editor vám neposkytne.
Kdy bych zvolil Claude Code
Claude Code je vhodný, pokud chcete hotový a velmi schopný agentní systém bez potřeby si jej stavět.
Subagenti, hooks, permissions, MCP a další funkce jsou již připravené.
Platíte za to vyšší komplexitou.
A právě proti této komplexitě Pi původně vzniklo.
Kdy bych zvolil OpenCode
OpenCode dává smysl, pokud chcete open-source a multi-provider nástroj, ale zároveň preferujete více hotových funkcí.
Aktuálně podporuje desítky providerů, lokální modely, MCP, agenty a permissions.
Je tedy určitou střední cestou mezi Pi a plně vybavenými komerčními coding agenty.
Kdy bych zvolil Pi
Pi začíná být velmi zajímavé, když vás nezajímá počet funkcí, ale kontrola nad agentním prostředím.
Chcete například přesně vědět, co se modelu dostává do kontextu.
Chcete kombinovat různé modely.
Chcete vlastní CLI tooling.
Chcete si postavit vlastní skills.
Chcete některé projekty obsluhovat jiným způsobem než jiné.
Nebo chcete samotný coding agent použít jako stavebnici pro vlastní agentní aplikaci.
V takové chvíli začíná minimalismus Pi dávat velký smysl.
Pi není jen CLI. Má také SDK
Pod povrchem je možná ještě zajímavější část projektu.
Pi lze vložit přímo do vlastní Node.js aplikace pomocí SDK.
Základ může vypadat přibližně takto:
import {
createAgentSession,
ModelRuntime,
SessionManager
} from "@earendil-works/pi-coding-agent";
const modelRuntime = await ModelRuntime.create();
const { session } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
modelRuntime,
});
await session.prompt(
"Analyze the files in this project."
);
SDK umožňuje nastavovat modely, prompts, tools, sessions a načítat vlastní extensions.
To už není jen „AI programátor v terminálu“.
Je to framework, na kterém můžete stavět vlastní agentní nástroje.
RPC a headless režim
Pi podporuje celkem čtyři základní způsoby použití: interaktivní TUI, print/JSON režim, RPC a SDK.
RPC server spustíte například:
pi --mode rpc
Komunikace následně probíhá přes JSONL na stdin/stdout.
To může být užitečné pro integraci Pi do vlastního IDE, serverové služby, automatizace nebo jiného agentního systému napsaného třeba v jiném jazyce než TypeScript.
Právě tato vrstva podle mě ukazuje, že označení coding agent je pro Pi trochu omezující.
Pi je zároveň toolkit pro stavbu agentů.
Strom sessions je zajímavý i pro experimentování s modely
Větvený formát sessions má ještě jednu praktickou výhodu.
Představte si, že řešíte architektonický problém.
V jedné větvi požádáte Claude o řešení A.
Vrátíte se pomocí /tree.
Přepnete model.
A necháte GPT navrhnout variantu B.
Potom můžete z jedné z větví pokračovat dál.
Protože Pi ukládá model changes přímo jako součást session struktury, změna modelu není externí informace, kterou by session ztratila.
To je velmi příjemný základ pro skutečně multi-model vývojový workflow.
Praktický starter workflow
Pokud chcete Pi pouze vyzkoušet, nezačínal bych instalací deseti extensions.
Právě tím byste popřeli jeho hlavní výhodu.
Začněte čistým Pi:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Otevřete menší Git projekt:
cd projekt
pi
Přihlaste provider:
/login
Nechte Pi nejprve pouze porozumět projektu:
Prozkoumej tento projekt.
Zjisti:
- jeho architekturu,
- hlavní technologie,
- jak se spouští,
- jak se spouštějí testy,
- kde jsou důležité části aplikace.
Nic zatím neměň.
Potom vytvořte nebo dolaďte AGENTS.md.
Teprve poté mu dejte malý skutečný úkol:
Najdi příčinu problému X.
Nejdřív zjisti root cause.
Pak proveď nejmenší rozumnou opravu.
Nakonec spusť relevantní testy
a zkontroluj git diff.
Po několika dnech používání zjistíte, co vám skutečně chybí.
Pokud například neustále vysvětlujete stejný deployment postup, vytvořte skill.
Pokud potřebujete skutečně nový tool nebo permission gate, vytvořte extension.
Pokud potřebujete MCP, přidejte MCP adapter.
Rozšiřujte Pi podle skutečných problémů, ne podle seznamu funkcí, které možná jednou využijete.
To je podle mě nejlepší způsob, jak pochopit jeho filozofii.
Je Pi skutečně efektivnější než Claude Code?
Tady je potřeba opatrnost.
Menší systémový prompt a méně tools znamená měřitelně menší počáteční context overhead.
Z toho ale automaticky neplyne:
méně tokenů = vždy lepší výsledky.
Komplexnější instrukce mohou modelu pomáhat.
Specializované tools mohou být spolehlivější než generické shell příkazy.
Subagent může u některých úloh ušetřit hlavní context window.
Permission systém může zabránit některým nechtěným akcím.
Pi tedy nepřináší matematický důkaz, že všechny ostatní coding agenty jsou špatně navržené.
Přináší jinou otázku:
Kolik agentní infrastruktury skutečně moderní frontier model potřebuje?
Zechner se pokusil svůj přístup ověřit také na Terminal-Bench 2.0, kde testoval Pi s tehdejším Claude Opus 4.5 proti dalším coding harnessům. Sám ale zároveň upozornil, že benchmark není reprezentativní náhradou skutečné každodenní práce.
To je podle mě správný způsob, jak výsledky interpretovat.
Ne jako důkaz, že Pi porazilo konkrétní produkt.
Ale jako indicii, že velmi jednoduchý agentní scaffold nemusí moderní model automaticky brzdit.
Nejzajímavější myšlenkou Pi není samotné Pi
Na Pi je nakonec nejzajímavější širší otázka, kterou otevírá.
V AI vývoji dnes přirozeně směřujeme k přidávání dalších vrstev:
MCP serverů, subagentů, planners, memories, tools, hooks, background agents, knowledge bases a orchestrace.
Každá taková vrstva může být užitečná.
Každá ale zároveň přidává další stav, tokeny, pravidla a další místo, kde se agent může zachovat jinak, než očekáváte.
Pi ukazuje opačný směr:
Model
↓
malý systémový prompt
↓
read / write / edit / bash
↓
váš projekt
A další vrstvu přidat teprve tehdy, když k tomu existuje konkrétní důvod.
To je velmi podobné dobrému návrhu softwaru obecně.
Nezačínat maximální architekturou.
Začít minimem, které řeší problém.
Často kladené otázky
Je Pi zdarma?
Samotný Pi je open source pod MIT licencí. Použitý AI model ale může být placený podle providera, API nebo předplatného.
Funguje Pi na macOS?
Ano. Oficiální dokumentace poskytuje instalaci přes npm a Pi běží na macOS, Linuxu i Windows.
Potřebuji API klíč OpenAI nebo Anthropic?
Ne nutně. Pi podporuje také některé subscription login metody přes /login, včetně ChatGPT Plus/Pro nebo Claude Pro/Max. Podmínky účtování se ale mezi providery liší.
Mohu s Pi používat GPT i Claude?
Ano. Pi je multi-provider a model lze měnit i během session.
Umí Pi lokální modely?
Ano. Aktuální Pi podporuje mimo jiné llama.cpp router a správu lokálních modelů.
Umí Pi MCP?
MCP není součástí výchozího core a jeho absence je záměrná. Podporu lze nicméně doplnit přes extensions nebo komunitní adapter.
Má Pi subagenty?
Ne jako základní vestavěný tool. Další Pi instance ale může být spuštěna přes Bash nebo tmux a existují také extensions implementující subagent workflow.
Je Pi bezpečnější díky tomu, že je jednodušší?
Ne automaticky. Pi nemá vestavěný sandbox a agentní tools běží s oprávněními procesu Pi. Pro nedůvěryhodný kód doporučuje oficiální dokumentace skutečnou izolaci pomocí containeru, VM nebo sandboxu.
Je Pi náhrada za Cursor?
Ne úplně. Cursor je kompletní IDE. Pi je terminálový agent harness, který můžete používat vedle libovolného editoru.
Je Pi alternativa ke Claude Code?
Ano, tady je srovnání podstatně přesnější. Oba nástroje fungují jako termináloví coding agenti, ale Claude Code nabízí mnohem více vestavěných funkcí, zatímco Pi preferuje minimální core a rozšiřování podle potřeby.
Pi ukazuje, že další generace AI nástrojů nemusí mít více funkcí
Pi mě zaujal méně tím, že je další open-source alternativou ke Claude Code, a více tím, že zpochybňuje směr, kterým se coding agenti vydávají.
Možná skutečně potřebujeme MCP, subagenty, dlouhodobou memory, background workers a sofistikovanou orchestraci.
Ale možná je nepotřebujeme všechny, neustále a v každé session.
Pi staví na druhé možnosti.
Modernímu modelu dá několik jednoduchých nástrojů, shell a váš projekt. Specializované schopnosti načte až ve chvíli, kdy je skutečně potřebuje.
Výsledkem není nástroj pro každého.
Uživatel, který chce komfortní IDE a hotový agentní ekosystém, pravděpodobně zůstane u Cursoru nebo podobného prostředí. Uživatel Claude Code může zase preferovat jeho rozsáhlejší automatizaci a bezpečnostní kontroly.
Pro vývojáře, kteří chtějí transparentní, multi-model a hluboce přizpůsobitelný agentní základ, je ale Pi jeden z nejzajímavějších projektů současného AI coding ekosystému.
A možná je na něm nejcennější právě připomínka starého vývojářského pravidla:
Dobré nástroje nemusí dělat všechno. Musí dělat správné věci a nechat vás doplnit zbytek až tehdy, když jej opravdu potřebujete.