Tenet - इंटरव्यू से DAG execution, 3-स्तरीय critic और steer message तक शामिल लंबी अवधि का AI coding harness
(github.com/JeiKeiLim)नमस्ते।
मैं Tenet बना रहा हूँ, जो लंबे समय तक स्वायत्त रूप से चल सकने वाला एक AI coding agent harness है, और उसे साझा करना चाहता हूँ।
AI coding agent का उपयोग करने पर छोटे काम काफ़ी अच्छी तरह हो जाते हैं, लेकिन जैसे ही काम कई घंटों से ज़्यादा चलने वाली implementation तक पहुँचता है, अक्सर जल्दी असहजता होने लगती थी।
Spec धुंधला हो जाता है, tests चल तो रहे होते हैं लेकिन यह समझ नहीं आता कि वे पर्याप्त हैं या नहीं, बीच में दिशा बदलना भी मुश्किल होता है, और session टूट जाए तो context भी साथ में खो जाता है।
Tenet उन समस्याओं को कम करने के लिए बनाया गया harness है।
यह सिर्फ़ “लंबे समय तक चलने वाला agent” नहीं है, बल्कि ऐसा structure है जो लंबे समय तक चलने पर भी दिशा और quality बनाए रखे।
यह मोटे तौर पर इस flow में काम करता है।
-
Interview
- पहले requirements को interview के ज़रिये ठोस बनाया जाता है।
- ज़रूरत होने पर technical research भी साथ में की जाती है।
-
Visuals / Architecture
- architecture diagram या UI mockup बनाए जाते हैं।
- अगर UI का काम हो, तो कई variations बनाए जाते हैं ताकि पहले यह चुना जा सके कि किस दिशा में जाना है।
-
Spec / Harness / Scenarios
- implementation spec, test/validation harness, और scenarios को दस्तावेज़ के रूप में छोड़ा जाता है।
- सिर्फ़ “क्या बनाना है” ही नहीं, बल्कि “किस आधार पर इसे pass माना जाएगा” यह भी तय किया जाता है।
-
DAG decomposition
- काम को dependency graph में विभाजित किया जाता है।
- स्वतंत्र jobs को parallel में चलाया जा सकता है।
-
Autonomous execution loop
- हर job को execute किया जाता है, और उसके बाद evaluation जोड़ा जाता है।
- इस loop को लंबे समय तक चलाने लायक डिज़ाइन किया गया है।
मूल्यांकन का तरीका
हर job को खत्म मानकर तुरंत अगले पर नहीं बढ़ा जाता, बल्कि उसे 3 critic पार करने होते हैं।
- code critic: क्या implementation spec की मंशा से मेल खाती है
- test critic: क्या अभी मौजूद tests वास्तव में इस job को validate करने के लिए पर्याप्त हैं
- Playwright e2e eval: क्या यह वास्तविक user के नज़रिए से काम करता है
यहाँ जिस बात को खास तौर पर महत्वपूर्ण माना गया, वह यह है कि ये critic जहाँ तक संभव हो, लेखक के context से अलग fresh context में देखें।
मैं यह कम करना चाहता था कि code लिखने वाला agent अपने ही नतीजे को बहुत आसानी से pass कर दे।
README में भी लिखा है, लेकिन खासकर test के मामले में मैंने “test मौजूद है या नहीं” से ज़्यादा क्या test ठीक तरह से validate कर रहा है को महत्वपूर्ण माना।
बीच में steer
लंबे समय तक चलने पर कभी-कभी इंसान बीच में दिशा थोड़ा बदलना चाहता है।
Tenet में उस समय execution को शुरुआत से फिर समझाने के बजाय,
बस steer message डाल दिया जाए तो उसे सहेज लिया जाता है और बाद के संबंधित jobs में लागू किया जाता है।
यानी,
- अभी तुरंत पूरे loop को रोकने की ज़रूरत नहीं होती
- और संबंधित चरण में उसे फिर pickup करने का तरीका अपनाया गया है।
दस्तावेज़ और काम के निशान छोड़ने वाली दिशा को महत्वपूर्ण माना गया
इसे बनाते समय मेरे लिए खास तौर पर महत्वपूर्ण बात यह थी कि
सिर्फ़ result ही नहीं, बल्कि decision-making और काम के निशान भी साथ में छोड़े जाएँ।
.tenet/ के नीचे ये चीज़ें बची रहती हैं।
- interview
- spec
- harness
- visuals
- knowledge
- journal
- steer
- status
- SQLite state
इसलिए यह एक बार चलकर खत्म हो जाने वाला session-type agent कम,
और ऐसा structure ज़्यादा है जो आगे के कामों में भी दोबारा संदर्भ के लिए development record जमा करता रहता है।
अहसास के स्तर पर देखें तो,
“freelancer या outsourcing को काम सौंपते समय जिस documentation/validation/handoff structure की ज़रूरत होती है”
उसे AI agent की तरफ़ लाने की कोशिश के ज़्यादा क़रीब है।
मौजूदा स्थिति
यह अभी शुरुआती चरण में है।
फिर भी बुनियादी flow पहले से implement हो चुका है, और अभी इसमें निम्न चीज़ें शामिल हैं।
- Claude Code / OpenCode / Codex adapters
- MCP server + CLI
- DAG-आधारित job orchestration
- SQLite + WAL-आधारित persistent state
- orphan job recovery
- 3-critic evaluation pipeline
- steer message handling
.tenet/document structure
इसे वास्तव में इस्तेमाल करके मैंने काफ़ी लंबे समय तक चलाकर देखा है,
और *6 घंटे से ज़्यादा समय तक बिना मानवीय हस्तक्षेप के execution के बाद तुरंत उपयोग योग्य परिणाम निकलते हुए देखा है।
मैं रोज़ जिन implementations का उपयोग करता हूँ, उनमें से एक भी tenet का उपयोग करके आया हुआ परिणाम है।
यह शुरुआती चरण का project है, इसलिए इसमें अभी काफ़ी कच्चे हिस्से हैं।
किसी भी तरह का feedback आप आराम से दें, इसके लिए आभारी रहूँगा।
अभी कोई टिप्पणी नहीं है.