APC ক্লোন-সেফ (Clone-Safe) থাকা উচিত, APX মেশিন-লোকাল (Machine-Local) থাকা উচিত
একটি প্রশ্ন করার মাধ্যমে সিদ্ধান্ত নিন যে ডেটা কোথায় থাকা উচিত।
এই ডেটা কি অন্য একটি মেশিনে নতুন করে ক্লোন করার পরেও টিকে থাকবে?
যদি উত্তর 'হ্যাঁ' হয়, তবে এটি APC-তে রাখুন। যদি 'না' হয়, তবে এটি APX-তে রাখুন।
এই নিয়মটি আপনার স্ট্যাককে (stack) স্বচ্ছ রাখে। APC পোর্টেবল (portable) থাকে। APX সেই মেশিনে কার্যকর থাকে যেখানে কাজটি চলছে। যখন এই স্তরগুলো অস্পষ্ট হয়ে যায়, তখন প্রজেক্ট শেয়ার করা এবং অডিট করা কঠিন হয়ে পড়ে।
APC হলো প্রজেক্ট কন্ট্রাক্ট (project contract)। APX হলো রানটাইম (runtime)।
APC ডেটা ক্লোন-সেফ। অন্য কোনো ডেভেলপার বা মেশিন একটি git checkout-এর পরপরই এটি পড়তে সক্ষম হওয়া উচিত। এটি অবশ্যই git-এ রিভিউযোগ্য হতে হবে।
ভালো APC উদাহরণ: • AGENTS.md (রেপো কন্ট্রাক্টের জন্য) • .apc/project.json (প্রজেক্ট আইডেন্টিটির জন্য) • .apc/agents/ (এজেন্ট রোলের জন্য) • .apc/skills/ (পুনরায় ব্যবহারযোগ্য স্কিলসের জন্য) • .apc/mcps.json (শেয়ার্ড হিন্টসের জন্য)
APX ডেটা মেশিন-লোকাল। এই ডেটা মেশিনে থাকে অথবা সেখানেই পুনরায় তৈরি হয়। এটি হলো এক্সিকিউশন স্টেট (execution state), পোর্টেবল কনটেক্সট (portable context) নয়।
ভালো APX উদাহরণ: • ~/.apx/config.json-এ রানটাইম কনফিগ • লোকাল পারমিশন মোড • সেশন এবং মেসেজ লগ • লোকাল ক্যাশ (Local caches) • মেশিন-ভিত্তিক সিক্রেটস (Per-machine secrets)
একটি রিপোজিটরি সবার ওপর একজনের লোকাল সেটআপ চাপিয়ে দেওয়া উচিত নয়।
যখন APC ক্লোন-সেফ থাকে, তখন আপনি কোনো লুকানো ফাইল ছাড়াই প্রজেক্টের গঠন রিভিউ করতে পারেন। সাইড ইফেক্ট (side effects) খোঁজার বদলে আপনি সরাসরি ইন্সট্রাকশনগুলো ডিফ (diff) করতে পারেন।
যখন APX মেশিন-লোকাল থাকে, তখন প্রজেক্ট পরিবর্তন না করেই রানটাইম নিজেকে মানিয়ে নিতে পারে। একটি মেশিন হয়তো ভিন্ন পারমিশন মোড ব্যবহার করছে, আবার অন্যটি হয়তো দীর্ঘতর হিস্ট্রি সংরক্ষণ করছে। প্রজেক্ট কন্ট্রাক্ট একই থাকে।
একটি নতুন ফাইল যোগ করার আগে, এই তিনটি প্রশ্ন নিজেকে করুন:
১. প্রতিটি সামঞ্জস্যপূর্ণ টুলের কি এটি পড়া প্রয়োজন? এটি APC-তে রাখুন। ২. এটি কি মেশিনের পরিবর্তে প্রজেক্টের বর্ণনা দেয়? এটি APC-তে রাখুন। ৩. এটি কি লোকাল ক্রেডেনশিয়াল (credentials) বা সাম্প্রতিক এক্সিকিউশনের ওপর নির্ভরশীল? এটি APX-তে রাখুন।
উদাহরণ: • একটি নতুন এজেন্ট রোল? APC। • একটি টেলিগ্রাম বট টোকেন? APX। • প্রজেক্ট রিভিউ নিয়ম সম্পর্কে একটি নোট? APC। • শেষ কথোপকথনের একটি লগ? APX।
APC বহন করে যা ক্লোন করার পরেও টিকে থাকে। APX বহন করে যা শুধুমাত্র বর্তমান মেশিনে গুরুত্বপূর্ণ। এই সহজ নিয়মটি সিস্টেমকে সুশৃঙ্খল রাখে।
উৎস: https://dev.to/agentprojectcontext/apc-should-stay-clone-safe-apx-should-stay-machine-local-59n9
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
