• Stripe, Ramp, Coinbase जैसी प्रमुख engineering organizations द्वारा स्वतंत्र रूप से बनाए गए इन-हाउस coding agents मिलते-जुलते architecture patterns पर converge हो रहे हैं, और Open SWE इन्हीं का open source implementation framework है
  • यह Deep Agents और LangGraph पर बना है, और isolated cloud sandboxes, curated toolsets, sub-agent orchestration, तथा developer workflow integration जैसे core components प्रदान करता है
  • मौजूदा agents को fork किए बिना composition approach से बनाया गया है, जिससे base framework upgrades और organization-specific customization दोनों साथ बनाए रखे जा सकते हैं
  • sandbox providers, models, tools, triggers, system prompts, middleware जैसे सभी प्रमुख components plug-in style में बदले जा सकते हैं
  • इन-हाउस coding agents अपनाने पर विचार कर रही teams के लिए यह production-validated patterns पर आधारित starting point MIT license के तहत उपलब्ध कराता है

प्रोडक्शन डिप्लॉयमेंट में मिले सामान्य पैटर्न

  • Stripe के Minions, Ramp के Inspect, और Coinbase के Cloudbot जैसे coding agents, स्वतंत्र रूप से विकसित होने के बावजूद मिलते-जुलते architectural decisions पर converge हुए
  • Isolated execution environment: हर task अपने dedicated cloud sandbox में चलता है, जहां कड़ी सीमाओं के भीतर पूर्ण permissions दी जाती हैं। इससे production systems पर गलती का असर isolate रहता है, और हर action पर approval prompt के बिना commands चलाए जा सकते हैं
  • Curated toolset: Stripe engineering team के अनुसार agent लगभग 500 tools तक पहुंचता है, लेकिन ये समय के साथ बस इकट्ठे नहीं हुए, बल्कि सावधानी से चुने और maintain किए गए हैं। tools की संख्या से अधिक curation महत्वपूर्ण है
  • Slack-first invocation: तीनों systems ने Slack को default interface के रूप में integrate किया, ताकि developers को किसी नए application में context switch किए बिना मौजूदा communication workflow में ही access मिल सके
  • शुरुआत में समृद्ध context: Linear issues, Slack threads, और GitHub PRs से पूरा context खींचकर task शुरू होने से पहले दिया जाता है, जिससे tools को call करके requirements खोजने का overhead कम होता है
  • Sub-agent orchestration: जटिल tasks को तोड़कर ऐसे specialized child agents को सौंपा जाता है जिनके पास isolated context और focused responsibilities होती हैं

Open SWE architecture

  • 1. Agent harness: Deep Agents आधारित composition

    • मौजूदा agent को fork करने या शुरुआत से बनाने के बजाय Deep Agents framework के ऊपर composition करने का तरीका अपनाया गया है। यह Ramp team द्वारा OpenCode के ऊपर Inspect बनाने वाले approach जैसा है
    • composition के दो फायदे:
      • Upgrade path: जब Deep Agents बेहतर होता है—जैसे बेहतर context management, efficient planning, optimized token usage—तो customization को फिर से बनाए बिना improvements अपनाई जा सकती हैं
      • Fork-free customization: organization-specific tools, prompts, और workflows को core agent logic बदलने के बजाय configuration के रूप में बनाए रखा जा सकता है
    • Deep Agents द्वारा दी गई infrastructure: write_todos के जरिए built-in planning, file-based context management, task tool से native sub-agent spawning, और deterministic orchestration के लिए middleware hooks
  • 2. Sandbox: isolated cloud environment

    • हर task अपने isolated cloud sandbox में चलता है, जो full shell access वाला remote Linux environment है
    • repository को clone करके agent को full permissions दी जाती हैं, और errors उसी environment के भीतर isolate रहते हैं
    • default supported sandbox providers: Modal, Daytona, Runloop, LangSmith. अपना sandbox backend भी implement किया जा सकता है
    • मुख्य व्यवहार:
      • हर conversation thread को persistent sandbox दिया जाता है, जिसे बाद के messages में reuse किया जाता है
      • sandbox inaccessible हो जाए तो उसे अपने-आप फिर से बनाया जाता है
      • कई tasks अपने-अपने sandbox में parallel execution करते हैं
  • 3. Tools: accumulation नहीं, curation

    • Open SWE एक focused toolset के साथ Deep Agents के built-in tools (read_file, write_file, edit_file, ls, glob, grep, write_todos, task) देता है
    • छोटा और curated toolset testing, maintenance, और reasoning के लिए अधिक अनुकूल है। organization के अतिरिक्त tools—जैसे internal API, custom deployment system, specialized test framework—स्पष्ट रूप से जोड़े जा सकते हैं
  • 4. Context engineering: AGENTS.md + source context

    • context दो sources से इकट्ठा किया जाता है:
      • AGENTS.md file: अगर repository root में मौजूद हो, तो इसे sandbox से पढ़कर system prompt में inject किया जाता है। इसमें conventions, testing requirements, architectural decisions, team-specific patterns आदि encode किए जा सकते हैं
      • Source context: पूरी Linear issue (title, description, comments) या Slack thread history को मिलाकर agent शुरू होने से पहले दिया जाता है, ताकि अतिरिक्त tool calls के बिना task-specific context मिल सके
    • यह dual-layer approach repository-wide knowledge और task-specific information के बीच संतुलन बनाती है
  • 5. Orchestration: sub-agents + middleware

    • दो mechanisms का संयोजन:
      • Sub-agents: task tool के जरिए child agents spawn किए जाते हैं। main agent स्वतंत्र subtasks को ऐसे isolated sub-agents को सौंपता है जिनके पास अपना middleware stack, todo list, और file operations होते हैं
      • Middleware: deterministic hooks जो agent loop के आसपास चलते हैं
        • check_message_queue_before_model: agent के चलते समय आए follow-up messages (Linear comments, Slack messages) अगले model call से पहले inject किए जाते हैं। इससे agent काम करते समय user अतिरिक्त input दे सकता है
        • open_pr_if_needed: अगर agent PR खोलना पूरा नहीं कर पाता, तो safety net के रूप में अपने-आप commit और PR create किया जाता है
        • ToolErrorMiddleware: tool errors को सलीके से पकड़ता और handle करता है
    • agentic (model-driven) और deterministic (middleware-driven) orchestration को अलग रखकर reliability और flexibility के बीच संतुलन बनाया जाता है
  • 6. Invocation: Slack, Linear, GitHub

    • Slack: thread में bot mention करें। repo:owner/name syntax से target repository बताई जाती है। agent thread में status updates और PR link के साथ जवाब देता है
    • Linear: issue पर @openswe comment करें। agent पूरी issue context पढ़ता है, 👀 से acknowledge करता है, और result को comment के रूप में पोस्ट करता है
    • GitHub: agent द्वारा बनाए गए PR पर comments में @openswe tag देकर review feedback प्रोसेस कराया जाता है, और बदलाव उसी branch पर push होते हैं
    • हर invocation एक deterministic thread ID बनाता है, जिससे उसी issue या thread के follow-up messages उसी running agent तक route होते हैं
  • 7. Validation: prompt-based + safety net

    • agent को commit से पहले linter, formatter, और tests चलाने का निर्देश दिया जाता है
    • open_pr_if_needed middleware backstop की तरह काम करता है: अगर agent PR खोले बिना समाप्त हो जाए, तो middleware अपने-आप यह काम कर देता है
    • deterministic CI checks, visual validation, और review gates को अतिरिक्त middleware के रूप में बढ़ाया जा सकता है

Deep Agents का उपयोग क्यों

  • Context management: लंबे समय तक चलने वाले coding tasks से बनने वाले बड़े intermediate data—file contents, command output, search results—को file-based memory में offload किया जाता है, ताकि सब कुछ conversation history में न रखना पड़े। बड़े codebase में context overflow रोकने के लिए यह प्रभावी है
  • Planning primitive: built-in write_todos tool जटिल tasks को तोड़ने, progress track करने, और नई जानकारी के आधार पर plans को adapt करने की संरचना देता है। यह लंबे समय तक चलने वाले multi-step tasks के लिए खास तौर पर उपयोगी है
  • Sub-agent isolation: जब main agent task tool से child agents spawn करता है, तो उन्हें isolated context मिलता है। अलग-अलग subtasks की conversation history एक-दूसरे को pollute नहीं करती, जिससे जटिल कामों में अधिक स्पष्ट reasoning संभव होती है
  • Middleware hooks: agent loop के खास points पर deterministic logic inject की जा सकती है। message injection और automatic PR creation जैसे ऐसे actions जो भरोसेमंद ढंग से चलने चाहिए इन्हीं से implement होते हैं
  • Upgrade path: Deep Agents एक स्वतंत्र library के रूप में सक्रिय रूप से विकसित हो रही है, इसलिए context compression, prompt caching, planning efficiency, और sub-agent orchestration में होने वाले सुधार customization को दोबारा बनाए बिना Open SWE में शामिल किए जा सकते हैं

Organization-specific customization

  • Open SWE को किसी finished product के रूप में नहीं, बल्कि customizable foundation के रूप में design किया गया है। सभी प्रमुख components plug-in style हैं:
    • Sandbox providers: Modal, Daytona, Runloop, LangSmith के बीच switch किया जा सकता है। internal infrastructure requirements के अनुसार अपना sandbox backend भी बनाया जा सकता है
    • Models: किसी भी LLM provider का उपयोग किया जा सकता है। default Claude Opus 4 है, और अलग-अलग subtasks के लिए अलग model सेट किए जा सकते हैं
    • Tools: internal API, deployment systems, test frameworks, और monitoring platforms के लिए tools जोड़े जा सकते हैं। अनावश्यक tools हटाए भी जा सकते हैं
    • Triggers: Slack, Linear, GitHub integration logic को modify किया जा सकता है। email, webhook, custom UI जैसी नई trigger surfaces भी जोड़ी जा सकती हैं
    • System prompts: default prompt और AGENTS.md reflection logic को customize किया जा सकता है। organization-specific guidelines, constraints, और conventions जोड़ी जा सकती हैं
    • Middleware: validation, approval gates, logging, और safety checks के लिए अपने middleware hooks जोड़े जा सकते हैं

आंतरिक implementations से तुलना

  • Stripe, Ramp, और Coinbase के internal systems तथा सार्वजनिक जानकारी के आधार पर तुलना करने पर, core patterns समान हैं
  • अंतर implementation details, internal integrations, और organization-specific tools में हैं, और framework को अलग environment में adapt करते समय ऐसे अंतर अपेक्षित हैं

शुरुआत कैसे करें

  • Open SWE MIT license के तहत GitHub पर उपलब्ध है : https://github.com/langchain-ai/open-swe
  • Installation Guide में GitHub App creation, LangSmith setup, Linear/Slack/GitHub triggers, और production deployment की जानकारी है
  • Customization Guide में sandbox, model, tools, triggers, system prompts, और middleware बदलने के तरीके दिए गए हैं
  • fork, customization, और internal deployment—सभी संभव हैं

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.