প্রকল্প সম্পর্কে

Adrastea হলো একটি MIT-লাইসেন্সপ্রাপ্ত Python প্রজেক্ট (3.10+), যা স্বায়ত্তশাসিত টাস্ক অর্কেস্ট্রেশনের জন্য একটি "symbiotic dual-engine" আর্কিটেকচার প্রস্তাব করে। এর মূল ধারণা হলো কাজটিকে একটি প্রেডিক্টেবল এক্সিকিউশন লেয়ার এবং একটি রিজনিং লেয়ারের মধ্যে বিভক্ত করা, যেখানে রিজনিং লেয়ারটি কেবল তখনই হস্তক্ষেপ করে যখন কোনো সমস্যা দেখা দেয়। **System Alpha — ডিটারমিনিস্টিক এক্সিকিউশন ইঞ্জিন** Alpha-কে হোস্ট প্রসেস হিসেবে বর্ণনা করা হয়েছে যা প্রথমে শুরু হয়। এটি লাইফসাইকেল এবং বুটস্ট্র্যাপ পরিচালনা করে, তারপর Beta-কে স্পন করার আগে তার পরিবেশ যাচাই এবং স্থিতিশীল করে। এর দায়িত্বগুলোর মধ্যে রয়েছে একটি টাস্ক শিডিউলার যা লোকাল স্ক্রিপ্ট, বাইনারি এবং টাস্ক ডেফিনিশন প্রেরণ করে, এবং একটি লোকাল প্রোগ্রাম রানার যা স্ট্যান্ডার্ড I/O, এরর লগিং এবং প্রসেস লাইফটাইম পরিচালনা করে, যেখানে রিপ্রোডিউসিবল এক্সিকিউশনের ওপর গুরুত্ব দেওয়া হয়। একটি RL প্ল্যানার ল্যাটেন্সি, এক্সিট কোড, রিসোর্স ইউটিলাইজেশন এবং আউটপুট ভ্যালিডিটির মতো ফলাফলের সাথে যুক্ত স্কোরিং ফাংশন ব্যবহার করে টাস্ক সিকোয়েন্স নির্দেশ করে এবং ঐতিহাসিক ও টিউনড ওয়েট-এর ভিত্তিতে এক্সিকিউশন ব্রাঞ্চ বেছে নিতে পাথফাইন্ডিং হিউরিস্টিকস ব্যবহার করে। Alpha অফলাইন এবং লো-ওভারহেড অপারেশনের জন্য (যেমন পার্সিং, ফরম্যাট এক্সট্রাকশন এবং বেসলাইন টেক্সট অ্যানালাইসিস) একটি লোকাল ইনফারেন্স রানটাইমের (Ollama on `http://127.0.0.1:11434`) সাথে সংযুক্ত থাকে। **System Beta — প্রোবাবিলিস্টিক ডিসিশন এবং রিজনিং ইঞ্জিন** স্থিতিশীলতার পর Alpha দ্বারা Beta-কে স্পন করা হয় এবং এটি নন-ডিটারমিনিস্টিক সমস্যাগুলোর জন্য ডিসিশন লেয়ার হিসেবে কাজ করে। এটি Alpha-র টেলিমট্রি, হেলথ মেট্রিক্স এবং টাস্ক প্রগ্রেস মনিটর করে এবং যখন Alpha আনহ্যান্ডেলড এক্সেপশন, এনভায়রনমেন্ট ড্রিফট, রিপিটেটিভ ফেইলিওর স্টেট বা এক্সিকিউশন লুপের সম্মুখীন হয়, তখন এটি হস্তক্ষেপ করে। Beta-র দায়িত্ব হলো Alpha-র RL প্ল্যানার দ্বারা ব্যবহৃত রিওয়ার্ড এবং পেনাল্টি ওয়েট টিউন করা, যা কার্যকরভাবে এক্সিকিউশনকে আরও উৎপাদনশীল পথের দিকে পরিচালিত করে। Beta চারটি মোডে একটি অটোনোমাস লুপ পরিচালনা করে: idle/observe (প্যাসিভ মনিটরিং), triage & unstick (ব্লকিং কন্ডিশন ডায়াগনস করা), optimize (সম্পন্ন এক্সিকিউশন পাথ থেকে রিডানডেন্সি দূর করা), এবং discover & innovate (নতুন টাস্ক সিকোয়েন্স এবং অবজেক্টিভ হাইপোথিসাইজ করা)। এটি এক্সটারনাল টুলস এবং লাইভ কনটেক্সটের জন্য Model Context Protocol (MCP) সার্ভারের সাথে ইন্টিগ্রেট করে এবং গভীর রিজনিং, স্ট্র্যাটেজিক ডিসিশন, কোড জেনারেশন এবং ট্রাবলশুটিংয়ের জন্য ফ্রন্টিয়ার বা এক্সটারনাল LLM-এর পরামর্শ নিতে পারে। **ইন্টার-প্রসেস কমিউনিকেশন** Alpha এবং Beta সমসাময়িক প্রসেস হিসেবে চলে এবং ডোমেইন সকেট, নেমড পাইপ বা মেসেজ বাসের মতো লো-ল্যাটেন্সি বিডাইরেকশনাল চ্যানেলের মাধ্যমে যোগাযোগ করে, যা স্ট্রাকচারড JSON বা Protocol Buffer এনভেলপ বহন করে। ডকুমেন্ট করা কন্ট্রোল সিগন্যালগুলোর মধ্যে রয়েছে `SIG_SPAWN`, `SIG_HEARTBEAT`, `SIG_SLEEP`, `SIG_WAKE`, `SIG_TELEMETRY`, `SIG_STUCK`, `SIG_INTERRUPT`, `SIG_DISPATCH`, `SIG_MUTATE` এবং `SIG_TUNE_WEIGHTS`। একত্রে এগুলো প্রসেস বুটস্ট্র্যাপিং, লাইভনেস পিং, স্লিপ/ওয়েক ট্রানজিশন, আউটকাম রিপোর্টিং, স্টাক-স্টেট নোটিফিকেশন, টাস্ক অ্যাবরশন, কিউ ইনজেকশন, ইন-ফ্লাইট প্যারামিটার মিউটেশন এবং RL ওয়েট আপডেট কভার করে। **কিপ-অ্যালাইভ এবং লং-স্লিপ মোড** একটি `KeepAliveProcess` কোঅর্ডিনেটর সিস্টেমটিকে দীর্ঘ সময়ের জন্য ঘুমাতে দেয় যাতে CPU, মেমরি এবং টোকেন ব্যবহার কমানো যায়, তবে এটি Alpha-র IPC TCP সার্ভার (`127.0.0.1:8765`), ক্লায়েন্ট চ্যানেল এবং `DIRECTIVES.txt` ওয়াচারগুলোকে সক্রিয় রাখে। হার্টবিট, ওয়েক, স্লিপ এবং ডিসপ্যাচের জন্য সিগন্যাল রাউটিং দ্রুত সাড়া দেওয়ার জন্য ডিজাইন করা হয়েছে; ব্যাকগ্রাউন্ড Beta সাবপ্রসেস এবং টাস্ক রানারগুলো সুপারভাইজড থাকে এবং অপ্রত্যাশিতভাবে বন্ধ হয়ে গেলে পুনরায় চালু হয়। ইনকামিং ডিরেক্টিভস বা ডিসপ্যাচ সিগন্যাল স্লিপ টাইমারের জন্য অপেক্ষা না করে সিস্টেমটিকে অবিলম্বে জাগিয়ে তোলে। **CLI** README-তে `python -m adrastea.cli keepalive --sleep-interval 300`, `ping`, `sleep --duration 600` এবং `wake`-এর মতো কমান্ডগুলো ডকুমেন্ট করা হয়েছে। এর প্রয়োজনীয় শর্তাবলির মধ্যে রয়েছে একটি লোকাল Ollama সার্ভার (যেমন `qwen3-coder:30b` বা হালকা ইন্সট্রাকশন মডেলসহ), MCP ক্লায়েন্ট কনফিগারেশন, একটি লোকাল এক্সিকিউশন রানটাইম যেমন PowerShell, Bash, Python বা Node, এবং একটি অ্যাসিনক্রোনাস ক্রস-প্রসেস ট্রান্সপোর্ট। উল্লেখ্য যে, README আর্কিটেকচারাল উদ্দেশ্য বর্ণনা করে এবং এতে "rudimentary" কিপ-অ্যালাইভ শব্দ ব্যবহার করা হয়েছে; কোনো বেঞ্চমার্ক বা পারফরম্যান্স ফিগার প্রদান করা হয়নি, তাই বর্ণিত আচরণগুলোকে পরিমাপকৃত ফলাফলের পরিবর্তে প্রজেক্টের ডিজাইন গোল হিসেবে বিবেচনা করা উচিত। `main`-এর বিপরীতে ফর্ক, ফিচার ব্রাঞ্চ এবং পুল রিকোয়েস্টের মাধ্যমে অবদান welcomed।