মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Sprix SAGE Router দিয়ে AI এজেন্টের কাজ রাউট করুন

Sprix SAGE Router কীভাবে ইনস্টল করতে হয়, এজেন্ট ও কাজের নির্ভরতা মডেল করতে হয়, বাস্তবায়নযোগ্য রুট নির্বাচন করতে হয়, অ্যাসাইনমেন্ট পর্যালোচনা করতে হয় এবং বাস্তবায়নের প্রমাণ ব্যবহার করে ভবিষ্যৎ সিদ্ধান্ত উন্নত করতে হয়, তা শিখুন। এই টিউটোরিয়ালে A2A ইন্টিগ্রেশন, সীমাবদ্ধতা, বেঞ্চমার্কিং এবং প্রাথমিক পর্যায়ের এই গবেষণা প্রিভিউ ব্যবহারের বাস্তব নির্দেশনাও ব্যাখ্যা করা হয়েছে।

Sprix SAGE Router দিয়ে AI এজেন্টের কাজ রাউট করুন

Sprix SAGE Router কী?

Sprix SAGE Router হলো একটি ওপেন-সোর্স Python গবেষণা প্রকল্প, যা কাজ শুরু হওয়ার পর AI এজেন্টদের কীভাবে কোনো কাজ সম্পাদন করা উচিত তা নির্ধারণ করে। SAGE-এর পূর্ণরূপ হলো State-Aware Graph Exchange। এটি এজেন্ট আবিষ্কার এবং কাজ সম্পাদনের মধ্যবর্তী স্তরে কাজ করে; বর্তমান অগ্রগতি, সক্ষমতা, অনুমতি, খরচ, বিলম্ব, নির্ভরতা এবং কনটেক্সট স্থানান্তরের ক্ষতি বিবেচনা করে একটি কার্যকর এজেন্ট কনফিগারেশন নির্বাচন করে।

রাউটারটি তিনটি এক্সিকিউশন মোডের তুলনা করে:

  • SELF: বর্তমান এজেন্ট একাই কাজ চালিয়ে যায়, যখন তার সক্ষমতা এবং সঞ্চিত কনটেক্সট যথেষ্ট থাকে।
  • COLLABORATE: বর্তমান এজেন্ট মালিকানা ধরে রাখে, আর পরিপূরক এজেন্টরা অনুপস্থিত প্রয়োজনীয়তাগুলো পূরণ করে।
  • HANDOFF: কনটেক্সট স্থানান্তরের খরচের তুলনায় কোনো সহকর্মী এজেন্টের বিশেষায়িত সুবিধা বেশি হলে, সে সম্পূর্ণ মালিকানা গ্রহণ করে।

SAGE Agent2Agent প্রোটোকল-এর ওপর কাজ করার জন্য নকশা করা হয়েছে। A2A আন্তঃপরিচালনযোগ্য Agent Card, টাস্ক, মেসেজ, আর্টিফ্যাক্ট, প্রমাণীকরণ এবং ট্রান্সপোর্ট নির্ধারণ করে। SAGE একটি ভিন্ন প্রশ্নের উত্তর দেয়: কোন যোগ্য কনফিগারেশন কোনো কাজ সম্পাদন করবে, কোন মোডে করবে এবং কেন?

বর্তমান প্রোটোটাইপ রাউটিং সিদ্ধান্ত ফেরত দেয়। এটি এজেন্টদের কাছে টাস্ক পাঠায় না, তাই নির্বাচিত রুট বাস্তবায়নের জন্য একটি A2A ক্লায়েন্ট বা অন্য কোনো এক্সিকিউশন স্তর প্রয়োজন।

প্রধান রাউটিং বৈশিষ্ট্য

SAGE রাউটিং, শিডিউলিং এবং অনলাইন লার্নিংকে একটি পরিদর্শনযোগ্য সিদ্ধান্ত প্রক্রিয়ায় একত্র করে। এর প্রধান বৈশিষ্ট্যগুলোর মধ্যে রয়েছে:

  • তিন-মোড রাউটিং: SELF, COLLABORATE এবং HANDOFF প্রার্থী একই ইউটিলিটি লক্ষ্যের অধীনে প্রতিযোগিতা করে।
  • অগ্রগতি-সচেতন পুনঃপরিকল্পনা: সঞ্চিত অগ্রগতি, সক্রিয় এক্সিকিউটর, ব্যর্থতা, সম্পন্ন টাস্ক নোড এবং স্থানান্তরযোগ্য কনটেক্সট—এসব পরিবর্তন করা লাভজনক কি না তা প্রভাবিত করতে পারে।
  • পরিপূরক দল নির্বাচন: অপ্রয়োজনীয়ভাবে উচ্চ-র‌্যাঙ্কের এজেন্ট সংগ্রহের বদলে প্রয়োজনীয়তা পূরণে অবদান রাখার জন্য দলগুলো পুরস্কৃত হয়।
  • কনটেক্সট-ভিত্তিক আস্থা: নির্ভরযোগ্যতা প্রতিটি এজেন্ট ও প্রয়োজনীয়তার জন্য আলাদাভাবে শেখা হয়; একটিমাত্র বৈশ্বিক সুনাম স্কোরে সীমাবদ্ধ করা হয় না।
  • টাস্ক-DAG শিডিউলিং: প্রয়োজনীয়তাগুলো এক্সিকিউটরদের মধ্যে বরাদ্দ করা হয়, আর নির্ভরতার প্রান্তগুলো এক্সিকিউশনের ক্রম, যোগাযোগের টপোলজি এবং ক্রিটিক্যাল-পাথ বিলম্ব নির্ধারণ করে।
  • সীমাবদ্ধ অনুসন্ধান: একটি মাত্র লোভী সিদ্ধান্ত নেওয়ার বদলে বিম সার্চ সহযোগী দলের একাধিক প্রিফিক্স মূল্যায়ন করে।
  • কনস্ট্রেইন্ট-প্রথম ফিল্টারিং: পূর্বানুমান করা মান নির্বিশেষে, র‌্যাঙ্কিংয়ের আগে অযোগ্য এজেন্টদের বাদ দেওয়া হয়।
  • প্রমাণ-সচেতন লার্নিং: প্রয়োজনীয়তার স্কোর, প্রকৃত খরচ এবং প্রকৃত বিলম্ব আস্থা, সমন্বয়, সাফল্যের মডেল এবং বিডের নির্ভুলতা আপডেট করতে পারে।
  • অডিটযোগ্য ফলাফল: সিদ্ধান্তে নির্বাচিত মোড, অ্যাসাইনমেন্ট, টপোলজি, পূর্বানুমিত সাফল্য, কভারেজ, খরচ, বিলম্ব, ঝুঁকি, ইউটিলিটি এবং যুক্তি প্রকাশ করা হয়।

অ্যালগরিদম কীভাবে একটি রুট মূল্যায়ন করে

প্রতিটি টাস্কের প্রয়োজনীয়তার জন্য SAGE বৈশ্বিক আস্থার সঙ্গে প্রয়োজনীয়তা-নির্ভর আস্থা মিলিয়ে কোনো এজেন্টের ক্যালিব্রেটেড সক্ষমতা অনুমান করে। সদস্যরা কার্যকর, অ-পুনরাবৃত্ত সক্ষমতা যোগ করলে দলের কভারেজ বাড়ে। এরপর অবশিষ্ট প্রতিটি প্রয়োজনীয়তা সবচেয়ে শক্তিশালী ক্যালিব্রেটেড দলীয় সদস্যকে বরাদ্দ করা হয়।

শিডিউলারটি প্রয়োজনীয়তার DAG অনুসরণ করে। একটি এজেন্টকে বরাদ্দ করা কাজ ধারাবাহিকভাবে সম্পাদিত হয়, আর ভিন্ন এজেন্টদের দেওয়া স্বাধীন কাজ সমান্তরালে চলতে পারে। একটি প্রার্থী দল গঠনের পর SAGE টাস্কের বাজেট ও সময়সীমার সঙ্গে দলীয় খরচ এবং ক্রিটিক্যাল-পাথ বিলম্ব মিলিয়ে দেখে।

কার্যকর প্রার্থীদের এমন একটি ইউটিলিটি ফাংশন দিয়ে র‌্যাঙ্ক করা হয়, যা পূর্বানুমিত সাফল্যের মূল্যকে খরচ, বিলম্ব, ঝুঁকি, কনটেক্সট স্থানান্তরের ক্ষতি, সমন্বয় ব্যয় এবং অনিশ্চয়তার সঙ্গে ভারসাম্য করে। এর ফলে, হ্যান্ডঅফ করলে অতিরিক্ত কার্যকর কনটেক্সট হারিয়ে গেলে একজন শক্তিশালী বিশেষজ্ঞও বর্তমান এজেন্টের কাছে হেরে যেতে পারে। একইভাবে, একটি পরিপূরক দল মর্যাদাপূর্ণ কিন্তু পুনরাবৃত্ত এজেন্টদের সমষ্টিকেও হারাতে পারে।

প্রকল্প ইনস্টল ও যাচাই করুন

পূর্বশর্ত

রেফারেন্স ইমপ্লিমেন্টেশনের জন্য Python 3.10 বা পরবর্তী সংস্করণ প্রয়োজন। প্রকল্পের README অনুযায়ী, এর কোনো রানটাইম নির্ভরতা নেই।

রিপোজিটরি ক্লোন করুন

git clone https://github.com/wang2122/sprix-sage-router.git
cd sprix-sage-router
python demo.py

demo.py স্ক্রিপ্টটি শুরু থেকে শেষ পর্যন্ত একটি পাঠযোগ্য উদাহরণ দেয়। রিপোজিটরি সরাসরি sprix_sage.py-এর মাধ্যমে এর ইমপ্লিমেন্টেশন প্রকাশ করে, তাই দ্রুত শুরু করতে আলাদা প্যাকেজ-ইনস্টলেশন কমান্ডের প্রয়োজন হয় না।

টেস্ট ও বেঞ্চমার্ক চালান

python -m unittest -v
python benchmark.py

ইউনিট টেস্টগুলো প্রত্যাশিত রাউটার আচরণ যাচাই করে। বেঞ্চমার্কটি নির্ধারিত সিডের ওপর একটি বাহ্যিক ননলিনিয়ার সিমুলেটর চালায়, যার মাধ্যমে SAGE-এর স্ট্যাটিক ও অনলাইন সংস্করণকে আরও সরল রাউটিং কৌশলগুলোর সঙ্গে তুলনা করা যায়।

আপনার প্রথম রাউটিং পরিস্থিতি তৈরি করুন

ধাপ 1: মূল টাইপগুলো ইমপোর্ট করুন

from sprix_sage import (
    Agent,
    ExecutionOutcome,
    Requirement,
    SAGERouter,
    Task,
)

এই উদাহরণে প্রার্থীদের বর্ণনা করতে Agent, কাজ নির্ধারণ করতে Requirement ও Task, রুট নির্বাচন করতে SAGERouter এবং এক্সিকিউশনের পর প্রমাণ ফেরত দিতে ExecutionOutcome ব্যবহার করা হয়েছে।

ধাপ 2: উপলভ্য এজেন্ট নির্ধারণ করুন

agents = [
    Agent(
        "planner",
        {"planning": 0.92, "coding": 0.55},
        cost=0.08,
        latency_ms=900,
    ),
    Agent(
        "coder",
        {"planning": 0.35, "coding": 0.96},
        cost=0.12,
        latency_ms=1200,
    ),
]

প্রতিটি এজেন্টের একটি শনাক্তকারী, একটি সক্ষমতা ভেক্টর, একটি খরচের আনুমানিক হিসাব এবং একটি বিলম্বের আনুমানিক হিসাব থাকে। এখানে, planner পরিকল্পনায় দক্ষ, আর coder কোডিংয়ে বেশি দক্ষ। এই পার্থক্যের কারণে SAGE এজেন্টদের একটি সামগ্রিক স্কোরের ভিত্তিতে র‌্যাঙ্ক করার পরিবর্তে সহযোগিতা বা কাজ হস্তান্তর বিবেচনা করার কারণ পায়।

ধাপ ৩: প্রয়োজনীয়তা ও নির্ভরতা মডেল করুন

task = Task(
    "build-feature",
    requirements=(
        Requirement("planning", 0.4),
        Requirement(
            "coding",
            0.6,
            depends_on=("planning",),
        ),
    ),
    value=1.0,
    budget=0.30,
    deadline_ms=4000,
    progress=0.35,
)

টাস্কটিতে দুটি ওজনযুক্ত প্রয়োজনীয়তা রয়েছে। কোডিংয়ের প্রয়োজনীয়তা পরিকল্পনার ওপর নির্ভরশীল, ফলে একটি ছোট DAG তৈরি হয় যেখানে কোডিংয়ের আগে পরিকল্পনা শেষ করতে হবে। সীমাবদ্ধতাসাপেক্ষ রাউটিংয়ের জন্য প্রয়োজনীয় মানগুলোও টাস্কটি সরবরাহ করে:

  • value সফল সম্পাদনের মূল্য নির্দেশ করে।
  • budget গ্রহণযোগ্য খরচ সীমাবদ্ধ করে।
  • deadline_ms নির্ধারিত বিলম্ব সীমাবদ্ধ করে।
  • progress রাউটারকে জানায় যে সম্পাদন ইতিমধ্যে 35 শতাংশ সম্পন্ন হয়েছে।

অগ্রগতি গুরুত্বপূর্ণ, কারণ সম্পাদনের মাঝপথে দায়িত্ব পরিবর্তন করলে প্রসঙ্গ স্থানান্তরের ক্ষতি হতে পারে। তাই কোনো বিশেষজ্ঞের সক্ষমতার সুবিধা থাকলেই যে কাজ হস্তান্তর সর্বোত্তম পথ হবে, তা নয়।

ধাপ ৪: টাস্কটি রাউট করুন

router = SAGERouter(
    agents,
    incumbent_id="planner",
)

decision = router.route(task)

print(decision.mode)
print(decision.assignments)
print(decision.topology)

Incumbent হলো সেই এজেন্ট, যে বর্তমানে টাস্কটির দায়িত্বে রয়েছে। route কল করলে SELF, COLLABORATE এবং HANDOFF-এর সম্ভাব্য প্রার্থীদের তুলনা করা হয়। ফেরত পাওয়া সিদ্ধান্তটি নিম্নলিখিত ক্ষেত্রগুলোর মাধ্যমে পরিদর্শন করা যায়:

  • নির্বাচিত সম্পাদন মোডের জন্য decision.mode।
  • প্রয়োজনীয়তা থেকে এজেন্টের ভূমিকা নির্ধারণের জন্য decision.assignments।
  • নির্ভরতার কারণে তৈরি যোগাযোগ কাঠামোর জন্য decision.topology।

ধরে নেবেন না যে এই নির্দিষ্ট পরিস্থিতিতে সবসময় একটি নির্দিষ্ট মোড তৈরি হবে। ফলাফল রাউটারের ক্যালিব্রেট করা আনুমানিক হিসাব, সীমাবদ্ধতা, অগ্রগতি এবং শেখা অবস্থার ওপর নির্ভর করে।

সম্পাদনের ফলাফল থেকে শিখুন

রাউটিং কেবল কর্মপ্রবাহের প্রথম অর্ধেক। নির্বাচিত এজেন্টরা টাস্কটি সম্পাদন করার পর, সর্বোত্তম উপলভ্য প্রমাণ রাউটারকে ফেরত দিন:

router.record_outcome(
    decision,
    ExecutionOutcome(
        success=0.9,
        requirement_scores={
            "planning": 0.95,
            "coding": 0.86,
        },
        actual_cost=0.19,
        actual_latency_ms=1450,
    ),
)

সামগ্রিক সাফল্যের মান রাউটারকে টাস্ক-স্তরের ফলাফল দেয়। প্রয়োজনীয়তা-নির্দিষ্ট স্কোর আরও নির্ভুলভাবে কৃতিত্ব বণ্টন করে, ফলে প্রতিটি সহকর্মী একই কৃতিত্ব পায় না। প্রকৃত খরচ ও বিলম্ব ভবিষ্যৎ পূর্বাভাস এবং প্রদানকারীর কোট ক্যালিব্রেট করতে সহায়তা করে।

বারবার রাউটিং ও প্রতিক্রিয়া অনলাইন SAGE-কে প্রাসঙ্গিক আস্থা, জোড়া-প্রভাব, সাফল্যের পূর্বাভাস এবং বিডের নির্ভুলতা পরিশোধন করতে দেয়। কার্যকর শেখার জন্য ফলাফল ধারাবাহিকভাবে রেকর্ড করুন এবং যখনই প্রমাণ পাওয়া যায়, আনুমানিক সাফল্যের লেবেলের চেয়ে পরিমাপ করা প্রমাণকে অগ্রাধিকার দিন।

A2A সিস্টেমের সঙ্গে SAGE সংযুক্ত করুন

একটি প্রোডাকশন ইন্টিগ্রেশন প্রোটোকল ও মার্কেটপ্লেসের সংকেতগুলোকে SAGE-এর অভ্যন্তরীণ উপস্থাপনায় রূপান্তর করতে পারে:

  • AgentCard.skills-কে সক্ষমতা ভেক্টরে স্বাভাবিকীকরণ করুন।
  • নিরাপত্তার প্রয়োজনীয়তাকে কঠোর অনুমতি ফিল্টার হিসেবে ব্যবহার করুন।
  • স্কোর দেওয়ার আগে সমর্থিত ইনপুট ও আউটপুট মোড সামঞ্জস্যপূর্ণ কি না পরীক্ষা করুন।
  • টাস্কের অবস্থা, আর্টিফ্যাক্ট, সম্পন্ন DAG নোড এবং ব্যর্থতাকে বর্তমান সম্পাদন-অবস্থা ও স্থানান্তর-ক্ষতির আনুমানিক হিসাবের সঙ্গে ম্যাপ করুন।
  • প্রদানকারীর কোটকে খরচ, বিলম্ব ও আস্থাসহ বিড হিসেবে উপস্থাপন করুন।
  • সম্পন্ন টাস্কের মূল্যায়ন ব্যবহার করে প্রাসঙ্গিক আস্থা, জোড়ার অবশিষ্ট প্রভাব, সাফল্যের পূর্বাভাস এবং বিডের নির্ভুলতা আপডেট করুন।

SAGE সিদ্ধান্ত ফেরত দেওয়ার পর, একটি A2A ক্লায়েন্ট মেসেজ পাঠানো, স্ট্রিমিং, টাস্ক পোলিং বা বাতিলকরণের মতো প্রোটোকল অপারেশন ব্যবহার করে তা সম্পাদন করতে পারে। সীমারেখাটি স্পষ্ট রাখুন: SAGE পথ নির্বাচন ও ব্যাখ্যা করে, আর A2A স্তর যোগাযোগ ও সম্পাদন পরিচালনা করে।

উন্নত ব্যবহারের পরামর্শ

টাস্কটিকে একটি অর্থবহ DAG হিসেবে মডেল করুন

প্রতিটি প্রয়োজনীয়তাকে সমতল তালিকায় রাখার পরিবর্তে প্রকৃত সম্পাদন-ক্রম বোঝাতে নির্ভরতা ব্যবহার করুন। নির্ভুল নির্ভরতা SAGE-কে ধারাবাহিক কাজ ও সমান্তরাল কাজ আলাদা করতে এবং আরও কার্যকর ক্রিটিক্যাল-পাথ বিলম্বের আনুমানিক হিসাব তৈরি করতে সাহায্য করে।

পরিপূরক সক্ষমতার বর্ণনাকে অগ্রাধিকার দিন

প্রয়োজনীয়তা-স্তরের সক্ষমতা দিয়ে এজেন্টদের বর্ণনা করুন। একটি একক বিস্তৃত স্কোর পরিকল্পনা, কোডিং, গবেষণা বা অন্যান্য দক্ষতার পার্থক্য আড়াল করবে এবং প্রাসঙ্গিক আস্থা ও ভূমিকা নির্ধারণ দুর্বল করবে।

অনুমতিকে কঠোর সীমাবদ্ধতা হিসেবে বিবেচনা করুন

অ্যাক্সেসের নিয়ম অগ্রাহ্য করতে পূর্বানুমান করা গুণমান ব্যবহার করবেন না। SAGE-এর permission-first নকশা অনুযায়ী প্রার্থী র‌্যাঙ্ক করার আগেই অযোগ্য এজেন্টদের বাদ দিতে হবে। একইভাবে, সম্পাদনের আগে সামঞ্জস্য, প্রমাণীকরণ ও নীতিমালা যাচাই করা উচিত।

বাস্তবসম্মত বাজেট ও সময়সীমা ব্যবহার করুন

SAGE প্রার্থী তৈরির সময় এবং আবার দলীয় স্তরে সীমাবদ্ধতা যাচাই করে। টাস্ক-নির্দিষ্ট বাজেট ও সময়সীমা দিন, যাতে পৃথকভাবে আকর্ষণীয় এজেন্টদের এমন একটি সমষ্টি নির্বাচিত না হয় যার সম্মিলিত খরচ বা ক্রিটিক্যাল পাথ বাস্তবায়নযোগ্য নয়।

শুধু মোড ব্যবহার না করে সিদ্ধান্ত পরিদর্শন করুন

অ্যাসাইনমেন্ট, টপোলজি, কভারেজ, পূর্বানুমান করা সাফল্য, খরচ, বিলম্ব, ঝুঁকি, উপযোগিতা এবং যুক্তি পর্যালোচনা করুন। অডিট ট্রেইল দেখাতে পারে যে কোনো পথ প্রকৃত পরিপূরকতা, incumbent-এর প্রসঙ্গ ধরে রাখা, কম স্থানান্তর-ক্ষতি বা সীমাবদ্ধতা পূরণের কারণে নির্বাচিত হয়েছে কি না।

কোটের নির্ভুলতা পরিমাপ করুন

এক্সিকিউশনের পর প্রকৃত খরচ ও লেটেন্সি ফেরত দিন। পর্যবেক্ষিত মান না থাকলে, উদ্ধৃত আত্মবিশ্বাস, মূল্য এবং সময় নির্ভরযোগ্য কি না নির্ধারণের জন্য রাউটারের কাছে কম প্রমাণ থাকে।

একটি অভিন্ন ইউটিলিটি দিয়ে ট্রেড-অফ মূল্যায়ন করুন

অন্তর্ভুক্ত সিন্থেটিক বেঞ্চমার্কে দেখা যায়, অনলাইন SAGE তালিকাভুক্ত বেসলাইনগুলোর তুলনায় বেশি সিমুলেটেড গুণমান ও অভিন্ন ইউটিলিটি অর্জন করে, তবে স্ট্যাটিক SAGE-এর চেয়ে বেশি ব্যয় করে। এই দৃশ্যমান ট্রেড-অফটি গুরুত্বপূর্ণ: রাউটিংয়ের উচিত শুধু সক্ষমতাভিত্তিক স্কোরের আড়ালে খরচ লুকিয়ে না রাখা।

বেঞ্চমার্কটি সিন্থেটিক এবং বাস্তব জগতে শ্রেষ্ঠত্বের প্রমাণ নয়। বাস্তব ডিপ্লয়মেন্ট মূল্যায়নের জন্য প্রতিনিধিত্বশীল এক্সিকিউশন, শক্তিশালী রাউটিং বেসলাইন, ক্যালিব্রেশন বিশ্লেষণ, মার্কেটপ্লেস ট্রেস রিপ্লে, বৈচিত্র্যময় এজেন্ট এবং প্রতিকূল পরিস্থিতি প্রয়োজন।

গবেষণা-প্রিভিউয়ের সীমাবদ্ধতাগুলো বুঝুন

SAGE একটি প্রাথমিক পর্যায়ের গবেষণা-প্রিভিউ, প্রোডাকশন সার্ভিস-লেভেল গ্যারান্টি বা পিয়ার-রিভিউ করা ফলাফল নয়। এর হালকা learned policy বাস্তব ট্রেসে প্রশিক্ষণ বা causal off-policy evaluation-এর বিকল্প নয়।

প্রোডাকশনে ডিপ্লয় করার আগে README ক্যালিব্রেটেড ইভ্যালুয়েটর, প্রমাণীকৃত পরিচয়, স্বাক্ষরিত সক্ষমতা মেটাডেটা, গোপনীয়তা ও নিরাপত্তা পর্যালোচনা, স্থায়ী ইভেন্ট-চালিত পুনরুদ্ধার, মনিটরিং এবং কাজ-নির্দিষ্ট যাচাইয়ের সুপারিশ করে। A2A discovery, execution, streaming এবং cancellation-এর জন্য বাস্তব অ্যাডাপ্টারগুলো এখনও রোডম্যাপের অংশ; বিতরণকৃত সার্ভিস পরিচালনা ও মানব অনুমোদন গেটও একইভাবে ভবিষ্যৎ কাজ।

রিপোজিটরি রিসোর্স

  • sprix_sage.py-এ contextual router, DAG scheduler, beam search এবং online updates রয়েছে।
  • demo.py একটি end-to-end উদাহরণ দেয়।
  • benchmark.py-এ external simulator এবং common-utility baselines রয়েছে।
  • test_sprix_sage.py-এ behavioral unit tests রয়েছে।
  • ALGORITHM.md-এ formal objective, search process, credit assignment এবং সীমাবদ্ধতাগুলো নথিবদ্ধ করা হয়েছে।
  • GitHub রিপোজিটরিতে contribution, security, governance এবং license সম্পর্কিত তথ্য রয়েছে।

উপসংহার

Sprix SAGE Router state-aware agent matching-এর একটি ব্যবহারিক reference implementation প্রদান করে। কাজকে requirement DAG হিসেবে উপস্থাপন করে, অভিন্ন সীমাবদ্ধতার অধীনে SELF, COLLABORATE এবং HANDOFF-এর তুলনা করে, এবং এক্সিকিউশনের প্রমাণ রাউটারে ফিরিয়ে দিয়ে, আপনি এমন অডিটযোগ্য multi-agent সিদ্ধান্ত নিয়ে পরীক্ষা করতে পারেন যা পূর্বানুমানিত গুণমান ও পরিচালনাগত খরচ উভয় বিবেচনা করে।

demo.py দিয়ে শুরু করুন, ন্যূনতম উদাহরণটি পুনরুৎপাদন করুন, প্রতিটি রাউটিং সিদ্ধান্ত পর্যালোচনা করুন এবং টেস্ট ও সিন্থেটিক বেঞ্চমার্ক চালান। বাস্তব A2A ডিপ্লয়মেন্টের জন্য একটি পৃথক execution adapter যোগ করুন এবং আপনার পরিবেশের প্রয়োজনীয় authentication, security, observability, recovery ও validation কাজ সম্পন্ন করুন।