মূল কনটেন্টে যান
OpenAI

২৯ জানুয়ারি, ২০২৬

ইঞ্জিনিয়ারিং

OpenAI-এর ইন-হাউস ডেটা এজেন্টের অভ্যন্তরে

বনি জু, অরবিন্দ সুরেশ এবং এমা ট্যাং কর্তৃক

লোডিং…

ডেটা নির্ধারণ করে কিভাবে সিস্টেম শেখে, পণ্য বিকশিত হয় এবং কোম্পানিগুলি সিদ্ধান্ত নেয়. কিন্তু দ্রুত, সঠিকভাবে এবং সঠিক প্রেক্ষাপটসহ উত্তর পাওয়া প্রায়ই যতটা সহজ হওয়া উচিত, তার চেয়ে কঠিন. OpenAI-এর স্কেলিং প্রক্রিয়াকে সহজতর করতে, আমরা আমাদের নিজস্ব বিশেষায়িত ইন-হাউস AI ডেটা এজেন্ট তৈরি করেছি, যা আমাদের প্ল্যাটফর্মে অনুসন্ধান ও বিশ্লেষণ করে.

আমাদের এজেন্ট একটি কাস্টম অভ্যন্তরীণ-ব্যবহারের জন্য টুল (বাহ্যিক অফার নয়), যা বিশেষভাবে OpenAI-এর ডেটা, অনুমতি এবং ওয়ার্কফ্লোকে কেন্দ্র করে তৈরি করা হয়েছে. আমরা দেখাচ্ছি কিভাবে আমরা এটি তৈরি করেছি এবং ব্যবহার করছি, যাতে আমাদের টিমগুলির মধ্যে AI কিভাবে দৈনন্দিন কাজে সহায়তা করতে পারে তার বাস্তব এবং প্রভাবশালী উদাহরণগুলি তুলে ধরা যায়. আমরা এটি তৈরি ও চালাতে যে OpenAI টুলগুলো ব্যবহার করেছি (Codex, আমাদের GPT‑5 ফ্ল্যাগশিপ মডেল, Evals API(একটি নতুন উইন্ডোতে খোলে), এবং Embeddings API(একটি নতুন উইন্ডোতে খোলে)) সেগুলোই আমরা সর্বত্র ডেভেলপারদের জন্য উপলব্ধ করি.

আমাদের ডেটা এজেন্ট কর্মীদের যেকোনো প্রশ্ন থেকে সেটির বিশ্লেষণে পৌঁছাতে দিন নয়, বরং মাত্র কয়েক মিনিট সময় নেয়. এটি সব ফাংশনে ডেটা সংগ্রহ এবং সূক্ষ্ম বিশ্লেষণের বাধা কমিয়ে দেয়, শুধুমাত্র আমাদের ডেটা টিমের জন্য নয়. আজ, OpenAI-এর ইঞ্জিনিয়ারিং, ডেটা সায়েন্স, গো-টু-মার্কেট, ফাইন্যান্স এবং রিসার্চ টিমগুলো উচ্চ-প্রভাবশালী ডেটা প্রশ্নের উত্তর পেতে এজেন্টের উপর নির্ভর করে. উদাহরণস্বরূপ, এটি প্রাকৃতিক ভাষার স্বজ্ঞাত ফর্ম্যাটের মাধ্যমে লঞ্চগুলোর মূল্যায়ন এবং ব্যবসার স্বাস্থ্য বোঝার ক্ষেত্রে সাহায্য করতে পারে. এজেন্ট Codex-চালিত টেবিল-লেভেল জ্ঞানকে পণ্য এবং সাংগঠনিক প্রেক্ষাপটের সাথে একত্রিত করে. এর ক্রমাগত শেখার মেমোরি সিস্টেমের মানে হলো, এটি প্রতিটি মোড়ের সাথে আরও উন্নত হয়.

6 অক্টোবর 2025 তারিখে DevDay 2023-এর সাথে তুলনা করে ChatGPT WAU সম্পর্কে একজন ব্যবহারকারী জিজ্ঞাসা করছেন—এমন একটি স্ক্রিনশট. এজেন্ট 2025 সালের জন্য প্রায় 800 মিলিয়ন WAU এবং 2023 সালের জন্য প্রায় 100 মিলিয়ন রিপোর্ট করেছে, যেখানে নোটে 700 মিলিয়নের বেশি পরিবর্তন এবং প্রায় 8 গুণ বৃদ্ধি দেখানো হয়েছে, এরপর ব্যাখ্যামূলক প্রেক্ষাপট প্রদান করা হয়েছে.

এই পোস্টে, আমরা বিশ্লেষণ করব কেন আমাদের একটি বিশেষভাবে তৈরি AI ডেটা এজেন্টের প্রয়োজন ছিল, এর কোড-সমৃদ্ধ ডেটা প্রেক্ষাপট এবং স্ব-শিক্ষণ কেন এত কার্যকরী এবং আমরা যে শিক্ষাগুলো অর্জন করেছি.

আমাদের কেন একটি কাস্টম টুলের প্রয়োজন ছিল

OpenAI–এর ডেটা প্ল্যাটফর্ম Engineering, Product এবং Research জুড়ে কাজ করা 3.5 হাজার অভ্যন্তরীণ ব্যবহারকারীকে পরিষেবা প্রদান করে, যা 70 হাজার ডেটাসেট জুড়ে 600 পেটাবাইট ডেটা বিস্তৃত. ঐ আকারে, বিশ্লেষণ করার সময় সঠিক টেবিল খুঁজে পাওয়া সবচেয়ে সময়সাপেক্ষ কাজগুলোর একটি হতে পারে.

একজন অভ্যন্তরীণ ব্যবহারকারী যেমন বলেছেন:

“আমাদের অনেকগুলো টেবিল আছে যেগুলো বেশ একই রকম, আর আমি এগুলোর পার্থক্য এবং কোনটা ব্যবহার করা উচিত তা নির্ধারণ করতে অনেক সময় ব্যয় করি. কিছুতে লগআউট করা ব্যবহারকারীরা অন্তর্ভুক্ত থাকে, কিছুতে থাকে না. কিছু ক্ষেত্রে ক্ষেত্রগুলি ওভারল্যাপ করে; কোনটি কী তা বোঝা কঠিন.”

সঠিক টেবিলগুলো নির্বাচন করলেও, সঠিক ফলাফল তৈরি করা কঠিন হতে পারে. বিশ্লেষকদের টেবিল ডেটা এবং টেবিল সম্পর্কের উপর যুক্তি করতে হবে যাতে রূপান্তর এবং ফিল্টারগুলি সঠিকভাবে প্রয়োগ করা হয়. সাধারণ ব্যর্থতার ধরনগুলো—যেমন মেনি-টু-মেনি জয়েন, ফিল্টার পুশডাউন ত্রুটি এবং অনিষ্পন্ন নাল—অগোচরেই ফলাফলের নির্ভরযোগ্যতা নষ্ট করে দিতে পারে. OpenAI-এর স্কেলে, বিশ্লেষকদের SQL সেম্যান্টিক্স বা কুয়েরি পারফরম্যান্স ডিবাগিংয়ে সময় নষ্ট করা উচিত নয়: তাদের মনোযোগ থাকা উচিত মেট্রিক্স সংজ্ঞায়িত করা, অনুমান যাচাই করা এবং ডেটা-চালিত সিদ্ধান্ত নেওয়ার দিকে.

গ্রাহকের ভৌগোলিক ডেটা জয়েন করে, অর্ডার-মাস ফিল্ড ডেরাইভ করে এবং অর্ডার কাউন্ট, গ্রস রেভিনিউ, ট্যাক্সসহ রেভিনিউ, এবং গড় ship-to-receipt দিনের মতো মাসিক অ্যাগ্রিগেট কম্পিউট করে—order_enriched এবং monthly_segment—দুটি CTE সংজ্ঞায়িত করা SQL কোডের স্ক্রিনশট.

এই SQL বিবৃতিটি 180+ লাইন দীর্ঘ. আমরা সঠিক টেবিলগুলো জয়েন করছি এবং সঠিক কলামগুলো কুয়েরি করছি কিনা জানা সহজ নয়.

কীভাবে এটি কাজ করে

আসুন আমরা দেখি আমাদের এজেন্ট কী, এটি কিভাবে প্রেক্ষাপট তৈরি করে এবং কিভাবে এটি নিজেকে ক্রমাগত উন্নত করে.

আমাদের এজেন্ট GPT‑5.2 দ্বারা চালিত এবং OpenAI-এর ডেটা প্ল্যাটফর্মে যুক্তি করার জন্য ডিজাইন করা হয়েছে. এটি কর্মীরা যেখানে ইতিমধ্যেই কাজ করেন সেখানেই উপলব্ধ: Slack এজেন্ট হিসেবে, ওয়েব ইন্টারফেসের মাধ্যমে, IDE-গুলোর ভেতরে, MCP-এর মাধ্যমে Codex CLI-তে(একটি নতুন উইন্ডোতে খোলে), এবং সরাসরি MCP কানেক্টরের মাধ্যমে OpenAI-এর অভ্যন্তরীণ ChatGPT অ্যাপে(একটি নতুন উইন্ডোতে খোলে).

“ডেটা এজেন্ট কিভাবে কাজ করে” শিরোনামের ডায়াগ্রাম. এন্ট্রিপয়েন্টগুলো—Agent-UI, Local Agent-MCP, Remote Agent-MCP এবং Slack Agent—একটি Agent-API-তে ডেটা প্রেরণ করে. API অভ্যন্তরীণ ডেটা জ্ঞান এবং কোম্পানির প্রেক্ষাপটের সাথে সংযুক্ত হয়, একটি ডেটা ওয়্যারহাউস এবং প্ল্যাটফর্ম সোর্সগুলোর সাথে সিঙ্ক করে এবং GPT-5.2-এর সাথে অনুরোধ বিনিময় করে Agent-MCP-এর মাধ্যমে মডেল

ব্যবহারকারীরা জটিল, উন্মুক্ত-প্রশ্ন করতে পারেন, যা সাধারণত একাধিক ধাপে ম্যানুয়াল অনুসন্ধান প্রয়োজন. এই উদাহরণ প্রম্পটটি দেখুন, যা একটি টেস্ট ডেটা সেট ব্যবহার করে: “NYC ট্যাক্সি ট্রিপগুলোর ক্ষেত্রে, কোন পিকআপ-টু-ড্রপঅফ ZIP জোড়াগুলো সবচেয়ে অনির্ভরযোগ্য, যেখানে সাধারণ এবং নিকৃষ্টতম-পরিস্থিতির ভ্রমণ সময়ের মধ্যে ব্যবধান সবচেয়ে বড় এবং সেই পরিবর্তনশীলতা কখন ঘটে?”

এজেন্ট সম্পূর্ণ বিশ্লেষণ পরিচালনা করে, প্রশ্ন বোঝা থেকে শুরু করে ডেটা অনুসন্ধান, কুয়েরি চালানো এবং ফলাফল সংশ্লেষণ পর্যন্ত.

NYC ট্যাক্সির পিকআপ→ড্রপঅফ ZIP জোড়াগুলোর মধ্যে কোনগুলো সবচেয়ে “অবিশ্বস্ত” তা জিজ্ঞেস করছেন এমন একজন ব্যবহারকারীকে দেখানো স্ক্রিনশট. এজেন্ট samples.nyctaxi.trips থেকে প্রায় 21 হাজার ট্রিপ ব্যবহার করে ব্যাখ্যা করে, সাধারণ (p50) বনাম ওয়ার্স্ট-কেস (p95) সংজ্ঞায়িত করে, ফিল্টার প্রয়োগ করে এবং প্রতিটি ZIP জোড়ার দীর্ঘতম যাত্রা কখন ঘটেছিল তা কিভাবে শনাক্ত করে তা বর্ণনা করে.

প্রশ্নের উত্তরে এজেন্টের প্রতিক্রিয়া.

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

NYC ট্যাক্সি ট্রিপের সময়কাল বিশ্লেষণের জন্য একটি AI এজেন্টের ধাপে ধাপে পরিকল্পনা দেখানো একটি টাস্ক ওয়ার্কফ্লো-এর স্ক্রিনশট. এতে লক্ষ্য, অভ্যন্তরীণ অনুসন্ধান, স্কিমা পরিদর্শন, কোড স্নিপেট এবং p50/p95 স্প্রেড গণনা, অনির্ভরযোগ্য ZIP জোড়া শনাক্তকরণ এবং SQL কোয়েরি পরিকল্পনা সম্পর্কে বিশ্লেষণ অন্তর্ভুক্ত রয়েছে.

এজেন্টের যুক্তি সবচেয়ে অনির্ভরযোগ্য NYC ট্যাক্সি পিকআপ-ড্রপঅফ জোড়া শনাক্ত করার জন্য.

এজেন্ট পুরো অ্যানালিটিক্স ওয়ার্কফ্লো কভার করে: ডেটা আবিষ্কার, SQL চালানো এবং নোটবুক ও রিপোর্ট প্রকাশ. এটি প্রতিষ্ঠানের অভ্যন্তরীণ জ্ঞান বুঝতে পারে, বাহ্যিক তথ্যের জন্য ওয়েব সার্চ করতে পারে এবং অভিজ্ঞতা ও মেমরির মাধ্যমে সময়ের সাথে সাথে নিজেকে আরও উন্নত করে তোলে.

কন্টেক্সটই সবকিছু.

উচ্চ-মানের উত্তর সমৃদ্ধ, সঠিক প্রেক্ষাপট-এর উপর নির্ভরশীল. কন্টেক্সট ছাড়া, এমনকি শক্তিশালী মডেলগুলোও ভুল ফলাফল দিতে পারে, যেমন ব্যবহারকারীর সংখ্যা ব্যাপকভাবে ভুল অনুমান করা বা অভ্যন্তরীণ পরিভাষা ভুল ব্যাখ্যা করা.

একজন ব্যবহারকারী জিজ্ঞাসা করছেন, “গত 30 দিনে ChatGPT Image Gen এর লগ-ইন করা DAU কত ছিল?”—এমন একটি স্ক্রিনশট, যার নিচে একটি স্ট্যাটাস লাইন দেখাচ্ছে যে এজেন্ট “22 মিনিট 41 সেকেন্ড ধরে কাজ করছে,” যা নির্দেশ করে যে একটি দীর্ঘ সময় ধরে চলমান কুয়েরি প্রক্রিয়াধীন.

মেমরি ছাড়া এজেন্ট, কার্যকরভাবে অনুসন্ধান করতে অক্ষম.

স্ক্রিনশটে দেখা যাচ্ছে একজন ব্যবহারকারী জিজ্ঞাসা করছেন, “গত 30 দিনের জন্য ChatGPT Image Gen লগ-ইন করা DAU কত ছিল?” মেসেজটির নিচে একটি স্ট্যাটাস লাইন আছে যেখানে লেখা “22 মিনিট 41 সেকেন্ড ধরে কাজ করছে,” যা নির্দেশ করে যে কুয়েরিটি এখনও চলছে এবং সম্পন্ন হতে অনেক সময় নিচ্ছে.

এজেন্টের মেমোরি সঠিক টেবিলগুলো খুঁজে দ্রুততর কোয়েরি করতে সহায়তা করে.

এই ব্যর্থতার ধরনগুলো এড়াতে, এজেন্টটি একাধিক স্তরের প্রেক্ষাপটের উপর ভিত্তি করে তৈরি করা হয়েছে, যা এটিকে OpenAI-এর ডেটা এবং প্রাতিষ্ঠানিক জ্ঞানে ভিত্তি দেয়.

“ডেটা এজেন্টের কন্টেক্সটের স্তরসমূহ” শিরোনামের ডায়াগ্রাম, যেখানে ছয়টি স্তূপীকৃত স্তর দেখানো হয়েছে: 1) টেবিল ব্যবহার, 2) মানব অ্যানোটেশন, 3) Codex সমৃদ্ধকরণ, 4) প্রাতিষ্ঠানিক জ্ঞান, 5) মেমোরি এবং 6) রানটাইম কন্টেক্সট. প্রতিটি স্তর পিরামিডের আকারে একটি অনুভূমিক বার হিসেবে প্রদর্শিত হয়.

স্তর #1: টেবিল ব্যবহার

  • মেটাডেটা গ্রাউন্ডিং: এজেন্ট SQL লেখার জন্য স্কিমা মেটাডেটা (কলাম নাম এবং ডেটা টাইপ) এর উপর নির্ভর করে এবং বিভিন্ন টেবিলের সম্পর্ক বোঝাতে টেবিল লিনিয়েজ (যেমন, আপস্ট্রিম এবং ডাউনস্ট্রিম টেবিল সম্পর্ক) ব্যবহার করে.
  • কুয়েরি ইনফারেন্স: ঐতিহাসিক কুয়েরি গ্রহণ করা এজেন্টকে বুঝতে সাহায্য করে কিভাবে নিজের কুয়েরি লিখতে হয় এবং কোন টেবিলগুলো সাধারণত একসাথে যোগ করা হয়.

স্তর #2: মানব অ্যানোটেশন

  • ডোমেইন বিশেষজ্ঞদের দ্বারা প্রদত্ত টেবিল ও কলামের কিউরেটেড বর্ণনা, যা উদ্দেশ্য, সেম্যান্টিক্স, ব্যবসায়িক অর্থ এবং পরিচিত সতর্কতাগুলি ধারণ করে—যেগুলি স্কিমা বা পূর্ববর্তী কুয়েরি থেকে সহজে অনুমান করা যায় না.

শুধু মেটাডেটা যথেষ্ট নয়. টেবিলগুলোকে আলাদা করে চিনতে হলে, আপনাকে বুঝতে হবে সেগুলো কিভাবে তৈরি হয়েছে এবং কোথা থেকে এসেছে.

স্তর #3: Codex সমৃদ্ধকরণ

  • একটি টেবিলের কোড স্তরের সংজ্ঞা নির্ধারণ করে, এজেন্ট ডেটার প্রকৃত বিষয়বস্তু সম্পর্কে আরও গভীর বোঝাপড়া তৈরি করে. 
    • টেবিলে কী সংরক্ষণ করা হয় এবং অ্যানালিটিক্স ইভেন্ট থেকে তা কিভাবে নির্ধারিত হয় তার সূক্ষ্মতা অতিরিক্ত তথ্য প্রদান করে. উদাহরণস্বরূপ, এটি মানগুলোর অনন্যতা, টেবিলের ডেটা কত ঘন ঘন আপডেট হয়, ডেটার পরিধি (যেমন, যদি টেবিলটি নির্দিষ্ট কিছু ক্ষেত্র বাদ দেয়, তবে এতে এই স্তরের বিশদতা থাকে), ইত্যাদি সম্পর্কে প্রেক্ষাপট দিতে পারে.
  • এটি SQL-এর বাইরে Spark, Python এবং অন্যান্য ডেটা সিস্টেমে টেবিলটি কিভাবে ব্যবহৃত হয় তা প্রদর্শন করে ব্যবহারের কন্টেক্সটকে আরও সমৃদ্ধ করে.
  • এর মানে হলো এজেন্ট এমন টেবিলগুলোর মধ্যে পার্থক্য করতে পারে যেগুলো দেখতে একইরকম, কিন্তু গুরুত্বপূর্ণ দিক থেকে আলাদা. উদাহরণস্বরূপ, এটি নির্ধারণ করতে পারে কোনো টেবিলে শুধুমাত্র প্রথম-পক্ষের ChatGPT ট্র্যাফিক অন্তর্ভুক্ত আছে কিনা. এই কন্টেক্সটটিও স্বয়ংক্রিয়ভাবে রিফ্রেশ হয়, তাই এটি ম্যানুয়াল রক্ষণাবেক্ষণ ছাড়াই সর্বদা আপডেট থাকে.
“Codex-enriched knowledge pipeline” শিরোনামের ডায়াগ্রাম. জনপ্রিয় টেবিলগুলো একাধিক Codex টাস্কে তথ্য সরবরাহ করে, যা OpenAI কোডবেস থেকে বিভিন্ন বিবরণ সংগ্রহ করে; যার মধ্যে রয়েছে টেবিলের উদ্দেশ্য, গ্রেইন ও প্রাইমারি কী, ডাউনস্ট্রিম ব্যবহারের ধরন, বিকল্প টেবিলের অপশন এবং ডেটার সতেজতা বা ফ্রেশনেস.

স্তর #4: প্রাতিষ্ঠানিক জ্ঞান 

  • এজেন্ট Slack, Google Docs এবং Notion-এ প্রবেশ করতে পারে, যা লঞ্চ, নির্ভরযোগ্যতা সংক্রান্ত ঘটনা, অভ্যন্তরীণ কোডনেম এবং টুলস, এবং মূল মেট্রিকের জন্য প্রামাণ্য সংজ্ঞা ও গণনা লজিকের মতো গুরুত্বপূর্ণ কোম্পানি প্রেক্ষাপট ধারণ করে.
  • এই নথিগুলি গ্রহণ করা হয়, এম্বেড করা হয় এবং মেটাডেটা ও অনুমতি সহ সংরক্ষিত হয়. একটি রিট্রিভাল সার্ভিস রানটাইমে অ্যাক্সেস নিয়ন্ত্রণ এবং ক্যাশিং পরিচালনা করে, যা এজেন্টকে এই তথ্য দক্ষতা এবং নিরাপত্তার সাথে সংগ্রহ করতে সক্ষম করে.
ডিসেম্বরে কেন কানেক্টর ব্যবহার কমে গিয়েছিল তা জিজ্ঞাসা করছে এমন একজন ব্যবহারকারীর স্ক্রিনশট. এজেন্ট ব্যাখ্যা করেন যে ড্রপটি 13 নভেম্বর 2025 থেকে শুরু হওয়া একটি লগিং সমস্যার কারণে হয়েছিল, যার ফলে ChatGPT 5.1 লঞ্চের পর ব্যবহার কম গণনা হয়েছে. পুরনো টেলিমেট্রি ডেটা খালি হয়ে গিয়েছিল, যতক্ষণ না একটি নতুন ইভেন্ট সত্যের উৎস হয়ে উঠেছিল.

লেয়ার #5: মেমরি

  • যখন এজেন্টকে সংশোধন দেওয়া হয় বা নির্দিষ্ট ডেটা প্রশ্নের সূক্ষ্মতা আবিষ্কার করে, তখন এটি এই শিক্ষাগুলো পরবর্তী সময়ের জন্য সংরক্ষণ করতে পারে, যা এটি ব্যবহারকারীদের সাথে ক্রমাগত উন্নতি করতে সক্ষম করে. 
    • ফলস্বরূপ, ভবিষ্যতের উত্তরগুলো একই সমস্যার পুনরাবৃত্তি না করে আরও সঠিক একটি ভিত্তি থেকে শুরু হয়.
    • মেমরির লক্ষ্য হলো সেই সব অপ্রত্যক্ষ সংশোধন, ফিল্টার এবং সীমাবদ্ধতাগুলো সংরক্ষণ ও পুনরায় ব্যবহার করা, যা ডেটার নির্ভুলতার জন্য অত্যন্ত গুরুত্বপূর্ণ কিন্তু অন্য স্তরগুলো থেকে অনুমান করা কঠিন. 
    • উদাহরণস্বরূপ, একটি ক্ষেত্রে, এজেন্ট জানত না কিভাবে একটি নির্দিষ্ট অ্যানালিটিক্স পরীক্ষার জন্য ফিল্টার করতে হয় (এটি একটি পরীক্ষার গেটে সংজ্ঞায়িত একটি নির্দিষ্ট স্ট্রিং-এর সাথে মিলানোর উপর নির্ভর করেছিল). এখানে মেমোরি অত্যন্ত গুরুত্বপূর্ণ ছিল যাতে এটি অস্পষ্টভাবে স্ট্রিং ম্যাচ করার চেষ্টা না করে সঠিকভাবে ফিল্টার করতে পারে.
  • আপনি যখন এজেন্টকে কোনো সংশোধন দেন বা এটি আপনার কথোপকথন থেকে কোনো শিক্ষা খুঁজে পায়, তখন এটি আপনাকে পরেরবারের জন্য সেই স্মৃতি সংরক্ষণ করতে বলবে. 
    • ব্যবহারকারীরা মেমোরি ম্যানুয়ালি তৈরি এবং সম্পাদনা করতে পারেন.
    • মেমোরিগুলি বৈশ্বিক এবং ব্যক্তিগত স্তরে সীমাবদ্ধ থাকে এবং এজেন্টের সরঞ্জামগুলি সেগুলি সম্পাদনা করা সহজ করে তোলে.
“ডেটা এজেন্ট মেমোরিতে দুইটি লার্নিং সংরক্ষণ করতে চায়,” এমন একটি নোটিফিকেশন ব্যানার, যেখানে “ChatGPT শীর্ষ স্তরের মেট্রিক্স” নামে একটি লেবেলযুক্ত আইটেম আছে এবং ডানদিকে একটি নিশ্চিতকরণ বার্তা আছে যাতে লেখা “গ্লোবাল মেমোরিতে সংরক্ষিত” এবং একটি সবুজ চেকমার্ক.

লেয়ার #6: রানটাইম কন্টেক্সট

  • যখন কোনো টেবিলের জন্য পূর্ববর্তী কোনো প্রেক্ষাপট থাকে না বা বিদ্যমান তথ্য পুরোনো হয়ে যায়, তখন এজেন্ট ডেটা ওয়্যারহাউসে সরাসরি লাইভ কুয়েরি চালিয়ে টেবিলটি পরিদর্শন ও অনুসন্ধান করতে পারে. এটি স্কিমাগুলি যাচাই করতে, রিয়েল-টাইমে ডেটা বুঝতে এবং সেই অনুযায়ী প্রতিক্রিয়া জানাতে সক্ষম করে.
  • এজেন্টটি প্রয়োজন অনুযায়ী অন্যান্য ডেটা প্ল্যাটফর্ম সিস্টেমের (মেটাডেটা সার্ভিস, এয়ারফ্লো, স্পার্ক) সাথেও কথা বলতে সক্ষম, যাতে ওয়্যারহাউসের বাইরে থাকা বিস্তৃত ডেটা কন্টেক্সট পাওয়া যায়.

We run a daily offline pipeline that aggregates table usage, human annotations, and Codex-derived enrichment into a single, normalized representation. This enriched context is then converted into embeddings using the OpenAI embeddings API(একটি নতুন উইন্ডোতে খোলে) and stored for retrieval. At query time, the agent pulls only the most relevant embedded context via retrieval-augmented generation(একটি নতুন উইন্ডোতে খোলে) (RAG) instead of scanning raw metadata or logs. This makes table understanding fast and scalable, even across tens of thousands of tables, while keeping runtime latency predictable and low. Runtime queries are issued to our data warehouse live as needed.

“ডেটা এজেন্টে কনটেক্সট পুনরুদ্ধার” শিরোনামের ডায়াগ্রাম. অফলাইন প্রিপ্রসেসিং স্তরগুলি—টেবিল ব্যবহার, মানব টীকা, Codex সমৃদ্ধকরণ, প্রাতিষ্ঠানিক জ্ঞান এবং স্মৃতি—RAG এমবেডিংসে প্রবাহিত হয়. লাইভ রিট্রিভাল দেখায় যে এজেন্ট সেমান্টিক সার্চ বা সঠিক টেক্সট রিট্রিভালের মাধ্যমে একটি ডেটাবেসে কুয়েরি করে রানটাইম কনটেক্সট তৈরি করছে.

Together, these layers ensure the agent’s reasoning is grounded in OpenAI’s data, code, and institutional knowledge, dramatically reducing errors and improving answer quality.

Built to think and work like a teammate

One-shot answers work when the problem is clear, but most questions aren’t. More often, arriving at the correct result requires back-and-forth refinement and some course correction.

The agent is built to behave like a teammate you can reason with. It’s a conversational, always-on and handles both quick answers and iterative exploration.

It carries over complete context across turns, so users can ask follow-up questions, adjust their intent, or change direction without restating everything. If the agent starts heading down the wrong path, users can interrupt mid-analysis and redirect it, just like working with a human collaborator who listens instead of plowing ahead.

When instructions are unclear or incomplete, the agent proactively asks clarifying questions. If no response is provided, it applies sensible defaults to make progress. For example, if a user asks about business growth with no date range specified, it may assume the last seven or 30 days. These priors allow it to stay responsive and non-blocking while still converging on the right outcome.

The result is an agent that works well both when you know exactly what you want (e.g., “Tell me about this table”) and just as strong when you’re exploring (e.g., “I’m seeing a dip here, can we break this down by customer type and timeframe?”). 

After rollout, we observed that users frequently ran the same analyses for routine repetitive work. To expedite this, the agent's workflows package recurring analyses into reusable instruction sets. Examples include workflows for weekly business reports and table validations. By encoding context and best practices once, workflows streamline repeat analyses and ensure consistent results across users.

প্লেসহোল্ডার টেক্সট “একটি ডেটা প্রশ্ন করুন.” সহ UI ইনপুট বার এর নিচে “Use a workflow” লেবেলযুক্ত একটি বোতাম আছে এবং ডান পাশে মাইক্রোফোন এবং পাঠানোর আইকন রয়েছে. বারটির কোণাগুলি গোলাকার এবং এটি একটি গাঢ় পটভূমির বিপরীতে অবস্থান করছে.

Moving fast without breaking trust

Building an always-on, evolving agent means quality can drift just as easily as it can improve. Without a tight feedback loop, regressions are inevitable and invisible. The only way to scale capability without breaking trust is through systematic evaluation.

In this section, we’ll discuss how we leverage OpenAI’s Evals API(একটি নতুন উইন্ডোতে খোলে) to measure and protect the agent’s response quality.

Its Evals are built on curated sets of question-answer pairs. Each question targets an important metric or analytical pattern we care deeply about getting right, paired with a manually authored “golden” SQL query that produces the expected result. For each eval, we send the natural language question to its query-generation endpoint, execute the generated SQL, and compare the output against the result of the expected SQL.

“ডেটা এজেন্টের মূল্যায়ন পাইপলাইন” শীর্ষক ডায়াগ্রাম. Q&A eval জোড়া প্রত্যাশিত SQL সহ একটি জেনারেশন ধাপে প্রবেশ করে, যা SQL এবং ফলাফল তৈরি করে. OpenAI Evals ডেটাফ্রেম এবং SQL-এর মধ্যে তুলনা করার মাধ্যমে জেনারেটেড বা তৈরি হওয়া ফলাফলের সাথে প্রত্যাশিত ফলাফলের তুলনা করে এবং ফলাফলস্বরূপ একটি স্কোর ও যৌক্তিক ব্যাখ্যা প্রদান করে.

Evaluation doesn’t rely on naive string matching. Generated SQL can differ syntactically while still being correct, and result sets may include extra columns that don’t materially affect the answer. To account for this, we compare both the SQL and the resulting data, and feed these signals into OpenAI’s Evals grader. The grader produces a final score along with an explanation, capturing both correctness and acceptable variation.

These evals are like unit tests that run continuously during development to identify regressions as canaries in production; this allows us to catch issues early and confidently iterate as the agent's capabilities expand.

Agent security

Our agent plugs directly into OpenAI’s existing security and access-control model. It operates purely as an interface layer, inheriting and enforcing the same permissions and guardrails that govern OpenAI’s data. 

All of the agent’s access is strictly pass-through, meaning users can only query tables they already have permission to access. When access is missing, it flags this or falls back to alternative datasets the user is authorized to use.

Finally, it's built for transparency. Like any system, it can make mistakes. It exposes its reasoning process by summarizing assumptions and execution steps alongside each answer. When queries are executed, it links directly to the underlying results, allowing users to inspect raw data and verify every step of the analysis.

Lessons learned

Building our agent from scratch surfaced practical lessons about how agents behave, where they struggle, and what actually makes them reliable at scale.

Lesson #1: Less is More

Early on, we exposed our full tool set to the agent, and quickly ran into problems with overlapping functionality. While this redundancy can be helpful for specific custom cases and is more obvious to a human when manually invoking, it’s confusing to agents. To reduce ambiguity and improve reliability, we restricted and consolidated certain tool calls.

Lesson #2: Guide the Goal, Not the Path

We also discovered that highly prescriptive prompting degraded results. While many questions share a general analytical shape, the details vary enough that rigid instructions often pushed the agent down incorrect paths. By shifting to higher-level guidance and relying on GPT‑5’s reasoning to choose the appropriate execution path, the agent became more robust and produced better results.

Lesson #3: Meaning Lives in Code

Schemas and query history describe a table’s shape and usage, but its true meaning lives in the code that produces it. Pipeline logic captures assumptions, freshness guarantees, and business intent that never surface in SQL or metadata. By crawling the codebase with Codex, our agent understands how datasets are actually constructed and is able to better reason about what each table actually contains. It can answer “what’s in here” and “when can I use it” far more accurately than from warehouse signals alone. 

Same vision, new tools

We’re constantly working to improve our agent by increasing its ability to handle ambiguous questions, improving its reliability and accuracy with stronger validations, and integrating it more deeply into workflows. We believe it should blend naturally into how people already work, instead of functioning like a separate tool.

While our tooling will keep benefiting from underlying improvements in agent reasoning, validation, and self-correction, our team’s mission remains the same: seamlessly deliver fast, trustworthy data analysis across OpenAI’s data ecosystem.

লেখক

Bonnie Xu, Aravind Suresh, Emma Tang

কৃতজ্ঞতা প্রকাশ

ডেটা প্রোডাক্টিভিটি এবং ডেটা সায়েন্স দলগুলোর প্রতি বিশেষ ধন্যবাদ এবং তাদের পরীক্ষা-নিরীক্ষা ও প্রতিক্রিয়ার জন্য আমাদের অনেক ক্রস-ফাংশনাল ব্যবহারকারীদেরও ধন্যবাদ.