कोडिंग एजेंट

ऐसे एजेंट बनाएँ जो कोडबेस पर काम करें: फ़ाइलों को पढ़ें और संपादित करें, सैंडबॉक्स में कमांड और परीक्षण चलाएँ, बहु-चरणीय कार्य की योजना बनाएँ, स्वायत्त रूप से लक्ष्य की दिशा में पुनरावृत्ति करें, और समानांतर समीक्षकों का समन्वय करें — यह सब किसी भी मॉडल प्रदाता पर ADK-Rust के मूल रूप में।

यह एक एकाश्मीय फ्रेमवर्क के बजाय कुछ केंद्रित हिस्सों से तैयार किया गया है:

घटकआपको क्या मिलता हैपृष्ठ
adk-devtoolsकार्यक्षेत्र निर्देशिका तक सीमित आंतरिक-लूप उपकरण — read_file, write_file, edit_file, glob, grep, bashडेव उपकरण
CodingAgent (adk-agent में, सुविधा coding)एक-कॉल हार्नेस, जो उन उपकरणों + एक योजना write_todos उपकरण + एक न्यूनतम प्रॉम्प्ट को LlmAgent पर जोड़ता हैहार्नेस
CLI (adk-rust code / goal / ultracode)नेटिव कमांड: एक-बार के कार्य, स्वायत्त लक्ष्य मोड, और समानांतर अल्ट्रा-समीक्षाCLI
ग्राफ़ वर्कफ़्लो (adk-graph)समानांतर विशेषज्ञ एजेंटों में कार्य वितरित करें और संश्लेषण करें — "अल्ट्रा" पैटर्नवर्कफ़्लो
उदाहरणचलाने योग्य तीन उदाहरण क्रेटउदाहरण

ADK-Rust में नए हैं? पहले परिचय और त्वरित शुरुआत पढ़ें। यह अनुभाग एजेंट, टूल, सेशन और (वैकल्पिक रूप से) मेमोरी तथा ग्राफ़ पर आधारित है।

आप क्या बना सकते हैं

  • एक बार चलने वाला कोडिंग कार्य — "विफल हो रहे परीक्षण को पास कराएँ", "एक /health रूट जोड़ें"। एजेंट खोजबीन करता है, संपादन करता है, परीक्षण चलाता है और रिपोर्ट देता है।
  • स्वायत्त लक्ष्य मोड — एक लक्ष्य + सत्यापित की जा सकने वाली सफलता-शर्त दें (एक कमांड जिसे 0 के साथ समाप्त होना आवश्यक है); एजेंट योजना → कार्य → सत्यापन चक्र में चलता है और स्वयं सुधार करता है, जब तक कि यह सफल न हो जाए या बजट समाप्त न हो जाए। टिकाऊ और फिर से शुरू करने योग्य। (Codex/Hermes /goal शैली।)
  • अति-समीक्षा कार्यप्रवाह — कार्यान्वयन करें, फिर शुद्धता/किनारे के मामलों/शैली के लिए समानांतर समीक्षकों को भेजें, उनके निर्णयों का संश्लेषण करें और जब तक वे अनुमोदन न दें, तब तक संशोधन करें। (Claude Code ultracode/ultrareview शैली।)

इंस्टॉल करें

# The harness (pulls in the dev tools) + a model provider
adk-agent = { version = "2.1.0", features = ["coding"] }
adk-devtools = "2.1.0"
adk-model = { version = "2.1.0", features = ["gemini"] }
adk-runner = "2.1.0"
adk-session = "2.1.0"

डेव टूल सैंडबॉक्स-प्रथम हैं और इनमें भारी निर्भरताएँ नहीं हैं, इसलिए इनका आकार छोटा रहता है; समानांतर कार्यप्रवाहों के लिए ही adk-graph आवश्यक है।

60-सेकंड की त्वरित शुरुआत

use adk_agent::coding::CodingAgent;
use adk_devtools::Workspace;
use adk_runner::Runner;
use adk_session::{CreateRequest, InMemorySessionService, SessionService};
use adk_core::{Content, SessionId, UserId};
use std::sync::Arc;

# async fn run(model: std::sync::Arc<dyn adk_core::Llm>) -> anyhow::Result<()> {
// One call builds a coding agent over a confined workspace.
let coding = CodingAgent::builder()
    .model(model)
    .workspace(Workspace::new("./my-repo"))
    .build()?;

let sessions: Arc<dyn SessionService> = Arc::new(InMemorySessionService::new());
sessions.create(CreateRequest {
    app_name: "demo".into(), user_id: "u".into(),
    session_id: Some("s".into()), state: Default::default(),
}).await?;

let runner = Runner::builder()
    .app_name("demo")
    .agent(coding.agent())          // -> Arc<dyn Agent>
    .session_service(sessions)
    .build()?;

let mut events = runner
    .run(UserId::new("u")?, SessionId::new("s")?,
         Content::new("user").with_text("Add a function add(a,b) to add.py and run it."))
    .await?;
// stream `events`: FunctionCall / FunctionResponse / Text …
# Ok(()) }

टर्मिनल को प्राथमिकता देते हैं? adk-rust code "make the failing test pass" वही कार्य करता है — CLI देखें।

आगे कहाँ जाएँ

  1. डेव टूल — टूलसेट और सैंडबॉक्स किया गया Workspace
  2. हार्नेसCodingAgent, योजना चक्र, अनुमति मोड।
  3. CLIcode, goal (टिकाऊ/फिर से शुरू करने योग्य), ultracode
  4. कार्यप्रवाहadk-graph पर समानांतर अति-समीक्षा।
  5. उदाहरण — चलाए जा सकने वाले तीन उदाहरण क्रेट।

docs/design/coding-agent.md में पूरा डिज़ाइन तर्क भी देखें।

कोडिंग एजेंट - ADK-Rust दस्तावेज़ीकरण | ADK-Rust