Pi कोडिंग एजेंट - आर्किटेक्चर और हैंड्स-ऑन गाइड
- Pi कोडिंग एजेंट क्या है?
- Pi का डिज़ाइन दर्शन
- Pi आर्किटेक्चर का अवलोकन
- Pi कैसे काम करता है
- Pi में टूल्स
- संदर्भ प्रबंधन और सत्र
- मॉडल प्रदाता
- Pi का विस्तार करना
- Pi निष्पादन मोड
- स्थापना और न्यूनतम सेटअप
- आवश्यक कमांड
- हैंड्स-ऑन डेमो: एक्सपेंस ट्रैकर
- सुरक्षा विचार
- अन्य टूल्स के साथ Pi की तुलना
- मुख्य निष्कर्ष
- संदर्भ
Pi कोडिंग एजेंट क्या है?
Pi एक न्यूनतम, विस्तार योग्य (extensible) AI कोडिंग एजेंट है जो मुख्य रूप से टर्मिनल में चलता है।
यह डेवलपर्स को अपने स्थानीय विकास वातावरण (local development environment) के साथ बातचीत करने के लिए बड़े भाषा मॉडल (LLMs) का उपयोग करने की अनुमति देता है।
Pi निम्नलिखित कार्य कर सकता है:
- मौजूदा कोड को पढ़ना और समझना।
- नई फाइलें और एप्लिकेशन बनाना।
- मौजूदा कोड को संशोधित करना।
- टर्मिनल कमांड निष्पादित करना।
- परीक्षण चलाना और त्रुटियों को डिबग करना।
- बातचीत के इतिहास का प्रबंधन करना।
- विभिन्न LLM प्रदाताओं से जुड़ना।
- कस्टम टूल्स और स्किल्स के साथ अपनी क्षमताओं का विस्तार करना।
- MCP के माध्यम से बाहरी सेवाओं को एकीकृत करना।
Pi एक 'एजेंट हार्नेस' (Agent Harness) का उदाहरण है।
एजेंट हार्नेस क्या है?
एजेंट हार्नेस एक भाषा मॉडल के चारों ओर का सॉफ्टवेयर इंफ्रास्ट्रक्चर है जो इसे क्रियाएं करने में सक्षम बनाता है।
हार्नेस निम्नलिखित के लिए जिम्मेदार है:
- मॉडल का संदर्भ (context) तैयार करना।
- LLM के साथ संचार करना।
- LLM को टूल्स प्रदान करना।
- अनुरोधित टूल कॉल को निष्पादित करना।
- टूल के परिणामों को मॉडल तक वापस पहुँचाना।
- बातचीत और सत्रों (sessions) का प्रबंधन करना।
- निष्पादन जीवनचक्र (execution lifecycle) को नियंत्रित करना।
LLM तर्क क्षमताएं प्रदान करता है।
हार्नेस वह वातावरण प्रदान करता है जिसमें उस तर्क को क्रियाओं में अनुवादित किया जा सकता है।
Pi बनाम पारंपरिक चैटबॉट
एक पारंपरिक चैटबॉट आमतौर पर इस पैटर्न का पालन करता है:
flowchart LR
A["User"] --> B["Prompt"]
B --> C["LLM"]
C --> D["Response"]एक AI कोडिंग एजेंट एक निष्पादन वातावरण जोड़ता है:
flowchart TD
A["User"] --> B["Pi Agent"]
B --> C["LLM"]
C --> D{"Tool needed?"}
D -->|Yes| E["Execute Tool"]
E --> F["Return Result"]
F --> C
D -->|No| G["Final Response"]उदाहरण:
चैटबॉट: "यहाँ पायथन कोड है जो खर्चों की गणना करता है।"
Pi: "मैंने पायथन फाइलें बनाईं, प्रोग्राम निष्पादित किया, परीक्षण चलाए, और एक त्रुटि ठीक की।"
महत्वपूर्ण अंतर एक वास्तविक वातावरण के साथ बातचीत करने की क्षमता है।
Pi का डिज़ाइन दर्शन
Pi एक न्यूनतम दर्शन का पालन करता है।
अपने मुख्य कार्यान्वयन के हिस्से के रूप में हर संभव सुविधा प्रदान करने के बजाय, यह विस्तारणीयता पर जोर देता है।
इसका मुख्य विचार है:
"Pi को अपने वर्कफ़्लो के अनुकूल बनाएं, न कि इसके विपरीत।"
मुख्य सिद्धांत
न्यूनतमवाद (Minimalism):
- कोर को अपेक्षाकृत छोटा रखें।
- अनावश्यक अमूर्तता (abstractions) से बचें।
- मौजूदा ऑपरेटिंग सिस्टम टूल्स पर निर्माण करें।
विस्तारणीयता (Extensibility):
- कस्टम टूल्स बनाएं।
- एक्सटेंशन बनाएं।
- पुन: प्रयोज्य स्किल्स का उपयोग करें।
- बाहरी सेवाओं को कनेक्ट करें।
मॉडल स्वतंत्रता:
- विभिन्न LLM प्रदाताओं का उपयोग करें।
- एक ही वातावरण के भीतर मॉडल स्विच करें।
- मॉडल व्यवहार की तुलना करें।
पारदर्शिता:
- मॉडल प्रतिक्रियाओं का निरीक्षण करें।
- टूल निष्पादन का निरीक्षण करें।
- संशोधनों की समीक्षा करें।
- सत्र इतिहास की जांच करें।
Pi को किन चीजों की आवश्यकता नहीं है
एक बुनियादी Pi सेटअप को इनकी आवश्यकता नहीं होती:
- एक वेक्टर डेटाबेस।
- एक अलग ऑर्केस्ट्रेशन सर्वर।
- कुबेरनेट्स (Kubernetes)।
- डॉकर (Docker)।
- एक जटिल मल्टी-एजेंट फ्रेमवर्क।
- एक कस्टम बैकएंड एप्लिकेशन।
एक बुनियादी डेमो के लिए, एक टर्मिनल, एक समर्थित LLM, और एक स्थानीय निर्देशिका पर्याप्त है।
Pi आर्किटेक्चर का अवलोकन
Pi में कई तार्किक परतें होती हैं।
उच्च-स्तरीय आर्किटेक्चर
flowchart TB
USER["Developer"]
subgraph PI["Pi Coding Agent"]
UI["Terminal Interface"]
CORE["Agent Runtime"]
CONTEXT["Context Manager"]
SESSION["Session Manager"]
TOOLS["Tool Execution"]
EXT["Extensions / Skills"]
API["LLM API Abstraction"]
end
subgraph MODELS["LLM Providers"]
OPENAI["OpenAI"]
ANTHROPIC["Anthropic"]
GOOGLE["Google"]
LOCAL["Local Models"]
end
subgraph SYSTEM["Development Environment"]
FILES["File System"]
BASH["Shell"]
GIT["Git"]
TESTS["Tests"]
end
USER <--> UI
UI <--> CORE
CORE <--> CONTEXT
CORE <--> SESSION
CORE <--> TOOLS
CORE <--> API
EXT --> CORE
API <--> OPENAI
API <--> ANTHROPIC
API <--> GOOGLE
API <--> LOCAL
TOOLS <--> FILES
TOOLS <--> BASH
TOOLS <--> GIT
TOOLS <--> TESTSयह एक वैचारिक आर्किटेक्चर है, जो हर आंतरिक निर्भरता के बजाय प्रमुख जिम्मेदारियों को दर्शाता है।
Pi के आंतरिक पैकेज
Pi को TypeScript पैकेजों के संग्रह के रूप में विकसित किया गया है।
pi-ai
विभिन्न LLM प्रदाताओं के साथ काम करने के लिए एक एकीकृत इंटरफ़ेस।
जिम्मेदारियाँ:
- मॉडल अनुरोध।
- मॉडल प्रतिक्रियाएं।
- स्ट्रीमिंग।
- प्रदाता-विशिष्ट एकीकरण।
- टूल-कॉल प्रतिनिधित्व।
pi-agent-core
एजेंट रनटाइम।
जिम्मेदारियाँ:
- एजेंट निष्पादन लूप।
- टूल कॉलिंग।
- एजेंट स्थिति।
- संदेश हैंडलिंग।
- निष्पादन ईवेंट।
pi-coding-agent
कोडिंग एजेंट एप्लिकेशन।
जिम्मेदारियाँ:
- CLI।
- कोडिंग टूल्स।
- सत्र।
- संदर्भ फाइलें।
- एक्सटेंशन।
- स्किल्स।
- उपयोगकर्ता कॉन्फ़िगरेशन।
pi-tui
टर्मिनल यूजर इंटरफेस घटक।
जिम्मेदारियाँ:
- टर्मिनल रेंडरिंग।
- इनपुट हैंडलिंग।
- इंटरैक्टिव घटक।
- एजेंट गतिविधि प्रदर्शित करना।
पैकेज संबंध
flowchart TD
USER["Developer"]
TUI["pi-tui"]
CODING["pi-coding-agent"]
CORE["pi-agent-core"]
AI["pi-ai"]
LLM["LLM Providers"]
USER <--> TUI
TUI <--> CODING
CODING <--> CORE
CORE <--> AI
AI <--> LLM
CODING --> FS["Tools"]
CODING --> SESSION["Sessions"]
CODING --> EXT["Extensions"]उसी एजेंट इंफ्रास्ट्रक्चर का उपयोग गैर-इंटरैक्टिव इंटरफेस के माध्यम से भी किया जा सकता है।
Pi कैसे काम करता है
Pi उपयोगकर्ता, एजेंट रनटाइम, भाषा मॉडल और टूल्स के बीच एक दोहराए जाने वाले इंटरैक्शन चक्र का पालन करता है।
इसे आमतौर पर 'एजेंट लूप' कहा जाता है।
चरण 1 - उपयोगकर्ता अनुरोध सबमिट करता है
उदाहरण:
"एक पायथन एप्लिकेशन बनाएं जो खर्चों को ट्रैक करे।"
Pi इस अनुरोध को अपने टर्मिनल इंटरफेस के माध्यम से प्राप्त करता है।
चरण 2 - संदर्भ असेंबली
LLM से संपर्क करने से पहले, Pi संदर्भ तैयार करता है।
इसमें शामिल हो सकते हैं:
- सिस्टम निर्देश।
- उपयोगकर्ता अनुरोध।
- सक्रिय बातचीत का इतिहास।
- उपलब्ध टूल्स।
- AGENTS.md से प्रोजेक्ट निर्देश।
- कौशल विवरण।
- प्रासंगिक फाइल सामग्री।
- मॉडल कॉन्फ़िगरेशन।
सक्रिय सत्र शाखा यह निर्धारित करती है कि कौन से ऐतिहासिक संदेश शामिल किए गए हैं।
चरण 3 - मॉडल अनुरोध
Pi तैयार अनुरोध को चयनित LLM प्रदाता को भेजता है।
LLM निम्नलिखित उत्पन्न कर सकता है:
- प्राकृतिक भाषा पाठ।
- संरचित टूल कॉल।
- दोनों का संयोजन।
उदाहरण टूल अनुरोध:
टूल: write फाइल: expenses.py सामग्री: पायथन सोर्स कोड
LLM सीधे फाइल नहीं लिखता है।
यह अनुरोध करता है कि Pi ऑपरेशन को निष्पादित करे।
चरण 4 - टूल निष्पादन
Pi अनुरोधित टूल कॉल प्राप्त करता है।
टूल निष्पादक क्रिया करता है।
उदाहरण:
- फाइल पढ़ना।
- फाइल लिखना।
- कोड संशोधित करना।
- शेल कमांड निष्पादित करना।
Pi फिर परिणाम कैप्चर करता है।
चरण 5 - टूल परिणाम वापस करना
आउटपुट एजेंट रनटाइम को वापस कर दिया जाता है।
उदाहरण:
टूल: bash कमांड: python expenses.py
परिणाम: Traceback: NameError …
परिणाम LLM के लिए उपलब्ध संदर्भ का हिस्सा बन जाता है।
चरण 6 - जारी रखें या समाप्त करें
LLM निर्णय ले सकता है:
- दूसरा टूल कॉल करना।
- कोड संशोधित करना।
- अतिरिक्त परीक्षण चलाना।
- अंतिम उत्तर प्रदान करना।
Pi प्रक्रिया को दोहराता है जब तक कि अधिक निष्पादन की आवश्यकता होती है।
यह इंटरैक्शन एजेंटिक व्यवहार की नींव है।
पूर्ण एजेंट लूप आरेख
flowchart TD
START["User Request"]
CTX["Build Context"]
CALL["Call LLM"]
RESPONSE["Receive Model Response"]
DECISION{"Tool Calls?"}
EXEC["Execute Tools"]
RESULT["Collect Tool Results"]
FINISH["Final Response"]
START --> CTX
CTX --> CALL
CALL --> RESPONSE
RESPONSE --> DECISION
DECISION -->|Yes| EXEC
EXEC --> RESULT
RESULT --> CALL
DECISION -->|No| FINISHअनुक्रम आरेख (Sequence Diagram)
sequenceDiagram
autonumber
actor User
participant Pi as Pi Agent
participant LLM
participant Tools
participant OS as Operating System
User->>Pi: Create an expense tracker
Pi->>Pi: Assemble context
Pi->>LLM: Send prompt and tool definitions
LLM-->>Pi: Request write tool
Pi->>Tools: write expenses.py
Tools->>OS: Create file
OS-->>Tools: Success
Tools-->>Pi: Tool result
Pi->>LLM: Continue with result
LLM-->>Pi: Request bash tool
Pi->>Tools: Run Python program
Tools->>OS: Execute command
OS-->>Tools: Output
Tools-->>Pi: Execution result
Pi->>LLM: Continue
LLM-->>Pi: Final response
Pi-->>User: Task completedयह क्यों मायने रखता है
तीन जिम्मेदारियों को अलग किया गया है:
- LLM: तर्क उत्पन्न करता है और क्रियाओं का प्रस्ताव देता है।
- एजेंट हार्नेस: निष्पादन का समन्वय करता है और संदर्भ का प्रबंधन करता है।
- टूल्स: वातावरण में संचालन करते हैं।
यह आर्किटेक्चर कई अन्य AI एजेंट कार्यान्वयनों के लिए भी मौलिक है।
Pi में टूल्स
Pi का न्यूनतम कोडिंग कॉन्फ़िगरेशन चार मौलिक टूल्स का उपयोग करता है।
read
फाइल सामग्री पढ़ें।
उदाहरण प्रॉम्प्ट:
"app.py पढ़ें और इसकी संरचना समझाएं।"
write
फाइलें बनाएं या ओवरराइट करें।
उदाहरण प्रॉम्प्ट:
"एक पायथन प्रोग्राम बनाएं जो Hello TechHive प्रिंट करे।"
edit
मौजूदा फाइलों को संशोधित करें।
उदाहरण प्रॉम्प्ट:
"प्रोग्राम को उपयोगकर्ता नाम स्वीकार करने के लिए संशोधित करें।"
bash
शेल कमांड निष्पादित करें।
उदाहरण प्रॉम्प्ट:
"प्रोग्राम चलाएं और परिणाम प्रदर्शित करें।"
टूल निष्पादन उदाहरण
flowchart TD
A["User: Fix the bug"]
B["LLM analyzes request"]
C["read: Inspect code"]
D["edit: Fix code"]
E["bash: Run tests"]
F{"Tests pass?"}
G["Final response"]
A --> B
B --> C
C --> D
D --> E
E --> F
F -->|No| B
F -->|Yes| Gसंस्करण और कॉन्फ़िगरेशन के आधार पर अतिरिक्त अंतर्निहित टूल्स और एक्सटेंशन उपलब्ध हो सकते हैं।
संदर्भ प्रबंधन और सत्र
संदर्भ क्या है?
संदर्भ वह जानकारी है जो मॉडल अनुरोध के लिए LLM को आपूर्ति की जाती है।
इसमें शामिल हो सकते हैं:
- वर्तमान उपयोगकर्ता अनुरोध।
- बातचीत का इतिहास।
- टूल परिणाम।
- सिस्टम निर्देश।
- प्रोजेक्ट निर्देश।
- कौशल विवरण।
- संदर्भित फाइल सामग्री।
Pi स्वचालित रूप से रिपॉजिटरी की हर फाइल को LLM संदर्भ में लोड नहीं करता है।
यह सत्र और कॉन्फ़िगर किए गए संसाधनों के आधार पर संदर्भ का चयन और संयोजन करता है।
AGENTS.md
AGENTS.md एक प्रोजेक्ट निर्देश फाइल है।
उदाहरण:
# Project Instructions
This project is for a coding-agent workshop.
Guidelines:
- Use Python.
- Prefer the standard library.
- Keep code simple.
- Write readable functions.
- Add tests for new features.
- Explain major changes.ये निर्देश प्रोजेक्ट के भीतर एजेंट के व्यवहार को निर्देशित करने में मदद करते हैं।
सत्र (Sessions)
Pi बातचीत सत्रों को बनाए रखता है।
सत्रों में शामिल हो सकते हैं:
- उपयोगकर्ता संदेश।
- सहायक संदेश।
- टूल कॉल।
- टूल परिणाम।
- मॉडल परिवर्तन।
- संदर्भ संकुचन (compaction) ईवेंट।
स्थायी सत्र JSONL फाइलों का उपयोग करते हैं।
सत्र शाखा (Session Branching)
Pi एक ट्री-आधारित बातचीत संरचना का समर्थन करता है।
flowchart TD
A["Start Session"]
B["Create Application"]
C["Add Data Storage"]
D["CSV Approach"]
E["SQLite Approach"]
F["Test CSV"]
G["Test SQLite"]
A --> B
B --> C
C --> D
C --> E
D --> F
E --> Gशाखाएं पिछली बातचीत स्थितियों से वैकल्पिक दृष्टिकोणों की खोज की अनुमति देती हैं।
संदर्भ संकुचन (Context Compaction)
लंबी बातचीत मॉडल की संदर्भ विंडो से अधिक हो सकती है।
Pi भविष्य के मॉडल अनुरोधों में भेजी जाने वाली जानकारी की मात्रा को कम करने के लिए पुराने संदर्भ को संक्षेप में प्रस्तुत कर सकता है।
कमांड:
/compact
संकुचन संदर्भ के आकार को प्रबंधित करने में मदद करता है लेकिन पुराने संदेशों से कुछ विवरण खो सकता है।
मूल सत्र प्रविष्टियाँ संग्रहीत सत्र इतिहास में बनी रह सकती हैं।
मॉडल प्रदाता
Pi कई LLM प्रदाताओं के साथ काम कर सकता है।
उदाहरण:
- OpenAI।
- Anthropic।
- Google।
- अन्य समर्थित प्रदाता।
- कॉन्फ़िगर किए गए स्थानीय मॉडल।
मॉडल स्वतंत्रता
flowchart TD
USER["Developer"]
PI["Pi Agent"]
API["Unified Model Interface"]
USER --> PI
PI --> API
API --> A["OpenAI"]
API --> B["Anthropic"]
API --> C["Google"]
API --> D["Local Model"]लाभ:
- लचीलापन।
- मॉडल तुलना।
- प्रदाता विकल्प।
- लागत अनुकूलन।
- प्रयोग।
मॉडल क्षमताएं और संगतता भिन्न हो सकती हैं।
Pi का विस्तार करना
Pi को उसके कोर को संशोधित किए बिना अनुकूलित किया जा सकता है।
AGENTS.md
प्रोजेक्ट-विशिष्ट निर्देश।
प्रॉम्प्ट टेम्प्लेट
आवर्ती गतिविधियों के लिए पुन: प्रयोज्य प्रॉम्प्ट।
उदाहरण:
- कोड समीक्षा।
- दस्तावेज़ीकरण।
- परीक्षण पीढ़ी।
- रिफैक्टरिंग।
स्किल्स
विशेष वर्कफ़्लो के लिए पुन: प्रयोज्य निर्देश और सहायक संसाधन।
उदाहरण:
- पायथन परीक्षण वर्कफ़्लो।
- परिनियोजन (deployment) वर्कफ़्लो।
- दस्तावेज़ीकरण पीढ़ी।
- API विकास।
एक्सटेंशन
TypeScript-आधारित अनुकूलन।
एक्सटेंशन कर सकते हैं:
- कस्टम टूल्स परिभाषित करना।
- कमांड पंजीकृत करना।
- जीवनचक्र ईवेंट पर प्रतिक्रिया करना।
- बाहरी सेवाओं को एकीकृत करना।
- इंटरैक्टिव व्यवहार को अनुकूलित करना।
MCP एकीकरण
MCP का अर्थ है Model Context Protocol।
यह एप्लिकेशन के लिए बाहरी टूल्स और संसाधनों तक पहुँचने का एक मानकीकृत तरीका प्रदान करता है।
आधुनिक Pi संस्करण अंतर्निहित MCP समर्थन प्रदान करते हैं।
उदाहरण एकीकरण:
- GitHub।
- डेटाबेस।
- आंतरिक एप्लिकेशन।
- रिमोट सेवाएं।
एक्सटेंशन आर्किटेक्चर
flowchart TD
PI["Pi Agent"]
PI --> A["AGENTS.md"]
PI --> B["Prompt Templates"]
PI --> C["Skills"]
PI --> D["Extensions"]
PI --> E["MCP"]
D --> F["Custom Commands"]
D --> G["Custom Tools"]
D --> H["Event Handlers"]
E --> I["External Services"]Pi निष्पादन मोड
Pi कई इंटरफेस का समर्थन करता है।
इंटरैक्टिव
टर्मिनल इंटरफेस लॉन्च करें।
piप्रिंट मोड
एक प्रॉम्प्ट निष्पादित करें और उसकी प्रतिक्रिया प्रिंट करें।
pi -p "Explain Python decorators"JSON मोड
संरचित एजेंट ईवेंट स्ट्रीम करें।
pi --mode json -p "Explain this project"RPC मोड
मानक इनपुट और आउटपुट के माध्यम से JSONL संदेशों का उपयोग करके Pi को नियंत्रित करें।
SDK
TypeScript एप्लिकेशन में Pi एजेंट क्षमताओं को एम्बेड करें।
flowchart TD
CORE["Pi Agent Runtime"]
CORE --> A["Interactive TUI"]
CORE --> B["Print / JSON"]
CORE --> C["RPC"]
CORE --> D["TypeScript SDK"]
A --> E["Developer"]
B --> F["Automation Scripts"]
C --> G["External Application"]
D --> H["Custom Agent Application"]स्थापना और न्यूनतम सेटअप
Pi इंस्टॉल करें
macOS / Linux:
curl -fsSL https://pi.dev/install.sh | shWindows PowerShell:
irm https://pi.dev/install.ps1 | iexnpm का उपयोग करके विकल्प:
npm install -g --ignore-scripts @earendil-works/pi-coding-agentnpm इंस्टॉलेशन के लिए Node.js 22.19 या नया संस्करण आवश्यक है।
इंस्टॉलेशन सत्यापित करें
pi --versionएक प्रोजेक्ट बनाएं
mkdir pi-techhive-demo
cd pi-techhive-demo
git initPi शुरू करें
piप्रमाणीकरण कॉन्फ़िगर करें
Pi के अंदर:
/login
एक समर्थित प्रदाता चुनें और प्रमाणित करें।
फिर:
/model
वह मॉडल चुनें जिसका आप उपयोग करना चाहते हैं।
आवश्यक कमांड
| कमांड | उद्देश्य |
|---|---|
| /login | मॉडल प्रदाता को प्रमाणित करें |
| /model | मॉडल चुनें |
| /thinking | थिंकिंग स्तर सेट करें |
| /settings | सेटिंग्स खोलें |
| /new | नया सत्र शुरू करें |
| /resume | सत्र फिर से शुरू करें |
| /session | सत्र की जानकारी |
| /tree | बातचीत इतिहास नेविगेट करें |
| /fork | पिछले संदेश से फोर्क करें |
| /compact | संदर्भ संकुचित करें |
| /mcp | MCP सर्वर प्रबंधित करें |
| /reload | संसाधन पुनः लोड करें |
| /export | सत्र निर्यात करें |
| /share | सत्र साझा करें |
| /quit | Pi से बाहर निकलें |
इंस्टॉल किए गए संस्करण में उपलब्ध कमांड खोजने के लिए टर्मिनल इंटरफेस में / दर्ज करें।
हैंड्स-ऑन डेमो: एक्सपेंस ट्रैकर
एक प्रोजेक्ट निर्देशिका बनाएं
mkdir expense-tracker
cd expense-tracker
git init
piप्रोजेक्ट का अन्वेषण करें
प्रॉम्प्ट:
Inspect the current directory. Explain what files are present. Do not modify anything.
अवधारणा: फाइल-सिस्टम अन्वेषण और पढ़ने के संचालन।
एक एप्लिकेशन उत्पन्न करें
प्रॉम्प्ट:
Create a simple Python expense tracker. Requirements: - Add an expense. - List expenses. - Calculate total expenses. - Store expenses in a CSV file. - Use only the Python standard library. Keep the implementation simple.
अवधारणा: कोड पीढ़ी और फाइल निर्माण।
प्रोग्राम निष्पादित करें
प्रॉम्प्ट:
Run the application. Create three example expenses. Verify that the total is calculated correctly.
अवधारणा: शेल निष्पादन और परिणाम अवलोकन।
स्वचालित परीक्षण जोड़ें
प्रॉम्प्ट:
Create unit tests using Python unittest. Test expense creation and total calculation. Run the tests and fix any errors.
अवधारणा: स्वायत्त परीक्षण और पुनरावृत्त सुधार।
एप्लिकेशन का विस्तार करें
प्रॉम्प्ट:
Add a feature to group expenses by category. Display the total for each category. Update the tests and run them.
अवधारणा: कोड संशोधन और संदर्भ प्रतिधारण।
सत्र प्रबंधन का अन्वेषण करें
कमांड:
/session /tree /model
अवधारणा: सत्र इतिहास, शाखाकरण, और मॉडल स्विचिंग।
सुरक्षा विचार
Pi अपनी चल रही प्रक्रिया के लिए उपलब्ध अनुमतियों के साथ कमांड निष्पादित कर सकता है।
यह जरूरी नहीं कि हर टूल कॉल से पहले अनुमोदन का अनुरोध करे।
अनुशंसित अभ्यास:
- एक समर्पित प्रोजेक्ट निर्देशिका के अंदर काम करें।
- महत्वपूर्ण कोड को संशोधित करने से पहले Git का उपयोग करें।
- क्रेडेंशियल्स को उजागर करने से बचें।
- उत्पन्न कोड का निरीक्षण करें।
- बाहरी एक्सटेंशन की समीक्षा करें।
- सार्वजनिक डेमो में संवेदनशील डेटा का उपयोग न करें।
- अविश्वसनीय कार्यों के लिए कंटेनर या सैंडबॉक्स का उपयोग करें।
- साझा करने से पहले सत्र सामग्री की समीक्षा करें।
एक AI कोडिंग एजेंट सुरक्षा और कोड-समीक्षा प्रथाओं का विकल्प नहीं है।
अन्य टूल्स के साथ Pi की तुलना
Pi
न्यूनतम, विस्तार योग्य कोडिंग-एजेंट हार्नेस।
ताकत:
- अनुकूलन।
- एकाधिक LLM प्रदाता।
- टूल निष्पादन।
- सत्र प्रबंधन।
- विस्तारणीयता।
Claude Code
विकास टूल्स और वर्कफ़्लो के एकीकृत सेट के साथ कोडिंग एजेंट।
Codex CLI
कोडबेस, टर्मिनल कमांड और विकास वर्कफ़्लो के साथ काम करने के लिए डिज़ाइन किया गया कोडिंग एजेंट।
LangChain / LangGraph
कस्टम LLM एप्लिकेशन और एजेंटिक वर्कफ़्लो विकसित करने के लिए फ्रेमवर्क।
Pi मुख्य रूप से एक उपयोग के लिए तैयार और विस्तार योग्य एजेंट हार्नेस है, न कि सामान्य-उद्देश्य वाला वर्कफ़्लो-ग्राफ फ्रेमवर्क।
मुख्य निष्कर्ष
- Pi एक एजेंट हार्नेस है, LLM नहीं।
- LLM क्रियाओं का प्रस्ताव देता है; Pi निष्पादन का समन्वय करता है।
- एजेंट लूप बहु-चरणीय कार्य निष्पादन को सक्षम बनाता है।
- टूल्स Pi को विकास वातावरण के साथ बातचीत करने की अनुमति देते हैं।
- संदर्भ और सत्र बातचीत की निरंतरता बनाए रखते हैं।
- Pi एक एकल LLM प्रदाता से बंधा नहीं है।
- एक्सटेंशन और स्किल्स अनुकूलन को सक्षम करते हैं।
- न्यूनतम आर्किटेक्चर अभी भी परिष्कृत एजेंटिक वर्कफ़्लो का समर्थन कर सकते हैं।
- मानवीय निरीक्षण और उचित अलगाव महत्वपूर्ण बने हुए हैं।
संदर्भ
Pi वेबसाइट: https://pi.dev
आधिकारिक दस्तावेज़ीकरण: https://docs.pi.dev/latest
क्विकस्टार्ट: https://docs.pi.dev/latest/quickstart
Pi कैसे काम करता है: https://docs.pi.dev/latest/how-pi-works
स्लैश कमांड: https://docs.pi.dev/latest/slash-commands
एक्सटेंशन: https://docs.pi.dev/latest/extensions
MCP: https://docs.pi.dev/latest/mcp
सोर्स कोड: https://github.com/earendil-works/pi
Mermaid एडिटर: https://mermaid.live

