আমার এজেন্টিক স্ট্যাক আসলে কি
আমি ডগফুড নিওটোমার জন্য একটি এজেন্টিক স্ট্যাক তৈরি করেছি এবং আমার কাজকে ত্বরান্বিত করেছি। 12+ MCP সার্ভার সহ একটি ব্যক্তিগত মনোরেপো যেখানে আমি প্রতিদিন এআই এজেন্টদের সাথে কাজ করি। Neotoma নীচের কাঠামোগত মেমরি প্রদান করে, এজেন্টদের প্রতিটি সেশন জুড়ে পূর্বের কাজ করতে দেয়।
মূল গ্রহণ
- আমার এজেন্টিক স্ট্যাক হল 12+ MCP সার্ভার, অবিরাম নিয়ম এবং পুনরায় ব্যবহারযোগ্য দক্ষতা সহ একটি ব্যক্তিগত মনোরেপো। আমি সারাদিন কার্সরে AI এজেন্টদের সাথে কাজ করি, ইমেল ট্রাইজ থেকে বিটকয়েন পেমেন্ট থেকে ওয়েবসাইট ডিপ্লোয়মেন্ট পর্যন্ত কাজের জন্য সেশন শুরু করি।
- Neotoma নীচের কাঠামোগত মেমরি স্তর প্রদান করে: 1,000+ পরিচিতি, 600টি কাজ, 170টি সত্তার ধরন৷ এজেন্টরা প্রতিটি মোড়ে সত্তা এবং সম্পর্ক সঞ্চয় করে এবং প্রতিক্রিয়া দেওয়ার আগে পূর্বের প্রসঙ্গ পুনরুদ্ধার করে।
- বাস্তব MCP কলগুলি প্যাটার্ন দেখায়: একটি একক
স্টোরকল একটি কথোপকথন, এক্সট্রাক্ট করা পরিচিতি, কাজ এবং একটি পেলোডে টাইপ করা সম্পর্ক বজায় রাখে। পুনরুদ্ধার কল এজেন্টদের কাজ করার আগে প্রসঙ্গ দেয়। - নিওটোমার স্তরযুক্ত আর্কিটেকচার সত্য (ইভেন্ট-উৎসিত অবস্থা), কৌশল (বিশুদ্ধ জ্ঞান, সিদ্ধান্ত আউট), এবং মৃত্যুদন্ড (পার্শ্ব প্রতিক্রিয়া, ঘটনা ফিরে) আলাদা করে। আজ আমি কৌশল স্তর. আর্কিটেকচার সেই ভূমিকাটিকে সফ্টওয়্যার দ্বারা প্রতিস্থাপনযোগ্য করে তোলে।
- লক্ষ্য হ'ল হ্যান্ডস-অন এক্সিকিউশন থেকে পর্যালোচনা এবং অনুমোদনে স্থানান্তরিত করা, এজেন্টরা স্বায়ত্তশাসিতভাবে পুনরাবৃত্তিযোগ্য ওয়ার্কফ্লো পরিচালনা করে। ব্যক্তিগত ডেটা নিওটোমাতে স্থানান্তরিত হয়ে গেলে এবং স্ক্রিপ্টগুলিকে জেনেরিক হিসাবে রিফ্যাক্টর করা হলে স্ট্যাকটি ওপেন সোর্স করা হবে।

আমার এজেন্টিক স্ট্যাক হল আমি কিভাবে ডগফুড নিওটোমা। এটি আমার ব্যক্তিগত অপারেটিং সিস্টেমও। একটি প্রাইভেট মনোরেপো যেখানে AI এজেন্টরা ইমেল ট্রাইজ থেকে বিটকয়েন পেমেন্ট থেকে শুরু করে ওয়েবসাইট ডিপ্লোয়মেন্ট পর্যন্ত সবকিছু পরিচালনা করে, যার নিচে কাঠামোগত মেমরি হিসাবে Neotoma রয়েছে।
Neotoma-এ আমার পাঠানো প্রতিটি বৈশিষ্ট্য এখানে প্রথমে যাচাই করা হয়, প্রাথমিকভাবে Cursor এবং দ্বিতীয়ত Claude Code, Codex, এবং [Cursor/Cursorli/ প্রতিটি ফাঁক আমি এখানে প্রথম এজেন্ট মেমরি পৃষ্ঠতল খুঁজে. স্ট্যাক হল কিভাবে আমি আমার দৈনন্দিন জীবন এবং কাজ চালাই। ব্যবহারকারীর প্রতিক্রিয়া ছাড়াও আমি যে ঘর্ষণের সম্মুখীন হই তা হল নিওটোমা রোডম্যাপকে চালিত করে৷
আমি স্ট্যাকটি ওপেন সোর্স করতে চাই। কিন্তু রেপো কয়েক মাসের ব্যক্তিগত ডেটা, আমার অ্যাকাউন্টে হার্ডকোড করা স্ক্রিপ্ট এবং আমার সেটআপের সাথে সংযুক্ত কনফিগারেশন জমা করেছে। এটি সর্বজনীন হওয়ার আগে আমাকে সেই ডেটাটিকে সম্পূর্ণরূপে নিওটোমাতে পুশ করতে হবে এবং টুলিংটিকে জেনেরিক হতে রিফ্যাক্টর করতে হবে। সেই কাজ চলমান রয়েছে।
এই পোস্টটি ব্যাখ্যা করে যে স্ট্যাকটি কী, আমি কীভাবে এটি ব্যবহার করি এবং এটি কী স্ট্রাকচার্ড এজেন্ট মেমরির কী করা দরকার তা প্রকাশ করে।
স্ট্যাক কি
স্ট্যাকটি এক ডজনেরও বেশি MCP সার্ভার এবং CLI সহ একটি মনোরেপো, প্রতিটি এআই এজেন্টকে একটি ভিন্ন পরিষেবার সাথে সংযুক্ত করে: Gmail, Google ক্যালেন্ডার, [Google ক্যালেন্ডার] WhatsApp, একটি বিটকয়েন ওয়ালেট, Instagram, Asana HomeKit, DNSimple, Google সার্চ কনসোল, 1পাসওয়ার্ড, https://1password. স্ক্র্যাপার](https://github.com/markmhendrickson/mcp-server-web-scraper), এবং আরও অনেক কিছু। কিছু এমসিপি সার্ভার যা এজেন্টরা টুল হিসেবে ডাকে। অন্যগুলো হল CLI যা এজেন্টরা টার্মিনাল থেকে আহ্বান করে। উভয়ই এজেন্টদের একই জিনিস দেয়: বহিরাগত পরিষেবাগুলিতে পৌঁছান।
এমসিপি সার্ভারের উপরে নিয়ম এবং দক্ষতা বসে। নিয়মগুলি হল ক্রমাগত আচরণগত নির্দেশাবলী যা রেপোতে থাকে, নিওটোমাতে নয়: প্রতিক্রিয়া দেওয়ার আগে সর্বদা নিওটোমাতে পরিচিতিগুলি সঞ্চয় করুন, কখনই গোপনীয়তা করবেন না, শিরোনামে বাক্যের কেস ব্যবহার করবেন না, কোড পরিবর্তনের পরে পরীক্ষা চালান, লগ এবং কনফিগারেশনের জন্য ড্যাশবোর্ডের উপরে CLI পছন্দ করুন, পণ্যের নামের প্রথম উল্লেখ লিঙ্ক করুন। দক্ষতা হল মাল্টি-স্টেপ ওয়ার্কফ্লো: আমার ইনবক্স ট্রাইজ করুন, একটি ব্লগ পোস্টের খসড়া তৈরি করুন, একটি ওয়েবসাইট স্থাপন করুন, পণ্যের প্রতিক্রিয়া প্রক্রিয়া করুন, ইমেল থেকে একটি অ্যামাজন অর্ডার বের করুন, বিটকয়েনে একজন ঠিকাদারকে অর্থ প্রদান করুন।
এবং সবকিছুর নিচে নিওটোমা স্ট্রাকচার্ড মেমরি লেয়ার হিসেবে বসে। প্রতিটি এজেন্ট এটি থেকে পড়ে এবং এটিতে লেখে। এটিই প্রতিটি সেশনে রিসেট করার পরিবর্তে সময়ের সাথে স্ট্যাক যৌগিক করে তোলে।
আমি এটা দিয়ে কিভাবে কাজ করি
আমি কার্সারে থাকি। আমার দিন এজেন্ট সেশনের একটি ক্রম. আমি একটি নতুন এজেন্ট খুলি, আমি যা করতে চাই তা বর্ণনা করি এবং এজেন্ট MCP সার্ভার, নিয়ম এবং কর্মক্ষেত্রে দক্ষতা ব্যবহার করে সম্পাদন করে। কিছু সেশন দ্রুত হয়: "এই ইমেলের উত্তর দিন।" কিছু দীর্ঘ: "আমার ইনবক্স ট্রাইজ করুন, সর্বশেষ পরীক্ষকের প্রতিক্রিয়া প্রক্রিয়া করুন, তারপর গুগলের মেমরি এজেন্ট সম্পর্কে একটি তুলনামূলক পোস্টের খসড়া তৈরি করুন।"
এটি এজেন্টদের সাথে কাজ করছে। আমি আমার ডেস্কে বসে সারাদিন তাদের সাথে কাজ করি। ব্যক্তিগত কাজ: একটি মেরামতের সময় নির্ধারণ, একটি ঠিকাদারকে অর্থ প্রদান, ক্যালেন্ডার ইভেন্টগুলি পরিচালনা করা। পেশাদাররা: পোস্ট লেখা, প্রতিক্রিয়া প্রক্রিয়াকরণ, ওয়েবসাইট স্থাপন করা, ডোমেন পরিচালনা করা। এজেন্টরা মৃত্যুদন্ড পরিচালনা করে। আমি দিকনির্দেশ প্রদান করি, আউটপুট পর্যালোচনা করি এবং ক্রিয়াগুলি অনুমোদন করি যেগুলির লুপে একজন মানুষের প্রয়োজন৷
প্রতিটি এজেন্ট সেশনের সম্পূর্ণ ওয়ার্কস্পেস প্রসঙ্গ রয়েছে: প্রতিটি MCP সার্ভার, প্রতিটি নিয়ম, প্রতিটি দক্ষতা। এজেন্ট আমার Gmail পড়তে পারে, আমার ক্যালেন্ডার পরীক্ষা করতে পারে, পূর্বের প্রসঙ্গের জন্য Neotoma জিজ্ঞাসা করতে পারে, নতুন ডেটা সঞ্চয় করতে পারে, ছবি তৈরি করতে পারে, কোড পুশ করতে পারে এবং স্থাপনা যাচাই করতে পারে। আমার ভূমিকা ক্রমবর্ধমান উদ্দেশ্য বর্ণনা এবং পর্যালোচনা ফলাফল.
কিভাবে নিওটোমা ফিট করে
কাঠামোগত মেমরি ছাড়া, প্রতিটি এজেন্ট সেশন শূন্য থেকে শুরু হয়। এজেন্ট জানেন না আপনার পরিচিতি কারা, আপনি কোন কাজগুলো খুলেছেন, গতকাল আপনি কি নিয়ে আলোচনা করেছেন বা আপনি ইতিমধ্যেই কাউকে কি অর্থ দিয়েছেন। আপনি প্রতিটি প্রম্পটে প্রসঙ্গ পেস্ট করতে পারেন, তবে এটি কয়েকটি সেশনের আগে স্কেল করে না। প্ল্যাটফর্ম মেমরি আপনার ভাইব সঞ্চয় করে, আপনার কাজ নয়। RAG কোড দিয়ে সাহায্য করে, কিন্তু কাঠামোগত তথ্য দিয়ে নয় যা কর্মপ্রবাহকে চালিত করে: আপনি কার কাছে টাকা দেনা, গত সপ্তাহে আপনি কী প্রতিক্রিয়া পেয়েছেন, কোন কাজগুলি এখনও খোলা আছে৷
আমার নিওটোমা দৃষ্টান্ত 1,000 টিরও বেশি পরিচিতি, 600টি কার্য, 140টি কথোপকথন, 120টি ব্লগ পোস্ট এবং 170টি সত্তার ধরন সঞ্চয় করে যা এজেন্টরা নতুন ধরণের তথ্যের সম্মুখীন হওয়ার সাথে সাথে তৈরি করেছে: লেনদেন, স্থায়ী নিয়ম, প্রতিক্রিয়া নোট, ক্যালেন্ডার ইভেন্ট, বিরোধ, চালান, দক্ষতার ফলাফল। যখন একটি এজেন্ট একটি নতুন অধিবেশন শুরু করে, তখন এটি যা প্রয়োজন তা পুনরুদ্ধার করে। এটি শেষ হলে, এটি যা শিখেছে তা সংরক্ষণ করে।
এখানে আমার নিওটোমা উদাহরণের শীর্ষ 20টি সত্তার ধরন রয়েছে, প্রতিটির একটি উদাহরণ সহ:
এই স্কিমাগুলির কোনটিই আগে থেকে ডিজাইন করা হয়নি। এজেন্টরা প্রয়োজনমতো স্কিমা তৈরি এবং প্রসারিত করে যখন তারা নতুন ধরনের তথ্যের সম্মুখীন হয়। সিস্টেমে এখন মোট 170টি সত্তার ধরন রয়েছে, যার বেশিরভাগেরই মাত্র কয়েকটি রেকর্ড রয়েছে৷ দীর্ঘ লেজ যেখানে এজেন্টের স্মৃতি আকর্ষণীয় হয়ে ওঠে: একটি একক বিরোধ সত্তা তার সম্পূর্ণ আলোচনার ইতিহাস সহ, কৌশল পরিবর্তন হলে কারো সাথে অনুসরণ করার একক প্রতিশ্রুতি, একটি নির্দিষ্ট অর্থপ্রদান কীভাবে পরিচালনা করতে হয় সে সম্পর্কে একক পছন্দ।
ব্যবহারিক পার্থক্য হল এজেন্টরা পূর্বের কাজের উপর ভিত্তি করে তৈরি করে। যখন আমি একজন এজেন্টকে কাউকে ইমেল করতে বলি, এটি প্রথমে পরিচিতির জন্য Neotoma অনুসন্ধান করে। যখন আমি এটিকে প্রতিক্রিয়া প্রক্রিয়া করতে বলি, তখন এটি বিদ্যমান প্রতিক্রিয়া সত্তা পুনরুদ্ধার করে এবং নতুনটিকে লিঙ্ক করে। যখন আমি এটিকে বিটকয়েনে একজন ঠিকাদারকে অর্থ প্রদান করতে বলি, তখন এটি স্থায়ী নিয়ম জানে (সর্বদা এই ব্যক্তিকে বিটিসিতে অর্থ প্রদান করুন) এবং নিশ্চিতকরণে লেনদেনের লিঙ্ক অন্তর্ভুক্ত করে কারণ অন্য একটি স্থায়ী নিয়ম বলে।
স্টোরেজ এবং পুনরুদ্ধার কাছাকাছি
নিওটোমা এমসিপি এমন সরঞ্জামগুলিকে প্রকাশ করে যা এজেন্টরা সরাসরি কল করে। বাস্তব সঞ্চয়স্থান এবং পুনরুদ্ধার অনুশীলনে কেমন দেখায় তা এখানে।
যখন কোনো এজেন্টকে নিষ্কাশিত সত্তার সাথে কথোপকথনের মোড় অব্যাহত রাখতে হয়, তখন এটি একটি একক পেলোডের সাথে 'স্টোর' কল করে:
``জসন দোকান({ "সত্তা": [ { "entity_type": "কথোপকথন", "title": "ইমেল triage 9 মার্চ" }, { "entity_type": "এজেন্ট_বার্তা", "ভূমিকা": "ব্যবহারকারী", "content": "আমার ইনবক্স ট্রাইজ করুন", "turn_key": "রূপ-42:1" }, { "entity_type": "যোগাযোগ", "full_name": "অ্যালেক্স চেন", "ইমেইল": "alex@example.com", "source": "পরীক্ষক প্রতিক্রিয়া কল" }, { "entity_type": "টাস্ক", "title": "অ্যালেক্সের প্রতিক্রিয়া অনুসরণ করুন", "স্থিতি": "মুলতুবি", "অগ্রাধিকার": "মাঝারি" } ], "সম্পর্ক": [ { "relationship_type": "PART_OF", "source_index": 1, "টার্গেট_ইনডেক্স": 0 }, { "relationship_type": "REFERS_TO", "source_index": 1, "টার্গেট_ইনডেক্স": 2 }, { "relationship_type": "REFERS_TO", "source_index": 1, "টার্গেট_ইনডেক্স": 3 } ], "idempotency_key": "রূপ-42-টার্ন-1-ট্রায়াজ" })
একটি কল কথোপকথন, বার্তা, একটি নতুন পরিচিতি এবং একটি টাস্ক সংরক্ষণ করে, সমস্ত টাইপ করা সম্পর্কের দ্বারা সংযুক্ত। এজেন্টের আগে থেকে `যোগাযোগ` বা `টাস্ক` এর জন্য কোনো স্কিমা সংজ্ঞা প্রয়োজন ছিল না। নিওটোমা নির্বিচারে ক্ষেত্র গ্রহণ করে এবং গঠন অনুমান করে।
যখন কোনো এজেন্টকে উত্তর দেওয়ার আগে প্রসঙ্গ প্রয়োজন হয়, তখন এটি শনাক্তকারীর দ্বারা প্রশ্ন করে:
``জসন
পুনরুদ্ধার_সত্তা_দ্বারা_পরিচয়কারী({
"শনাক্তকারী": "অ্যালেক্স চেন"
})
এটি ইমেল, পূর্বের কথোপকথন এবং প্রতিটি ক্ষেত্রের উদ্ভব সহ যোগাযোগের রেকর্ড ফেরত দেয়। যদি এজেন্টের বিস্তৃত প্রেক্ষাপটের প্রয়োজন হয়, তাহলে এটি টাইপ দ্বারা প্রশ্ন করে:
``জসন retrieve_entities({ "entity_type": "প্রতিক্রিয়া_নোট", "search": "ডেভেলপার রিলিজ", "সীমা": 10 })
এটি ডেভেলপার রিলিজ সম্পর্কে দশটি সবচেয়ে প্রাসঙ্গিক প্রতিক্রিয়া নোট ফেরত দেয়, প্রতিটি তার সম্পূর্ণ স্ন্যাপশট এবং পর্যবেক্ষণ ইতিহাস সহ।
স্থায়ী নিয়মের জন্য, কার্যপ্রবাহের শুরুতে এজেন্ট একবার সেগুলি পুনরুদ্ধার করে:
``জসন
retrieve_entities({
"entity_type": "স্থায়ী_নিয়ম"
})
আমার উদাহরণটি "সর্বদা বিটকয়েনে কার্লোসকে অর্থ প্রদান করুন" এবং "মার্কডাউন ব্লকে খসড়া বার্তা প্রদান করুন" এর মতো নিয়মগুলি প্রদান করে৷ এজেন্ট বাকি অধিবেশনের জন্য স্বয়ংক্রিয়ভাবে এগুলি প্রয়োগ করে৷
ওয়ার্কফ্লো যখন ফাইলগুলিকে স্পর্শ করে (রসিদ, স্ক্রিনশট, নথি), এজেন্ট সেগুলিকে একই কলে সত্ত্বার পাশাপাশি সংরক্ষণ করে file_path ব্যবহার করে:
``জসন দোকান({ "সত্তা": [ { "entity_type": "লেনদেন", "বিক্রেতা": "আমাজন", "পরিমাণ": 47.99, "মুদ্রা": "EUR" } ], "file_path": "/path/to/receipt.pdf", "idempotency_key": "amazon-order-march-9" })
নিওটোমার [আনস্ট্রাকচার্ড স্টোরেজ পাথ](https://github.com/markmhendrickson/neotoma) সেখান থেকে ফাইলটি পরিচালনা করে। কাঁচা বাইট কন্টেন্ট-অ্যাড্রেসড (SHA-256) তাই একই ফাইল কখনও দুবার সংরক্ষণ করা হয় না। এজেন্ট ফাইলটিকে `file_path` (স্থানীয় পরিবেশ যেমন কার্সার) অথবা `file_content` (বেস-ভিত্তিক পরিবেশের জন্য বেস64) এর মাধ্যমে পাস করে; এটি সংরক্ষণ করার আগে ডেটা ব্যাখ্যা বা নিষ্কাশন করে না। ডিফল্টরূপে, নিওটোমা সঞ্চিত ফাইলে স্বয়ংক্রিয়ভাবে AI ব্যাখ্যা চালায়, কাঠামোগত সত্তা বের করে এবং একটি EMBEDS সম্পর্কের সাথে উত্সের সাথে লিঙ্ক করে। একই ফাইলকে `ব্যাখ্যা: সত্য` দিয়ে পুনঃ-সংরক্ষণ করলে কোনো ডুপ্লিকেট তৈরি না করেই পুনঃব্যাখ্যা শুরু হয়। রসিদটি মূল পিডিএফ সহ অনুসন্ধানযোগ্য কাঠামোগত ডেটাতে পরিণত হয়। ব্যাচ প্রসেসিং বা কোটা ম্যানেজমেন্টের জন্য ইন্টারপ্রিটেশন পিছিয়ে দেওয়া যেতে পারে (`ব্যাখ্যা: মিথ্যা`), তারপরে বিভিন্ন কনফিগারেশনের সাথে চালান।
## অনুশীলনে কর্মপ্রবাহ
কয়েকটি ওয়ার্কফ্লো প্যাটার্ন দেখায়।
**ইমেল ট্রাইজ।** এজেন্ট Gmail MCP-এর মাধ্যমে অপঠিত ইমেলগুলি পড়ে, প্রতিটি প্রেরকের সাথে বিদ্যমান যোগাযোগের রেকর্ড এবং পূর্বের প্রসঙ্গের জন্য Neotoma চেক করে, আমার যোগাযোগ শৈলীর নিয়মগুলি ব্যবহার করে খসড়া উত্তর দেয়, নতুন পরিচিতি এবং কাজগুলি সঞ্চয় করে এবং প্রক্রিয়াকৃত বার্তা সংরক্ষণ করে৷ একটি একক ট্রাইজ রান পাঁচটি নতুন পরিচিতি, তিনটি কাজ এবং এক ডজন কথোপকথনের পালা সঞ্চয় করতে পারে।
**ব্লগ পোস্ট লেখা।** দক্ষতা নিজেই একটি কাঠামোগত সত্তা হিসাবে নিওটোমাতে বাস করে। এজেন্ট এটিকে `retrieve_entity_snapshot` দিয়ে পুনরুদ্ধার করে। তারপরে এটি স্টাইল ক্রমাঙ্কনের জন্য বিদ্যমান পোস্টগুলিকে জিজ্ঞাসা করে, খসড়াটি লেখে, সমস্ত মেটাডেটা সহ পোস্ট সত্তা সঞ্চয় করে, হিরো ইমেজ তৈরি করে, Twitter এবং LinkedIn-এর জন্য শেয়ার কপি তৈরি করে, Neotoma রপ্তানি থেকে ওয়েবসাইট ক্যাশে পুনরায় তৈরি করে এবং স্থাপন করে। এই পোস্টটি সেভাবেই লেখা হয়েছে।
**বিটকয়েন পেমেন্ট।** আমি [একটি BTC ওয়ালেট MCP সার্ভার](/posts/agentic-wallets-mcp-bitcoin) ব্যবহার করে বিটকয়েনে একজন ঠিকাদারকে অর্থ প্রদান করি। নিওটোমা স্থায়ী নিয়ম, যোগাযোগের রেকর্ড এবং লেনদেনের ইতিহাস সংরক্ষণ করে। এজেন্ট তিনটিই পুনরুদ্ধার করে, অর্থপ্রদান সম্পাদন করে, অন-চেইন লিঙ্কের সাথে নতুন লেনদেন সংরক্ষণ করে এবং নিশ্চিত করে।
**ফিডব্যাক প্রসেসিং।** যখন পরীক্ষকরা নিওটোমা ডেভেলপার রিলিজের বিষয়ে মতামত দেন, তখন এজেন্টরা কাঠামোগত ফিডব্যাক এন্টিটি বের করে, সেগুলিকে পরীক্ষকের কন্টাক্ট রেকর্ডের সাথে লিঙ্ক করে, বালতি দ্বারা ফিডব্যাককে শ্রেণীবদ্ধ করে এবং রিলিজ পর্যায়ের সীমাবদ্ধতার বিরুদ্ধে মূল্যায়ন করে। পূর্বের প্রতিক্রিয়া পরীক্ষক দ্বারা, বালতি দ্বারা বা তারিখ দ্বারা পুনরুদ্ধারযোগ্য।
**ওয়েবসাইট স্থাপনা।** নিয়োটোমাতে স্থানীয় মার্কডাউন সম্পাদনাগুলিকে নিয়োজিত করার দক্ষতা সিঙ্ক করে, সম্পূর্ণ ওয়েবসাইট ডেটাসেট রপ্তানি করে, ক্যাশে পুনরুত্থিত করে, [ওয়েবসাইট রেপো](https://github.com/markmhendrickson/markmhendrickson) পুশ করে এবং [GitHub অ্যাকশন](https://github.com/fessions) সফল না হওয়া পর্যন্ত মনিটর করে। বিল্ড ব্যর্থ হলে, এজেন্ট লগগুলি পড়ে, সমস্যাটি ঠিক করে এবং পুনরায় চালায়।
## এজেন্টদের দিকে যারা আমাকে ছাড়া চলে
প্রতিটি কর্মপ্রবাহ আমার দ্বারা একটি কার্সার এজেন্ট খোলার এবং একটি নির্দেশ টাইপ করার সাথে শুরু হয়। আমি প্রতিটি কাজের জন্য লুপে আছি। এটি বর্তমান পর্যায়ের জন্য ঠিক আছে, তবে এটি শেষ অবস্থা নয়।
আমি স্বয়ংক্রিয় প্রক্রিয়াগুলি সেট আপ করছি যাতে এজেন্টরা আমার সরাসরি জড়িত না হয়ে কর্মপ্রবাহ পরিচালনা করতে পারে। টুকরোগুলি ইতিমধ্যেই রয়েছে: দক্ষতা সম্পূর্ণ ওয়ার্কফ্লো পদক্ষেপগুলিকে সংজ্ঞায়িত করে, নিওটোমা প্রসঙ্গ এবং নিয়মগুলি সঞ্চয় করে, MCP সার্ভারগুলি পৌঁছানোর ব্যবস্থা করে৷ যা অনুপস্থিত তা হল অর্কেস্ট্রেশন যা সময়সূচীতে বা ইভেন্টের প্রতিক্রিয়ায় কর্মপ্রবাহকে ট্রিগার করে এবং একটি হালকা অনুমোদনের ইন্টারফেস যাতে আমি আমার ল্যাপটপে বসেই ক্রিয়াগুলি পর্যালোচনা এবং অনুমোদন করতে পারি৷
নিওটোমার [স্তরযুক্ত আর্কিটেকচার](https://github.com/markmhendrickson/neotoma/blob/dev/docs/foundation/layered_architecture.md) ঠিক এই জন্য ডিজাইন করা হয়েছে। এটি তিনটি উদ্বেগকে আলাদা করে:
1. **ট্রুথ লেয়ার (নিওটোমা)।** ইভেন্ট-সোর্সড, রিডুসার-চালিত, ডিটারমিনিস্টিক। সব এজেন্ট এটা থেকে পড়া. রাষ্ট্রীয় আপডেটগুলি শুধুমাত্র হ্রাসকারী দ্বারা প্রক্রিয়াকৃত ডোমেন ইভেন্টগুলির মাধ্যমে প্রবাহিত হয়। কোনো এজেন্ট সত্যকে সরাসরি পরিবর্তন করে না।
2. **কৌশল স্তর।** নিওটোমা থেকে বর্তমান বিশ্বের অবস্থা পড়ে। অগ্রাধিকার, সীমাবদ্ধতা, ঝুঁকি, প্রতিশ্রুতি এবং সময় মূল্যায়ন করে। সিদ্ধান্ত এবং আদেশ আউটপুট. বিশুদ্ধ জ্ঞান: রাজ্যে, সিদ্ধান্ত আউট। কোন পার্শ্বপ্রতিক্রিয়া নেই।
3. **এক্সিকিউশন লেয়ার।** স্ট্র্যাটেজি লেয়ার থেকে কমান্ড নেয়। বাহ্যিক অ্যাডাপ্টারের (ইমেল API, অর্থপ্রদান পরিষেবা, ক্যালেন্ডার, মেসেজিং) মাধ্যমে পার্শ্ব প্রতিক্রিয়া সম্পাদন করে। কি ঘটেছে তা বর্ণনা করে ডোমেন ইভেন্টগুলি নির্গত করে৷ এই ইভেন্টগুলি রিডুসারের মাধ্যমে স্থিতি আপডেট করতে প্রবাহিত হয়। বিশুদ্ধ প্রভাব: কমান্ড ইন, ইভেন্ট আউট।
লুপ বন্ধ আছে:
অন্তর্মুখী সংকেত (ইমেল, হোয়াটসঅ্যাপ, ক্যালেন্ডার, আর্থিক তথ্য) -> স্বাভাবিকীকরণ -> নিওটোমা অবস্থা (ইভেন্ট লগ + রিডিউসার) -> কৌশল টিক (অগ্রাধিকার মূল্যায়ন, আউটপুট সিদ্ধান্ত) -> এক্সিকিউশন এজেন্ট (পার্শ্ব প্রতিক্রিয়া সঞ্চালন, ইভেন্ট নির্গত) -> হ্রাসকারী -> আপডেট করা অবস্থা -> পরবর্তী টিক দিন
আজ, আমি কৌশল স্তর. আমি রাষ্ট্রের দিকে তাকাই, কি করতে হবে তা স্থির করি এবং একজন এজেন্টকে কার্যকর করতে বলি। আর্কিটেকচার সেই ভূমিকাটিকে সফ্টওয়্যার দ্বারা প্রতিস্থাপনযোগ্য করে তোলে। একটি কৌশল ইঞ্জিন নিওটোমা পড়ে, স্থায়ী নিয়ম এবং অগ্রাধিকারের উপর ভিত্তি করে কী মনোযোগ দেওয়া প্রয়োজন তা মূল্যায়ন করে এবং নির্বাহকারী এজেন্টদের আদেশ জারি করে। এই এজেন্টরা এমসিপি সার্ভারে কল করে, ফলাফল সংরক্ষণ করে এবং চক্র পুনরাবৃত্তি করে।
গুরুত্বপূর্ণ পরিবর্তন হল যে কোনও স্তরই নিওটোমার অন্তর্নিহিত ডেটা স্টোরে সরাসরি লেখে না। আপডেটগুলি শুধুমাত্র ডোমেন ইভেন্ট এবং রিডিউসারের মাধ্যমে প্রবাহিত হয়। এটি সিস্টেমটিকে নিরীক্ষণযোগ্য এবং বিপরীত করে তোলে। যদি একটি স্বায়ত্তশাসিত এজেন্ট একটি খারাপ সিদ্ধান্ত নেয়, আমি ঘটনাটি সনাক্ত করতে পারি যা এটি ঘটিয়েছে, রাষ্ট্রীয় আপডেটটি প্রত্যাবর্তন করতে এবং এটির নেতৃত্বে থাকা নিয়মটি সংশোধন করতে পারি।
লক্ষ্য হল কম্পিউটারে আমার প্রতিদিনের সময় কমানো। এটা নির্মূল না. হ্যান্ডস-অন এক্সিকিউশন থেকে রিভিউ এবং অনুমোদনে স্থানান্তর করুন। আমার এজেন্টরা রাতারাতি যা পরিচালনা করেছে তার সংক্ষিপ্তসারে আমি জেগে উঠতে চাই: ইমেল ট্রাইজড, পোস্ট ড্রাফ্ট করা, ডিপ্লয়মেন্ট যাচাই করা, পেমেন্ট সারিবদ্ধ। আমি আমার [Apple Watch](https://www.apple.com/watch) থেকে একটি বিটকয়েন পেমেন্ট অনুমোদন করতে চাই। আমি হাঁটার সময় আমার ফোনে একটি খসড়া করা ইমেল পর্যালোচনা করতে চাই এবং পাঠাতে আলতো চাপুন৷ এজেন্ট 80% পরিচালনা করে যা পুনরাবৃত্তিযোগ্য। আমি 20% হ্যান্ডেল যে বিচারের প্রয়োজন.
এখানেই হার্ডওয়্যার প্রশ্ন আকর্ষণীয় হয়ে ওঠে। আজকের ফোন এবং ঘড়ি এই মিথস্ক্রিয়া প্যাটার্ন জন্য ডিজাইন করা হয় না. আপনার সংক্ষিপ্ত পর্যালোচনা এবং অনুমোদনের অঙ্গভঙ্গির জন্য অপ্টিমাইজ করা একটি ডিভাইস প্রয়োজন, টাইপ বা ব্রাউজ করার জন্য নয়।
বর্তমানে বিদ্যমান ডিভাইসগুলির মধ্যে, [Apple Watch](https://www.apple.com/watch) সঠিক ফর্ম ফ্যাক্টরের সবচেয়ে কাছাকাছি মনে করে: সর্বদা আপনার কব্জিতে, নজরে, সহজ ট্যাপ-টু-অনুমোদন ইন্টারঅ্যাকশন করতে সক্ষম। কিন্তু সফ্টওয়্যার স্তর এখনও সেখানে নেই. ঘড়িতে এজেন্টের সারসংক্ষেপ এবং অনুমোদনের অনুরোধগুলি এমনভাবে পাঠানোর কোনো উপায় নেই যা দেশীয় মনে হয়।
এটি আমার জন্য কিছু সময়ে পরীক্ষা করার একটি ক্ষেত্র হতে পারে, একটি হালকা ওজনের সহচর অ্যাপ তৈরি করা যা নিওটোমার অবস্থাকে একটি কব্জি-স্তরের ইন্টারফেসে সেতু করে। সঠিক পৃষ্ঠটি একটি ঘড়ির অ্যাপ, একটি ডেডিকেটেড AI ডিভাইস, বা এমন কিছু যা এখনও বিদ্যমান নেই, মিথস্ক্রিয়া মডেলটি পরিষ্কার: এজেন্টরা কাজ করে, কাঠামোগত মেমরি রাষ্ট্রকে ধরে রাখে এবং মানুষ কার্য সম্পাদনের গতির চেয়ে অভিপ্রায়ের গতিতে নির্দেশনা প্রদান করে।
## ওপেন-সোর্সিং স্ট্যাক
স্ট্যাকটি আজ ব্যক্তিগত কারণ এতে আমার জীবন রয়েছে: পরিচিতি, অর্থ, স্বাস্থ্য ডেটা, ব্যক্তিগত যোগাযোগ, আমি কীভাবে আমার পরিবার চালাই তার স্থায়ী নিয়ম। আমি এটিকে ওপেন-সোর্স করতে পারার আগে, আমাকে সেগুলি সব খুলে ফেলতে হবে।
পথ সোজা। ব্যক্তিগত তথ্য সম্পূর্ণরূপে নিওটোমাতে চলে যায়, যা ইতিমধ্যেই বেশিরভাগের জন্য সত্যের উৎস। যে স্ক্রিপ্টগুলি আমার নির্দিষ্ট অ্যাকাউন্ট এবং পাথগুলিকে উল্লেখ করে সেগুলি কনফিগারেশন থেকে পড়ার জন্য রিফ্যাক্টর করা হয়। MCP সার্ভারের মোড়কগুলি জেনেরিক হয়ে যায়। দক্ষতা তাদের হার্ডকোডেড অনুমান হারিয়ে ফেলে।
যা অবশিষ্ট থাকে তা হল একটি পুনঃব্যবহারযোগ্য এজেন্টিক স্ট্যাক: MCP সার্ভার স্ক্যাফোল্ডিং সহ একটি মনোরেপো টেমপ্লেট, একটি নিয়ম এবং দক্ষতা কাঠামো, কাঠামোগত মেমরির জন্য নিওটোমা ইন্টিগ্রেশন এবং যে কেউ মানিয়ে নিতে পারে এমন কর্মপ্রবাহের উদাহরণ৷ স্থাপত্যটি আকর্ষণীয় অংশ। আমার ব্যক্তিগত তথ্য নেই.
এই জন্য আমার একটি টাইমলাইন নেই. রিফ্যাক্টরিং দৈনন্দিন ব্যবহারের পাশাপাশি ঘটে। যতবার আমি একটি স্ক্রিপ্ট স্পর্শ করি, আমি এটিকে আরও সাধারণ করে তুলি। প্রতিবার আমি নিওটোমাতে ডেটা স্থানান্তর করি, আমি এটি রেপো থেকে সরিয়ে ফেলি। স্ট্যাক প্রতিটি সেশনের সাথে আরও বহনযোগ্য হয়ে ওঠে।
## নিওটোমা সম্পর্কে এটি কী প্রমাণ করে
নিওটোমা অস্তিত্বের আগে আমি এই স্ট্যাক তৈরি করেছি। প্রাথমিক সংস্করণে ফ্ল্যাট ফাইল এবং [Parquet](https://parquet.apache.org) টেবিল ব্যবহার করা হয়েছিল। এটি না হওয়া পর্যন্ত এটি কাজ করেছিল।
[ব্যর্থতার মোড](/posts/truth-layer-agent-memory) সুনির্দিষ্ট ছিল: একজন এজেন্ট একটি সেশনে "সারাহ কিম" এবং অন্য একটিতে "এস. কিম" হিসাবে একটি পরিচিতি সঞ্চয় করবে, তাদের একত্রিত করার কোনো উপায় ছাড়াই সদৃশ তৈরি করবে৷ কোন প্রমাণ ছিল না, তাই আমি বলতে পারিনি কোন এজেন্ট একটি ক্ষেত্র বা কখন লিখেছেন।
প্রশ্নগুলি একক কলামে সঠিক মিলগুলির মধ্যে সীমাবদ্ধ ছিল, তাই জিজ্ঞাসা করা "গত সপ্তাহে আমি কী প্রতিক্রিয়া পেয়েছি?" মানে প্রতিটি ফাইল ম্যানুয়ালি স্ক্যান করা। কখনও কখনও রেকর্ডগুলিকে খারাপভাবে ওভাররাইট করা হয় বা সম্পূর্ণরূপে মুছে ফেলা হয়, কোন ইভেন্ট লগ থেকে পুনরুদ্ধার করা যায় না। এবং কিছুই প্রকারভেদে লিঙ্ক করা হয়নি, তাই জেনেছি যে লেনদেনের সাথে সম্পর্কিত একটি পরিচিতির সাথে সম্পর্কিত একটি টাস্কের জন্য আমার মাথায় সেই গ্রাফটি ধরে রাখা দরকার।
নিওটোমা সেই স্তরটি প্রতিস্থাপন করেছে। এটি এজেন্টদের একটি [কাঠামোগত, জিজ্ঞাসাযোগ্য, সম্পর্ক-সচেতন মেমরি](/posts/agent-memory-truth-problem) দিয়েছে যা প্রতিটি কর্মপ্রবাহ জুড়ে কাজ করে। নিওটোমাতে স্ট্যাকের এখন 170টি সত্তার ধরন রয়েছে, কারণ আমি 170টি স্কিমা আগে থেকে ডিজাইন করেছি, বরং এজেন্টরা নতুন ধরনের তথ্যের সম্মুখীন হওয়ার সাথে সাথে সত্তার ধরন তৈরি করে। একটি প্রতিক্রিয়া নোট একটি লেনদেন থেকে আলাদা এবং একটি স্থায়ী নিয়ম থেকে আলাদা, এবং সিস্টেম তাদের সবগুলি পরিচালনা করে৷
এটিই ডগফুডিং যা নিওটোমাকে সৎ রাখে৷ যখন পুনরুদ্ধার ধীর হয়, আমি প্রতিটি এজেন্ট সেশনে এটি অনুভব করি। সত্তা রেজোলিউশন ব্যর্থ হলে, আমি সদৃশ পরিচিতি পেতে. যখন সঞ্চয়স্থান অবিশ্বস্ত হয়, কর্মপ্রবাহ ভেঙে যায়। প্রতিটি বাগ এবং প্রতিটি ফাঁক আমার দৈনন্দিন কাজে অন্য কারোর মধ্যে দেখানোর আগে দেখায়।
স্মৃতি সমস্যা সর্বজনীন। প্রতিটি ডেভেলপার বিল্ডিং এজেন্টিক ওয়ার্কফ্লো একই দেয়ালে আঘাত করবে: এজেন্ট যারা মনে রাখতে পারে না, প্রশ্ন করতে পারে না এবং পূর্বের কাজ তৈরি করতে পারে না। [একা পুনরুদ্ধার যথেষ্ট নয়](/posts/why-agent-memory-needs-more- than-rag); গঠন এবং উদ্ভব মেমরি বিশ্বাসযোগ্য করে তোলে কি. এই স্ট্যাকটি প্রমাণ করে যে কাঠামোগত মেমরি এজেন্টরা যা করতে পারে তা পরিবর্তন করে। নিওটোমা হল আমি কীভাবে এটি সবার জন্য উপলব্ধ করছি৷
[ডেভেলপার রিলিজ](/posts/neotoma-developer-release) পরীক্ষার জন্য উন্মুক্ত। আপনি যদি এজেন্টিক ওয়ার্কফ্লো তৈরি করেন এবং নীচের কাঠামোগত মেমরি চান, তাহলে সেখান থেকেই শুরু করতে হবে।