مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

اے آئی سسٹم ڈیزائن مرحلہ وار سیکھیں: ایل ایل ایم اِنفرنس سے پروڈکشن ایجنٹس تک

یہ ٹیوٹوریل بتاتا ہے کہ ایل ایل ایم اِنفرنس، اسکیلنگ، کیشنگ، RAG، ایجنٹس، سیفٹی، ایویلیوایشن اور آپٹیمائزیشن کا مطالعہ کرنے کے لیے AI System Design گائیڈ کیسے استعمال کی جائے۔ آپ ریپوزٹری سیٹ اپ کریں گے، اس کے تعلیمی راستے پر چلیں گے، ایک ڈیزائن مثال حل کریں گے، اور پروڈکشن سسٹمز و انٹرویوز کے لیے قابلِ تکرار فریم ورک اپنائیں گے۔

اے آئی سسٹم ڈیزائن مرحلہ وار سیکھیں: ایل ایل ایم اِنفرنس سے پروڈکشن ایجنٹس تک

AI سسٹم ڈیزائن پروجیکٹ کیا ہے؟

AI سسٹم ڈیزائن ایک اوپن سورس تعلیمی رہنما ہے جسے Outcome School کے بانی امیت شیکھر برقرار رکھتے ہیں۔ یہ بتاتا ہے کہ بڑے لینگویج ماڈل کے گرد مکمل سسٹم کیسے ڈیزائن کیا جائے، بجائے اس کے کہ AI پروڈکٹ کو صرف ایک ماڈل API کال سمجھا جائے۔

یہ رہنما ڈیٹا بیسز، کیشز، قطاروں، لوڈ بیلنسرز اور گیٹ ویز جیسے مانوس سسٹم ڈیزائن اجزا کو AI سے متعلق پابندیوں، جیسے GPUs، ٹوکنز، طویل دورانیے کی درخواستیں، اسٹریمنگ آؤٹ پٹ، غیر متعین رویہ اور فی درخواست ماڈل لاگت، کے ساتھ مربوط کرتا ہے۔

AI سسٹم ڈیزائن، عام سسٹم ڈیزائن کے ساتھ AI ماڈلز سے پیدا ہونے والی نئی عملی پابندیوں کا مجموعہ ہے۔

یہ مواد AI انجینئرز، LLM انجینئرز، بیک اینڈ انجینئرز، مشین لرننگ انجینئرز، پلیٹ فارم انجینئرز، آرکیٹیکٹس، طلبہ اور AI سسٹم ڈیزائن انٹرویو کی تیاری کرنے والے ہر فرد کے لیے ہے۔

AI سسٹم ڈیزائن کیوں اہم ہے

کسی اسکرپٹ سے LLM API کال کرنے کے لیے شاید صرف چند سطریں کوڈ درکار ہوں۔ لیکن اس فیچر کو بہت سے صارفین کے لیے چلانا ایک مختلف مسئلہ ہے۔ پروڈکشن سسٹمز کو طویل پرامپٹس اور ٹوکن بہ ٹوکن جوابات سنبھالتے ہوئے تاخیر، تھروپٹ، قابل اعتماد کارکردگی، رازداری، آؤٹ پٹ کے معیار اور لاگت کو قابو میں رکھنا ہوتا ہے۔

مثال کے طور پر، پروڈکشن کسٹمر سپورٹ اسسٹنٹ کو یہ کام کرنے پڑ سکتے ہیں:

  • ٹریفک بڑھنے کے باوجود فوری جواب دینا شروع کرنا۔
  • ریٹریول کے ذریعے جوابات کو کمپنی کی دستاویزات سے مربوط رکھنا۔
  • نجی معلومات کے افشا کو روکنا۔
  • ماڈل کی ناکامی، ٹائم آؤٹ اور ریٹ لمٹس سنبھالنا۔
  • غیر متعین آؤٹ پٹ کے باوجود جواب کے معیار کی پیمائش کرنا۔
  • متعین ٹوکن اور انفراسٹرکچر بجٹ کے اندر رہنا۔

ریپوزٹری ان مسائل کو حل کرنے کے لیے درکار بنیادی اجزا کو منظم کرتی ہے اور متعدد موضوعات کو مزید وضاحتی مضامین سے مربوط کرتی ہے۔

اہم موضوعات اور خصوصیات

انفرنس کی بنیادیں

رہنما ٹوکنز، انفرنس سرورز، انفرنس انجنز اور GPUs، TPUs اور LPUs جیسے AI ہارڈویئر سے شروع ہوتا ہے۔ یہ وضاحت کرتا ہے کہ LLM خودکار طور پر متن تیار کرتا ہے: پہلے ایک ٹوکن کی پیش گوئی کرتا ہے، پھر اگلے ٹوکن کی پیش گوئی کے دوران اس آؤٹ پٹ کو استعمال کرتا ہے۔

یہ انفرنس کے دو بڑے مراحل بھی متعارف کراتا ہے:

  • پریفِل: ان پٹ پرامپٹ پر کارروائی کرنا اور جنریشن کے لیے درکار اندرونی حالت تیار کرنا۔
  • ڈیکوڈ: ایک وقت میں ایک ٹوکن کے حساب سے جواب تیار کرنا۔

یہ مراحل پہلے ٹوکن تک وقت، فی سیکنڈ ٹوکنز، تھروپٹ اور انفراسٹرکچر کے انتخاب کو متاثر کرتے ہیں۔ رہنما چنکڈ پریفِل اور پریفِل و ڈیکوڈ ورک لوڈز کو الگ کرنے کا بھی احاطہ کرتا ہے۔

اسکیلنگ، روٹنگ اور کیشنگ

اسکیلنگ کے حصوں میں عمودی اسکیلنگ، افقی اسکیلنگ، ٹینسر پیریلل ازم، پائپ لائن پیریلل ازم، آٹو اسکیلنگ، GPU تخمینہ اور لاگت کا تخمینہ شامل ہیں۔ LLM سے متعلق لوڈ بیلنسنگ طریقوں میں کم سے کم زیر التوا ٹوکنز، پریفِکس سے باخبر روٹنگ اور اسٹکی سیشنز شامل ہیں۔

کیشنگ کا مواد کئی سطحوں میں فرق واضح کرتا ہے:

  • KV کیش جنریشن کے دوران توجہ کے keys اور values دوبارہ استعمال کرنے کے لیے۔
  • پرامپٹ کیش بار بار آنے والے پرامپٹ پریفِکس کے لیے۔
  • سیمانٹک کیش ایسی استفسارات کے لیے جن کے معانی ملتے جلتے ہوں۔
  • ایمبیڈنگ کیش بار بار ایمبیڈنگ کا حساب کرنے سے بچنے کے لیے۔

ماڈل روٹنگ بھی شامل ہے، جس میں قواعد پر مبنی، کلاسیفائر پر مبنی، ایمبیڈنگ پر مبنی، LLM پر مبنی اور کیسکیڈ طریقے شامل ہیں۔

ریٹریول اور کانٹیکسٹ مینجمنٹ

رہنما ایمبیڈنگز، ویکٹر ڈیٹا بیسز، ویکٹر انڈیکسز اور ریٹریول آگمینٹڈ جنریشن کی وضاحت کرتا ہے، جسے عام طور پر RAG کہا جاتا ہے۔ اس کے ریٹریول راستے میں دستاویز پارسنگ، انجیشن، چنکنگ، ہائبرڈ سرچ، HyDE کوئری ٹرانسفارمیشن، ری رینکنگ، ColBERT، Agentic RAG، GraphRAG اور ویکٹر لیس RAG شامل ہیں۔

یہ ٹرنکیشن، سمری، سلائیڈنگ ونڈوز، کمپیکشن اور درجہ بند میموری کے ذریعے کانٹیکسٹ ونڈو کی حدود سے بھی نمٹتا ہے۔ متعلقہ تصورات میں کانٹیکسٹ روٹ، لاسٹ اِن دی مڈل رویہ، RoPE ڈیکے اور کانٹیکسٹ انجینئرنگ شامل ہیں۔

ایجنٹس اور ملٹی ایجنٹ سسٹمز

ایجنٹ کے حصے AI ایجنٹ کے بنیادی اجزا، اینڈ ٹو اینڈ ایجنٹ لوپس، ٹول کالنگ، اسٹرکچرڈ آؤٹ پٹ، میموری اور عام ناکامی کے طریقوں کا جائزہ لیتے ہیں۔ یہ متعین AI آرکیسٹریشن اور زیادہ خودمختار ایجنٹ رویے میں بھی فرق واضح کرتے ہیں۔

اضافی موضوعات میں Model Context Protocol یا MCP، Agent Skills، کمپیوٹر یوز ایجنٹس، براؤزر ایجنٹس، لوپ انجینئرنگ، گراف انجینئرنگ، سب ایجنٹس، کوآرڈینیشن پیٹرنز اور Agent2Agent پروٹوکول شامل ہیں۔

پروڈکشن آپریشنز

ریپوزٹری ماڈل کالز سے آگے بڑھ کر پروڈکشن سے متعلق موضوعات کا احاطہ کرتی ہے، جیسے:

  • Server-Sent Events یا WebSockets کے ذریعے اسٹریمنگ۔
  • طویل کاموں کے لیے غیر ہم وقتی پراسیسنگ اور میسج کیوز۔
  • درخواستوں، ٹوکنز، ہم وقتی کاموں یا لاگت کی بنیاد پر ریٹ لمٹس۔
  • AI گیٹ ویز اور ملٹی ٹیننٹ آرکیٹیکچرز۔
  • گارڈ ریلز، پرامپٹ انجیکشن سے دفاع اور AI ریڈ ٹیمنگ۔
  • PII ریڈیکشن، ڈیٹا ریزیڈنسی، آڈٹ لاگز اور تعمیری شقیں۔
  • ٹریسنگ، آبزرویبلٹی، ایویلیوایشن اور LLM-as-a-judge ورک فلو۔
  • ٹائم آؤٹس، بیک آف کے ساتھ ری ٹرائیز، متبادل ماڈلز اور مناسب کارکردگی میں کمی۔

یہ کوانٹائزیشن، مسلسل بیچنگ، اسپیکیولیٹو ڈیکوڈنگ، Flash Attention، Mixture of Experts، ماڈل ڈسٹلیشن اور Grouped Query Attention جیسی انفرنس آپٹیمائزیشنز کا بھی احاطہ کرتا ہے۔

انسٹالیشن اور سیٹ اپ

یہ ریپوزٹری سافٹ ویئر لائبریری کے بجائے ایک تعلیمی رہنما ہے، اس لیے اسے پیکیج انسٹالیشن، API key یا رن ٹائم ماحول کی ضرورت نہیں۔ آپ اسے براہ راست GitHub پر پڑھ سکتے ہیں۔

مقامی کاپی رکھنے کے لیے ریپوزٹری کو Git کے ذریعے کلون کریں:

git clone https://github.com/amitshekhariitbhu/ai-system-design.git
cd ai-system-design

README کو Markdown ویور یا ایسے ایڈیٹر میں کھولیں جو Markdown رینڈر کر سکے۔ چونکہ گائیڈ میں مسلسل توسیع کی جاتی ہے، اس لیے وقتاً فوقتاً اپنی مقامی کاپی اپ ڈیٹ کریں:

git pull

README میں کوئی build کمانڈ بیان نہیں کی گئی۔ بنیادی سیٹ اپ کا کام ایک مطالعاتی راستہ منتخب کرنا اور تصورات کے درمیان نیویگیٹ کرنے کے لیے فہرستِ مضامین استعمال کرنا ہے۔

گائیڈ استعمال کرنے کا طریقہ

آپشن 1: مکمل تعلیمی راستے پر عمل کریں

اگر آپ AI سسٹم ڈیزائن میں نئے ہیں تو گائیڈ کو ترتیب وار پڑھیں۔ تجویز کردہ تصوراتی پیش رفت یہ ہے:

  1. ٹوکنز، inference سرورز اور AI ہارڈویئر سیکھیں۔
  2. Prefill، decode، تاخیر اور throughput کو سمجھیں۔
  3. اسکیلنگ، تخمینے اور load balancing کا مطالعہ کریں۔
  4. Caching اور model-routing حکمتِ عملیوں کا موازنہ کریں۔
  5. Embeddings، vector databases اور RAG سیکھیں۔
  6. Context window management کا مطالعہ کریں۔
  7. Streaming، queues، rate limiting اور gateways کا جائزہ لیں۔
  8. Agents، tools، MCP، structured output اور memory سیکھیں۔
  9. Multi-agent، multimodal اور voice systems کی طرف پیش رفت کریں۔
  10. Guardrails، privacy، observability اور evaluation شامل کریں۔
  11. Cost control، fine-tuning infrastructure اور inference optimization کا مطالعہ کریں۔
  12. Repository کے system-design مسئلہ حل کرنے کے فریم ورک کو لاگو کریں۔

آپشن 2: انٹرویو کی تیاری کریں

انٹرویو کی تیاری کے لیے کسی بھی AI system design مسئلے کو حل کرنے والے حصے سے آغاز کریں۔ پھر ہر ڈیزائن فیصلے کے لیے درکار تکنیکی بنیادی اجزا کا دوبارہ مطالعہ کریں۔ فریم ورک آٹھ مراحل پر مشتمل ہے:

  1. Requirements: صارفین، اسکیل، تاخیر کے اہداف، رازداری کی ضروریات اور پابندیوں کی شناخت کریں۔
  2. AI objective: متعین کریں کہ ماڈل کو کیا کام انجام دینا ہے۔
  3. Data preparation: طے کریں کہ source data کیسے جمع، parse، صاف اور index کیا جائے گا۔
  4. Architecture design: gateways، services، models، retrieval، caches، queues اور storage کی جگہ متعین کریں۔
  5. Model selection and prompting: معیار، تاخیر اور لاگت کے مطابق models اور prompt strategies منتخب کریں۔
  6. Evaluation: متعین کریں کہ output اور system behavior کی پیمائش کیسے کی جائے گی۔
  7. Deployment and serving: inference، scaling، streaming اور resilience کی منصوبہ بندی کریں۔
  8. Monitoring: معیار، تاخیر، errors، token consumption اور لاگت کی نگرانی کریں۔

آپشن 3: اسے بطور حوالہ استعمال کریں

اگر آپ پہلے ہی AI applications بناتے ہیں تو فہرستِ مضامین کو بطور حوالہ استعمال کریں۔ مثال کے طور پر، بار بار ہونے والی computation کم کرنے کے لیے caching کے حصوں سے رجوع کریں، retrieval quality کمزور ہو تو RAG کے حصے دیکھیں، یا جب کوئی system تکنیکی طور پر کام کر رہا ہو لیکن اس کے جواب کا معیار واضح نہ ہو تو observability اور evaluation کے حصے دیکھیں۔

بنیادی استعمال کی مثال: Support Assistant ڈیزائن کرنا

Repository کوئی executable framework نہیں ہے، اس لیے یہاں “استعمال” سے مراد اس کے تصورات کو کسی design problem پر لاگو کرنا ہے۔ ایک ایسے customer-support assistant پر غور کریں جسے نجی کمپنی کی دستاویزات سے سوالات کے جواب دینے ہوں۔

1. ضروریات متعین کریں

ماڈل منتخب کرنے سے پہلے functional اور operational requirements لکھ لیں:

Use case: customer-support question answering
Knowledge source: private product and policy documents
Response mode: streamed text
Quality requirement: answers grounded in retrieved documents
Safety requirement: no private-data leakage
Operational goals: low latency, controlled cost, fault tolerance

جب حقیقی پیمائشیں دستیاب ہوں تو متوقع traffic، prompt length، output length، peak concurrency اور قابلِ قبول latency شامل کریں۔ یہ قدریں token، GPU، throughput اور cost estimates کو متعین کرتی ہیں۔

2. Request path کا خاکہ بنائیں

گائیڈ کے building blocks سے تیار کیا گیا high-level design یوں دکھایا جا سکتا ہے:

Client
  -> AI Gateway
  -> Authentication and rate limiting
  -> Input guardrails and PII handling
  -> Retrieval pipeline
       -> Query embedding
       -> Vector or hybrid search
       -> Reranking
  -> Prompt construction
  -> Model router or inference server
  -> Output validation and guardrails
  -> Streamed response
  -> Tracing, evaluation, and cost monitoring

یہ design worksheet ہے، repository کی فراہم کردہ code نہیں۔ ہر component گائیڈ میں شامل کسی topic سے مطابقت رکھتا ہے۔

3. Retrieval pipeline ڈیزائن کریں

Source documents کو parse اور ingest کریں، انہیں موزوں chunks میں تقسیم کریں، embeddings بنائیں اور searchable representation محفوظ کریں۔ Query کے وقت متعلقہ chunks حاصل کریں، اور جب صرف vector similarity کافی relevance فراہم نہ کرے تو hybrid search یا reranking پر غور کریں۔

حتمی context کو model کی context window کے اندر رکھیں۔ گائیڈ کی context-management strategies اس وقت مدد دے سکتی ہیں جب retrieved material، conversation history اور instructions جگہ کے لیے ایک دوسرے سے مقابلہ کریں۔

4. Latency اور streaming کی منصوبہ بندی کریں

First token تک پہنچنے کے وقت کو generation speed سے الگ ناپیں۔ Prefill اس بات پر اثر انداز ہوتا ہے کہ generation کتنی جلد شروع ہو سکتی ہے، جبکہ decode اس رفتار کو متاثر کرتا ہے جس سے بعد کے tokens موصول ہوتے ہیں۔ SSE یا WebSockets کے ذریعے streaming، underlying model computation کم کیے بغیر محسوس ہونے والی responsiveness بہتر بنا سکتی ہے۔

5. Reliability اور safety شامل کریں

Timeouts، backoff کے ساتھ retries، fallback models، graceful degradation اور output validation استعمال کریں۔ Model کے گرد input اور output guardrails رکھیں، prompt injection سے تحفظ دیں، جہاں ضروری ہو PII کو redact کریں، اور موزوں audit logs برقرار رکھیں۔

6. Evaluation اور observation کریں

صرف model call کی نگرانی کرنے کے بجائے مکمل request کو trace کریں۔ گائیڈ میں شامل مفید dimensions میں latency، throughput، token use، cost، retrieval behavior، model output quality، tool execution اور agent behavior شامل ہیں۔ چونکہ LLM output non-deterministic ہوتا ہے، اس لیے evaluation کے لیے روایتی exact-match unit tests سے زیادہ کی ضرورت ہوتی ہے۔

اعلیٰ درجے کی تجاویز

درست تاخیر کے مرحلے کو بہتر بنائیں

ماڈل کی تاخیر کو ایک ہی عدد نہ سمجھیں۔ معلوم کریں کہ رکاوٹ پریفِل، ڈیکوڈ، ریٹریول، قطار بندی یا کسی بیرونی ٹول میں ہے۔ پہلے ٹوکن تک کا وقت اور فی سیکنڈ ٹوکنز صارف کے مختلف تجربات کی نمائندگی کرتے ہیں اور ان کے لیے مختلف اصلاحات درکار ہو سکتی ہیں۔

ہر کام کے لیے ایک ہی ماڈل استعمال کرنے کے بجائے درخواستوں کو روٹ کریں

یہ گائیڈ ماڈل روٹنگ کی کئی حکمتِ عملیاں پیش کرتی ہے۔ پروڈکشن ڈیزائن درخواستوں کی درجہ بندی کر کے آسان کاموں کو کم لاگت والے ماڈل کی طرف بھیج سکتا ہے، جبکہ مشکل صورتوں کے لیے زیادہ قابل ماڈل محفوظ رکھا جا سکتا ہے۔ کاسکیڈ روٹنگ اس وقت اگلے ماڈل تک جا سکتی ہے جب پہلے ماڈل کا جواب کافی نہ ہو۔

درست تہہ پر کیشنگ نافذ کریں

KV، پرامپٹ، سیمینٹک اور ایمبیڈنگ کیشز مختلف مسائل حل کرتے ہیں۔ پہلے معلوم کریں کہ کیا چیز دہرائی جا رہی ہے: جنریشن اسٹیٹ، پرامپٹ کے ابتدائی حصے، معنوی طور پر یکساں سوالات یا ایمبیڈنگ کا حساب۔ پھر مطابقت رکھنے والی کیش منتخب کریں اور درستگی، تازگی، رازداری اور ٹیننٹ کی حدود کو مدِنظر رکھیں۔

ریٹریول کے معیار کو ایک پائپ لائن سمجھیں

RAG کا معیار صرف ویکٹر ڈیٹابیس پر منحصر نہیں ہوتا۔ پارسنگ، چنکنگ، ایمبیڈنگز، کوئری ٹرانسفارمیشن، ہائبرڈ سرچ، رینکنگ کی ازسرنو ترتیب اور کانٹیکسٹ اسمبلی سب حتمی جواب پر اثر انداز ہوتے ہیں۔ لینگویج ماڈل کو موردِ الزام ٹھہرانے سے پہلے درمیانی ریٹریول نتائج کا جائزہ لیں۔

ایجنٹس صرف وہاں استعمال کریں جہاں ورک فلو کو ان کی ضرورت ہو

قابلِ پیش گوئی آرکیسٹریشن اور ایسے ایجنٹ میں فرق کریں جو متحرک طور پر ٹولز یا اقدامات منتخب کرتا ہے۔ گائیڈ یہ بھی بتاتی ہے کہ معیاری ٹول اور کانٹیکسٹ انضمام کے لیے MCP مفید ہو سکتا ہے، لیکن سادہ ورک فلو کے لیے ضرورت سے زیادہ پیچیدہ ثابت ہو سکتا ہے۔ ایسی کم سے کم پیچیدہ حکمتِ عملی منتخب کریں جو ضروریات پوری کر دے۔

ٹوکنز، GPUs اور لاگت کا ابتدائی اندازہ لگائیں

سرسری اندازے عمل درآمد سے پہلے مہنگے مفروضوں کو نمایاں کر دیتے ہیں۔ فی درخواست ان پٹ اور آؤٹ پٹ ٹوکنز، درخواستوں کا حجم، بیک وقت چلنے والی درخواستوں کی تعداد، تھروپٹ کی ضروریات اور متوقع ماڈل لاگت کا اندازہ لگائیں۔ یاد رکھیں کہ انگریزی متن میں اوسطاً ایک ٹوکن تقریباً چار حروف کے برابر ہوتا ہے، اگرچہ اصل ٹوکنائزیشن ماڈل کے ٹوکنائزر پر منحصر ہوتی ہے۔

ہر موضوع کی وضاحت اپنے الفاظ میں کریں

README ہر مکمل کیے گئے حصے کی وضاحت کسی دوسرے شخص کو کرنے کی تجویز دیتی ہے۔ اس کا ایک مفید اضافہ یہ ہے کہ ہر آرکیٹیکچرل انتخاب کے پیچھے موجود سمجھوتے کو دستاویزی شکل دی جائے: قطار کیوں ضروری ہے، کوئی مخصوص کیش کیوں مددگار ہے، فال بیک ماڈل کیوں قابلِ قبول ہے، اور یہ انتخاب معیار، تاخیر، تحفظ یا لاگت کو کیسے متاثر کرتا ہے۔

تجویز کردہ مشقی منصوبہ

  1. گائیڈ کا ایک بڑا حصہ پڑھیں۔
  2. متن دیکھے بغیر اس کے مقصد اور سمجھوتوں کا خلاصہ بیان کریں۔
  3. اس جزو کو ایک نمونہ آرکیٹیکچر میں شامل کریں۔
  4. اس جزو کے لیے کم از کم ایک پیمانہ متعین کریں۔
  5. خرابی کی ایک صورت اور اس کے تدارک کا ایک طریقہ بیان کریں۔
  6. جب جائزہ کافی نہ ہو تو منسلک تفصیلی مضمون پڑھیں۔
  7. کوڈنگ اسسٹنٹس یا ریئل ٹائم وائس ایجنٹس جیسے کیس اسٹڈیز کے ساتھ یہ مشق دہرائیں۔

یہ طریقہ ریپوزٹری کو محض حوالہ جاتی فہرست کے بجائے عملی ڈیزائن نصاب میں تبدیل کر دیتا ہے۔

نتیجہ

AI System Design ایک وسیع اور مبتدی دوست راستہ فراہم کرتا ہے جو LLM انفیرنس کی بنیادی باتوں سے لے کر RAG، ایجنٹس، تحفظ، جائزہ، آبزرویبلٹی، فالٹ ٹالرنس اور لاگت کی اصلاح جیسے پروڈکشن تقاضوں تک جاتا ہے۔ یہ انسٹال کرنے والا پیکیج نہیں بلکہ یہ سمجھنے کے لیے ایک منظم گائیڈ ہے کہ AI کے اجزا مل کر کیسے کام کرتے ہیں۔

اگر آپ نئے ہیں تو بنیادی تصورات سے شروع کریں، یا انٹرویوز کی تیاری کر رہے ہیں تو آٹھ مرحلوں والے ڈیزائن فریم ورک سے آغاز کریں۔ دونوں صورتوں میں ہر تصور کو کسی ٹھوس نظام پر لاگو کریں، اس کے اثرات کی پیمائش کریں اور اپنے فیصلوں کے پیچھے موجود سمجھوتوں کو درج کریں۔