Global Context APC-এর বাইরে থাকবে
APC হলো পোর্টেবল কনটেক্সট লেয়ার। APX হলো লোকাল রানটাইম লেয়ার।
এগুলো সঠিকভাবে বজায় রাখতে একটি নিয়ম মেনে চলুন। যদি কোনো কিছু নতুন ক্লোন করার পরেও টিকে থাকতে হয়, তবে সেটি APC-তে রাখুন। যদি এটি কোনো নির্দিষ্ট ইউজার, মেশিন বা প্রসেসের ওপর নির্ভর করে, তবে সেটি APC-এর বাইরে রাখুন।
প্রজেক্ট বড় হওয়ার সাথে সাথে প্রলোভনও বাড়ে। আপনি হয়তো আরও একটি সেটিংস বা একটি লোকাল পাথ যোগ করতে চাইবেন। আপনি যদি কঠোর না হন, তবে আপনার রিপোজিটরি মেশিন ডেটার একটি স্তূপে পরিণত হবে। এটি রিপোজিটরিকে ভঙ্গুর করে তোলে।
APC প্রজেক্টের নিজস্ব অর্থ বহন করে। এটি একটি রিপোজিটরি বহন করা শেয়ারড কন্ট্রাক্ট (shared contract)।
ভালো APC কন্টেন্টের অন্তর্ভুক্ত হলো:
- প্রজেক্টের পরিচয়
- এজেন্টের ভূমিকা
- পুনরায় ব্যবহারযোগ্য দক্ষতা
- কিউরেটেড প্রজেক্ট মেমরি
- প্রজেক্ট-লেভেল MCP হিন্টস
- AGENTS.md-এ রিপো-ব্যাপী নির্দেশাবলী
একজন টিমমেট বা নতুন কোনো মেশিন চেকআউটের পরপরই এই তথ্যগুলো পড়া উচিত।
গ্লোবাল কনটেক্সট আলাদা। এটি একজন ইউজার বা একটি ওয়ার্কস্টেশনের অন্তর্ভুক্ত।
গ্লোবাল কনটেক্সটের উদাহরণ:
- API কী
- এডিটর প্রেফারেন্স
- লোকাল এলিয়াস
- মেশিন-নির্দিষ্ট টুল পাথ
- প্রাইভেট রানটাইম মেমরি
- ক্যাশ
- সেশন ট্রান্সক্রিপ্ট
- মেসেজ লগ
APX এই স্টেটটিকে লোকাল রাখে। এটি ~/.apx/ এর নিচে রানটাইম স্টেট সংরক্ষণ করে। এটি প্রজেক্টটিকে শেয়ারযোগ্য রাখে।
এই লেয়ারগুলো মিশ্রিত করলে তিনটি সমস্যা তৈরি হয়:
- পোর্টেবিলিটি নষ্ট হয়। যে রিপোজিটরি লোকাল কনফিগারেশনের ওপর নির্ভর করে, তা বিশ্বাস করা কঠিন।
- রিভিউতে অপ্রাসঙ্গিকতা বাড়ে। পুল রিকোয়েস্টগুলোতে প্রজেক্টের সিদ্ধান্ত দেখানো উচিত, ওয়ার্কস্টেশনের অপ্রয়োজনীয় তথ্য নয়।
- সিক্রেট লিক হতে পারে। লোকাল ডিটেইলস সংরক্ষণ করলে ভুল ফাইল কমিট করার সম্ভাবনা বেড়ে যায়।
কোনো সেটিংস যোগ করার আগে নিজেকে এটি জিজ্ঞাসা করুন: অন্য কোনো কন্ট্রিবিউটর কি ক্লোন করার পরপরই এটি প্রয়োজন বোধ করবেন?
যদি হ্যাঁ হয়, তবে APC ব্যবহার করুন।
- প্রতিটি ক্লোনের জন্য একটি রিভিউয়ার এজেন্ট? APC।
- একটি ব্যক্তিগত API কী? APC নয়।
- পারমিশন সংক্রান্ত প্রজেক্টের সিদ্ধান্ত? APC।
- একটি লোকাল ব্রাউজার পাথ? APC নয়।
- একটি শেয়ারড MCP হিন্ট? APC।
- একটি রান ক্যাশ? APC নয়।
এই নিয়মটি অটোমেশনকে টেকসই করে। APC আপনাকে পোর্টেবল অর্থ প্রদান করে। APX আপনাকে লোকাল স্টেট প্রদান করে।
এই সীমারেখাটি স্পষ্ট রাখুন। এটি আপনার স্ট্যাককে ডিবাগ করা, শেয়ার করা এবং বিভিন্ন টুলের মধ্যে স্থানান্তর করা সহজ করে তুলবে।
যে কনটেক্সট রিপোজিটরির সাথে যাবে তার জন্য APC ব্যবহার করুন। যদি এটি ব্যক্তিগত বা সাময়িক হয়, তবে এটি লোকাল রাখুন।
Source: https://dev.to/agentprojectcontext/global-context-belongs-outside-apc-4fg8
Optional learning community: https://t.me/GyaanSetuAi
