Meta রিলিজ করেছে Muse Spark 1.2 — কোডিংয়ের জন্য অপটিমাইজ করা মডেল, আর Muse Code — সেটা চালানোর জন্য বানানো টার্মিনাল-ভিত্তিক কোডিং এজেন্ট (এখন বিটা)। এক কমান্ডে ইনস্টল হয়, একটা prompt থেকে কাজ ভাগ হয়ে যায় একাধিক subagent-এ, প্রত্যেকে নিজের আলাদা git worktree-তে চলে বলে কেউ কারও ফাইলে ধাক্কা খায় না। ১M টোকেনের কনটেক্সট, প্রতিটা অ্যাকশনের রিপ্লে-করার-মতো লগ, আর চারটা বিল্ট-ইন skill। নিচে ইনস্টল থেকে শুরু করে হাতে-কলমে উদাহরণ পর্যন্ত সব কমান্ড দেওয়া আছে।
Muse Spark 1.2-তে নতুন কী
Muse Spark 1.2 হলো ১.১-এর ওপর একটা মাঝারি মাপের উন্নতি, তবে সেটা ঠিক সেই ধরনের কাজের জন্য যেগুলো কোডিং এজেন্টের ঘাড়ে সবচেয়ে বেশি পড়ে — একাধিক ফাইল জুড়ে refactor, লম্বা ডিবাগিং সেশন, আর এমন কাজ যা একটা prompt-এর সীমা অনেক আগেই ছাড়িয়ে যায়।
যে তিন জায়গায় সবচেয়ে বড় পার্থক্য:
- এজেন্টের সঙ্গে একসাথে ট্রেন করা। Muse Code প্রথম দিন থেকেই ট্রেনিং লুপের ভেতরে ছিল, তাই tool call ঠিকঠাক কাজ করে আর plan পরিষ্কারভাবে execute হয়। একাধিক harness জুড়ে ট্রেন করা বলে অন্য কোডিং এজেন্টেও চলে, তবে Muse Code-এ সবচেয়ে ভালো।
- লম্বা কাজের জন্য তৈরি। পুরো রিপোজিটরি জেনারেশনসহ দীর্ঘ কাজে ট্রেন করা; planning, goal conditioning আর context compaction দিয়ে ঘণ্টার পর ঘণ্টা দিক ধরে রাখে। asynchronous ও parallel tool call থাকায় আগের ফল আসার অপেক্ষায় বসে থাকে না।
- পুরো প্রজেক্টের কনটেক্সট। ১M টোকেনের উইন্ডোতে dependency graph, legacy code আর হাজার হাজার ফাইল একই সেশনে ধরে রাখা যায়।
/effort দিয়ে ভাবনার মাত্রা বাড়ানো-কমানো যায়, তাই সহজ কাজে গভীর reasoning-এর জন্য বাড়তি টাকা দিতে হয় না।বেঞ্চমার্ক ও দাম
নিজের শ্রেণির অন্য মডেলগুলোর পাশে Muse Spark 1.2 কেমন দাঁড়ায়, চারটি বেঞ্চমার্কে:

Muse Code শুরু হয় contributor tier-এ। এখানে রেট-লিমিট রিকোয়েস্টের সংখ্যা ধরে নয়, রোলিং ৫ ঘণ্টার উইন্ডোতে টোকেন ধরে — তাই দৈনন্দিন কাজে এজেন্টটা দিব্যি ব্যবহার করা যায়। দাম ঠিক হয় model ID অনুযায়ী:
| মডেল | যেভাবে কাজ করে | দাম (প্রতি ১M টোকেন) |
|---|---|---|
muse-spark-1.2-contributor | রোলিং ৫ ঘণ্টার উইন্ডোতে টোকেন-ভিত্তিক রেট লিমিট। ডেটা প্রোডাক্ট উন্নত করতে ব্যবহৃত হতে পারে। নির্দিষ্ট কিছু দেশে। | ইনপুট $0.10 · cached $0.002 · আউটপুট $0.20 |
muse-spark-1.2 | স্ট্যান্ডার্ড Model API, pay-as-you-go | ইনপুট $1.25 · cached $0.15 · আউটপুট $4.25 |

বেশি টোকেন দরকার হলে /model দিয়ে muse-spark-1.2-তে সরে যান। যাঁদের ডেটা একেবারেই রাখা যাবে না, তাঁদের জন্য zero data retention-এর অনুরোধও Meta নেওয়া শুরু করেছে।
ইনস্টল করে শুরু করা
Muse Code চলে Model API-র ওপর, কিন্তু শুরু করতে হয় নিজের টার্মিনাল থেকেই। একটা কমান্ড:
curl -fsSL https://dev.meta.ai/install.sh | bashইনস্টল শেষ হলে ব্রাউজারে প্রম্পট আসবে — dev.meta.ai-তে গিয়ে অথেন্টিকেট করুন। তারপর আপনার যেকোনো প্রজেক্ট ফোল্ডারে গিয়ে টার্মিনালে muse লিখলেই কাজ শুরু।
এক কাজ ছড়িয়ে দিন অনেক subagent-এ
Muse Code একটা সাদামাটা প্যাটার্নের ওপর দাঁড়ানো: একটা কাজ যখন কয়েকটা আলাদা টাস্কে ভাগ হয়ে যায়, সেগুলো আপনাআপনিই আলাদা এজেন্টের কাছে ছড়িয়ে দেওয়া হয়। প্যারেন্ট এজেন্ট প্রতিটা টাস্কের জন্য একটা করে লিখতে-পারা চাইল্ড তৈরি করে, আর প্রতিটা চাইল্ড পায় নিজের git worktree। ফলে সমান্তরালে চলা চাইল্ডরা কখনো একই ফাইলে ধাক্কা খায় না, আর আপনার working copy-তে কেউ হাত দেয় না।
সবচেয়ে ভালো ব্যাপার — এসবের কিছুই আপনাকে সেট আপ করতে হয় না। শুধু isolation চালু করে একটা git repo-র ভেতর থেকে শুরু করুন:
cd /path/to/your/repo
muse --subagent-worktree-isolationহাতে-কলমে: Bastion Breaker
Meta-র cookbook রিপোতে bastion_breaker/ নামে একটা স্যাম্পল প্রজেক্ট আছে — সত্যিকারের খেলার মতো একটা গেম, যার কোরটা বিশুদ্ধ সিমুলেশন (game/engine.py, pygame ছাড়া)। ফলে উইন্ডো না খুলেই নিয়মগুলো টেস্ট করা যায়।
cd bastion_breaker
pip install -r requirements.txt
SDL_VIDEODRIVER=dummy python3 -m pytest tests/ -q # headless, no windowযে নিয়মটা পরীক্ষার আওতায়: প্লেয়ার প্রতি শটে একটা ইট ভাঙে, কিন্তু শত্রুর লেজার ইট ভাঙতে পারবে না — কারণ শত্রুরা ওই ইটের দুর্গের পেছনেই লুকিয়ে থাকে। স্যাম্পলটা ইচ্ছে করেই এই নিয়ম ভাঙা অবস্থায় দেওয়া। tests/test_rules.py-তে তিনটা চেক আছে, আর যেভাবে কোডটা দেওয়া তাতে ঠিক একটা ফেল করে।
ব্যর্থতাটা পর্দাতেও চোখে পড়ে — শত্রুর নিজের গোলাগুলিই যে দেয়ালের পেছনে তার লুকানোর কথা, সেটাকে কুরে কুরে খায় (বাঁদিকে)। ঠিক করা বিল্ডে দেয়াল অক্ষত থাকে, শত্রুর গুলি তার ভেতর দিয়ে বেরিয়ে যায় (ডানদিকে):

ফিচারের পুরো তালিকাটা দাঁড়াচ্ছে ছয়টায়:
- enemy-laser-destroys-bricks বাগটা ঠিক করা
- high-score persistence যোগ করা
- সারি অনুযায়ী ইটগুলোকে বহুরঙা করা
- ইট ভাঙার particle effect যোগ করা
- combo multiplier যোগ করা
- ভাঙা ইট থেকে power-up drop যোগ করা
এবার পুরো ব্যাচটা এক prompt-এ প্যারেন্টের হাতে তুলে দিন — প্রতিটা ফিচার নিজে থেকেই নিজের subagent পেয়ে যাবে:
This repo (Bastion Breaker) is a brick-out x space-invaders game. World rule: the player breaks bricks, but ENEMY lasers must NOT destroy bricks. There is a bug where enemy lasers do destroy bricks (game/engine.py _resolve_laser). Fan this work out to parallel subagents, each in its OWN isolated git worktree.
Spawn one write-capable subagent WITH worktree_isolation for EACH task: (1) fix the enemy-laser-destroys-bricks bug, (2) add high-score persistence, (3) make bricks multi-colored by row from assets/bricks/*.png, (4) add a brick-shatter particle effect, (5) add a combo multiplier, (6) add a power-up drop from a broken brick. Spawn all 6 now, then call subagent_status and show me the roster.প্যারেন্ট ছ’টা চাইল্ড তৈরি করে। ওই হোস্টে concurrency লিমিট দাঁড়ায় চারে, তাই চারটা সঙ্গে সঙ্গে চলতে শুরু করে; ৫ আর ৬ নম্বর লাইনে দাঁড়িয়ে থাকে, স্লট খালি হলেই চালু হয়ে যায়। subagent_status পুরো তালিকাটা ফিরিয়ে দেয়:

Isolation-টা ডিস্কে সত্যি সত্যিই আছে — runtime প্রতিটা worktree বানায় .muse/worktrees/-এর নিচে, detached-HEAD অবস্থায়, প্যারেন্টের HEAD থেকে checkout করে, কোনো হাতে-লেখা git worktree কমান্ড ছাড়াই। এই রানে যে চাইল্ডটা বাগ ঠিক করেছিল সে নিজের worktree-র ভেতর পুরো টেস্ট স্যুট পাশ করে, অথচ প্যারেন্টের master-এ সেই একই টেস্ট তখনো ফেল করছে — কেউ তাকে ছোঁয়নি।
কোনো চাইল্ডের কাজ শেষ হলে প্যারেন্টের turn ফাঁকা হওয়ামাত্র তার ফলাফল আপনাআপনি ফিরে আসে; চাইলে subagent_wait দিয়ে কারও জন্য অপেক্ষাও করতে পারেন। প্রতিটা চাইল্ড নিজের branch-এ commit করে, তাই একটা একটা করে রিভিউ বা merge করা যায়। এই যে বহুরঙা ইটের ফিচারটা (৩ নম্বর টাস্ক) চলছে — সেই একই worktree-তে বাগটা ততক্ষণে ঠিক হয়ে গেছে:

এজেন্ট কী কী করল, সব দেখুন
একদল subagent-এর হাতে কাজ ছেড়ে দিতে একটু অস্বস্তি হয় — তারা ঠিক কী করবে তা ১০০% নিশ্চিত হওয়ার উপায় নেই। এই কারণেই Muse Code সবকিছু লগ করে: সেশন, এজেন্ট spawn, প্রতিটা অ্যাকশন, আর প্রতিটা সিদ্ধান্ত। কোন চাইল্ড কখন কী করেছিল তা নিয়ে ধন্দে পড়লে খুঁজে খুঁজে সময় নষ্ট না করে সোজা লগেই দেখে নিতে পারবেন।
ডিস্কে এটা নিছক JSONL, তাই jq দিয়েই কাজ চলে:
F=~/.local/share/muse/sessions/$(date +%Y/%m/%d)/*/session.jsonl
jq -c 'select(.payload.event.kind | test("reminder")) | .payload.event' $Fপ্রতিটা worktree-র জীবনচক্রও ওখানেই থাকে — operation_requested → prepared → lease_active → workspace_scope_activated — সঙ্গে তার base commit আর cleanup policy। সেশনগুলো ল্যাপটপ বন্ধ করলেও টিকে থাকে।
এই একই লগের জোরে muse resume কমান্ডটা কাজ করে। সেশন হঠাৎ মরে গেলে বা ক্র্যাশ করলে resume দিয়ে পরের সেশন লগটা পড়ে নেয় আর শেষ যে ধাপটা রেকর্ড হয়েছিল সেখান থেকে এগোতে থাকে। এজেন্ট যা যা করেছে সবই ডিস্কে আছে, তাই তাকে আবার নতুন করে বুঝিয়ে বলতে হবে না।
চারটি বিল্ট-ইন skill
Muse Code-এর সঙ্গেই আসে কয়েকটা মতামতসম্পন্ন playbook, যাতে এক লাইনের কাঁচা আইডিয়া থেকেও দ্রুত কাজ এগোনো যায়:
/taste— একটা anti-slop ফিল্টার। কোন কোন ভিজ্যুয়াল ডিফল্ট ব্যবহার করা যাবে না, তার সোজাসাপ্টা চেকলিস্ট, যাতে জেনারেট করা UI দেখে আর মেশিনে-বানানো মনে না হয়।/grilling— একটার পর একটা সিদ্ধান্ত-চাপানো প্রশ্ন করে আপনাকে জেরা করতে থাকে, যতক্ষণ না ডিজাইনটা দাঁড়ায়।/grill-with-docs— সেই একই জেরা, তবে মীমাংসা হওয়া সিদ্ধান্তগুলো প্রজেক্ট ডকে লিখে রাখে। চ্যাটের স্ক্রলে হারিয়ে যাওয়া কথা নয়, স্থায়ী decision record।/plan— আপনার আসল ফাইলগুলোর ভিত্তিতে plan দাঁড় করায়, মূল সিদ্ধান্তগুলো চিহ্নিত করে প্রত্যেকটার জন্য সুপারিশ দেয়,.agents/plans/-এ সেভ করে, আর অনুমোদনের জন্য থেমে যায়। কোডে কোনো পরিবর্তন করে না।
/grill ধরে বসবে না। আর কোনো skill তার পুরো নির্দেশনা লোড করে শুধু সেই turn-টার জন্যই, যেটাতে আপনি ডেকেছেন — TUI-তে Loaded skill <name> built-in লাইন দেখে বোঝা যায় কোন turn কোন skill-এ গড়া।Meta-র ডেমোতে /plan planning-এর আগে আসল কোডটা পড়ে নেয়, এবং ধরে ফেলে যে একটা যাচাই-না-করা deposit থাকলে একটা negative transfer ঠিক সেই overdraft protection-এর ফাঁক গলে বেরিয়ে যাবে যেটা তখন ডিজাইন করা হচ্ছে। ঠিক এই ধরনের সিদ্ধান্তই বানানোর পরে নয়, বানানোর আগে সামনে আসা দরকার:

সচরাচর জিজ্ঞাসা
Muse Code কি বাংলাদেশ থেকে ব্যবহার করা যাবে?
Muse Spark 1.2 এখন Muse Code, Meta Model API আর OpenRouter — তিন জায়গাতেই বিশ্বব্যাপী খোলা। তবে সস্তা contributor টিয়ারটি Meta শুধু নির্দিষ্ট কিছু দেশে দিচ্ছে। ওটা না পেলে স্ট্যান্ডার্ড Model API-র pay-as-you-go দামে চালানো যাবে।
এটা কি Claude Code বা Codex-এর মতোই?
ধারণা একই — টার্মিনালে চলা কোডিং এজেন্ট। পার্থক্য মূলত দুটো জায়গায়: subagent-প্রতি আলাদা git worktree আপনাআপনি তৈরি হয়, আর প্রতিটা অ্যাকশন JSONL লগে জমা থাকে বলে পরে jq দিয়ে অডিট বা muse resume দিয়ে ফিরে যাওয়া যায়। বেঞ্চমার্কে Opus 5 এখনো এগিয়ে, Muse Spark 1.2 তার ঠিক পরেই।
subagent-রা আমার কোড নষ্ট করে দেবে না তো?
worktree isolation চালু থাকলে প্রতিটা চাইল্ড .muse/worktrees/-এর নিচে নিজের আলাদা কপিতে কাজ করে, detached HEAD-এ। আপনার working copy অস্পৃশ্য থাকে। প্রত্যেকে নিজের branch-এ commit করে, তাই আপনি দেখে-শুনে একটা একটা করে merge করবেন।
reasoning মডেল বলে খরচ কি অনেক বেড়ে যাবে?
ভাবনার টোকেনগুলো output হিসেবেই বিল হয়, তাই হ্যাঁ — গভীর reasoning-এ খরচ বাড়ে। এজন্যই /effort কমান্ডটা আছে। সহজ কাজে effort কমিয়ে রাখুন, কঠিন ডিবাগিংয়ে বাড়ান।
আমার কোড কি Meta-র ট্রেনিংয়ে যাবে?
contributor টিয়ারে ডেটা প্রোডাক্ট উন্নত করতে ব্যবহৃত হতে পারে, স্ট্যান্ডার্ড টিয়ারে নয়। যাঁদের একেবারেই ডেটা রাখা যাবে না, তাঁরা Meta sales-এর কাছে zero data retention-এর অনুরোধ করতে পারেন।
তথ্যসূত্র: Meet Muse Spark 1.2 and Muse Code — AI Developers blog, Meta (০৫ আগস্ট ২০২৬)।
