এটি কীভাবে কাজ করে
RADAR কীভাবে কাজ করে।
ডেভেলপারদের জন্য একটি টেকনিক্যাল পরিচিতি। RADAR কোডিং এজেন্টদের চালায়, এবং কোনো কাজের গ্রহণযোগ্যতা পরীক্ষা নিজে আবার চালানোর পরেই কাজটি বন্ধ করে। এজেন্টের “শেষ” একটি দাবি; আবার চালানোটাই প্রমাণ।
01 লুপ
প্রতিটি কাজের জন্য একই লুপ।
প্রতিটি কাজ একই লুপ ঘুরে যায়, আর প্রতিটি ধাপ চলে কেবল তখনই, যখন তার আগের ধাপ পাস করেছে।
- 01 · খোলা কাজ ও গ্রহণযোগ্যতা পরীক্ষা কাজ শুরুর আগেই লেখা
- 02 · লিজ একজন মালিক, নিজস্ব worktree Lease ও fence token
- 03 · কাজ এজেন্ট কাজ করে প্রকল্পের নিজস্ব একটি কপিতে
- 04 · দাবি এজেন্ট বলে, কাজ শেষ ফলাফল হিসেবে নয়, দাবি হিসেবে লেখা হয়
- 05 · যাচাই RADAR পরীক্ষাটি আবার চালায় বর্তমান রিভিশনে
- পাস করলে বন্ধ প্রমাণ খতিয়ানে রাখা হয়
- ব্যর্থ হলে · 3-এর মধ্যে n নম্বর চেষ্টা আবার খোলা, ব্যর্থতার বিবরণসহ একই এজেন্ট ধাপ 03 থেকে আবার চেষ্টা করে
- 3 বার চেষ্টার পরে অন্য একজন এজেন্ট দায়িত্ব নেয় ধাপ 03 থেকে আরও সর্বোচ্চ 3 বার চেষ্টা
- আরও 3 বারের পরে কাজটি আপনার অপেক্ষায় থাকে খতিয়ান আর কোনো চেষ্টা নিতে রাজি হয় না
- খোলা
- একটি কাজ খোলা হয় তার লক্ষ্য ও আবার চালানো যায় এমন একটি গ্রহণযোগ্যতা কমান্ড দিয়ে। কাজ খোলার সময়ই কমান্ডটি পরীক্ষা করা হয়, চালানো ছাড়াই: যে মানদণ্ড লেখা অবস্থায় চলতে পারে না, তা তখনই নাকচ হয়, শেষে গিয়ে ধরা পড়ে না।
- লিজ
- একটি সময়ে একটি কাজ একজন মালিকের হাতেই থাকে, একটি lease ও একটি fence token-এর মাধ্যমে। পুরোনো মালিকের লেখা নাকচ করা হয়।
- কাজ
- এজেন্ট তার নিজস্ব git worktree-এ, নিজস্ব branch-এ কাজ করে।
- দাবি
- কাজ শেষ বলে এজেন্টের রিপোর্ট একটি দাবি হিসেবে লেখা হয়। দাবি দিয়ে কাজ বন্ধ হয় না।
- যাচাই
- RADAR নিজেই গ্রহণযোগ্যতা কমান্ডটি চালায়, কাজের বর্তমান রিভিশনে। এজেন্টের নিজের রিপোর্ট পড়া হয়, কিন্তু তা প্রমাণ নয়।
- বন্ধ বা আবার খোলা
- পাস করলে কাজটি বন্ধ হতে পারে, আর যাচাইয়ের রেকর্ড তার প্রমাণ হিসেবে রাখা হয়। ব্যর্থ হলে কাজটি ব্যর্থতার বিবরণসহ আবার খোলে।
- সীমা
- ওয়ার্কারের তিনটি চেষ্টা, তারপর অন্য এজেন্টের তিনটি টেকওভার। এরপর খতিয়ান আর কোনো চেষ্টা নিতে রাজি হয় না, আর কাজটি আপনার অপেক্ষায় থাকে। মডেল, সেশন বা মেশিন বদলালে গণনা নতুন করে শুরু হয় না, আর প্রতিটি পুনরায় চেষ্টায় বলতে হয় কী বদলেছে।
02 খতিয়ান
একটি রেকর্ড, যাতে প্রতিটি এজেন্ট লেখে।
প্রতিটি এজেন্ট একই কাজের খতিয়ান পড়ে ও তাতে লেখে: একটি লোকাল SQLite ফাইল। কোন কাজ কার হাতে, কী দাবি করা হয়েছে আর পরীক্ষায় কী দেখা গেছে, তার একমাত্র রেকর্ড এটিই।
- কাজ
- লক্ষ্য ও গ্রহণযোগ্যতা কমান্ড, কাজ শুরুর আগেই লেখা।
- মালিকানা
- প্রতিটি কাজের বর্তমান মালিক, তার lease ও fence token-সহ।
- চেষ্টা
- প্রতিটি কাজের জন্য গোনা হয়, এজেন্ট, মডেল ও মেশিন মিলিয়ে।
- দাবি
- কাজ শেষ বলে এজেন্টের রিপোর্ট, ফলাফল থেকে আলাদা রাখা।
- যাচাইয়ের রেকর্ড
- প্রতিটি গ্রহণযোগ্যতা রান, যে commit ও working tree-তে তা চলেছে তার সঙ্গে বাঁধা।
- পরিবর্তন
- গ্রহণযোগ্যতা কমান্ড বদলালে পুরোনো ও নতুন দুটি সংস্করণই লেখা থাকে; কোনো ওভাররাইডও লেখা থাকে।
স্মৃতি
সিদ্ধান্ত ও শিক্ষা হলো Markdown নোট, যাদের একটি উৎস ও একটি পরিধি আছে। একটি লোকাল ইনডেক্স অফলাইনে সেগুলো খোঁজে, আর একটি hook কাজ শুরুর আগে মিলে যাওয়া নোটগুলো এজেন্টের সামনে রাখে। নোটগুলো সাধারণ Markdown বলে আপনি সেগুলো Obsidian-এ খুলতে পারেন।
03 আইসোলেশন
প্রতিটি চেষ্টা নিজস্ব কপিতে।
- প্রতিটি চেষ্টা নিজস্ব git worktree-এ, নিজস্ব branch-এ চলে। দুজন ওয়ার্কার কখনো একটি tree ভাগ করে না।
- একজন ওয়ার্কার নিজের গ্রহণযোগ্যতা কমান্ড নতুন করে লিখতে পারে না। কেবল ম্যানেজার তা বদলাতে পারেন, আর কেবল কাজ বন্ধ হওয়ার আগে; প্রতিটি পরিবর্তনে পুরোনো ও নতুন দুটি সংস্করণই রাখা হয়।
- যাচাই পাস করার পরেই কাজ আপনার main branch-এ পৌঁছায়, আর merge-এর পরে গ্রহণযোগ্যতা কমান্ড আরও একবার চলে।
- প্রতিটি ভূমিকার জন্য force-push নাকচ করা হয়।
- এই নিয়মগুলো কোড হিসেবে চলে, মডেল ডাকার আগে ও পরে। এগুলো কোনো prompt নয়, তাই কোনো এজেন্ট কথা বলে এগুলো এড়িয়ে যেতে পারে না।
04 এজেন্ট
যে এজেন্টগুলো আপনি ইতিমধ্যে ব্যবহার করেন।
RADAR চালায় Claude Code, Codex CLI, OMP ও Hermes Agent, আপনার কম্পিউটারে বা আপনার নিজের Linux সার্ভারে। এটি তাদের জায়গা নেয় না: কাজ এখনো তারাই করে।
- Claude Code
- Codex CLI
- OMP
- Hermes Agent
- একটি চুক্তি
- একই নিয়ম, একই খতিয়ান, একই যাচাইয়ের গেট এবং একই চেষ্টার সীমা চারটির ক্ষেত্রেই প্রযোজ্য।
- ম্যানেজার
- আপনি যে এজেন্টের সঙ্গে কথা বলেন, সেটিই পরিচালনা করে: কাজ খোলে, ওয়ার্কারদের হাতে দেয়, আর কেবল পাস করা যাচাইয়ের রেকর্ড থাকলেই কাজ বন্ধ করে।
- ওয়ার্কার
- ওয়ার্কাররা নিজেদের worktree-এ কাজ করে। তারা কাজ বন্ধ করতে পারে না এবং নিজেদের গ্রহণযোগ্যতা কমান্ড বদলাতে পারে না।
05 লোকাল-ফার্স্ট
লোকাল-ফার্স্ট।
RADAR-এর কোনো অ্যাকাউন্ট বা ক্লাউড লাগে না।
- আপনার মেশিনে
- খতিয়ান, স্মৃতির নোট, worktree এবং প্রতিটি যাচাই রান, আপনার কম্পিউটারে বা আপনার নিজের Linux সার্ভারে।
- নেটওয়ার্ক লাগে
- আপনার এজেন্টদের, যারা আজকের মতোই নিজেদের প্রদানকারীর সঙ্গে যোগাযোগ করে। অন্য প্রতিটি বাইরের পরিষেবা ঐচ্ছিক এবং আপনি চালু না করা পর্যন্ত বন্ধ থাকে।
- প্রয়োজনীয়তা
- Windows বা Linux (macOS এখনও সমর্থিত নয়), Python 3.12 বা আরও নতুন সংস্করণ, এবং Git। RADAR কেবল Python-এর স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে।
- খরচ
- এর নিজের কোনো বিল নেই। এজেন্টরা আগের মতোই সেই অ্যাকাউন্টগুলো ব্যবহার করে, যেগুলো দিয়ে আপনি তাদের সাইন ইন করান। পেইড API ব্যবহার হয় কেবল তখনই, যখন আপনি প্রদানকারী ও একটি বাজেট নির্দিষ্ট করে দেন।
- ইনস্টল
- আপনার কোডিং এজেন্টকে রিপোজিটরির লিংক দিয়ে বলুন “এটি ইনস্টল করো”। এটি আপনার কম্পিউটার পরীক্ষা করে, যা নেই তা ইনস্টল করার আগে জিজ্ঞেস করে, একটি virtual environment-এ RADAR ইনস্টল করে এবং radar init ও radar doctor কী বলছে তা জানায়।
06 কমান্ড
কমান্ডের একটি ছোট তালিকা।
যে কমান্ডগুলো আপনি প্রথমে ব্যবহার করবেন। প্লেসহোল্ডারগুলো কৌণিক বন্ধনীর মধ্যে দেওয়া।
| কমান্ড | এটি কী করে |
|---|---|
radar init | RADAR-এর হোম ও খতিয়ান সেট আপ করে। |
radar doctor | ইনস্টলেশন পরীক্ষা করে এবং যেসব ঐচ্ছিক পরিষেবা এখনো কনফিগার করা হয়নি, সেগুলোর তালিকা দেয়। |
radar task new --project P --goal "…" --accept "<command>" | গ্রহণযোগ্যতা কমান্ডসহ একটি কাজ খোলে। |
radar dispatch <task> | একটি কাজ একজন এজেন্টের হাতে দেয়, যে তার নিজস্ব worktree-এ কাজ করে। |
radar status | পুরো সিস্টেম দেখায়। |
radar verify <task> | বর্তমান রিভিশনে গ্রহণযোগ্যতা কমান্ড আবার চালায়। |
radar task done <task> --evidence "<verification report>" | একটি কাজ বন্ধ করে। যাচাই পাস না করা পর্যন্ত নাকচ হয়। |
radar collect | শেষ হওয়া কাজ সংগ্রহ করে। |
radar integrate | যাচাই করা কাজ main-এ merge করে। |
radar stop | কাজ থামিয়ে রাখে এবং STOP সেট করে। |
radar go | STOP সরিয়ে দেয় এবং কী কী চালিয়ে যাওয়া যায় তার তালিকা দেখায়। |
radar memory search --local "<words>" | স্মৃতির নোটগুলো অফলাইনে খোঁজে। |
radar uiradar web | টার্মিনালে বা ব্রাউজারে ককপিট খোলে। |
radar help --all | সব কমান্ডের তালিকা দেখায়। radar <command> -h বিস্তারিত জানায়। |
07 এটি কী করে না
RADAR কী করে না।
- এটি আপনার এজেন্টদের জায়গা নেয় না। কোড এখনো তারাই লেখে; RADAR তাদের দেয় একটি রেকর্ড, এমন একটি যাচাই যা তারা এড়াতে পারে না, এবং একটি স্মৃতি।
- এটি আপনার পরীক্ষা লেখে না। একটি যাচাই ততটাই ভালো, যতটা ভালো তার পরীক্ষা; RADAR কাজ শুরুর আগেই পরীক্ষাটি স্পষ্ট করে, যাতে একজন মানুষ তা পড়তে পারেন।
- যে কাজের কোনো পরীক্ষা নেই, তা এটি বন্ধ করে না। চালানো যায় এমন গ্রহণযোগ্যতা কমান্ড ছাড়া কোনো কাজ খোলার সময়েই নাকচ হয়।
- এটি আপনার এজেন্টদের অফলাইন রাখে না। তারা আজকের মতোই নিজেদের প্রদানকারীর সঙ্গে যোগাযোগ করে।
- ওপেন সংস্করণ একক ডেভেলপারদের জন্য, দলের জন্য নয়; কোম্পানি সংস্করণ তৈরি হচ্ছে।
08 অবস্থা
আগাম অ্যাক্সেসে
এখন আগাম অ্যাক্সেস। সর্বজনীন প্রকাশের সময় ওপেন সোর্স।
RADAR আগাম অ্যাক্সেসে আছে। সর্বজনীন প্রকাশের সময় এটি Apache-2.0 লাইসেন্সের অধীনে ওপেন সোর্স হিসেবে প্রকাশিত হবে। যোগ দিতে আমাদের লিখুন।