- AI coding assistant की मुख्य संरचना कोई जटिल जादू नहीं, बल्कि लगभग 200 लाइनों के सरल Python code से बनी होती है
- सिस्टम LLM के साथ conversation loop पर आधारित होता है, जहाँ LLM tool call का अनुरोध करता है और local code उसे चलाकर परिणाम वापस भेजता है
- ज़रूरी बुनियादी tools सिर्फ तीन हैं: फ़ाइल पढ़ना(read), फ़ाइल सूची(list), फ़ाइल संपादित करना(edit); इनके जरिए project को explore करना और code को modify करना संभव है
- LLM tools के signature और description(docstring) के आधार पर यह खुद तय करता है कि कौन-सा tool कब call करना है
- यह संरचना Claude Code जैसे commercial product के core के समान है, और सरल संरचना से भी शक्तिशाली coding agent लागू किया जा सकता है
coding agent की बुनियादी अवधारणा
- coding agent, LLM के साथ conversation-आधारित सिस्टम होता है, जो user के निर्देश लेकर tool call के जरिए वास्तविक file operations करता है
- user “hello world फ़ंक्शन वाला नया फ़ाइल बनाओ” जैसे अनुरोध दर्ज करता है
- LLM आवश्यक tool call को JSON फ़ॉर्मैट में response करता है
- प्रोग्राम उस tool को execute करता है और परिणाम फिर LLM को भेजता है
- LLM सीधे file system तक पहुँच नहीं करता, वह सिर्फ अनुरोध करता है, और वास्तविक काम local code संभालता है
आवश्यक तीन tools
- read_file: निर्दिष्ट फ़ाइल की पूरी सामग्री पढ़कर लौटाता है
- list_files: directory के अंदर files और folders की सूची लौटाता है
- edit_file: मौजूदा string को नई string से बदलता है, या
old_str खाली होने पर नया फ़ाइल बनाता है
- बदलने वाली string न मिले तो “old_str not found” लौटाता है
- सिर्फ इन तीन tools से ही फ़ाइल बनाना, संशोधित करना और खोजबीन संभव है
tool registration और LLM integration
- सभी tools को TOOL_REGISTRY में नाम और function के साथ register किया जाता है, ताकि LLM उन्हें call कर सके
- हर tool का docstring और signature निकालकर LLM को दिया जाता है
- system prompt, LLM को “उपलब्ध tools की सूची” और “call format” साफ़ तौर पर बताता है
- tool call को
'tool: TOOL_NAME({JSON_ARGS})' फ़ॉर्मैट तक सीमित रखा जाता है
- tool execution का परिणाम
tool_result(...) रूप में LLM को भेजा जाता है
tool call parsing और LLM response handling
- LLM के response में
tool: से शुरू होने वाली पंक्तियाँ खोजकर tool का नाम और arguments(JSON) निकाले जाते हैं
- हर tool चलाने के बाद परिणाम को JSON में serialize करके conversation history में जोड़ा जाता है
- execute_llm_call function, LLM API को call करता है और response text लौटाता है
- run_coding_agent_loop user input लेकर LLM के साथ conversation loop बनाए रखता है
- अंदरूनी loop तब तक दोहरता है जब तक LLM आगे कोई tool call नहीं माँगता
execution examples और विस्तार की संभावना
- उदाहरण conversation:
- “hello.py फ़ाइल बनाओ और hello world लागू करो” →
edit_file call से नया फ़ाइल बनाया जाता है
- “hello.py में दो संख्याओं को गुणा करने वाला फ़ंक्शन जोड़ो” →
read_file के बाद edit_file call
- लगभग 200 लाइनों के code में पूरा coding assistant लागू किया जा सकता है
- commercial products इसमें आगे error handling, streaming responses, context management, अतिरिक्त tools, approval process जैसी चीज़ें जोड़ते हैं
- मुख्य संरचना वही रहती है: LLM तय करता है और code execute करता है — ऐसा सरल loop
अभ्यास और विस्तार
- पूरा source लगभग 200 लाइनों का है, और दूसरे LLM provider को बदलना या tools जोड़ना जैसे विस्तार संभव हैं
- सरल संरचना के साथ भी शक्तिशाली AI coding agent prototype को सीधे लागू किया जा सकता है
अभी कोई टिप्पणी नहीं है.