Agentic Engineering Patterns
(simonwillison.net)- Claude Code और Codex जैसे coding agents के युग में development के तरीके को व्यवस्थित करने वाली गाइड, जो agents के साथ सहयोग के लिए नए engineering patterns प्रस्तुत करती है
- ऐसे माहौल में जहाँ code लिखने की लागत तेज़ी से कम हो गई है, development habits और workflow को कैसे बदलना चाहिए इसे विभिन्न patterns के माध्यम से समझाया गया है
- principles, testing, code understanding, prompt design जैसे agent-centric development के मुख्य क्षेत्रों को संरचित रूप में व्यवस्थित किया गया है
- हर pattern में वास्तविक code examples, काम करने के तरीके, और prompt उपयोग के उदाहरण शामिल हैं, यानी यह व्यावहारिक pattern documentation के रूप में तैयार किया गया है
- coding agent के युग में developers के लिए agent-based coding environment को व्यवस्थित रूप से डिज़ाइन करने और quality बनाए रखने हेतु उपयोगी संदर्भ सामग्री
Agentic Engineering Patterns अवलोकन
- coding agents (Claude Code, OpenAI Codex आदि) के साथ development करते समय प्रभावी engineering तरीकों को व्यवस्थित करने वाली गाइड
- Writing about Agentic Engineering Patterns परिचय लेख देखें
- पारंपरिक “Design Patterns” फ़ॉर्मेट की तरह कई patterns (chapters) को लगातार जोड़े जाने वाली संरचना वाला दस्तावेज़
- ऐसे वातावरण में जहाँ code लिखने की लागत बहुत कम हो गई है, developers के workflow और decision-making style में बदलाव को केंद्रीय विषय बनाया गया है
- यह blog post नहीं बल्कि अपडेट किया जा सकने वाला guide-format content है, जिसे आगे भी लगातार विस्तार दिया जाएगा
1. Principles
-
Writing code is cheap now
- AI coding agents के आने से शुरुआती code लिखने की लागत लगभग नगण्य स्तर तक घट गई है
- पहले code लिखना महंगा था, इसलिए development design और planning-केंद्रित होता था, लेकिन अब ideas को तुरंत code में परखने वाला approach संभव है
- code generation की लागत कम हुई है, लेकिन अच्छा code (testing, maintainability आदि) अब भी लागत मांगता है
-
Hoard things you know how to do
- developer की महत्वपूर्ण संपत्ति है “क्या संभव है, इस ज्ञान का संचय”
- विभिन्न problem-solving cases और छोटे code experiments को सहेजकर reusable रूप में जमा करने की आदत पर ज़ोर
- इस तरह जमा किए गए code और examples को coding agents को नई functionality बनाने का निर्देश देते समय शक्तिशाली input material के रूप में उपयोग किया जा सकता है
-
Anti-patterns: things to avoid
- agent द्वारा बनाए गए code को भी review के बिना share करना या PR submit करना बचने योग्य anti-pattern है
- agent द्वारा लिखे गए PR description को भी इंसान को खुद verify और edit करना चाहिए
- code reviewer का समय बर्बाद न हो, इसके लिए tests, verification process, और implementation choices के कारण भी साथ देने चाहिए
2. Testing and QA
-
Red/green TDD
- test-first development (TDD) coding agents के साथ उपयोग करने पर विशेष रूप से प्रभावी development pattern है
- test पहले लिखने पर agent tests को satisfy करने वाली दिशा में code generate कर सकता है
- बहुत कम prompts के साथ भी सटीक और भरोसेमंद code generation में मदद मिलती है
-
First run the tests
- coding agents के साथ काम करते समय automated tests विकल्प नहीं बल्कि आवश्यक तत्व हैं
- ऐसे वातावरण में जहाँ tests लिखने की लागत कम हो गई है, agent tests को तेज़ी से generate और modify कर सकता है
- जब तक code वास्तव में run न हो जाए, उसके सही काम करने की गारंटी नहीं दी जा सकती, इसलिए tests महत्वपूर्ण हैं
3. Understanding code
-
Linear walkthroughs
- agent द्वारा बनाए गए code या project को शुरू से अंत तक क्रम से पढ़कर उसकी संरचना समझने का pattern
- छोटे project में भी code flow का अनुसरण करते हुए नई technologies और structure सीखे जा सकते हैं
- AI code generation सीखने की गति धीमी कर देगा, इस चिंता के जवाब में code exploration स्वयं सीखने का अवसर बन सकता है
-
Interactive explanations
- code या system को समझते समय agent से बातचीत करते हुए explanation माँगने का तरीका
- सवालों को दोहराते हुए code के काम करने के सिद्धांत और structure को धीरे-धीरे समझा जा सकता है
- code understanding की प्रक्रिया को interactive learning style तक विस्तारित करने वाला pattern
4. Annotated prompts
-
GIF optimization tool using WebAssembly and Gifsicle
- WebAssembly और Gifsicle-आधारित GIF optimization tool बनाने का prompt example शामिल
- HTML, JavaScript, CSS सहित single-page tool implementation का तरीका प्रस्तुत
- वास्तविक prompts और code examples के माध्यम से coding agents के उपयोग का तरीका समझाया गया है
5. Appendix
-
Prompts I use
- वास्तव में उपयोग किए जा रहे coding agent prompt examples का संग्रह
- विभिन्न कार्यों में उपयोग होने वाले व्यावहारिक prompt patterns को व्यवस्थित किया गया है
- agent के साथ सहयोग करते समय इस्तेमाल किए जा सकने वाले उपयोगी templates प्रदान किए गए हैं
1 टिप्पणियां
Hacker News की राय
लगता है हम फिर वही काम दोहराने वाले हैं
सरल और तर्कसंगत अवधारणाएँ — जैसे "पहले tests लिखो", "छोटे और composable modules बनाओ" — को किसी जटिल नाम में पैक करके, उससे फिर एक consultant industry खड़ी कर दी जाएगी
बस इस बार लक्ष्य है "बोलने वाली मशीनें"। जैसे बस उनसे बोलकर काम करवा लो
मैं Simon से पूछना चाहता हूँ — "code सस्ता हो जाने वाली दुनिया में code review कैसे किया जाए?"
team members structure समझे बिना "चल रहा है तो ठीक है" वाले अंदाज़ में काम कर रहे हैं। reviews लगातार बड़े होते जा रहे हैं, और bottleneck मैं बन रहा हूँ। मैंने AI reviewer को delegate की तरह इस्तेमाल करने का भी सोचा, लेकिन मुझे यह पसंद नहीं कि उसमें मानवीय संवेदना गायब हो जाए
मैं AI का इस्तेमाल मुख्यतः boilerplate code या documentation से जुड़ी समस्याएँ सुलझाने के लिए करता हूँ
agentic तरह के काम भी किए हैं, लेकिन output अभी भी भरोसेमंद नहीं लगता। फिर भी कुछ लोग कहते हैं कि "अब वे लगभग code लिखते ही नहीं"। यह अंतर दिलचस्प है
मैं हाल में agentic coding loop पर प्रयोग कर रहा हूँ
उदाहरण के लिए, fesh project में लक्ष्य था "Linux binaries को और छोटा compress करना"। यह स्पष्ट tests वाला problem था, इसलिए AI loop के लिए उपयुक्त था
सीखी गई बातें ये हैं:
rejections.mdज़्यादा मूल्यवान था। "इस approach को क्यों छोड़ा गया" यह दर्ज रहना चाहिए, ताकि AI वही गलती बार-बार न दोहराएअच्छा होता अगर test section में LLM द्वारा बनाए गए 'self-fulfilling tests' की समस्या भी शामिल होती
कई बार tests असल में कुछ verify ही नहीं करते, या फिर hardcoded values की वजह से pass हो जाते हैं। इंसानों को AI को सख़्त testing habits की ओर धकेलना होगा
LLM की हर नई पीढ़ी आने पर लगता है कि पहले के सबक पूरी तरह अमान्य हो जाते हैं
LangChain जैसी जटिल संरचनाएँ, जो पुराने models की सीमाओं को bypass करने के लिए बनाई गई थीं, GPT-3.5 के बाद अनावश्यक हो गईं। संभव है कि जल्द ही एक single agent भी सब कुछ संभालने के लिए काफ़ी हो
संबंधित लेख देखें
agent engineering की चर्चा में एक बात अक्सर छूट जाती है
ज़्यादातर सीखों को सार्वभौमिक सत्य की तरह बताया जाता है, लेकिन वास्तव में वे team size, codebase maturity, testing level, और risk tolerance के अनुसार बदलती हैं। महत्वपूर्ण बात यह स्पष्ट करना है कि "यह pattern कब काम करता है"
आजकल "agent team frameworks" हर दिन दर्जनों की संख्या में सामने आ रहे हैं
यह शुरुआती software engineering की तरह अव्यवस्थित प्रयोग का दौर है। लेकिन अंततः कुछ patterns standard बन जाएँगे।
हमारी team के लिए human team जैसी approach कारगर रही — पहले product spec लिखो, फिर AI से उसे refine कराओ, और फिर उसी के आधार पर role-separated agent flow को सौंप दो
आज मैंने undergraduate class में CPU·GPU architecture के evolution पर lecture दिया
पहले Moore’s Law की वजह से hardware लगभग सब कुछ संभाल लेता था, लेकिन अब parallelism ही कुंजी है।
Simon का कहा हुआ "code सस्ता है" वाला विचार भी इसी तरह का paradigm shift है।
जैसे parallel hardware के युग में efficient code पूरी तरह बदल गया, वैसे ही AI के युग में development process खुद बदल जाएगा। जो लोग इसे पहले समझेंगे, उन्हें 10~100x का लाभ मिलेगा
हमारी team में 'बीच-बीच में human validation डालने वाला loop' सबसे व्यावहारिक रहा
पूरी तरह autonomous agents कई बार tests तो pass कर देते हैं, लेकिन implicit invariants तोड़ देते हैं।
इसलिए irreversible decisions से ठीक पहले इंसान को intervene कराया जाता है।
लेकिन "क्या irreversible है" यह AI को समझाना अपने आप में एक अलग चुनौती है।
CLAUDE.md जैसे documents के अलावा हम implicit codebase rules को पहुँचाने का कोई व्यवस्थित तरीका ढूँढ रहे हैं