একটি Autonomous Agent-এর জন্য কোনো Pull Request নেই

প্রথাগত সিকিউরিটি রিভিউ একটি diff-এর ওপর নির্ভর করে। কেউ একজন একটি pull request ওপেন করেন। কেউ একজন সেটি পড়েন। প্রোডাকশনে থাকা কোডটি আপনার রিভিউ করা কোডের সাথে মিলে যায়।

Autonomous agents এই মডেলটিকে ভেঙে ফেলে।

একটি এজেন্ট runtime-এ পরিকল্পনা করে এবং টুলস কল করে। এটি কোনো commit-এর মাধ্যমে অ্যাকশনগুলো পাঠায় না। এটি চলার সময় অ্যাকশনগুলো সিদ্ধান্ত নেয়। আপনি যদি শুধুমাত্র অ্যাপ্লিকেশন কোড রিভিউ করেন, তবে আপনি আসল ঝুঁকিটি মিস করবেন।

একটি এজেন্ট কেবল কোড নয়। এটি একটি runtime configuration। এই কনফিগারেশনের অন্তর্ভুক্ত হলো:

• সিস্টেম প্রম্পট (system prompt) • হারনেস (harness) বা লুপ (loop) • টুল সারফেস (tool surface) • মেমরি এবং আইডেন্টিটি (memory and identity) • নেটওয়ার্ক এগ্রেস পলিসি (network egress policies) • কন্টেইনার ইমেজ (container images)

একই মডেল ব্যবহার করা দুটি এজেন্ট এই সেটিংসের ওপর ভিত্তি করে ভিন্ন ভিন্ন আচরণ করতে পারে। মডেলটি স্থির থাকে। কনফিগারেশন সবকিছু বদলে দেয়।

অনেক টিম সিস্টেম প্রম্পটকে সাধারণ টেক্সট বক্স সেটিংস হিসেবে বিবেচনা করে। তারা ড্যাশবোর্ড থেকে এগুলো এডিট করে। এটি একটি ভুল। মাত্র একটি লাইনের পরিবর্তন একটি guardrail সরিয়ে দিতে পারে। একটি এডিটেবল প্রম্পট হলো একটি আনরিভিউড কোড পাথ (unreviewed code path)।

বাস্তব ঘটনাগুলো এটি প্রমাণ করে:

• একটি বট কয়েক সপ্তাহ ধরে বাড়িওয়ালাদের অবৈধ পরামর্শ দিয়ে গেছে। • একটি প্রম্পট আপডেটের কারণে একটি সাপোর্ট বট গ্রাহকদের গালিগালাজ করতে শুরু করে। • ম্যালিশিয়াস ফাইলগুলো নিয়ম বাইপাস করতে অদৃশ্য ক্যারেক্টার ব্যবহার করেছে।

এগুলো মডেলের ব্যর্থতা ছিল না। এগুলো ছিল কনফিগারেশনের পরিবর্তন যা কেউ রিভিউ করেনি।

আপনাকে কনফিগারেশনকে কোডের মতো বিবেচনা করতে হবে।

আপনার সিস্টেম প্রম্পট এবং হারনেস কনফিগারেশনগুলো version control-এ রাখুন। শুধুমাত্র pull request-এর মাধ্যমে এগুলো পরিবর্তন করুন। কী পরিবর্তন হয়েছে তা দেখতে diff ব্যবহার করুন।

আপনার ডেপ্লয় করা কনফিগারেশনের জন্য একটি content hash ব্যবহার করুন। এই হ্যাশের মধ্যে প্রম্পট ভার্সন, model ID এবং container digest অন্তর্ভুক্ত থাকা উচিত। আপনি যদি প্রম্পট পরিবর্তন করেন, তবে এজেন্টের আইডেন্টিটি বদলে যায়। আপনি নীরবে কোনো প্রম্পট পরিবর্তন করতে পারবেন না।

এজেন্টের সারফেসে drift detection প্রয়োগ করুন। শুধুমাত্র হোস্ট মনিটর করবেন না। MCP সার্ভার লিস্ট এবং সেই এজেন্টের জন্য নির্দিষ্ট egress policies গুলো মনিটর করুন।

লগিং করার সময় এই দুটি বিষয় ট্র্যাক করুন:

• Decision-time context size: এজেন্ট যখন কাজ করছিল তখন মডেলের কাছে কতটুকু তথ্য ছিল? • The parent prompt: multi-agent সিস্টেমে, কলিং এজেন্ট কী পাঠিয়েছিল?

আপনার নতুন কোনো টুলের প্রয়োজন নেই। আপনার বিদ্যমান version control এবং structured logging ব্যবহার করুন। আপনাকে শুধু সেগুলোকে সঠিক জায়গায় নির্দেশ করতে হবে।

আপনি কি আপনার সিস্টেম প্রম্পটগুলোর ভার্সন কন্ট্রোল এবং রিভিউ করেন? নাকি কনসোল অ্যাক্সেস থাকা যে কেউ কোনো চিহ্ন ছাড়াই সেগুলো পরিবর্তন করতে পারে?

Source: https://dev.to/brennhill/theres-no-pull-request-to-review-for-an-autonomous-agent-so-what-do-you-review-355m

Optional learning community: https://t.me/GyaanSetuAi