Microsoft 2026 সালের 7 অক্টোবর Microsoft Execution Containers (MXC)-এর সাধারণ প্রাপ্যতার ঘোষণা দেয়। AI এজেন্টের প্রস্তাবিত কমান্ড চালানো দলগুলোর জন্য বাস্তব প্রশ্ন হলো, কমান্ডটির কোন ফাইল ও নেটওয়ার্ক সংযোগ দরকার এবং কোন MXC ব্যাকএন্ড সেই সীমা কার্যকর করতে পারে। Microsoft-এর লঞ্চ-সংক্রান্ত পোস্ট সীমাবদ্ধতার লক্ষ্য ব্যাখ্যা করে; রিপোজিটরির ব্যবহারকারী নথি সেটআপের বিশদ জানায়। এই নির্দেশিকা সেই নথিগুলো অনুসরণ করেছে। BIG CHANGE MXC ইনস্টল করেনি বা সীমাবদ্ধ পরিবেশে কোনো ওয়ার্কলোড চালায়নি।

বড় পরিবর্তন

  • কী বদলেছে: ডেভেলপাররা একটি MXC SDK ইন্টারফেসে কমান্ড ও তার রিসোর্স নীতি দিতে পারেন; ইন্টারফেসটি সমর্থিত হোস্ট ব্যাকএন্ড বেছে নেয়। 7 অক্টোবরের রিলিজ এজেন্ট টুলের জন্য নথিভুক্ত একীকরণ-পথ দেয়, যাতে মডেল স্বেচ্ছায় নীতি মেনে চলবে—এমন প্রত্যাশার ওপর নির্ভর করতে হয় না।
  • কেন গুরুত্বপূর্ণ: কোনো দল কোডিং কমান্ডকে তার কাজের ডিরেক্টরিতে প্রবেশাধিকার দিতে পারে, অথচ অন্য ফাইলের অবস্থান ও বহির্গামী সংযোগগুলোকে ওয়ার্কলোডের কর্তৃত্বের বাইরে রাখতে পারে। ফল নির্ভর করে বেছে নেওয়া ব্যাকএন্ড ও হোস্টের ওপর; তাই কোনো সীমাবদ্ধতার ওপর ভরসা করার আগে ব্যাকএন্ড বাস্তবে কী কার্যকর করে তা যাচাই করা দরকার।
  • যা লক্ষ্য রাখবেন: Microsoft-এর নীতি-লেখার মোডগুলো সমর্থিত Windows ProcessContainer হোস্টে আটকে যাওয়া কাজ নির্ণয়ে সাহায্য করে। পরের বাস্তব সিদ্ধান্ত হলো প্রস্তাবিত অনুমতিটি দরকার কি না এবং নীতি সীমিত করার পর প্রোডাকশন রান প্রয়োগ-মোড ব্যবহার করছে কি না।

হোস্ট ও কমান্ড দিয়ে শুরু করুন

MXC হলো ওয়ার্কলোড চালু করা অ্যাপ্লিকেশনের সঙ্গে যুক্ত একটি লাইব্রেরি। এর README-তে Rust, .NET ও Node SDK এবং SDK এমবেড করতে পারে না এমন অ্যাপ্লিকেশনের জন্য নেটিভ এক্সিকিউটেবল তালিকাভুক্ত আছে। Node প্যাকেজে নেটিভ রানটাইম সম্পদ রয়েছে এবং Node.js 24 বা পরের সংস্করণ লাগে; Windows-এ নেটিভ stdio স্থানান্তরের জন্য রিপোজিটরিতে Node 24.21.0 বা পরের সংস্করণ, অথবা 26.8.0 বা পরের সংস্করণ নির্দিষ্ট করা আছে। পাবলিক API প্যাকেজের মূল অংশ থেকে নয়, @microsoft/mxc-sdk/v1থেকে ইমপোর্ট করা হয়। .NET প্যাকেজেও নেটিভ সম্পদ রয়েছে। Rust crate SDK, ইঞ্জিন ও নির্বাচিত ব্যাকএন্ড ব্যবহারকারী অ্যাপ্লিকেশনে বিল্ড করে। নেটিভ এক্সিকিউটেবলের জন্য সংশ্লিষ্ট প্ল্যাটফর্মের উপযোগী রিপোজিটরি বিল্ড দরকার।

নীতি লেখার আগে ব্যাকএন্ড বেছে নিন। রিপোজিটরিতে Windows 11-এর ডিফল্ট হিসেবে processcontainer, Linux-এর ডিফল্ট হিসেবে bubblewrap এবং macOS-এর ডিফল্ট হিসেবে seatbelt উল্লেখ আছে। Windows-এ wslc ও isolation_session-ও আছে; windows_sandbox, microvm এবং hyperlight পরীক্ষামূলক হিসেবে চিহ্নিত। Linux-এ নির্বাচিত রানটাইম দরকার; ডিফল্ট ব্যাকএন্ডের জন্য Bubblewrap তার একটি উদাহরণ। Windows সংস্করণ-সারণি ProcessContainer ও IsolationSession-এর ন্যূনতম বিল্ড দেখায়। যে মেশিনে কাজ চলবে সেখানে হোস্টটি পাওয়া যায় কি না এবং চাওয়া নীতিটি সমর্থিত কি না যাচাই করুন।

প্রকৃত কমান্ড, কাজের ডিরেক্টরি, যে ফাইলগুলো পড়তে ও বদলাতে হবে এবং দরকারি নেটওয়ার্ক গন্তব্য লিখে রাখুন। এগুলোকে অ্যাপ্লিকেশন বা অপারেটরের দেওয়া নীতি-ইনপুট হিসেবে ধরুন। Microsoft বলেছে, নীতি এজেন্ট ওয়ার্কলোডের বাইরে থাকে, তাই তৈরি করা কোড নিজে নিজের অনুমতি বাড়াতে পারে না। কমান্ডের প্রত্যাশিত আউটপুট হলো স্বাভাবিক stdout, stderr ও exit status, সঙ্গে SDK-এর সতর্কতা বা ঐচ্ছিক মেটাডেটা। সমর্থিত Windows ProcessContainer হোস্টে নথিভুক্ত ডায়াগনস্টিক মোডেই শুধু কার্যকলাপের প্রতিবেদন পাওয়া যায়।

Node SDK দিয়ে সীমিত নীতি ঘোষণা করুন

এই Node SDK নির্দেশিকা এই V1 কাঠামো নথিভুক্ত করেছে। সমর্থিত Node সংস্করণে চলা অ্যাপ্লিকেশনে SDK ইনস্টল করুন:

Terminal
npm install @microsoft/mxc-sdk

এই উদাহরণটি Microsoft-এর সম্পূর্ণ হওয়া পর্যন্ত চালানোর নমুনা থেকে নেওয়া। এতে অ্যাপ্লিকেশনের বর্তমান ডিরেক্টরিতে শুধু-পড়ার অনুমতি চাওয়া হয় এবং বহির্গামী সংযোগ নিষিদ্ধ করা হয়। কমান্ডটি শুধু একটি লাইন ছাপে, তাই কোনো সীমাবদ্ধতাই পরীক্ষা করে না। এটি নথিভুক্ত শুরুর উদাহরণ, BIG CHANGE-এর পরীক্ষা নয়। সীমাবদ্ধ করতে চাওয়া ওয়ার্কলোড অনুযায়ী কমান্ড ও পথ বদলান; readwritePaths শুধু যে ডিরেক্টরিগুলো বদলানো দরকার সেগুলোর জন্য ব্যবহার করুন।

TypeScript
import { getPlatformSupport, run } from '@microsoft/mxc-sdk/v1';
import type { ContainerRequest } from '@microsoft/mxc-sdk/v1';

if (!getPlatformSupport().isSupported) {
  throw new Error('MXC is not available on this host');
}

const request: ContainerRequest = {
  command: 'node -e "console.log(\'hello from container\')"',
  filesystem: { readonlyPaths: [process.cwd()] },
  network: { egress: { default: 'deny' } },
  timeoutMs: 30_000,
};

const result = await run(request);
console.log(result.stdout, result.stderr, result.exitCode, result.warnings);

run ক্যাপচার করা stdout ও stderr, exit code, timeout অবস্থা এবং সতর্কতা ফেরত দেয়। ফাইল অ্যাক্সেস আটকে গেলে ওয়ার্কলোডের কাছে তা সাধারণ access-denied ত্রুটি মনে হতে পারে; সফলভাবে শেষ হওয়া মানেই সব কাঙ্ক্ষিত সীমা পরীক্ষা হয়েছে—এমন নয়। কাজের সাফল্যের শর্ত পূরণ করতে নির্বাচিত সমর্থিত ব্যাকএন্ডে অনুমোদিত সম্পদ ব্যবহার করে এমন বিশ্বস্ত ওয়ার্কলোড চালান এবং আলাদা করে অনুমতি না থাকা সম্পদে ইচ্ছাকৃত প্রবেশের চেষ্টা করুন। এজেন্ট-তৈরি কমান্ডে নীতি ব্যবহারের আগে ফলাফল ও ডায়াগনস্টিক পরীক্ষা করুন। SDK-এর নমুনাগুলোতে ফাইলসিস্টেম অনুমতি, নেটওয়ার্ক ব্লক, আউটপুট ক্যাপচার ও প্রত্যাখ্যান লগ করার উদাহরণ আছে। এগুলোর জন্য প্রস্তুত হোস্ট দরকার। BIG CHANGE এসব ধাপ চালায়নি।

নেটিভ এক্সিকিউটর ব্যবহারকারীদের জন্য স্থিতিশীল JSON স্কিমা হলো 1.0.0; সম্পূর্ণ অনুরোধে দরকার version, কন্টেইনমেন্ট নির্বাচন এবং process.commandLine। বর্তমান ডেভেলপমেন্ট স্কিমা 1.1.0-alpha। V1 SDK নিজেই wire contract বেছে নেয়, তাই টাইপ করা ContainerRequest-তে নেটিভ স্কিমার সংস্করণ দেবেন না। স্কিমা নির্দেশিকায় আরও বলা আছে, network.defaultPolicy ও allowedHosts-এর মতো পুরোনো ফিল্ড বাতিল হয়েছে। বর্তমান নীতি দিক-নির্দিষ্ট network.egress ও network.ingress ব্যবহার করে; সরাসরি নিয়ম ও রানটাইম প্রক্সির আচরণ এবং ব্যাকএন্ড-সমর্থন এক নয়।

প্রত্যাখ্যান নির্ণয় করুন, তারপর নীতি কার্যকর করুন

Microsoft-এর 7 অক্টোবরের মোড-সারণি তিনটি ফল আলাদা করে। Enforcement মোড অনুমতি না থাকা প্রবেশ আটকে দেয় এবং কার্যকলাপের প্রতিবেদন তৈরি করে না। Learning মোড অনুমতি না থাকা প্রবেশ আটকে দিয়ে নথিভুক্ত করে। Permissive মোড নীতি অনুযায়ী যে প্রবেশ আটকে যেত তা নথিভুক্ত করে, কিন্তু চলতে দেয়। Microsoft-এর প্রত্যাখ্যান-ক্যাপচার রেফারেন্স এসব Learning সুবিধা AppContainer-ভিত্তিক Windows ProcessContainer পথেই সীমিত রেখেছে। শুধু একই নীতি-ফিল্ড গ্রহণ করলেই অন্য হোস্ট সমতুল্য প্রতিবেদন দেয় না।

নীতি তৈরির সময় বিশ্বস্ত টুলের জন্য Windows নেটিভ এক্সিকিউটরে একটি --audit প্রবাহ আছে, যা নীতির আর্টিফ্যাক্ট তৈরি করতে পারে। Microsoft সতর্ক করেছে, বিশ্লেষণাধীন ওয়ার্কলোডের স্যান্ডবক্স নিরাপত্তা এতে বন্ধ হয়ে যায়, তাই অবিশ্বস্ত কমান্ডে এটি উপযুক্ত নয়। হোস্ট সমর্থন করলে প্রত্যাখ্যানসহ রেকর্ড করা বেশি নিরাপদ ডায়াগনস্টিক পথ: প্রবেশের চেষ্টা আটকে থাকে এবং প্রতিবেদনে কী প্রত্যাখ্যাত হয়েছে দেখা যায়। রেকর্ড করা প্রতিটি পথ বা সক্ষমতা কাজটির সঙ্গে মিলিয়ে দেখুন, কমান্ডের প্রয়োজনীয়টুকুই অনুমোদন দিন এবং চূড়ান্ত ওয়ার্কলোড Enforcement মোডে চালান। প্রতিবেদনে সংবেদনশীল সম্পদের নাম প্রকাশ পেতে পারে; সে অনুযায়ী সেগুলো সামলান।

ব্যাকএন্ড নির্বাচন নীতির নিশ্চয়তার পরিধি বদলে দেয়। স্কিমা নির্দেশিকা বলেছে, isolation_session নেটওয়ার্ক সীমিত করতে পারে না এবং নেটওয়ার্ককে স্পষ্টভাবে অবাধ রাখতে হয়। আরও বলা হয়েছে, UI সীমাবদ্ধতা Windows ProcessContainer ও macOS Seatbelt কার্যকর করে, অন্য ব্যাকএন্ডগুলো তা বাস্তবায়ন করে না; WSLC ও IsolationSession দেওয়া UI নীতি প্রত্যাখ্যান করে। Seatbelt নির্দেশিকা বলেছে macOS-এর নেটিভ প্রোফাইল আলাদা দূরবর্তী হোস্ট ফিল্টার করতে পারে না; Bubblewrap নির্দেশিকা Linux রানটাইম ও নেটওয়ার্কের পূর্বশর্ত ব্যাখ্যা করে। তাই একাধিক SDK ধরন একই JSON ফিল্ড গ্রহণ করলেই সর্বত্র সমান প্রয়োগ প্রমাণিত হয় না। নির্বাচিত ব্যাকএন্ডের নির্দেশিকা দেখুন এবং লক্ষ্য হোস্টে অনুরোধ যাচাই করুন।

Microsoft-এর রিপোজিটরিতে MIT লাইসেন্স আছে, তবে ব্যবহারকারী নথিতে MXC প্যাকেজের দাম উল্লেখ নেই। হোস্ট, কম্পিউটিং এবং মডেল সরবরাহকারীর খরচ আলাদা। Windows ঘোষণায় MXC-কে সাধারণভাবে উপলভ্য বলা হলেও কয়েকটি ব্যাকএন্ড বিকল্প এখনও পরীক্ষামূলক এবং নেটিভ ডেভেলপমেন্ট স্কিমা আলফা পর্যায়ে। ওয়ার্কলোড কোথায় চালাবেন তা ঠিক করার সময় এই রিলিজ-পর্যায়গুলো আলাদা করে বিবেচনা করুন।

সূত্র ও আরও পড়ুন

  • Microsoft Windows Developer Blog, 7 অক্টোবর 2026লঞ্চের ঘোষণা, এজেন্টে ব্যবহারের উদ্দেশ্য এবং তিনটি মোডের সংজ্ঞার ভিত্তি। এটি Microsoft-এর পণ্যবর্ণনা, BIG CHANGE-এর নিরাপত্তা পরীক্ষা নয়।
  • MXC রিপোজিটরি READMESDK, হোস্টের ডিফল্ট, পরীক্ষামূলক ব্যাকএন্ড, বিল্ডের পূর্বশর্ত ও নেটিভ এক্সিকিউটর-পথ তালিকাভুক্ত করে। রিপোজিটরি বদলায়; বিশদ 8 অক্টোবর 2026-এ যাচাই করা হয়েছে।
  • Node SDK ব্যবহারকারী নির্দেশিকাNode-এর পূর্বশর্ত, V1 ইমপোর্ট, টাইপ করা অনুরোধ এবং ক্যাপচার করা আউটপুট নির্দিষ্ট করে। ওপরের কোডটি এর নমুনা থেকে নেওয়া; এখানে চালানো হয়নি।
  • কনফিগারেশন স্কিমা নির্দেশিকাস্থিতিশীল নেটিভ JSON 1.0.0 এবং পরিবর্তনশীল 1.1.0-alpha আলাদা করে; নীতি-ফিল্ড ও ব্যাকএন্ডভিত্তিক সীমাও নথিভুক্ত করে।
  • Learning মোড ও প্রত্যাখ্যান-ক্যাপচার রেফারেন্সWindows ProcessContainer ডায়াগনস্টিক নথিভুক্ত করে এবং Permissive অডিটের ঝুঁকি সম্পর্কে সতর্ক করে। প্রতিবেদন হোস্ট ও মোডভেদে বদলায়।
  • ব্যাকএন্ড নির্দেশিকা এবং Windows সংস্করণ-সারণি নির্দিষ্ট হোস্ট যাচাইয়ের জন্য প্রয়োজনীয় রেফারেন্স; এই নিবন্ধ পাঠকের মেশিনের কোনো কনফিগারেশন প্রত্যয়িত করে না।