लेख

File Reservation सिस्टम: एक ही Repo में कई AI Agents के बीच Conflicts कैसे रोकें

एक डायरेक्टरी में अनियंत्रित एजेंट एक-दूसरे का कोड मिटा देते हैं। अलग ब्रांच बनाना सहयोग रोकता है। सही समाधान सर्वर द्वारा फ़ाइल पाथ लीज प्रणाली है।

बिना नियमों के एक ही रिपॉजिटरी में कई एजेंट चलाने से काम नष्ट हो जाता है। ब्रांच में अलगाव नए प्रोजेक्ट्स के लिए सही नहीं है।

Two agents reach for the same file. One reservation is granted; the other is refused at the board.the boardclaude-1codex-2src/types/order.tsrefused
प्रति पाथ एक होल्डर। टकराव वाला बदलाव डिस्क पर पहुँचने से पहले बोर्ड द्वारा रोक दिया जाता है।

ब्रांच अलगाव की असली लागत

अलग ब्रांच में एजेंट एक-दूसरे द्वारा बनाए गए नए टाइप और फ़ंक्शन नहीं देख पाते।

साझा प्रोजेक्ट फ़ाइलों में मर्ज टकराव होते हैं।

लाइव प्रीव्यू अधूरा रहता है।

मर्ज करने में इंसानी समय और टोकन नष्ट होते हैं।

इसलिए सभी एजेंट एक ही डायरेक्टरी साझा करते हैं।

बिना डेडलॉक वाली अस्थायी लीज

रिज़र्वेशन में पाथ सूची, एजेंट आईडी, मोड और समय सीमा होती है।

एक्सक्लूसिव मोड (लिखने के लिए) और शेयर्ड मोड (पढ़ने के लिए)।

export interface ClaimDenial {
  path: string;
  holder: string;
  holderTask: string;
  expiresInS: number;
  hint: string;
}

इनकार होने पर तुरंत वर्तमान होल्डर की जानकारी मिलती है ताकि एजेंट दूसरा काम कर सके।

वास्तविक बदलाव पर लीज अपने आप बढ़ती है और प्रोसेस बंद होने पर तुरंत छूट जाती है।

मॉडल का सहयोग अनुकूलन है; सर्वर का नियंत्रण वास्तविक सुरक्षा है।

सर्वर द्वारा फ़ाइल सिस्टम की निगरानी

फ़ाइल सिस्टम वॉचर हर बदलाव की जाँच करता है और अनधिकृत बदलाव रोकता है।

classifyWrite(rawPath: string, hintedAgentId?: string): WriteClassification

उल्लंघन होने पर स्क्रीन पर दिखने से पहले स्नैपशॉट लिया जाता है।

गलती करने वाले एजेंट को रोका जाता है और असली होल्डर को सूचित किया जाता है।

स्पष्ट योगदान ट्रैकिंग

प्रत्येक Git कमिट उस विशिष्ट एजेंट से जुड़ता है जिसने बदलाव किया था।

विस्तृत आर्किटेक्चर एक ही रेपो में कई AI एजेंट में और रिमोट टर्मिनल प्रबंधन रिमोट टर्मिनल की निगरानी में समझाया गया है।

सीधे जवाब

क्या कई AI एजेंट एक ही रिपॉजिटरी में एक साथ काम कर सकते हैं?

हाँ, लिखने से पहले पाथ रिज़र्व करके टकराव को रोका जाता है।

हर एजेंट के लिए अलग worktree क्यों नहीं उपयोग करते?

क्योंकि इससे एजेंट एक-दूसरे का नया कोड नहीं देख पाते और फ़ाइलों में भारी टकराव होता है।

क्या नियम सर्वर द्वारा लागू है या केवल प्रॉम्प्ट निर्देश?

सर्वर द्वारा फ़ाइल सिस्टम स्तर पर अनिवार्य रूप से लागू है।