আপনার স্ট্যাকের কোথাও না কোথাও একটি এজেন্ট ইতিমধ্যে সেই সংখ্যাটি তৈরি করেছে যা একদিন একজন অডিটরের সামনে উপস্থিত হবে। এটি সংখ্যাটি গণনা করেছে — অথবা তৈরি করেছে; আপনি হয়তো জানেন না কোনটি — কেউ সেটি একটি ডেকে পেস্ট করেছে, এবং ডেকটি পাঠানো হয়েছে। মাস পরে আসে সেই প্রশ্ন যা প্রতিটি প্রোডাকশন AI সিস্টেম শেষ পর্যন্ত পায়: এই সংখ্যাটি কোথা থেকে এসেছে, এবং আজও কি আমরা এটি পাব?
বেশিরভাগ দল একটি ট্রান্সক্রিপ্ট দিয়ে উত্তর দেয়। প্রোডাকশনে AI এজেন্ট চালানো ৪২০টি প্রতিষ্ঠানের উপর ২০২৬ সালের Q1 জরিপে, মাত্র ১৭% পরবর্তীতে একটি নির্দিষ্ট এজেন্ট কাজের পেছনে টুল কল, ইনপুট এবং আউটপুটের সম্পূর্ণ ক্রম পুনর্গঠন করতে পেরেছে (AgentNode, 2026)। বাকি ৮৩%-এর কাছে ছিল আংশিক লগ, কোনো লগই নেই, অথবা লগ যা মডেলের যুক্তি ধারণ করেছে কিন্তু এটি আসলে কী চালু করেছিল তা নয়। একটি ট্রান্সক্রিপ্ট এবং একটি অনুভূতি।
রেকর্ড আইনে পরিণত হচ্ছে
কিছুকাল এটি একটি ইঞ্জিনিয়ারিং বিব্রত ছিল। এটি শীঘ্রই একটি আইনি বিব্রতে পরিণত হতে চলেছে।
EU AI Act উচ্চ-ঝুঁকির AI সিস্টেমগুলিকে প্রযুক্তিগতভাবে সক্ষম করতে বাধ্য করে — পরে যোগ করা নয়, ডিজাইনেই অন্তর্ভুক্ত — "সিস্টেমের জীবনকাল জুড়ে ঘটনার স্বয়ংক্রিয় রেকর্ডিং (লগ)" (European Commission, 2024)। ম্যানুয়াল রেকর্ড-রক্ষণ আর্টিকেল ১২ পূরণ করে না। লগগুলি অবশ্যই ঝুঁকি বা উল্লেখযোগ্য পরিবর্তন উপস্থাপন করতে পারে এমন পরিস্থিতি চিহ্নিত করতে, বাজার-পরবর্তী পর্যবেক্ষণ সমর্থন করতে এবং সিস্টেমটি আসলে কীভাবে পরিচালিত হয় তা পর্যবেক্ষণ করতে যথেষ্ট ভালো হতে হবে। দূরবর্তী বায়োমেট্রিক সনাক্তকরণের জন্য, আর্টিকেলটি সরাসরি ন্যূনতম নির্দিষ্ট করে: ব্যবহারের প্রতিটি সময়কাল, যাচাই করা রেফারেন্স ডেটাবেস, একটি মিলের দিকে নিয়ে যাওয়া ইনপুট ডেটা, ফলাফল যাচাই করা ব্যক্তিরা। এটি "কিছু লগ রাখুন" নয়। এটি হলো সিদ্ধান্তটি পুনর্গঠন করুন।
তারিখগুলি কাছে। আইনটি ২০২৪ সালের ১ আগস্ট কার্যকর হয়েছে; নিষেধাজ্ঞাগুলি ফেব্রুয়ারি ২০২৫ থেকে প্রযোজ্য হয়েছে, সাধারণ-উদ্দেশ্য মডেলের বাধ্যবাধকতাগুলি আগস্ট ২০২৫ থেকে — এবং উচ্চ-ঝুঁকির বাধ্যবাধকতাগুলি, আর্টিকেল ১২ সহ, ২০২৬ সালের ২ আগস্ট থেকে প্রযোজ্য হবে (Future of Life Institute, 2026)। এই পোস্টের তারিখ থেকে আট দিন। নিয়ন্ত্রিত পণ্যে (Annex I) এমবেড করা উচ্চ-ঝুঁকির সিস্টেমগুলি আগস্ট ২০২৭ থেকে অনুসরণ করবে।
ধারণ করারও একটি ন্যূনতম সীমা আছে। প্রদানকারীদের অবশ্যই স্বয়ংক্রিয়ভাবে তৈরি লগগুলি কমপক্ষে ছয় মাস রাখতে হবে, এবং আর্টিকেল ২৬(৬) ডিপ্লয়ারদের উপর প্রতিফলিত দায়িত্ব রাখে — যেখানে GDPR-এর মতো অন্য আইন দীর্ঘ সময় দাবি করে সেখানে আরও দীর্ঘ, এবং প্রতিটি ক্ষেত্রে সিস্টেমের উদ্দেশ্যমূলক উদ্দেশ্যের জন্য উপযুক্ত, শুধু ন্যূনতম নয় (artificialintelligenceact.eu, 2024)।
এর কিছুই শূন্যে আসে না। GDPR আর্টিকেল ৩০ ২০১৮ সাল থেকে প্রক্রিয়াকরণের লিখিত রেকর্ড প্রত্যাশা করে আসছে — উদ্দেশ্য, ডেটার বিভাগ, প্রাপক, মুছে ফেলার সময়সীমা, নিরাপত্তা ব্যবস্থা — অনুরোধে তত্ত্বাবধায়ক কর্তৃপক্ষের কাছে উপস্থাপনযোগ্য (gdpr-info.eu, 2016)। SOC 2-এর CC7.2 প্রত্যাশা করে যে আপনি অস্বাভাবিকতার জন্য সিস্টেম উপাদানগুলি পর্যবেক্ষণ করবেন এবং আপনি যা খুঁজে পান তা বিশ্লেষণ করবেন; CC7.3 প্রত্যাশা করে যে আপনি মূল্যায়ন করবেন কোনো ঘটনা আপনার উদ্দেশ্যকে আপোস করেছে কিনা (AICPA, 2022)। একটি Type II অডিটে সেই মানদণ্ডগুলি সম্পূর্ণ পর্যালোচনা সময়কাল জুড়ে লগ প্রমাণের বিপরীতে পরীক্ষা করা হয় — সাধারণত বারো মাসের (AgentNode, 2026) — অডিটর পরিদর্শনের দিনের একটি স্ক্রিনশট নয়।
কেন "আরও লগ করুন" ব্যর্থ হয়
প্রতিফলিত প্রতিক্রিয়া হলো বাচালতা: ট্রেসিং চালু করুন, সবকিছু সংরক্ষণ করুন, একটি ড্যাশবোর্ড কিনুন। তিনটি সমস্যা এরপরেও থেকে যায়।
ট্রান্সক্রিপ্ট কী বলা হয়েছিল তা রেকর্ড করে, কী চলেছিল তা নয়। একটি চ্যাট লগ হলো মডেল তার নিজের আচরণ বর্ণনা করছে। উপরের ৮৩%-এর মধ্যে, একটি বালতি ঠিক এটিই: যুক্তি ধারণ করা হয়েছে, টুল ইনভোকেশন নয়। যখন বর্ণনা এবং কার্যকরী ভিন্ন হয়, ট্রান্সক্রিপ্ট সরল মুখ রাখে — গণনা করা এবং তৈরি করা পৃষ্ঠায় একইভাবে পড়া যায়। এগুলি একই জিনিস নয়।
একটি লগ যা আপনি পুনরায় চালাতে পারবেন না তা সাক্ষ্য নয়, প্রমাণ। এমনকি যে দলগুলি প্রতিটি টুল কল ধারণ করে তারাও সাধারণত একটি আবার চালাতে এবং তুলনা করতে পারে না, কারণ কিছুই সেই পরিবেশটি পিন করেনি যেখানে এটি চলেছিল। SQL সেই দিন নতুনভাবে তৈরি হয়েছিল, একটি ডেটাবেসের বিপরীতে যা তখন থেকে এগিয়ে গেছে; গাণিতিক একটি মডেল থেকে নমুনা নেওয়া হয়েছিল যা শুরু থেকেই স্থিতিশীল ছিল না। ছয় মাস — বা বারো মাস — ধরে সেটি ধরে রাখা মানে দাবিগুলি দীর্ঘ সময় সংরক্ষণ করা, সেগুলি যাচাইযোগ্য করা নয়। আর্টিকেল ১২-এর ভাষা সুনির্দিষ্ট: সিস্টেমকে অবশ্যই রেকর্ডিং প্রযুক্তিগতভাবে সক্ষম করতে হবে। ডিজাইনে অন্তর্ভুক্ত না করা পুনরুৎপাদনযোগ্যতা একটি লগিং লাইব্রেরি দিয়ে পরে যোগ করা যায় না।
মেটাডেটা সঠিকতা নয়। ন্যূনতম কার্যকর অডিট রেকর্ড — ছয়টি মূল ক্ষেত্র, যার মধ্যে ট্রেস ID, টাইমস্ট্যাম্প এবং এজেন্ট পরিচয় (AgentNode, 2026) — কে এবং কখন প্রতিষ্ঠা করে। এটি সংখ্যাটি সঠিক ছিল কিনা, বা আজও একই আসবে কিনা সে সম্পর্কে কিছু বলে না। LLM-এজেন্ট পর্যবেক্ষণযোগ্যতার গবেষণা একই জায়গায় পৌঁছায়: ট্রেসযোগ্যতাকে অবশ্যই সম্পূর্ণ এজেন্ট জীবনচক্রের আর্টিফ্যাক্টগুলি কভার করতে হবে, শুধু বার্তাগুলি নয় (CSIRO Data61, 2024)।
ব্যর্থতা কাঠামোগত। মুক্ত-রূপ কার্যকরী — একটি মডেল স্ট্রিং নির্গত করছে যা অন্য কিছু চালায় — রেকর্ড করার জন্য যথেষ্ট স্থিতিশীল কিছু তৈরি করে না, আপনি যতই লিখে রাখুন না কেন।
ফলাফলের অংশ হিসেবে প্রভেন্যান্স
SQAI-এর উত্তর হলো রেকর্ডটিকে লগিংয়ের একটি বৈশিষ্ট্যের পরিবর্তে কার্যকরীর একটি বৈশিষ্ট্য করা। প্রতিটি কার্যকৃত ফলাফল চারটি হ্যাশ বহন করে, প্রতিটি একটি স্বতন্ত্র অডিট প্রশ্নের উত্তর দেয়:
contract_hash— কী চলতে পারত: কার্যকরী ক্ষমতা চুক্তি (sha256:79f1c5a6c716…)।plan_hash— অনুরোধটি কীতে রূপান্তরিত হয়েছিল: যাচাইকৃত পরিকল্পনা, তার রেজোলিউশন রেকর্ড সহ (decision_path: "exact_spec")।invocation_hash— কী চলেছিল, কীসের উপর: ক্ষমতা এবং ক্যানোনিকালাইজড ইনপুট, ডেটারinput_hashসহ যেমন ছিল।computation_hash— কী বেরিয়ে এসেছিল: ইনভোকেশন এবং মান একসাথে আবদ্ধ।
নির্মাণগুলি ডোমেন-বিভক্ত, তাই কোনো আর্টিফ্যাক্ট অন্যটির ছদ্মবেশ ধারণ করতে পারে না:
invocation_hash = sha256("sqai:invocation:v1\0" + canonicalJson(identity))
computation_hash = sha256("sqai:computation:v1\0" + invocation_hash + canonicalJson(value))
হ্যাশগুলির পাশাপাশি নির্ধারণবাদ এনভেলপ থাকে — রেকর্ড করা কার্যকরী পরিবেশ: runtime_bundle_version 0.1.0 এবং তার sha256, প্ল্যাটফর্ম এবং আর্কিটেকচার, precision_mode: float64, thread_count: 1, এবং যেখানে প্রয়োজন সেখানে সিড। দশটি সিমুলেশন ক্ষমতা যেগুলির একটি প্রয়োজন সেগুলি এটি ছাড়া চলতে অস্বীকার করে — seed_required, নীরবে ভিন্ন উত্তর নয়। সংখ্যাটি পরিবর্তন করতে পারে এমন সবকিছু হয় পিন করা বা লিখে রাখা।
এটি কংক্রিটভাবে কী দেয় তা এখানে। মার্চে, একটি এজেন্ট একটি নেট বর্তমান মূল্য গণনা করে:
finance.npv(0.1, [-1000, 300, 420, 560, 680])
→ 505.020148896933
computation_hash b74f67d0d7a594aa…
জুলাইতে, অডিটর জিজ্ঞেস করেন। আপনি ইনভোকেশনটি রিপ্লে করেন — একই টাইপড স্পেক, একই পিন করা রানটাইম — এবং হ্যাশ তুলনা করেন: আবার b74f67d0d7a594aa…, বাইট-অভিন্ন। রিপ্লেটি TypeScript-এ চলে নাকি Python-এ তা কোনো ব্যাপার না। canonicalJson এবং canonical_json একটি ক্রস-ভাষা সিরিয়ালাইজেশন চুক্তি — কী সাজানো, -0 কে 0-তে স্বাভাবিক করা, নির্দিষ্ট ইউনিকোড এস্কেপিং — তাই একই মান উভয়তে একই বাইট এবং একই হ্যাশ দেয়। নির্ধারণবাদ পৃষ্ঠা মাস ব্যবধানে এই ধরনের দুটি এনভেলপ পাশাপাশি দেখায়।
এবং যখন রিপ্লে মেলে না, সেটি সংকেত। একটি পরিবর্তিত উৎস schema_revision_mismatch দিয়ে জোরে ব্যর্থ হয় — ইঞ্জিন নীরবে ভিন্ন ডেটার বিপরীতে ভিন্ন সংখ্যা গণনা করতে এবং আপনাকে এটি অতীতের সাথে দায়ী করতে দিতে অস্বীকার করে। অমিল কী সরে গেছে তা নাম দেয়।
সেটিকে বাধ্যবাধকতার সাথে মেলান। সিস্টেমের জীবনকাল জুড়ে স্বয়ংক্রিয় রেকর্ডিং: প্রতিটি কার্যকৃত ফলাফল নির্মাণ দ্বারা নিজেকে রেকর্ড করে — কোনো অরেকর্ড করা পথ নেই, কারণ কার্যকরী পৃষ্ঠ হলো মুক্ত-রূপ স্ট্রিং নয়, টাইপড ইনপুট সহ ৪,৫৭৪টি শুধুমাত্র-পড়ার ক্ষমতা। ছয় বা বারো মাসের ধারণ: ফলাফল এনভেলপগুলি সংরক্ষণ করুন; ধারণ প্রত্নতত্ত্বের পরিবর্তে একটি স্টোরেজ সিদ্ধান্তে পরিণত হয়। একটি SOC 2 পর্যালোচনা সময়কাল জুড়ে প্রমাণ: আর্টিফ্যাক্টগুলিই প্রমাণ — অডিটরের উত্তর একটি তদন্ত নয়, একটি রিপ্লে। একই পাইপলাইন প্রতিটি ক্ষমতার জন্য রেকর্ড তৈরি করে, এবং স্থায়ী অডিট ট্রেইল SQAI-এর Pro টায়ারের সাথে আসে।
আট দিন, তারপর প্রতিটি অডিট
আগস্টের তারিখ আনুষ্ঠানিকভাবে EU-তে উচ্চ-ঝুঁকির সিস্টেমগুলিকে আবদ্ধ করে। কিন্তু এই ধরনের সময়সীমা পরবর্তী প্রতিটি পর্যালোচনার জন্য টেমপ্লেট নির্ধারণ করে — SOC 2 অডিটর, প্রকিউরমেন্ট প্রশ্নাবলী, জানুয়ারির একটি সংখ্যা সম্পর্কে মার্চে জিজ্ঞেস করা আপনার নিজের CFO। এজেন্টদের কর্মীদের মতো তাদের উত্তর ন্যায্যতা প্রমাণ করতে বলা হবে: রেকর্ড সহ। বেশিরভাগ স্ট্যাক সেগুলি তৈরি করতে পারে না, কারণ তৈরি SQL এবং নমুনা গাণিতিক রেকর্ড করার জন্য যথেষ্ট স্থিতিশীল কিছু রেখে যায় না — একটি সমস্যা যা অডিটের অনেক আগে শুরু হয়।
একটি উত্তর যা আপনি রিপ্লে করতে পারেন তা একটি উত্তর যা আপনি রক্ষা করতে পারেন। বাকি সবকিছু একটি স্ক্রিনশট।