मुख्य सामग्री पर जाएं
किसी Agent SDK function या टाइप को उसके काम से खोजें, फिर अपनी भाषा में उसका नाम देखें। उपयोग दिखाता है कि ये हिस्से आपस में कैसे जुड़ते हैं। TypeScript संदर्भ डिज़ाइन है; जहाँ किसी भाषा में कुछ नहीं है, वहाँ उसका सेल यह बताता है।

एजेंट बनाएँ

एक definition से एजेंट बनाता है। Definition की स्टेप सीमा हर run या continue कॉल पर लागू होती है।

Definition फ़ील्ड

Rust definition को फ़ील्ड के बजाय methods से बनाता है: AgentDefinition::new(id, model), फिर .instructions(text), .tool(tool) (हर टूल के लिए एक बार), .max_steps(limit), .model_retries(count, backoff) और .human_review(callback)। Java का AgentDefinition 10-, 13- और 19-argument constructors वाला एक record है। TypeScript में, model, instructions और sampling मान तय या गतिशील हो सकते हैं।

टूल परिभाषित करें

टूल में हर टूल फ़ील्ड की सूची है।

Phaseo Gateway से कनेक्ट करें

आउटपुट और retries में हर भाषा के क्लाइंट विकल्पों की सूची है।

रन को स्थानीय रूप से कैप्चर करें

DevTools देखें।

रोकने की शर्तें

Go और Java एक StopCondition लौटाते हैं; C# एक Func<StopState, (bool Stop, string Reason)> लौटाता है; PHP एक callable लौटाता है; Ruby एक lambda लौटाता है। Rust में रोकने की शर्तें नहीं हैं, सिर्फ़ स्टेप सीमा है। रोकने की शर्तें देखें।

चलाएँ और जारी रखें

Run और continue एक रन नतीजा लौटाते हैं: TypeScript में Promise<AgentRunResult>, Go में (RunResult, error), C# में Task<RunResult>, Rust में Result<RunResult, AgentError>, और बाकी जगह सीधे रन नतीजा। Stream methods तुरंत एक stream result लौटाते हैं।

Run विकल्प

PHP और Ruby इन्हें named या keyword arguments के रूप में लेते हैं; Java का RunOptions एक positional record है, इस क्रम में: input, client, context, model, preset, maxSteps, modelRetry, toolExecution, onEvent, devtools, फिर एक वैकल्पिक state। Python का run() stop_when भी स्वीकार करता है लेकिन उसे अनदेखा करता है; रोकने की शर्तें definition पर सेट करें। PHP का stream() और Ruby का stream सिर्फ़ input, client, context और state लेते हैं। Rust RunOptions::new(input) से डिफ़ॉल्ट बनाता है।

Continue विकल्प

Continue विकल्प ऊपर दिए run overrides लेते हैं, साथ में: Java के ContinueOptions का क्रम run, client, context, model, preset, maxSteps, humanInput, modelRetry, toolExecution, onEvent, devtools है, फिर approvals, rejections, toolOutputs, फिर runId, state। 16 आर्ग्युमेंट वाले इस रूप के अलावा, ऐसे कंस्ट्रक्टर भी हैं जो सिर्फ़ पहले 11 या पहले 14 आर्ग्युमेंट लेते हैं; बाकी डिफ़ॉल्ट रूप से खाली लिस्ट या null होते हैं। Rust ContinueOptions::new(result) से डिफ़ॉल्ट बनाता है।

Stream result

Consumers शुरुआत से replay करते हैं, इसलिए कई consumers एक ही रन पढ़ सकते हैं। उनका व्यवहार अलग-अलग है:

रन नतीजा

TypeScript और Python में टाइप AgentRunResult है और बाकी जगह RunResult। TypeScript में stepResults (normalized स्टेप नतीजे) और items (क्रमबद्ध मैसेज, reasoning, टूल गतिविधि, त्रुटियाँ और अंतिम आउटपुट; आइटम देखें) भी हैं। Rust में, output एक serde_json::Value है, और RunResult, RunRecord, RunStep, Message, ToolCall, HumanPause, PendingToolCall, ToolDecision, ToolOutput और UsageSummary Serde से serialize होते हैं।

रन रिकॉर्ड

Rust का RunRecord प्रभावी मॉडल और स्टेप सीमा भी संग्रहीत करता है। TypeScript gateway त्रुटि विवरण के साथ errorDetails जोड़ता है। रन स्टेटस queued, running, waiting_for_tools, waiting_for_human, completed, stopped और failed हैं। TypeScript में cancelled भी है।

स्टेप रिकॉर्ड

TypeScript और Python (AgentStepRecord) को छोड़कर हर जगह टाइप RunStep है।

उपयोग सारांश

inputTokens, outputTokens, cachedTokens, totalTokens, cost (TypeScript, Java); input_tokens, output_tokens, cached_tokens, total_tokens, cost (Python, PHP और Ruby keys, Rust); InputTokens, OutputTokens, CachedTokens, TotalTokens, Cost (Go, C#)। TypeScript और Python में टाइप AgentUsageSummary है और Go, C#, Java और Rust में UsageSummary। PHP और Ruby एक array या Hash का उपयोग करते हैं। cost से जुड़ी सावधानियों के लिए ऑब्ज़र्वेबिलिटी देखें।

Pauses और फ़ैसले

फ़ील्ड के नाम हर भाषा की शैली का पालन करते हैं: toolCallId (TypeScript, PHP, Java), tool_call_id (Python, Ruby, Rust), ToolCallID (Go) और ToolCallId (C#)। Rust का ToolDecision सिर्फ़ अनुमोदन के लिए है। स्टेट और अनुमोदन देखें।

टूल को दिया जाने वाला रनटाइम संदर्भ

State accessor

मॉडल क्लाइंट

मॉडल टर्न किसी दूसरे ट्रांसपोर्ट से भेजने के लिए, या gateway क्लाइंट को लपेटने के लिए, एक मॉडल क्लाइंट लागू करें। Rust में, ModelRequest में एजेंट ID, प्रभावी मॉडल, निर्देश, मौजूदा मैसेज, टूल विनिर्देश (ToolSpec: id, description, JSON Schema parameters) और ऐप्लिकेशन संदर्भ होते हैं। ModelResponse में message, usage, request_id, provider, model और finish_reason होते हैं। Message में role, content, tool_calls, tool_call_id, name और is_error होते हैं, साथ में Message::user(content) और Message::assistant(content) constructors; ToolCall में id, name और JSON input होते हैं।

इवेंट और त्रुटियाँ

TypeScript त्रुटियों को वर्गीकृत करने के लिए agentErrorIsRetryable(), agentRetryAfterMs() और agentErrorIsContextOverflow(), बिना नतीजे वाली टूल कॉल का जवाब देने और किसी कॉल का जवाब न देने वाले नतीजे हटाने के लिए repairToolHistory(messages), और लंबे टेक्स्ट की शुरुआत और अंत रखते हुए कटे हिस्से की सूचना जोड़ने के लिए truncateToolOutput(text, limit) भी export करता है। लाइफ़साइकल हुक और इवेंट और त्रुटियाँ देखें।
अंतिम संशोधन 5 नवंबर 2026