
গুরুত্বপূর্ণ: Astra-Ares একটি পরীক্ষামূলক রেফারেন্স ইমপ্লিমেন্টেশন। এটি একটি পৃথক, প্যাচ করা Codex CLI চালায় এবং মূলত পরীক্ষা-নিরীক্ষার জন্য অথবা নিজেদের এজেন্ট সিস্টেমে অভিযোজিত রিজনিং প্রচেষ্টা যুক্ত করতে চান এমন ডেভেলপারদের জন্য তৈরি।
Astra-Ares কী করে
Codex-এর কোনো কাজ চলাকালীন Astra-Ares GPT-6 Astra-তে অভিযোজিত রিজনিং-এফোর্ট নির্বাচন যোগ করে। পুরো কাজের জন্য একটি নির্দিষ্ট রিজনিং স্তর নির্ধারণ করার পরিবর্তে, পরবর্তী ধাপে Astra কতটা রিজনিং প্রয়োগ করবে তা বেছে নিতে এটি Jev নামের একটি ইভ্যালুয়েটর ব্যবহার করে।
Jev সীমাবদ্ধ টাস্ক-প্রসঙ্গ পরীক্ষা করে, পরবর্তী এফোর্ট স্তর নির্বাচন করে এবং সেই নির্বাচনটি 1, 2, 5 বা 10টি মডেল জেনারেশনের জন্য সক্রিয় থাকবে কি না তা নির্ধারণ করে। কাজ চলার আগে Codex Astra-এর নেটিভ কনফিগারেশন মেকানিজমের মাধ্যমে এই নির্বাচন প্রয়োগ করে।
Astra তার ক্যাশে ব্যবহৃত মূল প্রম্পট প্রিফিক্স অকার্যকর না করেই রিজনিং-এফোর্ট পরিবর্তন করতে পারে। ফলে Ares Astra-এর নেটওয়ার্ক পাথে নিজেকে প্রবেশ করানোর পরিবর্তে একই মডেল, কথোপকথন এবং সরাসরি OpenAI সংযোগ বজায় রাখে। স্বাভাবিক প্রম্পট-ক্যাশে যোগ্যতা ও সংরক্ষণ নীতিমালা এখনও প্রযোজ্য।
প্রধান বৈশিষ্ট্য
- অভিযোজিত রিজনিং: একটি নির্দিষ্ট সেটিংয়ের ওপর নির্ভর না করে Jev কাজের পরবর্তী অংশের জন্য প্রয়োজনীয় এফোর্ট বেছে নেয়।
- বহু-জেনারেশন লিজ: একটি সিদ্ধান্ত 1, 2, 5 বা 10টি জেনারেশনের জন্য সক্রিয় থাকতে পারে, ফলে অপ্রয়োজনীয় ইভ্যালুয়েটর অনুরোধ কমে।
- নেটিভ Codex প্রয়োগ: প্যাচ করা CLI জেনারেশনগুলোর মধ্যে Astra-এর সেটিং প্রয়োগ করে এবং সফল প্রয়োগ নিশ্চিত করে।
- সীমাবদ্ধ ইভ্যালুয়েটর প্রসঙ্গ: Jev টাস্ক, প্রকাশ্য অগ্রগতি, রিজনিং সারাংশ এবং সাম্প্রতিক টুল ফলাফলের সীমিত সেট পায়।
- সরাসরি Astra সংযোগ: Codex সরাসরি OpenAI-এর সঙ্গে যোগাযোগ চালিয়ে যায়। Jev একটি পৃথক কনফিগার করা প্রোভাইডার ব্যবহার করে।
- বিচ্ছিন্ন ইনস্টলেশন: Astra-Ares নিজস্ব Codex প্রোফাইল ব্যবহার করে এবং বিদ্যমান
codexকমান্ড বা Codex ডেস্কটপ অ্যাপ্লিকেশন প্রতিস্থাপন করে না। - দৃশ্যমান ব্যর্থতা পরিচালনা: Ares নীরবে প্রোভাইডার পরিবর্তন করে না, মডেল বদলে দেয় না বা কোনো এফোর্ট সিদ্ধান্ত বানিয়ে নেয় না।
ইনস্টল করার আগে
প্রথম বিল্ডে কয়েক মিনিট সময় এবং প্রায় 10 GB খালি জায়গা প্রয়োজন। নিচের পূর্বশর্তগুলো ইনস্টল করুন:
- Node.js 22 বা পরবর্তী সংস্করণ
- npm
- Git
- curl
- tar
- একটি নেটিভ C/C++ বিল্ড টুলচেইন
- rustup-এর মাধ্যমে Rust
সেটআপ প্রক্রিয়া আপস্ট্রিম Codex সোর্সে নির্ধারিত Rust টুলচেইনও ইনস্টল করে। macOS-এ এগুলো না থাকলে Xcode Command Line Tools ইনস্টল করুন:
xcode-select --install
Apple Silicon-যুক্ত macOS-এ স্থানীয়ভাবে বিল্ড ও পরীক্ষা করা হয়েছে। Intel macOS এবং Linux-এর জন্য বিল্ড পাথ রয়েছে, তবে সেগুলো এখনও গ্রহণযোগ্যতা পরীক্ষার মধ্য দিয়ে যায়নি। Windows সমর্থিত নয়, কারণ এই ইন্টিগ্রেশন Unix সকেটের ওপর নির্ভর করে।
ধাপ 1: Astra-Ares বিল্ড ও ইনস্টল করুন
সোর্স রিপোজিটরি ক্লোন করুন, এর Node.js নির্ভরতা ইনস্টল করুন, স্বয়ংক্রিয় সেটআপ চালান এবং গ্লোবাল কমান্ড লিংক তৈরি করুন:
git clone https://github.com/miuuyy/Astra-Ares.git
cd Astra-Ares
npm ci
npm run setup
npm link
সেটআপ নির্দিষ্ট Codex সংস্করণ ডাউনলোড করে, অন্তর্ভুক্ত প্যাচ প্রয়োগ করে এবং স্বয়ংক্রিয়ভাবে বিল্ড করে। আপনাকে ম্যানুয়ালি Codex সম্পাদনা করতে হবে না।
npm link কমান্ডটি আপনার টার্মিনালে দুটি কমান্ড উন্মুক্ত করে: astra-ares এবং ares। প্রিভিউটি সোর্স থেকে বিতরণ করা হয়; বর্তমানে কোনো প্রকাশিত npm প্যাকেজ বা আগে থেকে বিল্ড করা Ares ডাউনলোড নেই। আপডেট, বিল্ড পুনর্ব্যবহার, অপসারণ এবং গ্লোবাল লিংক ছাড়া পরিচালনা সম্পর্কে জানতে প্রকল্পের ইনস্টলেশন ডকুমেন্টেশন দেখুন।
ধাপ 2: Jev প্রোভাইডার কনফিগার করুন
নতুন ইনস্টলেশনে ডিফল্ট Jev প্রোভাইডার হিসেবে OpenRouter ব্যবহৃত হয়। একটি OpenRouter API key তৈরি করুন, আপনার অ্যাকাউন্টে পর্যাপ্ত অর্থায়িত ক্রেডিট আছে নিশ্চিত করুন এবং কনফিগারেশন প্রম্পট চালু করুন:
ares configure
গোপন প্রম্পটে কীটি পেস্ট করুন। Astra-Ares এটি ক্লোন করা রিপোজিটরির বাইরে আপনার ব্যক্তিগত ব্যবহারকারী কনফিগারেশনে সংরক্ষণ করে।
Astra-তে প্রবেশের জন্য ব্যবহৃত Codex অ্যাকাউন্ট থেকে Jev ক্রেডেনশিয়াল আলাদা। প্যাচ করা CLI-এর প্রমাণীকরণ প্রয়োজন হলে সাইন ইন করুন:
astra-ares login
অন্যান্য Jev প্রোভাইডার এবং পরিবেশ ভেরিয়েবল-ভিত্তিক বিকল্পগুলো প্রকল্পের কনফিগারেশন গাইডে রয়েছে।
ধাপ 3: অভিযোজিত রিজনিংসহ Codex চালু করুন
প্যাচ করা Codex টার্মিনাল চালু করুন:
astra-ares
নেটিভ /model পিকার খুলে Astra-Jev নির্বাচন করুন। নতুন Ares প্রোফাইলে ডিফল্টভাবে এই এন্ট্রি নির্বাচিত থাকে। এরপর আপনি একটি টাস্ক জমা দিয়ে স্বাভাবিক Codex ওয়ার্কফ্লো ব্যবহার করতে পারবেন, যার মধ্যে টুল, অনুমোদন, বাতিলকরণ এবং ইতিহাস অন্তর্ভুক্ত।
Jev এফোর্ট স্তর পরিবর্তন করলে এবং Codex তা নিশ্চিত করলে ট্রান্সক্রিপ্টে এ ধরনের একটি বার্তা দেখা যায়:
Jev LOW → HIGH ✓ APPLIED
Step 3 · next 2 generation(s) · 321 ms
APPLIED শুধু সুপারিশের বিজ্ঞপ্তি নয়: এর অর্থ Codex নিশ্চিত করেছে যে পরবর্তী জেনারেশনের জন্য সেটিংগুলো প্রয়োগ করা হয়েছে। নেটিভ প্রয়োগের পর বিজ্ঞপ্তিটি দেখা যায়।
মৌলিক ব্যবহারের উদাহরণ
একটি নির্দিষ্ট রিপোজিটরি খুলুন
নির্দিষ্ট কোনো প্রজেক্ট ডিরেক্টরিতে কাজ শুরু করতে -C ব্যবহার করুন:
astra-ares -C /path/to/project
সর্বশেষ Ares সেশন পুনরায় চালু করুন
astra-ares resume --last
Ares একটি পৃথক Codex প্রোফাইল ব্যবহার করে, তাই এই কমান্ডটি সাধারণ Codex ইনস্টলেশনের কোনো সেশনের পরিবর্তে ওই প্রোফাইলের সর্বশেষ সেশন পুনরায় শুরু করে।
Jev কী পরিবর্তন করুন
ares configure
একটি সেশনের জন্য Jev নিষ্ক্রিয় করুন
/model খুলে সাধারণ Astra বা অন্য কোনো মডেল নির্বাচন করুন। Jev রাউটিং ছাড়াই Codex কাজ চালিয়ে যাবে।
অ্যাডাপ্টিভ নির্বাচন কীভাবে কাজ করে
- মডেল জেনারেশনের আগে Codex একটি উপযুক্ত চেকপয়েন্টে পৌঁছায়।
- Ares কাজ, প্রকাশ্য অগ্রগতি এবং সাম্প্রতিক টুল কার্যকলাপ সম্বলিত সীমাবদ্ধ কনটেক্সট প্রস্তুত করে।
- Jev 1, 2, 5 বা 10টি জেনারেশনের জন্য একটি reasoning effort এবং একটি লিজ নির্বাচন করে।
- Codex Astra-র নেটিভ কনফিগারেশন পদ্ধতি ব্যবহার করে নির্বাচিত সেটিং প্রয়োগ করে।
- Astra একটি প্রতিক্রিয়া তৈরি করে এবং এক বা একাধিক টুল আহ্বান করতে পারে।
- লিজের মেয়াদ শেষ হলে বা কোনো ঘটনা সেটিকে অবৈধ করলে Ares আরেকটি সিদ্ধান্তের অনুরোধ করে।
একটি ধাপ বলতে একটি মডেল জেনারেশন বোঝায়, একটি টুল কল নয়। একটি জেনারেশন একাধিক টুল কল তৈরি করতে পারে। উপলব্ধ টুলের ফলাফল কথোপকথনে যুক্ত হওয়ার পর, পরবর্তী জেনারেশনের আগে সিদ্ধান্ত নেওয়া হয়।
Jev ব্যবহারকারীর লক্ষ্যের সঙ্গে সম্পর্কিতভাবে পরবর্তী ধাপে কতটা reasoning প্রয়োজন তা মূল্যায়ন করে। উদাহরণস্বরূপ, একটি ফাইল পড়া স্বয়ংক্রিয়ভাবে কম effort-এর কারণ নয়, কারণ ফাইলটি ব্যাখ্যা করাই কঠিন অংশ হতে পারে।
লিজ বোঝা
Jev যদি দশটি জেনারেশনের লিজ নির্বাচন করে, Ares ধাপ 1-এ সিদ্ধান্তের অনুরোধ করে এবং পরে ধাপ 11-এ আবার অনুরোধ করে। ধাপ 2 থেকে 10 পর্যন্ত অতিরিক্ত Jev অনুরোধ ছাড়াই গৃহীত নির্বাচনটি পুনরায় ব্যবহার করা হয়।
নতুন ব্যবহারকারীর ইনপুট এলে, কোনো টুল ব্যর্থ হলে, মডেল পরিবর্তিত হলে বা reasoning effort ম্যানুয়ালি পরিবর্তন করা হলে লিজ আগেই শেষ হয়। এরপর পরবর্তী উপযুক্ত চেকপয়েন্টে Jev-এর পরামর্শ নেওয়া হয়। টুল ব্যর্থ হলে পুনর্মূল্যায়নের অনুরোধ করা হয়; এটি হার্ডকোড করা escalation ঘটায় না।
Jev কোন কনটেক্সট পায়
Jev Astra-র সম্পূর্ণ, সীমাহীন অভ্যন্তরীণ কনটেক্সট পায় না। এর evaluator view-তে থাকে:
- মূল বা বর্তমান কাজ এবং সংরক্ষিত আগের ব্যবহারকারীর অনুরোধ
- প্রকাশ্য অগ্রগতি, পরিকল্পনা এবং প্রকাশিত reasoning সারাংশ
- সর্বশেষ ছয়টি টুল কল এবং তাদের সংশ্লিষ্ট ফলাফল
- প্রতিটি টুল কলের সম্মিলিত ফলাফলের টেক্সটের সর্বাধিক 1,000টি local token, explicit head-and-tail truncation ব্যবহার করে
- 28,000 local-token সীমা দ্বারা সুরক্ষিত একটি সম্পূর্ণ evaluator অনুরোধ
ব্যক্তিগত বা এনক্রিপ্ট করা reasoning বাদ দেওয়া হয়। অতিরিক্ত বড় evaluator অনুরোধ নীরবে পাঠানোর পরিবর্তে স্পষ্টভাবে থামানো হয়। স্থানীয় tokenizer একটি বাজেটের আনুমানিক হিসাব দেয় এবং এটি Jev-এর tokenizer-এর সঙ্গে অভিন্ন নাও হতে পারে। এই সীমাগুলো শুধু Jev-এর view-তে প্রযোজ্য; Astra তার নেটিভ কথোপকথন ধরে রাখে।
সীমাবদ্ধ task context কনফিগার করা Jev provider-এ পাঠানো হয়। সংবেদনশীল প্রকল্পের ডেটা ব্যবহারের আগে configuration এবং logging documentation পর্যালোচনা করুন।
ডায়াগনস্টিক ও সমস্যা সমাধান
স্থানীয় ইনস্টলেশন পরীক্ষা করুন
ares doctor
এটি নিচে বর্ণিত provider probe ইচ্ছাকৃতভাবে না চালিয়ে স্থানীয়ভাবে ইনস্টলেশন ও কনফিগারেশন পরীক্ষা করে।
Jev Provider পরীক্ষা করুন
ares doctor --probe
এই probe একটি ছোট, বিলযোগ্য Jev অনুরোধ পাঠায়। স্থানীয় পরীক্ষা সফল হলেও evaluator সিদ্ধান্ত ব্যর্থ হলে এটি ব্যবহার করুন।
সিদ্ধান্তের লগ পরিদর্শন করুন
ডিফল্টভাবে, run লগ এখানে সংরক্ষিত হয়:
~/.local/share/astra-ares/runs/<run>/decisions.jsonl
এই রেকর্ডগুলো ব্যর্থ provider অনুরোধ, সিদ্ধান্তের সময় এবং প্রয়োগ করা সেটিং শনাক্ত করতে সহায়তা করতে পারে।
HTTP 429 সঠিকভাবে ব্যাখ্যা করুন
HTTP 429 প্রতিক্রিয়া rate বা capacity প্রত্যাখ্যান নির্দেশ করে। এটি একাই প্রমাণ করে না যে evaluator context অতিরিক্ত বড়। একই provider-এর বিরুদ্ধে 30-সেকেন্ডের deadline-এর মধ্যে transient HTTP error-এর জন্য সর্বাধিক তিনটি প্রচেষ্টা করা হয়।
সব প্রচেষ্টা ব্যর্থ হলে Ares বর্তমান turn দৃশ্যমানভাবে থামিয়ে দেয়। এটি নীরবে অন্য provider-এ যায় না, অন্য মডেল নির্বাচন করে না বা কোনো effort level বানিয়ে নেয় না। অতিরিক্ত পরীক্ষার জন্য রিপোজিটরির troubleshooting guide দেখুন।
উন্নত টিপস
Responsiveness ও Evaluator Cost-এর ভারসাম্য বজায় রাখুন
একটি নতুন Jev সিদ্ধান্ত provider round trip এবং স্থানীয় checkpoint processing যোগ করে। কোনো লিজ সক্রিয় থাকলে checkpoint অন্য Jev অনুরোধ ছাড়াই স্থানীয়ভাবে পরিচালিত হয়। ফলে দীর্ঘ লিজ অনুরোধের ঘনত্ব কমাতে পারে, যদিও reference implementation-এ বর্ণিত সময়কাল ব্যবহারকারী নয়, Jev নির্বাচন করে।
ইন্টিগ্রেশন যাচাইয়ের সময় দৃশ্যমান নিশ্চিতকরণ ব্যবহার করুন
অ্যাডাপ্টিভ আচরণ পরীক্ষা করার সময় Jev-এর সুপারিশ Astra-তে পৌঁছেছে ধরে নেওয়ার পরিবর্তে APPLIED status খুঁজুন। Codex নেটিভ সেটিং প্রয়োগ করার পরেই নিশ্চিতকরণটি প্রকাশ করা হয়।
বর্তমান পরিমাপের সীমা মনে রাখুন
প্রকল্পে settings application এবং prompt-prefix preservation-এর জন্য native fixture tests রয়েছে। তবে workload cache-hit rate এবং fixed reasoning effort-এর তুলনায় সাশ্রয় এখনও পরিমাপ করা হয়নি। Efficiency সংক্রান্ত দাবিগুলোকে একটি design goal হিসেবে বিবেচনা করুন, যা আপনার নিজস্ব workload-এ যাচাই করা উচিত।
Development Test Suite চালান
Contributors নির্ভরতা ইনস্টল করে এভাবে standard tests চালাতে পারেন:
npm ci
npm test
Native integration fixture-এর জন্য অতিরিক্তভাবে Bun এবং patched Codex binary প্রয়োজন:
JEV_TEST_BINARY="$HOME/.local/share/astra-ares/bin/codex" npm run test:native
স্থানীয় fixture test-এর জন্য কোনো API key প্রয়োজন হয় না। Upstream source checksum এবং patch version patches/upstream.json-এ pin করা আছে।
উপসংহার
Astra-Ares দেখায় কীভাবে একটি এজেন্ট প্রজন্মগুলোর মধ্যে GPT-6 Astra-এর যুক্তি প্রয়োগের মাত্রা পরিবর্তন করতে পারে, একই সঙ্গে বিদ্যমান কথোপকথন, সরাসরি OpenAI সংযোগ এবং মূল প্রম্পটের উপসর্গ অক্ষুণ্ণ রেখে। এর স্বয়ংক্রিয় সেটআপ পরীক্ষাটিকে সহজবোধ্য করে তোলে, তবে এটি এখনও একটি পৃথক প্যাচ করা Codex CLI-কে ঘিরে তৈরি প্রাথমিক কারিগরি প্রিভিউ। এটিকে দৈনন্দিন ডেভেলপমেন্ট টুল হিসেবে বিবেচনা করার আগে এর ডায়াগনস্টিক ব্যবহার করুন, সিদ্ধান্তের লগ পর্যালোচনা করুন এবং নিজের কাজের চাপের ওপর কর্মক্ষমতা যাচাই করুন।
