RADAR عاملهای برنامهنویسی هوش مصنوعی مانند Claude Code و Codex را اجرا میکند. برای هر وظیفه پیش از شروع کار یک آزمون نوشته میشود؛ وظیفه فقط وقتی تمامشده به حساب میآید که RADAR خودش آن آزمون را اجرا کند و آزمون موفق شود.
عامل هوش مصنوعی برنامهای است که به جای شما نرمافزار مینویسد و تغییر میدهد. سریع کار میکند و وقتی کارش تمام شد، این را میگوید. RADAR بررسی میکند که آیا واقعاً تمام کرده است یا نه.
عامل هوش مصنوعی
برنامهای که کارهای نرمافزاری را خودش انجام میدهد، مثل رفع یک خطا. Claude Code و Codex CLI دو نمونه از آنها هستند.
آزمون
بررسی کوچک و دقیقی که درست بودن کار را ثابت میکند و پیش از شروع کار نوشته میشود. مهندسان به آن آزمون پذیرش میگویند.
دفتر ثبت
جایی که هر وظیفه در آن ثبت میشود: چه کسی آن را بر عهده گرفت، چه ادعایی کرد و آزمون چه نشان داد. RADAR به آن دفتر کل (ledger) میگوید.
1
اول آزمون نوشته میشود
پیش از آنکه کسی شروع کند، آزمون وظیفه نوشته میشود: رمز نادرست باید رد شود و رمز درست باید شما را وارد کند.
radar app · t-4821example
○youthe login accepts a wrong password; fix it
◆radartaskt-4821created
┊the test, written before any work:
┊
testwritten before the worknot run yet
…a wrong password→refused
…the right password→signed in
┊the working agent cannot change the test command
2
یک عامل کار را انجام میدهد
RADAR وظیفه را به یک عامل هوش مصنوعی میسپارد. عامل روی نسخه خودش از پروژه کار میکند، پس هیچ چیز دیگری دست نمیخورد.
radar app · t-4821example
○youthe login accepts a wrong password; fix it
◆radartaskt-4821created·test written first
◇agentWorking in my own copy of the project.
·▸ Read login_app/auth.py13 lines
·▸ Grep wrong_password in tests/1 match
·▸ Edit login_app/auth.py+1 −1
┊leaseclaimed attempt1/3
3
عامل میگوید تمام شد
عامل گزارش میدهد: تمام شد. RADAR این را بهعنوان یک ادعا ثبت میکند، نه یک نتیجه.
radar app · t-4821example
◇agentWorking in my own copy of the project.
·▸ Read login_app/auth.py13 lines
·▸ Grep wrong_password in tests/1 match
·▸ Edit login_app/auth.py+1 −1
◇agentdone:wrong passwords are refused now
┊radar:claim, not result·it runs the test itself
4
RADAR آزمون را خودش اجرا میکند
RADAR آزمون را خودش، روی آخرین نسخه کار، اجرا میکند و به حرف عامل اکتفا نمیکند.
radar app · t-4821example
◇agentdone:wrong passwords are refused now
┊radar:claim, not result·it runs the test itself
◆radarverifyt-4821·running the test itselfunder way
┊
testrun by radarrunning
a wrong password→…
the right password→…
5
اگر آزمون ناموفق باشد، وظیفه دوباره باز میشود
اینجا رمز نادرست هنوز شما را وارد میکند. وظیفه همراه با شرح خطا دوباره باز میشود و عامل دوباره تلاش میکند. پس از سه تلاش، عامل دیگری کار را بر عهده میگیرد؛ پس از سه تلاش دیگر، وظیفه منتظر شما میماند.
radar app · t-4821example
◇agentdone:wrong passwords are refused now
◆radarverifyt-4821·1 failedexit 1
┊
testrun by radar1 failed · exit 1
a wrong password→signed inshould be refused
the right password→signed in
┊check_login("ada", "wrong password") returned True
┊t-4821reopened· failure attached · attempt 2/3
6
آزمون موفق وظیفه را میبندد
عامل آن را درست میکند و RADAR آزمون را دوباره اجرا میکند. آزمون موفق میشود، پس وظیفه بسته میشود و دفتر ثبت گواه را نگه میدارد.
radar app · t-4821example
◇agentThe length check was not the bug: nothing compared the password with the stored hash.
·▸ Edit login_app/auth.py+2 −1
◆radarverifyt-4821·passed·judged by radar2 passed
┊
testrun by radar2 passed
a wrong password→refused
the right password→signed in
■t-4821closed·proof kept in the ledger
چرا این مهم است
عاملها ممکن است با اطمینان کامل اشتباه کنند. بدون بررسی، یک «تمام شد» نادرست به محصول و مشتریان شما میرسد. با RADAR، وظیفه زمانی تمام است که گواه این را بگوید.
radar app · t-4821example
○youthe login accepts a wrong password; fix it
◆radartaskt-4821created
┊the test, written before any work:
┊
testwritten before the worknot run yet
…a wrong password→refused
…the right password→signed in
┊the working agent cannot change the test command
○youthe login accepts a wrong password; fix it
◆radartaskt-4821created·test written first
◇agentWorking in my own copy of the project.
·▸ Read login_app/auth.py13 lines
·▸ Grep wrong_password in tests/1 match
·▸ Edit login_app/auth.py+1 −1
┊leaseclaimed attempt1/3
◇agentWorking in my own copy of the project.
·▸ Read login_app/auth.py13 lines
·▸ Grep wrong_password in tests/1 match
·▸ Edit login_app/auth.py+1 −1
◇agentdone:wrong passwords are refused now
┊radar:claim, not result·it runs the test itself
◇agentdone:wrong passwords are refused now
┊radar:claim, not result·it runs the test itself
◆radarverifyt-4821·running the test itselfunder way
┊
testrun by radarrunning
a wrong password→…
the right password→…
◇agentdone:wrong passwords are refused now
◆radarverifyt-4821·1 failedexit 1
┊
testrun by radar1 failed · exit 1
a wrong password→signed inshould be refused
the right password→signed in
┊check_login("ada", "wrong password") returned True
┊t-4821reopened· failure attached · attempt 2/3
◇agentThe length check was not the bug: nothing compared the password with the stored hash.
·▸ Edit login_app/auth.py+2 −1
◆radarverifyt-4821·passed·judged by radar2 passed
┊
testrun by radar2 passed
a wrong password→refused
the right password→signed in
■t-4821closed·proof kept in the ledger
شکل ۲ · همان مثال، از نزدیک
اتاق نقشه
همه عاملها، همه وظیفهها، در یک صفحه.
این صفحه اصلی RADAR است. پنج بخش آن در ادامه توضیح داده شده است.
radarدادههای نمونه120x36
1برای بزرگنمایی روی یک شماره بزنید.
شکل ۳ · صفحه اصلی، با دادههای نمونه
01
بالا سمت راست: CHART
نقشه
هر جزیره یک رایانه است: رایانه خودتان، یا سروری که اداره میکنید. خطچینها عاملهایی هستند که روی آن کار میکنند. دستگاهی که دیگر پاسخ نمیدهد با AGROUND علامت میخورد و روی نقشه میماند.
02
چپ: LOG
دفتر ثبت
هر وظیفه بر اساس وضعیتش شمرده میشود: در انتظار، در حال انجام یا در انتظار آزمون. همه عاملها یک دفتر ثبت مشترک دارند، پس هیچ چیز میان آنها گم نمیشود.
03
پایین سمت چپ: NEXT
کارهایی که به شما نیاز دارند
فقط تصمیمهایی که به یک انسان نیاز دارند به شما میرسند، همراه با فرمان بعدی که باید اجرا شود. هر عامل سه بار فرصت دارد، سپس عامل دیگری کار را بر عهده میگیرد؛ پس از سه بار دیگر، وظیفه اینجا منتظر شما میماند.
04
پایین سمت چپ: ARRIVALS
اول بررسی، بعد افزودن
کار تنها پس از موفقیت آزمونش به پروژه شما افزوده میشود، و پس از افزوده شدن، آزمون یک بار دیگر اجرا میشود. میلهها نشان میدهند در هر ساعت چند وظیفه افزوده شده است.
05
پایین سمت راست: COMMANDS
فرمانها و حافظه
RADAR با فهرست کوتاهی از فرمانها اداره میشود. یکی از آنها در حافظه جستوجو میکند: یادداشتهایی از آموختهها که RADAR پیش از شروع کار به عامل بعدی نشان میدهد. میتوانید آنها را در Obsidian باز کنید.
از کار خود Grit
مشاهدهشده، نه یک مقایسه کنترلشده
در کار خود Grit (۲۰ تا ۲۸ سپتامبر ۲۰۲۶)، فرایندهایی که یک عامل برنامهنویسی واحد را اجرا میکردند ۱٬۶۰۸ بار گزارش دادند که یک وظیفه تمام شده است (۱٬۴۵۷ وظیفه)؛ اجرای دوباره و فوری فرمانهای پذیرش توسط Grit روی همان سرور، در ۷۴ مورد از این گزارشها ناموفق بود (۴٫۶٪). ادعا بهتنهایی وظیفهای را نمیبندد.
۱٬۶۰۸ گزارش گفتند «تمام شد»، پس همه آنها تمامشده به حساب میآیند.آزمونها دوباره اجرا شدند: ۷۴ مورد از آن گزارشها ناموفق بودند.
یک مربع: یک گزارش از تمام شدن یک وظیفهاجرای دوباره Grit ناموفق بود
دفتر ثبت داخلی Grit، تصویر لحظهای ۲۸ سپتامبر ۲۰۲۶ ساعت ۰۶:۰۰ UTC
نسخهها
یک نسخه باز برای افراد. یک نسخه سازمانی در دست توسعه.
متنباز (Apache-2.0) هنگام انتشار عمومی
RADAR
برای توسعهدهندگان فردی، روی رایانه خودتان.
دفتر ثبت، آزمونها، حافظه، و عاملهایی که بهصورت موازی کار میکنند
Claude Code، Codex CLI، OMP و Hermes Agent را اجرا میکند
Python 3.12 یا جدیدتر؛ بدون نیاز به حساب کاربری یا فضای ابری
RADAR در مرحله دسترسی زودهنگام است. برای پیوستن، از طریق صفحه تماس یا در X یا Instagram به ما بنویسید. وقتی دسترسی گرفتید، پیوند مخزن را به عامل برنامهنویسی خود بدهید و بگویید «این را نصب کن». در مخزن گامهای نصبی آمده است که برای عاملها نوشته شدهاند: عامل رایانه شما را بررسی میکند، پیش از نصب هر چیز ناموجود از شما میپرسد، RADAR را راهاندازی میکند و نتیجه را گزارش میدهد.
آیا RADAR جای عامل برنامهنویسی من را میگیرد؟
نه. RADAR عاملهایی را که همین حالا به کار میبرید اجرا میکند و کارشان را بررسی میکند. کار را همچنان عاملها انجام میدهند. RADAR به آنها یک دفتر ثبت، یک بررسی که نمیتوانند از آن بگذرند، و یک حافظه میدهد.
وظیفه کی تمامشده به حساب میآید؟
وظیفه وقتی تمامشده است که RADAR آزمونش را روی آخرین نسخه کار اجرا کرده باشد و آزمون موفق شده باشد. «تمام شد»ِ خود عامل بهعنوان یک ادعا ثبت میشود؛ RADAR تا موفق شدن آزمون وظیفه را نمیبندد. یک انسان میتواند این را کنار بگذارد و این کار هم ثبت میشود.
کدام عاملها را اجرا میکند؟
Claude Code، Codex CLI، OMP و Hermes Agent. هر کدام در نسخه خودش از پروژه کار میکند، روی رایانه شما یا روی سرورهای Linux خودتان.
آیا RADAR از Claude Code یا Codex بهتر است؟
جایگزین آنها نیست، پس با آنها رقابت نمیکند. RADAR آنها را اجرا میکند و آنچه را تحویل میدهند بررسی میکند.
اگر خود آزمون اشتباه باشد چه؟
در آن صورت بررسی هم اشتباه است. برای همین آزمون پیش از شروع کار نوشته میشود، جایی که یک انسان بتواند آن را بخواند، و هر تغییری که بعداً در آن داده شود ثبت میشود.
آیا کد من از رایانهام خارج میشود؟
نه از طریق RADAR. RADAR به حساب کاربری یا فضای ابری نیاز ندارد، و هر سرویس بیرونی اختیاری است و تا وقتی خودتان روشنش نکنید خاموش میماند. عاملهای شما همچنان مثل امروز با ارائهدهندگان خودشان در ارتباطاند.
هزینه اجرای آن چقدر است؟
RADAR هیچ صورتحساب جداگانهای اضافه نمیکند. عاملهایی که اجرا میکند همچنان از حسابهایی استفاده میکنند که شما با آنها واردشان کردهاید، مانند یک اشتراک Claude یا ChatGPT، طبق شرایط و محدودیتهای استفاده همان ارائهدهندگان. RADAR فقط وقتی از یک API پولی استفاده میکند که خودتان ارائهدهنده و بودجه را تعیین کنید.
کد را عاملهای شما مینویسند. RADAR مطمئن میشود که کار واقعاً تمام شده است.