লেখক: সতীশ কুমার
মূলত টুওয়ার্ডস এআই-তে পোস্ট করা হয়েছে।
স্নোফ্লেকের কর্টেক্স এজেন্ট GA – ব্যক্তিগত ডেটাবেস স্যান্ডবক্স, অস্থায়ী এজেন্ট, অনুলিপি অনুদান, এবং কর্টেক্স অনুসন্ধান স্থগিত করার খরচ গণিতের উন্নতির জন্য কী-টু-উৎপাদন পাইপলাইন।
2 এর 2 অংশ – পার্ট 1: আপনার কর্টেক্স এজেন্ট স্পেসিফিকেশন যে কোনো ভূমিকার জন্য দৃশ্যমান যা এটি চালাতে পারে

পার্ট 1 কভার করে কেন নিরাপদ এজেন্ট বিদ্যমান এবং স্পেসিফিকেশন প্রসেসিং আসলে কীভাবে কাজ করে – মালিকানা গোটচা সহ যা নীরবে সম্পাদনা ভেঙে দেয় ACCOUNTADMIN এজেন্টের মালিক। এই নিবন্ধটি প্রোডাকশন ডিপ্লয়মেন্ট পাইপলাইন কভার করে: সঠিক RBAC, শূন্য ডাউনটাইম আপডেট এবং খরচ নিয়ন্ত্রণের সাথে কীভাবে একটি সুরক্ষিত কর্টেক্স এজেন্ট বিকাশ, যাচাই, স্থাপন এবং চালানো যায়।
দেখানো উদাহরণটি পার্ট 1 থেকে রিলিজ নোটের একই গোয়েন্দা এজেন্ট।
ডেভেলপার ওয়ার্কফ্লো: উৎপাদনের জন্য ব্যক্তিগত ডাটাবেস
একটি ব্যক্তিগত ডাটাবেস বিকাশ
প্রতিটি বিকাশকারী তার ব্যক্তিগত ডাটাবেসে এজেন্ট তৈরি করে। না CREATE AGENT শেয়ার্ড স্কিমগুলিতে অনুমতি প্রয়োজন৷
CREATE OR REPLACE AGENT "USER$JSMITH".PUBLIC.release_notes_dev
COMMENT = 'Dev iteration — testing new orchestration instructions'
FROM SPECIFICATION $$
models:
orchestration: claude-sonnet-4-6
instructions:
response: "Testing revised response format — include release date in bold."
orchestration: "Always use ReleaseAnalyst first, fall back to ReleaseSearch."
tools:
- tool_spec:
type: "cortex_analyst_text_to_sql"
name: "ReleaseAnalyst"
- tool_spec:
type: "cortex_search"
name: "ReleaseSearch"
tool_resources:
ReleaseAnalyst:
semantic_view: "release_intel_db.data.release_notes_model"
ReleaseSearch:
search_service: "release_intel_db.data.release_search"
max_results: 5
$$;
ব্যক্তিগত ডাটাবেস এজেন্ট উত্পাদন ডেটা উত্সগুলিকে উল্লেখ করে (অর্থবোধক দৃশ্য এবং অনুসন্ধান পরিষেবা) তবে একটি বিচ্ছিন্ন স্কিমাতে বাস করে। কোনো নামের দ্বন্দ্ব নেই। কোনো শেয়ার্ড স্কিমা অনুমতির প্রয়োজনীয়তা নেই।
একটি অস্থায়ী এজেন্ট সঙ্গে প্রমাণীকরণ
উৎপাদনে উন্নীত করার আগে, একটি অস্থায়ী এজেন্ট তৈরি করুন। সক্রিয়করণের সুযোগে – এটি অদৃশ্য হয়ে যায় যখন সক্রিয়করণ শেষ হয় এবং প্রয়োজন হয় না CREATE AGENT লক্ষ্য স্কিমা উপর.
CREATE TEMPORARY AGENT release_notes_validation
FROM SPECIFICATION $$
models:
orchestration: claude-sonnet-4-6
orchestration:
budget:
seconds: 30
tokens: 16000
instructions:
response: "Testing revised response format — include release date in bold."
orchestration: "Always use ReleaseAnalyst first, fall back to ReleaseSearch."
tools:
- tool_spec:
type: "cortex_analyst_text_to_sql"
name: "ReleaseAnalyst"
- tool_spec:
type: "cortex_search"
name: "ReleaseSearch"
tool_resources:
ReleaseAnalyst:
semantic_view: "release_intel_db.data.release_notes_model"
ReleaseSearch:
search_service: "release_intel_db.data.release_search"
max_results: 5
$$;-- Validate
SELECT SNOWFLAKE.CORTEX.DATA_AGENT_RUN(
'release_notes_validation',
$${"messages": [{"role": "user", "content": [{"type": "text", "text": "What features reached GA on September 16, 2026?"}]}]}$$
);
অস্থায়ী এজেন্ট সীমাবদ্ধতা: কোন সংস্করণ নেই (COMMITসর্বনাম), স্থায়ী রূপান্তর করতে পারে না, চ DATA_AGENT_RUN স্থায়ী এজেন্টদের জন্য পুরো নাম প্রয়োজন (অস্থায়ী এজেন্টরা সেশন নামস্থান ব্যবহার করে)।
কপি অনুদান সহ অগ্রিম
উৎপাদন এজেন্ট ইতিমধ্যে অনুদান আছে release_agent_consumer এবং analyst_role. COPY GRANTS বিনিময় সময় তাদের সব সংরক্ষণ.
USE ROLE release_agent_owner;CREATE OR REPLACE SECURE AGENT release_intel_db.agents.release_notes_agent
COMMENT = 'Production release notes agent — v2, revised orchestration.'
PROFILE = '{"display_name": "Release Intel", "avatar": "release-notes.png", "color": "blue"}'
COPY GRANTS
FROM SPECIFICATION $$
models:
orchestration: claude-sonnet-4-6
orchestration:
capabilities:
analytical_search: true
tool_not_accessible: accept
budget:
seconds: 30
tokens: 16000
instructions:
response: >
You are a release notes intelligence assistant. Include the release
date in bold for every feature mentioned. Be precise about GA vs
Preview status.
orchestration: >
Always use ReleaseAnalyst first. Fall back to ReleaseSearch only when
ReleaseAnalyst cannot answer.
tools:
- tool_spec:
type: "cortex_analyst_text_to_sql"
name: "ReleaseAnalyst"
- tool_spec:
type: "cortex_search"
name: "ReleaseSearch"
tool_resources:
ReleaseAnalyst:
semantic_view: "release_intel_db.data.release_notes_model"
execution_environment:
type: "warehouse"
warehouse: "COMPUTE_WH"
ReleaseSearch:
search_service: "release_intel_db.data.release_search"
max_results: 5
$$;
-- Verify grants survived
SHOW GRANTS ON AGENT release_intel_db.agents.release_notes_agent;
অপারেশনটি পারমাণবিক। ভোক্তারা বাধা অনুভব করেন না। নোট: COPY GRANTS আমার পিছনে আসতে হবে PROFILE এবং তার আগে FROM SPECIFICATION – সাব-অর্ডার ধারা।
আরবিএসি ডিজাইন
-- Owner role: full specification access, deployment authority
CREATE ROLE IF NOT EXISTS release_agent_owner;
GRANT CREATE AGENT ON SCHEMA release_intel_db.agents TO ROLE release_agent_owner;
GRANT USAGE ON DATABASE release_intel_db TO ROLE release_agent_owner;
GRANT USAGE ON SCHEMA release_intel_db.agents TO ROLE release_agent_owner;
GRANT USAGE ON SCHEMA release_intel_db.data TO ROLE release_agent_owner;-- Consumer role: invocation only, no spec visibility
CREATE ROLE IF NOT EXISTS release_agent_consumer;
GRANT USAGE ON DATABASE release_intel_db TO ROLE release_agent_consumer;
GRANT USAGE ON SCHEMA release_intel_db.agents TO ROLE release_agent_consumer;
GRANT USAGE ON AGENT release_intel_db.agents.release_notes_agent
TO ROLE release_agent_consumer;
-- Transfer ownership away from ACCOUNTADMIN (see Part 1)
GRANT OWNERSHIP ON AGENT release_intel_db.agents.release_notes_agent
TO ROLE release_agent_owner REVOKE CURRENT GRANTS;
GRANT USAGE ON AGENT release_intel_db.agents.release_notes_agent
TO ROLE release_agent_consumer;

ভোক্তার ভূমিকার ঠিক 4টি অনুদান রয়েছে: USAGE ডাটাবেস, স্কিমা, এজেন্ট এবং গুদাম সম্পর্কে। জিরো সুপার অনুদান DATA স্কিমা শূন্য SELECT প্রতিটি টেবিলে। শূন্য GRANT_OPTION যে কোন জায়গায়
করুণাময় অপমান: একটি পাত্র নিচে গেলে কি হয়
সঙ্গে tool_not_accessible: acceptএকটি নির্দিষ্ট টুল অনুপলব্ধ হলে এজেন্ট চলতে থাকে। স্থগিত কর্টেক্স অনুসন্ধান পরিষেবার সাথে আমরা যা দেখেছি তা এখানে:

ব্যর্থতার উপর ব্যর্থতা সত্যিই করুণাময় ছিল। স্ট্রাকচার্ড প্রশ্ন প্রভাবিত হয়নি. ধারণাগত প্রশ্নগুলি প্রায় 11 সেকেন্ড সময় নেয় (লুপ পুনরায় চেষ্টা) কিন্তু SQL ফলব্যাকের মাধ্যমে সঠিক উত্তর ফিরিয়ে দেয়।
তিনটি tool_not_accessible মান:

খরচ অপ্টিমাইজেশান
লেআউটটিতে তিনটি খরচ লিভার রয়েছে:

কর্টেক্স অনুসন্ধান পরিষেবাটি ছিল সবচেয়ে বড় নিয়ন্ত্রণযোগ্য খরচ। সঙ্গে TARGET_LAG = '1 hour'ডেটা পরিবর্তন নির্বিশেষে এটি প্রতি ঘন্টায় রিফ্রেশ করে। একটি ডেটাসেটের জন্য যা সাপ্তাহিক আপডেট হয়, এটি একটি অপচয়।
-- Suspend to stop refresh costs
ALTER CORTEX SEARCH SERVICE release_intel_db.data.release_search SUSPEND;-- Resume when needed (rebuilds from checkpoint)
ALTER CORTEX SEARCH SERVICE release_intel_db.data.release_search RESUME;
ভারসাম্য বিশ্লেষণ: অনুসন্ধান পরিষেবার খরচ প্রতিদিন ~0.04 ক্রেডিট। প্রতিটি এজেন্ট অর্ডারের খরচ ~0.0034 ক্রেডিট। প্রতিদিন 12 টিরও কম ধারণাগত প্রশ্নে, অনুসন্ধান পরিষেবাটি যে প্রশ্নগুলি পরিবেশন করে তার চেয়ে বেশি খরচ করে৷ প্রস্তাবিত সাসপেনশন থ্রেশহোল্ড: প্রতিদিন 5টিরও কম ধারণাগত প্রশ্ন।

আপস

কখন নিরাপদ এজেন্ট ব্যবহার করবেন
- স্পেসিফিকেশনে মালিকানা অর্কেস্ট্রেশন যুক্তি রয়েছে
- এজেন্টকে বাহ্যিক অ্যাকাউন্ট বা নেটিভ অ্যাপের মাধ্যমে শেয়ার করা হয়
- বেশ কয়েকটি দল আছে
USAGEকিন্তু টুল কনফিগারেশন দেখা উচিত নয়
কখন এড়াতে হবে
- অভ্যন্তরীণ এজেন্ট যেখানে সমস্ত ভোক্তাদের বিশ্বাস করা যেতে পারে
- উন্নয়ন পরিবেশ যেখানে স্পেসিফিকেশন স্বচ্ছতা ডিবাগিং সাহায্য করে
কি নিরীক্ষণ করতে হবে
-- Invocation volume and errors
SELECT execution_status, COUNT(*) AS cnt
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE query_text ILIKE '%DATA_AGENT_RUN%release_notes_agent%'
AND start_time > DATEADD('day', -7, CURRENT_TIMESTAMP())
GROUP BY 1;-- Ownership hasn't reverted after replacement
SHOW AGENTS LIKE 'release_notes_agent' IN SCHEMA release_intel_db.agents;
-- Check: is_secure = true, owner = RELEASE_AGENT_OWNER (not ACCOUNTADMIN)
একটি মূল গ্রহণ
- স্থাপনার পাইপলাইন এখন সম্পূর্ণ। ব্যক্তিগত ডাটাবেস → অস্থায়ী এজেন্ট → কপি অনুদান সহ নিরাপদ উৎপাদন এজেন্ট। 2026 সালের সেপ্টেম্বরের আগে, প্রতিটি পদক্ষেপে ঘর্ষণ ছিল।
- কপি অনুদান হল সবচেয়ে গুরুত্বপূর্ণ অপারেশনাল উন্নতি। সময় অনুদান ক্ষতি
CREATE OR REPLACEসবচেয়ে সাধারণ উত্পাদন ঘটনা ছিল. অনুলিপি অনুদান এজেন্ট আপডেটগুলিকে দৃশ্য পরিবর্তনের মতো নিরাপদ করে তোলে। বিভাগগুলির ক্রম গুরুত্বপূর্ণ:COMMENT→PROFILE→COPY GRANTS→FROM SPECIFICATION. - শব্দার্থিক দৃষ্টিভঙ্গি একটি শূন্য-খরচ সম্পদ। অনুসন্ধান পরিষেবার বিপরীতে, এটির কোন চলমান কম্পিউটিং খরচ নেই। কর্টেক্স বিশ্লেষক টুল মেটাডেটা চালানোর সময় SQL তৈরি করে। এটি এটিকে এজেন্ট আর্কিটেকচারের সবচেয়ে দক্ষ উপাদান করে তোলে।
- অনুসন্ধান পরিষেবাটি স্থগিত করুন যখন এটি পরিবেশন করা প্রশ্নের চেয়ে বেশি খরচ করে৷ প্রতিদিন 12টি ধারণাগত প্রশ্নের নীচে, প্রতি ঘন্টা রিফ্রেশ চক্র একটি অপচয়। এজেন্ট gracefully SQL-ভিত্তিক অনুসন্ধান ব্যবহার করে degrades
tool_not_accessible: accept.
“প্রোটোটাইপ এজেন্ট” এবং “উৎপাদন এজেন্ট” এর মধ্যে ব্যবধান বন্ধ হয়ে গেছে। কর্টেক্স এজেন্টদের এখন একই লাইফসাইকেল প্রাইমিটিভ আছে—সুরক্ষিত বস্তু, ইন-স্কোপ টেস্টিং, অনুদান ধারণ, ব্যক্তিগত উন্নয়ন স্যান্ডবক্স—যা স্নোফ্লেকের পরিপক্ক অবজেক্টের ধরন বছরের পর বছর ধরে আছে।
আপনি এটা দরকারী খুঁজে পেয়েছেন? 👏 এটিকে এক রাউন্ড করতালি দিন – এটি অন্যদের এটি আবিষ্কার করতে সহায়তা করে৷
অনুসরণ করুন সাপ্তাহিক স্নোফ্লেক ডিপ ডাইভ, অ্যাকশনেবল আর্কিটেকচার ইনসাইট এবং টেকনিক্যাল কুইকবিট। ❄️
আপনি এই কাজটি ব্যবহার করতে, ভাগ করতে, মানিয়ে নিতে এবং তৈরি করতে পারেন। সর্বজনীন পুনর্বন্টন বা উপাদান অভিযোজনের জন্য, অনুগ্রহ করে অ্যাট্রিবিউশন বজায় রাখুন এবং মূল নিবন্ধ বা সংগ্রহস্থল এবং লেখকের লিঙ্কডইন প্রোফাইলের একটি লিঙ্ক অন্তর্ভুক্ত করুন। ব্যক্তিগত এবং অভ্যন্তরীণ ব্যবহারের জন্য অ্যাট্রিবিউশন প্রয়োজন হয় না। শিক্ষাগত উদ্দেশ্যে “যেমন আছে” প্রদান করা হয়েছে। উত্পাদনে ব্যবহার করার আগে অনুগ্রহ করে যাচাই করুন এবং সমস্ত নমুনা পরীক্ষা করুন। মতামত আমার নিজস্ব এবং কোনো বর্তমান বা প্রাক্তন নিয়োগকর্তার প্রতিনিধিত্ব করে না।
টুওয়ার্ডস এআই এর মাধ্যমে পোস্ট করা হয়েছে










Leave a Reply