কিভাবে CrewAI ব্যবহার করবেন: মাল্টি-এজেন্ট ওয়ার্কফ্লো-এর একটি ব্যবহারিক গাইড
সাহসী প্রতিশ্রুতি: আপনি যদি কখনও আপনার সেরা সহকর্মীকে ক্লোন করে একটি প্রোজেক্ট দ্রুত শেষ করতে পারতেন বলে মনে করে থাকেন, তাহলে CrewAI আপনাকে সেই সুযোগের কাছাকাছি নিয়ে যায় - একাধিক AI এজেন্টদের সমন্বিত করে যারা একসাথে পরিকল্পনা করে, সহযোগিতা করে এবং কাজ সম্পন্ন করে।
এই ব্যবহারিক, সমাধান-ভিত্তিক গাইডে, আপনি CrewAI কিভাবে ব্যবহার করতে হয় তা শিখবেন: ফ্রেমওয়ার্ক ইনস্টল করা এবং এজেন্ট নির্ধারণ করা থেকে শুরু করে, বাস্তব ফলাফল দেয় এমন ভূমিকা, সরঞ্জাম, টাস্ক এবং স্ট্রাকচার্ড মাল্টি-এজেন্ট ওয়ার্কফ্লো তৈরি করা পর্যন্ত। আমরা গবেষণা, কনটেন্ট, ডেটা অ্যানালাইসিস এবং কোড জেনারেশনের প্যাটার্নগুলো আলোচনা করব—এবং এজেন্ট ডেড-এন্ড, প্রম্পট ব্লোট এবং টুলের অতিরিক্ত ব্যবহার-এর মতো সাধারণ সমস্যাগুলো কিভাবে এড়িয়ে যেতে হয় তা দেখবো।
আমাদের মূল লক্ষ্য: আপনাকে কপি-পেস্ট কোড, পরীক্ষিত সেরা উপায় এবং কিছু ওয়ার্কফ্লো ব্লুপ্রিন্ট-এর মাধ্যমে একটি ধাপে ধাপে 'আজই চেষ্টা করুন' এমন একটি পথ দেওয়া, যা আপনি নিজের মতো করে নিতে পারেন। আপনি বাজারের গবেষণা অটোমেট করছেন বা টিকিট থেকে একটি প্রোডাক্ট স্পেক তৈরি করছেন, CrewAI কার্যকরভাবে ব্যবহার করার জন্য এটি আপনার প্রবেশদ্বার।
CrewAI কি (এবং কেন এটি আলাদা)
- CrewAI হল মাল্টি-এজেন্ট সিস্টেম তৈরির একটি কাঠামো যেখানে প্রতিটি এজেন্টের একটি ভূমিকা, লক্ষ্য, সরঞ্জাম এবং নিয়ম রয়েছে। এই কাঠামোটি তখন এই এজেন্টদের সমন্বিত করে—টাস্ক হস্তান্তর করে, প্রসঙ্গ শেয়ার করে এবং একটি আউটপুটের দিকে কাজ করে।
- একটি একক এলএলএম প্রম্পটের বিপরীতে, CrewAI কাঠামোকে জোরদার করে: এজেন্টরা সুস্পষ্ট, টাস্কগুলো মডুলার, সরঞ্জামগুলোর অনুমতি রয়েছে এবং ফলাফল নিরীক্ষণযোগ্য।
- এর ফলস্বরূপ: কার্যপ্রণালীগুলো ভেঙে দেওয়া হয়েছে (গবেষণা → সংশ্লেষণ → লেখা → কিউএ) যা বাস্তব দলগুলোর কাজের প্রতিফলন—শুধু দ্রুত, স্কেলেবল এবং পুনরুৎপাদনযোগ্য।
দ্রুত শুরু: ১০ মিনিটে CrewAI কিভাবে ব্যবহার করবেন
নিচে একটি কার্যকরী মাল্টি-এজেন্ট ক্রু তৈরি করার জন্য একটি সাধারণ প্যাটার্ন দেওয়া হল। আমরা ধরে নেব আপনি পাইথন ব্যবহার করছেন।
১) ইনস্টল এবং সেট আপ করুন
pip install crewai langchain-openai python-dotenv
আপনার এলএলএম প্রদানকারীর কীগুলো দিয়ে একটি .env ফাইল তৈরি করুন:
OPENAI_API_KEY=sk-your-key
# অথবা আপনার স্ট্যাক দ্বারা সমর্থিত অন্যান্য প্রদানকারী
২) আপনার এজেন্টদের সংজ্ঞায়িত করুন (ভূমিকা + লক্ষ্য + সরঞ্জাম)
from crewai import Agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2)
researcher = Agent(
role="মার্কেট গবেষক",
goal="লক্ষ্য বাজার এবং প্রতিযোগীদের সম্পর্কে বিশ্বাসযোগ্য, বর্তমান তথ্য খুঁজে বের করা।",
backstory=(
"আপনি একজন পরিশ্রমী বিশ্লেষক যিনি দাবি যাচাই করেন, উৎস উল্লেখ করেন এবং খ্যাতি সম্পন্ন প্রকাশনা থেকে"
"সংকেতগুলো সংক্ষিপ্ত করেন।"
),
tools=[], # পরে ওয়েব/সার্চ/স্ক্র্যাপার সরঞ্জাম যোগ করুন
llm=llm
)
strategist = Agent(
role="পণ্য কৌশলবিদ",
goal="গবেষণা থেকে একটি স্পষ্ট অবস্থান এবং রোডম্যাপ বিকল্প তৈরি করা।",
backstory="আপনি স্বচ্ছতা, সম্ভাব্যতা এবং পরিমাপযোগ্য ফলাফলকে অগ্রাধিকার দেন।",
tools=[],
llm=llm
)
writer = Agent(
role="কনটেন্ট রাইটার",
goal="উদাহরণ এবং পরবর্তী পদক্ষেপ সহ একটি ভালোভাবে তৈরি করা সংক্ষিপ্ত বিবরণ তৈরি করা।",
backstory="আপনি সংক্ষিপ্ত, যুক্তিনির্ভর ইংরেজি ভাষায় লেখেন এবং স্টাইল গাইড অনুসরণ করেন।",
tools=[],
llm=llm
)
৩) টাস্ক তৈরি করুন (ইনপুট, আউটপুট এবং গ্রহণযোগ্যতার মানদণ্ড)
from crewai import Task
research_task = Task(
description=(
"2025 সালে মার্কিন এসএমবি প্রোজেক্ট ম্যানেজমেন্ট সফটওয়্যার বাজার নিয়ে গবেষণা করুন।"
"শীর্ষ প্রতিযোগী, মূল্য স্তর, আইসিপি এবং তিনটি অপূর্ণ চাহিদা চিহ্নিত করুন।"
"3-5টি উদ্ধৃতিসহ বুলেট পয়েন্ট ফেরত দিন।"
),
expected_output=(
"বিভাগসহ একটি মার্কডাউন সংক্ষিপ্ত বিবরণ: বাজারের আকার, মূল খেলোয়াড়, মূল্য, আইসিপি,"
"অপূর্ণ চাহিদা, উৎস (লিঙ্কসহ)।"
),
agent=researcher
)
synthesis_task = Task(
description=(
"গবেষণা সংক্ষিপ্ত বিবরণ ব্যবহার করে, একটি অবস্থান বিবৃতি, 2-3টি পার্থক্যকারী,"
"এবং মাইলস্টোনসহ একটি 90 দিনের রোডম্যাপ তৈরি করুন।"
),
expected_output="একটি সংক্ষিপ্ত কৌশল মেমো (<= 400 শব্দ)।",
agent=strategist
)
writing_task = Task(
description=(
"কৌশল মেমোটিকে একটি সর্বজনীন এক-পেজারে পরিণত করুন। একটি শিরোনাম, অন্তর্ভুক্ত করুন,"
"মূল্য প্রস্তাব, বৈশিষ্ট্য বুলেট এবং একটি সিটিএ।"
),
expected_output="একটি ল্যান্ডিং পেজের জন্য উপযুক্ত মার্কডাউন এক-পেজার।",
agent=writer
)
৪) ক্রু পরিচালনা করুন (ফ্লো + মেমরি)
from crewai import Crew
crew = Crew(
agents=[researcher, strategist, writer],
tasks=[research_task, synthesis_task, writing_task],
process="sequential", # ক্রমানুসারে আউটপুট হস্তান্তর করুন
verbose=True
)
result = crew.kickoff
print(result)
এটি আপনার প্রথম কার্যকরী পাইপলাইন। আপনি এজেন্ট সংজ্ঞায়িত করেছেন, টাস্কগুলো সাজিয়েছেন এবং একটি ধারাবাহিক ফ্লো চালিয়েছেন। এটিকে প্রসারিত করতে, সরঞ্জাম (অনুসন্ধান, স্ক্র্যাপিং, কোড সম্পাদন), বৈধতা পদক্ষেপ এবং সমান্তরাল পর্যায় যোগ করুন।
CrewAI প্রোজেক্টের জন্য একটি মানসিক মডেল
একজন প্রোজেক্ট ম্যানেজারের মতো চিন্তা করুন:
- ভূমিকা: কে কী করে? গবেষক, বিশ্লেষক, প্রকৌশলী, পর্যালোচক।
- নিয়ম: কী মান পূরণ করতে হবে? স্টাইল গাইড, উদ্ধৃতি, পরীক্ষা।
- সরঞ্জাম: কী কী সক্ষমতা অনুমোদিত? ওয়েব অনুসন্ধান, ভেক্টর ডিবি, পাইথন, এপিআই।
- টাস্ক: আমরা কীভাবে সমস্যাটি ভেঙে ফেলব? ইনপুট, আউটপুট, গ্রহণযোগ্যতার মানদণ্ড।
- হস্তান্তর: কী হস্তান্তর করা হয়? আর্টিফ্যাক্ট, মেটাডেটা, সীমাবদ্ধতা।
- ফিডব্যাক: কে যাচাই করে? একটি QA এজেন্ট, একজন মানুষ-ইন-দ্য-লুপ, বা পরীক্ষা।
CrewAI-এর সাথে, আপনার কোড এই অপারেটিং মডেলটিকে এনকোড করে।
বাস্তব কাজের জন্য CrewAI কিভাবে ব্যবহার করবেন: ৫টি প্রমাণিত প্যাটার্ন
১) গবেষণা → সংশ্লেষণ → খসড়া তৈরি (কনটেন্ট ও রিপোর্ট)
- এজেন্ট: গবেষক, সম্পাদক, লেখক, তথ্য-পরীক্ষক।
- সরঞ্জাম: ওয়েব সার্চ, উৎস পরীক্ষক, স্টাইল গাইড।
- টিপ: হ্যালুসিনেশন প্রতিরোধ করতে উদ্ধৃতি এবং একটি "দাবি টেবিল" তৈরি করতে বাধ্য করুন।
fact_checker = Agent(
role="তথ্য পরীক্ষক",
goal="প্রাথমিক উৎসের বিপরীতে সমস্ত দাবি যাচাই করুন; দুর্বল উদ্ধৃতি চিহ্নিত করুন।",
backstory="সন্দেহপ্রবণ, খুঁটিনাটি, নিরপেক্ষ।",
llm=llm
)
qa_task = Task(
description="সমস্ত তথ্যগত বিবৃতি যাচাই করুন; [FIX] ট্যাগ দিয়ে ইনলাইন সংশোধন যোগ করুন।",
expected_output="সংশোধনের সারসংক্ষেপসহ একটি সংশোধিত খসড়া।",
agent=fact_checker
)
২) টিকিট থেকে প্রোডাক্ট স্পেক (প্রকৌশলী)
- এজেন্ট: টিকিট গ্রুপিং, স্পেক লেখক, পর্যালোচক, পরীক্ষা লেখক।
- সরঞ্জাম: ইস্যু ট্র্যাকার API, এম্বেডিং এর মাধ্যমে কোডবেস প্রসঙ্গ, ইউনিট-টেস্ট জেনারেটর।
- টিপ: একটি স্বয়ংক্রিয় "সম্পন্ন হওয়ার সংজ্ঞা" চেকলিস্ট যোগ করুন।
৩) ডেটা → অন্তর্দৃষ্টি → বর্ণনা (বিশ্লেষণ)
- এজেন্ট: ডেটা র্যাংলার (পাইথন), বিশ্লেষক, গল্পকথক।
- সরঞ্জাম: পান্ডাস, এসকিউএল, চার্টিং, নোটবুক সম্পাদন।
- টিপ: যাচাইযোগ্য বিশ্লেষণের জন্য
পাইথন এক্সিকিউশন সহ একটি সরঞ্জাম-সক্ষম এজেন্ট ব্যবহার করুন।
৪) গার্ডরেলস সহ কোড-জেন
- এজেন্ট: পরিকল্পনাকারী, কোডার, লিন্টার, পরীক্ষক, পর্যালোচক।
- সরঞ্জাম: রেপো রিড, ইউনিট টেস্ট রানার, ফরমেটার, নিরাপত্তা স্ক্যানার।
- টিপ: পর্যালোচককে সঠিকতা প্রমাণ করে এমন পরীক্ষাগুলি উল্লেখ করতে বলুন।
৫) স্কেলে গ্রাহক ইমেল সিকোয়েন্স
- এজেন্ট: সেগমেন্টার, কপিরাইটার, ব্যক্তিগতকরণকারী, QA।
- সরঞ্জাম: সিআরএম API, টেমপ্লেট, ব্র্যান্ড টোন গাইড।
- টিপ: একটি বাউন্স/স্প্যাম চেক সরঞ্জাম যুক্ত করুন এবং A/B ভেরিয়েন্ট তৈরি করতে বাধ্য করুন।
সরঞ্জাম যোগ করা: এজেন্টদের বাস্তব ক্ষমতা দিন
যখন এজেন্টরা সরঞ্জাম ব্যবহার করতে পারে তখন CrewAI উজ্জ্বল হয়ে ওঠে। উদাহরণ: গবেষককে ওয়েব অনুসন্ধান এবং একটি URL রিডার দিন।
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_community.document_loaders import WebBaseLoader
search = DuckDuckGoSearchRun
def web_search_tool(query: str):
return search.run(query)
def read_url_tool(url: str):
loader = WebBaseLoader(url)
docs = loader.load
return "\n\n".join([d.page_content[:2000] for d in docs])
researcher.tools = [web_search_tool, read_url_tool]
সেরা উপায়:
- ন্যূনতম সুবিধা: শুধুমাত্র সেই সরঞ্জামগুলি সংযুক্ত করুন যা এজেন্টের সত্যিই প্রয়োজন।
- স্কিমা শৃঙ্খলা: সরঞ্জামগুলি ডিটারমিনিস্টিক এবং টাইপ করা উচিত; যখন সম্ভব সংক্ষিপ্ত, কাঠামোগত পাঠ্য (JSON/মার্কডাউন) ফেরত দিন।
- খরচ নিয়ন্ত্রণ: সরঞ্জামের আউটপুট সংক্ষিপ্ত রাখুন; হস্তান্তর করার আগে সংক্ষিপ্ত করুন।
টাস্ক ডিজাইন যা সফল হবে
ভালভাবে ডিজাইন করা টাস্ক মাল্টি-এজেন্ট সিস্টেম তৈরি বা ভেঙে দিতে পারে।
- স্পষ্ট হোন: "X, Y, Z কলাম সহ একটি মার্কডাউন টেবিল ফেরত দিন।"
- গ্রহণযোগ্যতার মানদণ্ড সংজ্ঞায়িত করুন: "প্রাথমিক উত্সের সাথে লিঙ্কযুক্ত 3টি উদ্ধৃতি রয়েছে।"
- সীমা নির্ধারণ করুন: শব্দের গণনা, সময়সীমা বা পদক্ষেপের সীমা ড্রিফট হ্রাস করে।
- উদাহরণ অন্তর্ভুক্ত করুন: পছন্দসই আউটপুট বিন্যাসের একটি মিনি-স্পেক সরবরাহ করুন।
- মেমরি ট্যাগ যোগ করুন: সহজ হস্তান্তরের জন্য টাস্ক জুড়ে সামঞ্জস্যপূর্ণ শিরোনাম/কী ব্যবহার করুন।
টাস্ক কাঠামোর উদাহরণ:
Task(
description=(
"পদ্ধতি, নমুনার আকার এবং মূল ফলাফল সহ রিমোট ওয়ার্ক প্রোডাক্টিভিটি (2023-2025) নিয়ে সাম্প্রতিক 5টি গবেষণার সারসংক্ষেপ করুন।"
"পদ্ধতি, নমুনার আকার এবং মূল ফলাফল সহ রিমোট ওয়ার্ক প্রোডাক্টিভিটি (2023-2025) নিয়ে সাম্প্রতিক 5টি গবেষণার সারসংক্ষেপ করুন।"
),
expected_output=(
"প্রতিটি গবেষণা, একটি চূড়ান্ত তুলনা টেবিল এবং লিঙ্কগুলির জন্য H2 বিভাগ সহ মার্কডাউন।"
),
agent=researcher
)
অর্কেস্ট্রেশন মোড: সিকোয়েন্সিয়াল বনাম প্যারালাল বনাম হাইব্রিড
- সিকোয়েন্সিয়াল: নির্ভরযোগ্য হস্তান্তর; ধীর কিন্তু যুক্তি দেওয়া সহজ।
- প্যারালাল: একাধিক এজেন্ট একসাথে কাজ করে (যেমন, 3 জন গবেষক); পরে একত্রিত করুন।
- হাইব্রিড: সমান্তরালভাবে ফ্যান-আউট গবেষণা → ফ্যান-ইন সংশ্লেষণ এবং QA।
হাইব্রিড উদাহরণ:
r1 = Agent(role="গবেষক A", goal="মূল্যের উপর ফোকাস", backstory="", llm=llm)
r2 = Agent(role="গবেষক B", goal="বৈশিষ্ট্যগুলির উপর ফোকাস", backstory="", llm=llm)
# r1, r2 এর জন্য সমান্তরাল টাস্ক; একটি ফলো-আপ সংশ্লেষণ টাস্ক তাদের আউটপুট একত্রিত করে।
টিপ: একত্রিত করার সময়, সংশ্লেষণকারীকে ডিডুপ্লিকেট করতে, দ্বন্দ্ব সমাধান করতে এবং শক্তিশালী উৎস উদ্ধৃত করার নির্দেশ দিন।
গার্ডরেলস এবং QA: এজেন্টদের সৎ রাখুন
- রেফারি: সুস্পষ্ট ভেটো ক্ষমতা সহ একজন পর্যালোচক বা তথ্য-পরীক্ষক যোগ করুন।
- চেকলিস্ট: QA এজেন্টকে টিক দিতে হবে এমন একটি চেকলিস্ট হিসাবে সম্মতি (গোপনীয়তা, সুরক্ষা, ব্র্যান্ড টোন) এনকোড করুন।
- স্ব-সমালোচনা: এজেন্টদের একটি সংক্ষিপ্ত "আমি কী মিস করতে পারি" বিভাগ অন্তর্ভুক্ত করতে বলুন।
- ডিটারমিনিজম: QA এজেন্টদের জন্য কম তাপমাত্রা ব্যবহার করুন।
qa = Agent(
role="QA পর্যালোচক",
goal="আউটপুটগুলি গ্রহণযোগ্যতার মানদণ্ড এবং স্টাইল গাইড পূরণ করে তা নিশ্চিত করুন।",
backstory="আপনি কঠোর এবং পেডান্টিক।",
llm=llm
)
CrewAI এজেন্টদের জন্য প্রম্পট ইঞ্জিনিয়ারিং
আপনার এজেন্ট প্রম্পটগুলি হল মিনি কাজের বিবরণ। তাদের টাইট রাখুন।
- ভূমিকা প্রম্পট: আপনি কে, আপনি কীসের জন্য অপটিমাইজ করেন।
- লক্ষ্য প্রম্পট: পছন্দসই শেষ অবস্থা।
- সীমাবদ্ধতা: শব্দ গণনা, বিন্যাস, সুর, উল্লেখ।
- সরঞ্জাম: নাম, কখন সেগুলি ব্যবহার করতে হবে, কী ফেরত দিতে হবে।
- উদাহরণ: 1-2টি সংক্ষিপ্ত, বাস্তবসম্মত নমুনা।
স্নিপেট:
researcher = Agent(
role="বিশ্লেষণাত্মক গবেষক",
goal=(
"3-5টি বিশ্বাসযোগ্য উদ্ধৃতি এবং একটি ঝুঁকি নোট সহ সংক্ষিপ্ত, নির্ভুল বিবরণ সরবরাহ করুন।"
),
backstory=(
"আপনি দাবি যাচাই করেন, প্রাথমিক উৎস পছন্দ করেন এবং অনিশ্চয়তা চিহ্নিত করেন।"
),
llm=llm
)
পর্যবেক্ষণযোগ্যতা: এজেন্টরা কী করেছে (এবং কেন) দেখুন
ভার্বোস লগ সক্ষম করুন এবং আর্টিফ্যাক্টগুলি ধরে রাখুন:
- প্রতিটি টাস্কের প্রম্পট, আউটপুট এবং সরঞ্জাম কল সঞ্চয় করুন।
- মেটাডেটা (মডেল, টেম্প, সরঞ্জাম) সহ একটি রান ম্যানিফেস্ট সংরক্ষণ করুন।
- অস্থায়ী নোটের জন্য একটি স্ক্র্যাচপ্যাড রাখুন; এটি ডিবাগিং এবং নিরীক্ষণে সহায়তা করে।
প্যাটার্ন:
crew = Crew(..., verbose=True, output_log_file="runs/2025-crew.log")
খরচ, লেটেন্সি এবং নির্ভরযোগ্যতা টিপস
- ব্যাচিং: স্বতন্ত্র টাস্কগুলিকে সমান্তরাল করুন; হারের সীমা এড়াতে কনকারেন্সি ক্যাপ করুন।
- সংক্ষিপ্ত করুন: টোকেন চূর্ণন কমাতে মধ্যবর্তী আর্টিফ্যাক্টগুলি সংকুচিত করুন।
- ক্যাশিং: ভেক্টর স্টোরগুলির সাথে স্থিতিশীল পদক্ষেপগুলি (যেমন, বাজারের সংজ্ঞা) মুখস্থ করুন।
- ফলব্যাক: ফ্ল্যাকি কলের জন্য একটি ব্যাকআপ মডেল বা পুনরায় চেষ্টা করার নীতি সরবরাহ করুন।
- মানুষ-ইন-দ্য-লুপ: উচ্চ-ঝুঁকির পদক্ষেপগুলিতে ঐচ্ছিক অনুমোদনের গেট সন্নিবেশ করুন।
সাধারণ ভুল (এবং সেগুলি ঠিক করার উপায়)
- ভুল: অস্পষ্ট টাস্ক → উদ্দেশ্যহীন আউটপুট।
- ফিক্স: সুস্পষ্ট গ্রহণযোগ্যতার মানদণ্ড এবং উদাহরণ যোগ করুন।
- ভুল: খুব বেশি সরঞ্জাম → বিভ্রান্তি এবং খরচ।
- ফিক্স: সর্বনিম্ন-সুবিধা, টাস্ক-নির্দিষ্ট সরঞ্জাম শুধুমাত্র।
- ভুল: অসীম লুপ বা অতিরিক্ত-পুনরাবৃত্তি।
- ফিক্স: পদক্ষেপ/সময়সীমা এবং একটি "মানদণ্ড পূরণ হলে থামুন" ধারা যোগ করুন।
- ভুল: এজেন্টদের মধ্যে প্রসঙ্গ হারানো।
- ফিক্স: কাঠামোগত হস্তান্তর বস্তু (JSON) এবং সামঞ্জস্যপূর্ণ শিরোনাম ব্যবহার করুন।
- ফিক্স: ভেটো ক্ষমতা সহ QA কে প্রথম শ্রেণীর এজেন্ট হিসাবে বিবেচনা করুন।
এন্ড-টু-এন্ড উদাহরণ: প্রতিযোগিতামূলক সংক্ষিপ্ত জেনারেটর
লক্ষ্য: একটি লক্ষ্য ব্যক্তির জন্য তিনটি সরঞ্জামের তুলনা করে একটি প্রতিযোগিতামূলক সংক্ষিপ্ত তৈরি করুন।
এজেন্ট:
- পার্সোনা বিশ্লেষক → ব্যথার পয়েন্ট এবং কাজগুলি সংজ্ঞায়িত করে।
- গবেষক → ডেটা এবং উদ্ধৃতি সংগ্রহ করে।
- সংশ্লেষক → তুলনা টেবিল এবং অন্তর্দৃষ্টি তৈরি করে।
- লেখক → চূড়ান্ত সংক্ষিপ্ত তৈরি করে।
- QA → উৎস এবং স্পষ্টতা যাচাই করে।
কাঠামো:
persona = Agent(role="পার্সোনা বিশ্লেষক", goal="আইসিপি এবং জেটিবিডি সংজ্ঞায়িত করুন।", llm=llm)
researcher = Agent(role="গবেষক", goal="বিশ্বাসযোগ্য ডেটা সংগ্রহ করুন।", llm=llm)
synth = Agent(role="সংশ্লেষক", goal="তুলনা করুন এবং ব্যাখ্যা করুন।", llm=llm)
writer = Agent(role="লেখক", goal="একটি নির্বাহী-প্রস্তুত সংক্ষিপ্ত তৈরি করুন।", llm=llm)
qa = Agent(role="QA", goal="দাবি এবং স্পষ্টতা যাচাই করুন।", llm=llm)
persona_task = Task(description="SaaS-এ RevOps নেতাদের জন্য ICP এবং JTBD সংজ্ঞায়িত করুন।", agent=persona,
expected_output="বুলেট + ব্যথার পয়েন্ট + সাফল্যের মেট্রিক।")
research_task = Task(description="3টি সরঞ্জামের জন্য মূল্য, বৈশিষ্ট্য এবং পর্যালোচনা সংগ্রহ করুন।", agent=researcher,
expected_output="টেবিল + 5 উদ্ধৃতি।")
synth_task = Task(description="একটি তুলনা ম্যাট্রিক্স এবং শীর্ষ 3 অন্তর্দৃষ্টি তৈরি করুন।", agent=synth,
expected_output="মার্কডাউন টেবিল + অন্তর্দৃষ্টি।")
write_task = Task(description="সুপারিশ সহ একটি 1-পৃষ্ঠার সংক্ষিপ্ত খসড়া তৈরি করুন।", agent=writer,
expected_output="মার্কডাউনে নির্বাহী সংক্ষিপ্ত।")
qa_task = Task(description="সঠিকতা এবং পঠনযোগ্যতা পরীক্ষা করুন; সমস্যাগুলি সমাধান করুন।", agent=qa,
expected_output="পরিষ্কার, যাচাইকৃত সংক্ষিপ্ত।")
crew = Crew(agents=[persona, researcher, synth, writer, qa],
tasks=[persona_task, research_task, synth_task, write_task, qa_task],
process="sequential", verbose=True)
print(crew.kickoff)
কখন CrewAI ব্যবহার করবেন বনাম একটি একক প্রম্পট
CrewAI ব্যবহার করুন যখন:
- টাস্কটি স্বাভাবিকভাবেই ভূমিকা বা পর্যায়ে বিভক্ত হয়।
- আপনার ট্রেসেবিলিটি, QA বা সরঞ্জাম ব্যবহারের প্রয়োজন।
- আপনি একটি পুনরায় ব্যবহারযোগ্য পাইপলাইন তৈরি করছেন, এককালীন নয়।
একটি একক প্রম্পটে লেগে থাকুন যখন:
- এটি একটি ছোট, বিষয়ভিত্তিক টাস্ক যা বাহ্যিক সরঞ্জাম ছাড়া।
- গঠনের চেয়ে গতি বেশি গুরুত্বপূর্ণ।
উপায় অনুসারে: একটি AI সাইড প্যানেল দিয়ে দ্রুত খসড়া তৈরি করুন
আপনি যদি গবেষণা, রূপরেখা এবং কনটেন্ট খসড়া তৈরি করতে মাল্টি-এজেন্ট ওয়ার্কফ্লো ব্যবহার করেন, তবে এটি লক্ষ করা উচিত যে Sider.ai এর মতো একটি AI সাইড প্যানেল আপনার ব্রাউজার এবং ডক্সের পাশে বসে পৃষ্ঠাগুলির সারসংক্ষেপ করতে, রূপরেখা তৈরি করতে এবং রিয়েল টাইমে খসড়াগুলি পরিমার্জন করতে পারে। এটি CrewAI-এর অর্কেস্ট্রেশন প্রতিস্থাপন করবে না, তবে এটি ম্যানুয়াল অংশগুলিকে দ্রুত করতে পারে — স্নিপেট সংগ্রহ করা, বিভাগগুলি পুনরায় লেখা বা আপনার ক্রুতে কনটেন্ট ফেরত দেওয়ার আগে টোন পরীক্ষা করা। কার্যকরী পরবর্তী পদক্ষেপ
- CrewAI ইনস্টল করুন এবং দ্রুত-শুরু উদাহরণটি চালান।
- একটি বাস্তব ওয়ার্কফ্লো (গবেষণা → খসড়া → QA) বাছাই করুন এবং এটি এনকোড করুন।
- একবারে একটি সরঞ্জাম যোগ করুন; আউটপুট গুণমান এবং খরচের উপর প্রভাব পরিমাপ করুন।
- স্পষ্ট গ্রহণযোগ্যতার মানদণ্ড সহ একটি QA এজেন্ট প্রবর্তন করুন।
- গতির জন্য একটি হাইব্রিড অর্কেস্ট্রেশন মডেলের দিকে যান।
মূল বিষয়গুলি
- CrewAI জটিল প্রকল্পগুলিকে মডুলার, মাল্টি-এজেন্ট ওয়ার্কফ্লোতে পরিণত করে।
- সাফল্য নির্ভর করে স্পষ্ট ভূমিকা, স্পষ্ট টাস্ক এবং সুশৃঙ্খল সরঞ্জাম ব্যবহারের উপর।
- গার্ডরেল (QA, চেকলিস্ট, সীমা) খরচ কম রাখে এবং গুণমান বাড়ায়।
- ছোট থেকে শুরু করুন, তারপর সমান্তরাল গবেষণা এবং হাইব্রিড ফ্লো দিয়ে স্কেল করুন।
মিনি-চেকলিস্ট: কিভাবে CrewAI কার্যকরভাবে ব্যবহার করবেন
- ভূমিকা, লক্ষ্য এবং সরঞ্জাম স্পষ্টভাবে সংজ্ঞায়িত করুন।
- গ্রহণযোগ্যতার মানদণ্ড এবং উদাহরণ সহ টাস্ক লিখুন।
- নির্ভরযোগ্যতার জন্য সিকোয়েন্সিয়াল, গতির জন্য হাইব্রিড ব্যবহার করুন।
- প্রথম দিকে একটি QA এজেন্ট যোগ করুন; এটিকে ভেটো ক্ষমতা দিন।
- সবকিছু লগ করুন; নিরীক্ষণের জন্য আর্টিফ্যাক্ট সঞ্চয় করুন।
- সংক্ষিপ্তসার, ক্যাশিং এবং ব্যাচিংয়ের মাধ্যমে খরচ অপ্টিমাইজ করুন।
FAQ
প্রশ্ন ১: CrewAI কি এবং আমি কিভাবে মাল্টি-এজেন্ট ওয়ার্কফ্লোর জন্য এটি ব্যবহার করব?
CrewAI হল ভূমিকা, টাস্ক এবং সরঞ্জাম সহ একাধিক AI এজেন্টকে পরিচালনা করার জন্য একটি কাঠামো। আপনি এজেন্ট সংজ্ঞায়িত করে, গ্রহণযোগ্যতার মানদণ্ড সহ টাস্ক তৈরি করে এবং একটি ক্রু চালিয়ে এটি ব্যবহার করেন যা চূড়ান্ত আউটপুট তৈরি করতে হস্তান্তরগুলিকে সমন্বিত করে।
প্রশ্ন ২: আমি কিভাবে CrewAI এজেন্টদের মধ্যে ওয়েব অনুসন্ধানের মতো সরঞ্জাম যুক্ত করব?
একটি এজেন্টের সাথে সরঞ্জাম ফাংশন সংযুক্ত করুন এবং কখন সেগুলি ব্যবহার করতে হবে তা নির্দেশ করুন। খরচ নিয়ন্ত্রণ করতে এবং হস্তান্তর উন্নত করতে আউটপুটগুলিকে কাঠামোগত এবং সংক্ষিপ্ত রাখুন (যেমন, JSON বা মার্কডাউন)।
প্রশ্ন ৩: কখন আমার একটি একক LLM প্রম্পটের পরিবর্তে CrewAI ব্যবহার করা উচিত?
যখন কোনও কাজ ধাপে ধাপে বিভক্ত হয়, সরঞ্জামের ব্যবহার বা QA প্রয়োজন হয় অথবা পুনরাবৃত্তিযোগ্য পাইপলাইনগুলির প্রয়োজন হয় তখন CrewAI ব্যবহার করুন। দ্রুত, বিষয়ভিত্তিক কাজের জন্য একটি একক প্রম্পট ব্যবহার করুন যার কাঠামোর প্রয়োজন নেই।
প্রশ্ন ৪: আমি কিভাবে CrewAI আউটপুটে হ্যালুসিনেশন (hallucinations) প্রতিরোধ করতে পারি?
ভেটো ক্ষমতা সহ একজন ফ্যাক্ট-চেকার (Fact-Checker) বা QA এজেন্ট যোগ করুন, প্রাথমিক উৎসের উদ্ধৃতিগুলির প্রয়োজনীয়তা দিন, QA-এর জন্য কম টেম্পারেচার (temperature) সেট করুন এবং দাবির টেবিলের মতো গ্রহণযোগ্যতার মানদণ্ড নির্দিষ্ট করুন।
প্রশ্ন ৫: CrewAI কি গতি বাড়ানোর জন্য সমান্তরালভাবে কাজ চালাতে পারে?
হ্যাঁ। স্বতন্ত্র কাজের জন্য সমান্তরাল এজেন্ট ব্যবহার করুন (যেমন, একাধিক গবেষক) এবং তারপর ফলাফল মার্জ করার জন্য একটি সিনথেসাইজার (synthesizer) কাজ ব্যবহার করুন। হাইব্রিড অর্কেস্ট্রেশন (Hybrid orchestration) গতি এবং নির্ভরযোগ্যতার মধ্যে ভারসাম্য বজায় রাখে।