1 पॉइंट द्वारा GN⁺ 2025-05-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Claude Agent SDK Python और TypeScript कोड से Claude Code के tool execution, agent loop और context management को नियंत्रित करने देता है, जिससे file read, command execution, web search और code edit को automate किया जा सकता है
  • यह built-in tools के रूप में Read, Write, Edit, Bash, Monitor, Glob, Grep, WebSearch, WebFetch, AskUserQuestion देता है, जिससे codebase exploration से लेकर user confirmation questions तक बिना अलग execution layer के संभाला जा सकता है
  • hooks, sub-agents, MCP, permissions और sessions को मिलाकर file change audit logs, code review-only sub-agent, Playwright-आधारित browser automation, और read-only analysis agent जैसी configurations बनाई जा सकती हैं
  • installation @anthropic-ai/claude-agent-sdk या claude-agent-sdk से होती है; Python के लिए 3.10 या उससे ऊपर चाहिए, और TypeScript SDK platform के लिए native Claude Code binary को optional dependency के रूप में शामिल करता है
  • Anthropic Client SDK से अलग, जहाँ tool loop को सीधे implement करना पड़ता है, Agent SDK built-in tool execution देता है; और Managed Agents की तरह Anthropic infrastructure पर नहीं बल्कि user process और infrastructure पर चलता है

Claude Agent SDK का कार्यक्षेत्र

  • Claude Agent SDK Claude Code को चलाने वाले tools, agent loop और context management को Python और TypeScript में इस्तेमाल करने देता है
  • agent file read, command execution, web search और code edit कर सकता है
  • इसमें built-in tool execution शामिल है, इसलिए user को अलग से tool execution layer खुद बनाने की ज़रूरत नहीं होती और agent तुरंत काम शुरू कर सकता है
  • basic example में auth.py में bug खोजने और ठीक करने के लिए Read, Edit, Bash tools को अनुमति दी जाती है

इंस्टॉलेशन और authentication flow

  • language-specific package से install किया जाता है
    • TypeScript: npm install @anthropic-ai/claude-agent-sdk
    • Python: pip install claude-agent-sdk
  • Python package के लिए Python 3.10 या उससे ऊपर ज़रूरी है
    • अगर No matching distribution found for claude-agent-sdk error आए, तो interpreter शायद 3.10 से पुराना version हो सकता है
    • macOS या Linux में python3 --version, Windows में py --version से जाँचें
  • TypeScript SDK platform के लिए native Claude Code binary को optional dependency के रूप में शामिल करता है, इसलिए Claude Code को अलग से install करने की ज़रूरत नहीं है
  • API key Console से जारी करके ANTHROPIC_API_KEY environment variable में set की जाती है
  • third-party API provider authentication भी supported है
    • Amazon Bedrock: CLAUDE_CODE_USE_BEDROCK=1 set करने के बाद AWS credentials configure करें
    • Claude Platform on AWS: CLAUDE_CODE_USE_ANTHROPIC_AWS=1, ANTHROPIC_AWS_WORKSPACE_ID set करने के बाद AWS credentials configure करें
    • Google Vertex AI: CLAUDE_CODE_USE_VERTEX=1 set करने के बाद Google Cloud credentials configure करें
    • Microsoft Azure: CLAUDE_CODE_USE_FOUNDRY=1 set करने के बाद Azure credentials configure करें
  • Anthropic बिना prior approval के third-party developers को Claude Agent SDK-आधारित products में claude.ai login या rate limit देने की अनुमति नहीं देता

built-in tools और agent capabilities

  • SDK Claude Code की मुख्य capabilities को code से handle करने देता है
    • built-in tools
    • hooks
    • sub-agents
    • MCP
    • permissions
    • sessions
  • मुख्य built-in tools ये भूमिकाएँ निभाते हैं
    • Read: working directory के अंदर file पढ़ना
    • Write: नई file बनाना
    • Edit: existing file पर सटीक edits लागू करना
    • Bash: terminal commands, scripts और git operations चलाना
    • Monitor: background scripts को monitor करना और हर output line पर event के रूप में react करना
    • Glob: **/*.ts, src/**/*.py जैसे patterns से files ढूँढना
    • Grep: regular expression से file contents खोजना
    • WebSearch: web पर latest information खोजना
    • WebFetch: web page content लाना और parse करना
    • AskUserQuestion: multiple-choice options के साथ user से confirmation question पूछना
  • example agent Read, Glob, Grep की अनुमति देकर codebase में TODO comments ढूँढकर उनका सार देता है

hooks, sub-agents, MCP

  • hook agent lifecycle के मुख्य points पर user code चलाते हैं
    • callback functions के रूप में agent behavior को validate, log, block या transform किया जा सकता है
    • उपलब्ध hooks में PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, UserPromptSubmit आदि शामिल हैं
    • example में PostToolUse में Edit|Write actions detect करके audit.log में file changes record किए जाते हैं
  • sub-agent focused sub-tasks संभालने वाले specialized agents होते हैं
    • main agent task delegate करता है और sub-agent result लौटाता है
    • custom agent को description, prompt और इस्तेमाल होने वाले tools से define किया जाता है
    • sub-agent invocation Agent tool के ज़रिए होता है, इसलिए auto-approval के लिए allowedTools में Agent शामिल होना चाहिए
    • sub-agent context के messages में parent_tool_use_id field शामिल होती है, जिससे यह track किया जा सकता है कि वे किस sub-agent execution से जुड़े हैं
  • Model Context Protocol(MCP) के ज़रिए database, browser, API जैसे external systems से connect किया जा सकता है

permissions और session management

  • permission settings agent द्वारा इस्तेमाल किए जा सकने वाले tools को सीमित करती हैं
    • safe operations को allow, risky operations को block, और sensitive actions के लिए approval की requirement लगाई जा सकती है
    • example में सिर्फ Read, Glob, Grep को pre-approve करके code को analyze करने वाला लेकिन modify न करने वाला read-only agent बनाया जाता है
  • AskUserQuestion tool और interactive approval prompts user input handling flow में साथ इस्तेमाल होते हैं
  • session कई interactions के दौरान context बनाए रखते हैं
    • Claude पढ़ी गई files, की गई analysis और conversation history को याद रखता है
    • बाद में उसी session को resume किया जा सकता है या अलग approach explore करने के लिए fork किया जा सकता है
    • example में पहले query से session_id लिया जाता है, और दूसरे query में resume=session_id से वही context जारी रखा जाता है

Claude Code settings support

  • SDK Claude Code की filesystem-based settings को support करता है
  • default options में working directory की .claude/ और ~/.claude/ से settings load की जाती हैं
  • कौन-से settings sources load करने हैं, इसे सीमित करने के लिए Python में setting_sources, TypeScript में settingSources option इस्तेमाल किया जाता है
  • supported features और locations इस प्रकार हैं
    • Skills: Claude द्वारा auto-use या /name से invoke की जाने वाली specialized capability, .claude/skills/*/SKILL.md
    • Commands: legacy format के custom commands, .claude/commands/*.md
    • Memory: project context और instructions, CLAUDE.md या .claude/CLAUDE.md
    • Plugins: skills, agents, hooks, MCP servers का extension, plugins option से programmatically configure किया जाता है

दूसरे Claude tools से अंतर

  • Anthropic Client SDK direct API access देता है, और user prompt भेजता है तथा tool execution को खुद implement करता है
  • Agent SDK में Claude tool handling को autonomously करता है
    • Client SDK में user tool loop implement करता है
    • Agent SDK Claude को built-in tool execution देता है
  • use case के आधार पर चुनने के मानदंड ये हैं
    • interactive development: CLI
    • CI/CD pipeline: SDK
    • custom application: SDK
    • one-off tasks: CLI
    • production automation: SDK
  • कई teams रोज़मर्रा development के लिए CLI और production के लिए SDK साथ में इस्तेमाल करती हैं, और workflows सीधे एक-दूसरे में ले जाए जा सकते हैं
  • Managed Agents एक hosted REST API है, जहाँ Anthropic agents और sandbox चलाता है
  • Agent SDK user process के अंदर agent loop चलाने वाली library है
    • execution location: Agent SDK user process और infrastructure में, Managed Agents Anthropic-managed infrastructure में
    • interface: Agent SDK Python या TypeScript library, Managed Agents REST API
    • work target: Agent SDK user infrastructure की files, Managed Agents session-specific managed sandbox
    • session state: Agent SDK filesystem की JSONL, Managed Agents Anthropic-hosted event log
    • custom tools: Agent SDK process के भीतर Python या TypeScript functions, Managed Agents में Claude tool trigger करता है और user execution result लौटाता है
    • suitable use cases: Agent SDK local prototyping और filesystem/services तक direct access वाले agents के लिए, Managed Agents उन production agents और long-running/async sessions के लिए जहाँ sandbox या session infrastructure operate नहीं करना हो
  • आम रास्ता यह है कि पहले Agent SDK से local prototype बनाया जाए और फिर production में Managed Agents पर migrate किया जाए

changelog, bug report, branding

  • SDK updates, bug fixes और new features हर repository के changelog में देखे जा सकते हैं
  • bugs या issues GitHub पर report किए जाते हैं
  • partners जब Claude Agent SDK को integrate करते हैं, तब Claude branding का इस्तेमाल optional है
    • allowed: “Claude Agent”, “Claude”, “Powered by Claude”
    • prohibited: “Claude Code”, “Claude Code Agent”, Claude Code brand ASCII art, या Claude Code की नकल करने वाले visual elements
    • product को अपनी branding बनाए रखनी चाहिए और Claude Code या Anthropic product जैसा नहीं दिखना चाहिए
  • Claude Agent SDK का उपयोग Anthropic’s Commercial Terms of Service के अधीन है
    • अपवाद केवल वहाँ है जहाँ किसी specific component या dependency की LICENSE file में अलग license बताया गया हो

1 टिप्पणियां

 
GN⁺ 2025-05-20
Hacker News की राय
  • Claude Code जिस दिशा में जा रहा है, वह agentic coding tools से मेरी अपेक्षा से बिल्कुल मेल खाती है, और इसकी “Unix tool जैसी” philosophy भी अच्छी है
    मैं public preview के शुरुआती दौर से इसे इस्तेमाल कर रहा हूं, और इसकी दिशा साफ दिख रही थी। मेरे हिसाब से coding agent की ideal final state यह है कि आप Jira ticket जैसी कोई feature request दें, और वह review व feedback के लिए PR बना दे। इस मायने में Cursor, Windsurf जैसे local editor-केंद्रित tools करीब-करीब dead end हैं, क्योंकि वे CI के अंदर चल नहीं सकते। अगर codebase को rules, MCP आदि के जरिए AI के लिए व्यवस्थित किया जा रहा है, तो लक्ष्य ऐसी technology होना चाहिए जो headless use तक ले जा सके। Claude Code tools के जरिए automation के हिस्से के रूप में आसानी से इस्तेमाल किया जा सकता है, इसलिए coding agents के बारे में सोचते समय अब यह default बन गया है; Codex npm package भी कुछ ऐसा ही है। हालांकि मैं कंपनियों को agent use के हिसाब से codebase व्यवस्थित करने में मदद करने का काम करता हूं, इसलिए आसानी से configure होने वाले tools की तरफ मेरा bias हो सकता है

    • उस “ideal final state” से सहमत होना मुश्किल है। मैं जो चाहता हूं, वह यह है कि मैं एक कमरे में कई screens से घिरा रहूं, जहां AI agents coding, design और testing कर रहे हों, और मैं बीच में बैठकर दिशा तय करूं और अपनी preferences लागू करूं
      सब कुछ बातचीत से हो, और 99% समय keyboard छूने की जरूरत न पड़े—मैं ऐसी form की उम्मीद करता हूं
    • मुझे ऐसा नहीं लगता। coding agent की “ideal” final state मेरे computer या मेरी पसंद की machine पर चलने वाला free और open-source coding agent है
      सोचिए, terminal में ls, ps, kill जैसे commands चलाने पर हर बार पैसे देने पड़ें—यह बिल्कुल बेतुका लगेगा। LLM भी वैसा ही है। मेरा मतलब proprietary LLMs पर रोक लगाने से नहीं है, लेकिन पुराने जमाने के hackers को अपने मुख्य tools के रूप में free और open-source tools ही अपनाने चाहिए
    • Anthropic ने भी आज इसी दिशा की एक feature beta में announce की है: https://docs.anthropic.com/en/docs/claude-code/github-action...
    • मैंने Cursor और MCP के साथ भी ऐसे काम करके देखे हैं। लगभग एक दिन बाद usage limit लग गई और मैं सबसे धीमे और सबसे बेवकूफ model पर गिरा दिया गया
      Claude के साथ भी किया, लेकिन limit जल्दी खत्म हो गई। PR सीधे “merge के लिए ठीक” स्तर का हो, ऐसा सिर्फ करीब 25% मामलों में होता है; और AI ने कहां गड़बड़ की यह ढूंढने से अक्सर बेहतर और तेज होता है कि काम खुद सही तरीके से कर लिया जाए
    • यह बात समझ में आती है कि feature request देने पर review के लिए PR बन जाए, लेकिन तब software work का सबसे soul-crushing हिस्सा, यानी Jira tickets, ही बचता है—यह उदास करने वाला है
  • coding में LLM इस्तेमाल करने के तरीकों में Claude Code मुझे सबसे ज्यादा पसंद है
    लेकिन असल में जरूरत एक ऐसे open-source version की है जिसमें कोई भी model pass किया जा सके और कई models के जवाबों की तुलना भी की जा सके। Aider या दूसरे alternatives Claude Code जितने इस्तेमाल में अच्छे नहीं लगते। Anthropic के नजरिए से यह उनकी moat खत्म कर देगा, इसलिए वे शायद ऐसा नहीं चाहेंगे, लेकिन consumer के रूप में मैं बस किसी खास ecosystem में बंधे बिना best model इस्तेमाल करना चाहता हूं। शायद यही वह चीज है जिससे LLM model providers सबसे ज्यादा डरते हैं

    • OpenAI Codex शायद सबसे करीबी alternative है। यह open source है और किसी भी provider का model इस्तेमाल कर सकता है
      अभी यह Claude Code जितना अच्छा नहीं है, लेकिन लगता है जल्दी पकड़ लेगा। https://github.com/openai/codex/tree/main
    • OpenCode project आपकी रुचि से मेल खा सकता है: https://github.com/opencode-ai/opencode
      अभी development में है, लेकिन promising लगता है
    • उत्सुक हूं कि Claude Code Aider से बेहतर क्या करता है
    • हाल में मैंने self-promotion कुछ ज्यादा ही की है, लेकिन पुराने comments देखें तो Go में बनी मेरी एक service है। यह ठीक इसी जरूरत को target करती है
    • सहमत हूं, लेकिन क्या दूसरे models को भी MCP servers के साथ काम करना जानने के लिए train नहीं होना चाहिए? या यह समस्या नहीं है?
  • Aider काफी पहले से Python और shell scripting support करता आया है [0]
    हाल में 130 नई programming languages का support जोड़ते समय मैंने Aider से on-the-fly Bash scripting करने का screencast भी बनाया [1]। इससे अंदाजा मिल सकता है कि यह approach कितनी powerful हो सकती है।
    [0] https://aider.chat/docs/scripting.html
    [1] https://aider.chat/docs/recordings/tree-sitter-language-pack...

    • मुझे Aider सचमुच बहुत पसंद है। MCP support भी जल्द आने वाला है, और मैं development branch test कर रहा हूं
      तब trusted model इस्तेमाल करके PR, tickets आदि के जरिए शुरू से अंत तक development किया जा सकेगा
    • उत्सुक हूं कि Aider को Claude Code के कितना करीब बनाया जा सकता है। Claude Code का user experience अच्छा लगा था, लेकिन मैं Gemini 2.5 Pro को prefer करता हूं, इसलिए इसे इस्तेमाल नहीं करता
      यह commit तक कर दे, ऐसा मैं खास नहीं चाहता; मुझे मुख्य रूप से Claude Code का feel पसंद है
    • अगर Aider के पास अच्छी तरह polished GitHub Actions workflow हो, तो यह काफी बेहतर हो सकता है
      बस repository में एक file add करनी पड़े और फिर issues के जरिए किसी भी model से बातचीत की जा सके—कुछ ऐसा
  • Claude Code टीम ने जिन बातों को और विस्तार से कवर किया: http://latent.space/p/claude-code
    सिर्फ transcript सरसरी तौर पर पढ़ लेना भी काफी है, लेकिन निजी तौर पर मुझे ये बातें खास लगीं: Anthropic के कर्मचारी unlimited Claude इस्तेमाल करते हुए भी औसतन करीब 6 डॉलर प्रतिदिन खर्च करते हैं; headless Claude Code को CI में कहीं भी इस्तेमाल होने वाली “Linux” utility की तरह देखते हैं; इसे user-extendable platform मानते हैं; sandboxing, branching और planning features भविष्य के roadmap में हैं; और Sonnet 3.7 को persistent agent model के रूप में देखते हैं

    • लिंक में लिखा है कि Anthropic के internal engineers में से एक ने एक दिन में 1,000 डॉलर से ज़्यादा खर्च भी किया था
      मैं जानना चाहूंगा कि प्रति-कर्मचारी खर्च का P50, P75, P95 कितना है
    • शायद मैं ही गलत तरीके से इस्तेमाल कर रहा हूं, लेकिन Claude Code को 2 घंटे इस्तेमाल करने पर आसानी से 20 डॉलर से ज़्यादा खर्च हो जाता है
      personal projects के लिए यह बहुत महंगा था, इसलिए मैंने इस्तेमाल बंद कर दिया
    • हाल में latent space podcast सुनने में मुझे वाकई बहुत मज़ा आ रहा है। इतने high signal-to-noise ratio को बनाए रखते हुए कुल output इस स्तर का रखने वाले लोग या podcasts बहुत कम लगते हैं
      पिछले छह महीनों या कुछ वर्षों में कई businesses बढ़ाते हुए भी public work की मात्रा और value लगातार बढ़ती जाना हैरान करने वाला है। उम्मीद है कि दूसरे लोग भी ऐसी ही productivity gradient खोज पाएंगे। वे मोटे तौर पर बताते हैं कि क्या चीज़ें काम करती हैं, लेकिन उसे reproduce करना आसान नहीं है। simonw, gwern जैसे नाम याद आते हैं
    • मुझे जिज्ञासा है कि वह podcast कितना neutral था, या फिर बस इस product की salesy promotion थी
  • अगर मैं AI code assistant बनाता, तो उसे किसी खास foundation model provider से बांधना मेरी आखिरी प्राथमिकता होती
    इस product के सफल होने के लिए यह मानना पड़ेगा कि model performance अभी-अभी plateau पर पहुंच गया है, सभी foundation models लगभग समान performance और capabilities पर converge करेंगे, और integrators किसी परिचित SDK जैसी छोटी conveniences के आधार पर चुनाव करेंगे

    • commands और arguments को छोड़ दें तो बांधे जाने वाली चीज़ें ज्यादा नहीं हैं। यह बस input और output है
      किसी और चीज़ से बदल दें या wrapper लगा दें। यहां बहुत ज्यादा complex काम नहीं है
    • इस समय Claude Code agentic coding क्षेत्र में software differentiator है
      मैं AI code assistant से जुड़ी कोई चीज़ बना रहा हूं, और Claude Code integrate करने का तरीका ही पहले hack कर रहा था। हम सबसे पहले उसी के ऊपर build करना चाहते थे। lock-in की चिंता करना अभी बहुत जल्दी है; हमें best चाहिए, इसलिए हम सिर्फ best के इर्द-गिर्द build करेंगे
  • Claude Code पहले से ही non-interactive mode में इस्तेमाल किया जा सकता था, इसलिए उसे दूसरे Unix command-line utilities की तरह अन्य apps में integrate किया जा सकता था
    लगता है यह SDK फिलहाल केवल command-line usage ही support करता है, तो क्या यह पहले से मौजूद चीज़ जैसा ही नहीं है? सच में नया क्या है, समझ नहीं आया। क्या मैं कुछ miss कर रहा हूं?

    • मुझे भी नहीं पता। मेरी नजर में अजीब है कि लगभग कोई भी इस बात पर चर्चा नहीं कर रहा
  • Codebuff(https://www.codebuff.com/) की भी सिफारिश करूंगा। यह Claude Code जैसा ही एक शानदार CLI code assistant है और token costs काफी बचा सकता है
    इस project से मेरा कोई संबंध नहीं है, बस user हूं

  • terms में लिखा है कि “सेवा से प्रतिस्पर्धा करने वाले products या services विकसित करने, artificial intelligence या machine learning algorithms या models विकसित/प्रशिक्षित करने, या service को resell करने के लिए इसका उपयोग नहीं किया जा सकता”
    सोचता हूं कि general intelligence से प्रतिस्पर्धा न करने वाला software product या service आखिर है क्या। intelligence बेचते हुए, strict interpretation में यह एक legal clause लगाने जैसा है कि इसे कहीं भी इस्तेमाल न करें। क्या यह इतना vague है कि enforce नहीं किया जा सकता? अगर इसे general intelligence से compete करने में इस्तेमाल नहीं कर सकते, तो output का ownership कैसे होगा? क्या यह “legal terms की किसी को परवाह नहीं” वाली बात है? अगर किसी को परवाह नहीं, तो service usage पर blanket ban क्यों लगाते हैं? ऐसे output पाने के लिए lawsuit हारने की liability तक स्वीकार करनी पड़ेगी क्या—बहुत सारे सवाल हैं

    • lawyers को मनमानी करने दें तो यही होता है
    • आपने “artificial” को “general” से बदल दिया, तो मतलब जाहिर तौर पर बदल गया
  • model lock-in हो तो usage के लिए बड़ा disadvantage बन जाता है। अगर कोई latest best-performing model ले आया और आपने पहले ही इस infrastructure में invest कर दिया है, तो आप फंस जाएंगे
    बाद में open भी कर दें, तो भी संभव है कि वह model खास तौर पर उस CLI के हिसाब से trained हो, इसलिए ठीक से काम न करे। Codex CLI को ही देखें: Gemini 2.5 Pro इस्तेमाल तो कर सकते हैं, लेकिन OpenAI models की तुलना में वह random तरीके से रुकता या fail होता रहता है

  • नया GitHub Action वही feature है जिसकी मुझे तलाश थी: https://docs.anthropic.com/en/docs/claude-code/github-action...
    लेकिन Claude Code के Max plan के साथ इसे इस्तेमाल करने का तरीका दिख नहीं रहा। मुझे लगता है यह सिर्फ API key ही लेता है