মূল কনটেন্টে যান
এআই টিউটোরিয়াল

BookLeme টিউটোরিয়াল: একটি বইকে ইনস্টলযোগ্য ও যাচাইযোগ্য Agent Skill-এ কম্পাইল করুন

এই টিউটোরিয়ালে BookLeme ইনস্টল ও ব্যবহারের পদ্ধতি দেখানো হয়েছে। বইয়ের ফ্রেমওয়ার্ক, প্রক্রিয়া ও কাজের পদ্ধতিকে কীভাবে কাঠামোবদ্ধ জ্ঞানপ্যাক বা চালানো যায় এমন আচরণগত Skill-এ কম্পাইল করতে হয়, এবং জঁর রাউটিং, আউটপুট যাচাই, বিরতি থেকে পুনরায় চালানো ও কপিরাইট পরীক্ষা সম্পন্ন করতে হয়, তা এতে ব্যাখ্যা করা হয়েছে।

BookLeme টিউটোরিয়াল: একটি বইকে ইনস্টলযোগ্য ও যাচাইযোগ্য Agent Skill-এ কম্পাইল করুন

BookLeme কী

BookLeme, যার চীনা নাম “读了么”, এমন একটি টুলচেইন যা বইকে Agent Skill-এ কম্পাইল করে। এর লক্ষ্য সাধারণ সারাংশ তৈরি করা নয়; বরং বইয়ের কাজ করার পদ্ধতি, যেমন প্রশ্ন করার ক্রম, সিদ্ধান্তের শর্ত, প্রমাণের নিয়ম, প্রক্রিয়ার অবস্থা এবং প্রযোজ্য নয় এমন সীমা, বের করে সেগুলোকে ইনস্টলযোগ্য, কলযোগ্য ও যাচাইযোগ্য আউটপুটে সংগঠিত করা।

প্রকল্পটি বই প্রক্রিয়াকরণকে কম্পাইল-টাইম ও রানটাইমে ভাগ করে: কম্পাইলের সময় মূল বই পড়ে প্রক্রিয়া করা হয়, আর রানটাইমে প্রয়োজন অনুযায়ী তৈরি করা জ্ঞান-খণ্ড লোড করা হয়। ফলে প্রতিবার Skill কল করার সময় পুরো বই নতুন করে পড়তে হয় না।

দ্রষ্টব্য: “সারাংশের পরিবর্তে কাঠামো আহরণ” প্রকল্পের গৃহীত একটি প্রকৌশলগত নকশা-পছন্দ। তবে README-তে এটিকে প্রকল্প দ্বারা এখনও যাচাই না-করা একটি অনুমান হিসেবে চিহ্নিত করা হয়েছে, প্রমাণিত সিদ্ধান্ত হিসেবে নয়।

BookLeme কী তৈরি করে

BookLeme দুটি জেনারেশন ইঞ্জিন দেয়। এগুলো আহরণ ও যাচাইকরণ ধাপের মধ্যবর্তী উপস্থাপনাগুলো ভাগ করে নেয় এবং শুধু রেন্ডারিং ধাপে আলাদা পথে যায়। তাই একই সঙ্গে দুই ধরনের আউটপুট তৈরি করলেও একটি বইকে দুবার প্রক্রিয়া করতে হয় না।

জ্ঞান প্যাক knowledge_pack

জ্ঞান প্যাক হলো পরামর্শযোগ্য একটি কাঠামোবদ্ধ জ্ঞানভান্ডার। এতে প্রধানত Topic Index রাউটিং টেবিল, প্রয়োজন অনুযায়ী লোড হওয়া ফ্রেমওয়ার্কের খণ্ড, সিদ্ধান্তের দ্রুত-রেফারেন্স এবং উৎসের তালিকা থাকে। “বইয়ের কোনো ফ্রেমওয়ার্ক কীভাবে ব্যবহার করতে হয়” ধরনের প্রশ্নের জন্য এটি উপযোগী।

আচরণগত Skill behavior_skill

আচরণগত Skill সম্পূর্ণ প্রক্রিয়া চালানোর জন্য ব্যবহৃত হয়। এতে ভূমিকা সংজ্ঞা, কঠোর সীমাবদ্ধতা, স্টেট মেশিন, নামযুক্ত আউটপুট কনট্র্যাক্ট, অ্যান্টি-প্যাটার্ন এবং আবেগগত সুরক্ষা-নিয়ম থাকতে পারে। এটি শুধু জ্ঞান অনুসন্ধানের বদলে কোচিং সংলাপের মতো বহু-ধাপের কাজ সম্পাদনের জন্য উপযোগী।

মূল বৈশিষ্ট্য

  • দুই ইঞ্জিনের স্বয়ংক্রিয় রাউটিং: ১২টি নির্ধারিত জঁর বৈশিষ্ট্যের ভিত্তিতে জ্ঞান প্যাক বা আচরণগত Skill নির্বাচন করে; ইঞ্জিন ম্যানুয়ালভাবেও নির্ধারণ করা যায়।
  • প্লাগযোগ্য জঁর প্লাগইন: নতুন জঁর যোগ করতে ব্যবহারকারীর প্লাগইন ডিরেক্টরিতে একটি Python ফাইল যোগ করলেই হয়; মূল পাইপলাইন পরিবর্তন করতে হয় না।
  • শব্দশঃ বিশ্বস্ততা পুনঃযাচাই: উদ্ধৃতি অবশ্যই মূল পাঠ্যের নির্ভুল সাবস্ট্রিং হতে হবে এবং একাধিক পরিমাপযোগ্য সূচকের মাধ্যমে পরীক্ষা করা হয়।
  • কপিরাইটের কঠোর গেট: ইনস্টল ও প্রকাশের আগে নির্ধারিত কপিরাইট পরীক্ষা চালানো হয়; তৃতীয় পক্ষের বই থেকে তৈরি Skill ডিফল্টভাবে ব্যক্তিগত থাকে।
  • রানটাইমে তৃতীয় পক্ষের নির্ভরতা শূন্য: মূল বাস্তবায়নে শুধু Python-এর স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করা হয়।
  • ধাপ-স্তরের আইডেমপোটেন্স: পাইপলাইন SHA-256 ব্যবহার করে ধারাবাহিকভাবে চালানো সমর্থন করে; কোনো ধাপের আউটপুট মুছে ফেললে শুধু সংশ্লিষ্ট ধাপটি পুনরায় চালালেই হয়।

ইনস্টলেশন ও পরিবেশ প্রস্তুতি

BookLeme-এর জন্য Python 3.9 বা পরবর্তী সংস্করণ প্রয়োজন। রিপোজিটরি ক্লোন করার পর তৃতীয় পক্ষের রানটাইম নির্ভরতা আগে ইনস্টল না করেই Python মডিউল এন্ট্রি পয়েন্টের মাধ্যমে সরাসরি চালানো যায়।

git clone https://github.com/bookleme/bookleme.git
cd bookleme
python3 -m bookleme --version

কমান্ডটি সংস্করণের তথ্য দেখালে প্রাথমিক পরিবেশ প্রস্তুত। রিপোজিটরি PDF, EPUB, DOCX, Markdown, HTML, RTF এবং MOBI-সহ বিভিন্ন ইনপুট ফরম্যাট সমর্থনের কথা জানায়; নিচে প্রকল্পের নিজস্ব Markdown সিন্থেটিক বইয়ের পাণ্ডুলিপি দিয়ে সম্পূর্ণ প্রক্রিয়া দেখানো হয়েছে।

প্রথম কম্পাইল: বইয়ের পাণ্ডুলিপি থেকে Skill তৈরি

run সাবকমান্ড চালিয়ে --input-এর মাধ্যমে পাণ্ডুলিপি এবং --title-এর মাধ্যমে শিরোনাম নির্ধারণ করুন:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "আমার প্রথম বই"

ডিফল্টভাবে BookLeme পাণ্ডুলিপির জঁর বৈশিষ্ট্য বিশ্লেষণ করে উপযুক্ত জেনারেশন ইঞ্জিন স্বয়ংক্রিয়ভাবে নির্বাচন করে। কম্পাইল প্রক্রিয়ায় ইনপুট নিবন্ধন, পাঠ্য আহরণ, চীনা সেগমেন্টেশন, জঁর রাউটিং, অ্যাটমিক সক্ষমতা আহরণ, বিশ্বস্ততা যাচাই, রেন্ডারিং, সমন্বিত যাচাই, ইনস্টলেশন এবং স্মোক মূল্যায়নসহ বিভিন্ন ধাপ থাকে।

পরামর্শ: প্রথমবার ব্যবহার করার সময় রিপোজিটরিতে দেওয়া সিন্থেটিক পরীক্ষামূলক পাণ্ডুলিপি ব্যবহার করুন। তৃতীয় পক্ষের বই প্রক্রিয়া করার আগে সংশ্লিষ্ট ব্যবহারের অধিকার আপনার আছে কি না নিশ্চিত করুন এবং উৎপন্ন আউটপুট বিতরণের সীমাবদ্ধতা বুঝে নিন।

জেনারেশন ইঞ্জিন নির্বাচন

আউটপুটের ধরন নিয়ন্ত্রণ করতে --engine ব্যবহার করুন:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "কোচিং সংলাপের উদাহরণ" \
  --engine behavior_skill

ব্যবহারযোগ্য মানগুলো হলো:

  • auto: রাউটারকে স্বয়ংক্রিয়ভাবে নির্বাচন করতে দেয়।
  • knowledge_pack: শুধু কাঠামোবদ্ধ জ্ঞান প্যাক তৈরি করে।
  • behavior_skill: শুধু চালানো যায় এমন আচরণগত Skill তৈরি করে।
  • both: দুই ধরনের আউটপুটই তৈরি করে।

রাউটিং বন্ধ করে দুই ইঞ্জিনের সম্পূর্ণ আউটপুট পেতে --no-router ব্যবহার করুন:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "দুই ইঞ্জিনের উদাহরণ" \
  --no-router

জঁর প্লাগইন নির্ধারণ

জঁর প্লাগইন আউটপুটের স্টেট মেশিন, আউটপুট কনট্র্যাক্ট, কঠোর সীমাবদ্ধতা এবং প্রকাশভঙ্গি নির্ধারণ করে। বর্তমানে বাস্তবায়িত প্লাগইনগুলোর মধ্যে রয়েছে:

  • coach_dialogue: কোচিং বা আত্মসংলাপের জন্য; প্রশ্নোত্তর স্টেট মেশিন, আবেগগত সুরক্ষা-নিয়ম, বিরতি এবং পুনরায় সংলাপ সমর্থন করে।
  • knowledge_reference: ফ্রেমওয়ার্কের দ্রুত রেফারেন্সের জন্য; Topic Index-এর মাধ্যমে বিষয়বস্তু রাউট করে। বইয়ে তথ্য না থাকলে অবশ্যই উত্তর দিতে অস্বীকার করতে হবে।

professional_analysis এবং decision_checklist এখনও পরবর্তী M4 রোডম্যাপের বিষয়; বর্তমানে এগুলোকে সম্পন্ন বৈশিষ্ট্য হিসেবে বিবেচনা করা উচিত নয়।

--genre ব্যবহার করে বাস্তবায়িত কোনো প্লাগইন জোরপূর্বক নির্বাচন করা যায়:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "জীবন-নকশা সংলাপ" \
  --engine behavior_skill \
  --genre coach_dialogue

উৎপন্ন আউটপুট যাচাই

উৎপাদন সম্পন্ন হলে প্রকল্পের দেওয়া যাচাইকরণ কমান্ড দিয়ে আউটপুট পরীক্ষা করা উচিত। README-তে examples/coach উদাহরণ হিসেবে ব্যবহার করা হয়েছে:

python3 -m bookleme validate examples/coach

এই ধাপে অফিসিয়াল ভ্যালিডেটর, নিজস্ব lint এবং কপিরাইটের কঠোর গেট চালানো হয়। BookLeme বিশ্বস্ততাকে যাচাইযোগ্য সূচকে ভাগ করে, যার মধ্যে রয়েছে উদ্ধৃতি পার্সিং হার, শব্দশঃ লঙ্ঘনের হার, নেতিবাচক উদাহরণে উত্তর প্রত্যাখ্যানের হার, ট্রিগার শব্দ মেলার হার, আউটপুটের সামঞ্জস্যের হার, shingle ওভারল্যাপের সীমা এবং কভারেজ।

প্রকল্পটি groundedness হিউরিস্টিক সূচকও রাখে। তবে README স্পষ্টভাবে জানায় যে LLM judge এখনও সংযুক্ত হয়নি, তাই এই মানটি বর্তমানে শুধু রিপোর্ট করা হয়, কঠোর গেট হিসেবে ব্যবহৃত হয় না।

রিগ্রেশন পরীক্ষা চালানো

মূল কোড, প্লাগইন বা টেমপ্লেট পরিবর্তনের পর সম্পূর্ণ পরীক্ষা চালান:

python3 -m unittest discover -s tests -v

প্লাগইন উন্নয়ন করলে স্টেট schema পরীক্ষা এবং আলাদাভাবে প্লাগইন ফাইল যাচাই করাও যায়:

python3 -m bookleme schema --state
python3 -m bookleme plugin validate bookleme/plugins/builtin/coach_dialogue.py

আউটপুট ইনস্টল ও ব্যবহারের অধিকার ঘোষণা

ডিফল্টভাবে জেনারেশন কমান্ড আউটপুটকে Skill-এর উৎসস্থলে লেখে না। ইনস্টল করতে হলে স্পষ্টভাবে --install যোগ করতে হবে। একই সঙ্গে --user-rights ব্যবহার করে ইনপুট বিষয়বস্তুর অধিকার-অবস্থা ঘোষণা করা যায়:

python3 -m bookleme run \
  --input path/to/book.md \
  --title "অভ্যন্তরীণ জ্ঞান Skill" \
  --engine both \
  --install \
  --user-rights owned

--user-rights নিম্নলিখিত মানগুলো সমর্থন করে:

  • owned: ব্যবহারকারীর বিষয়বস্তুর অধিকার রয়েছে।
  • licensed: সংশ্লিষ্ট অনুমতি নেওয়া হয়েছে।
  • public_domain: বিষয়বস্তু পাবলিক ডোমেইনের অন্তর্ভুক্ত।
  • unknown: অধিকার-অবস্থা অজানা।

অধিকার ঘোষণা আইনি সিদ্ধান্তের বিকল্প নয়। MIT লাইসেন্স শুধু BookLeme রূপান্তরকারীর কোড ও Skill সংজ্ঞাকে আচ্ছাদন করে; ইনপুট বইকে নয়, এবং এটি ব্যবহারকারীকে উৎপন্ন আউটপুট বিতরণের অধিকার স্বয়ংক্রিয়ভাবে দেয় না।

কপিরাইটের কঠোর গেট বোঝা

BookLeme-এর আউটপুট কাঠামোবদ্ধ ডেরিভেটিভ নোট হিসেবে নির্ধারিত, মূল পাঠ্যের পুনরুৎপাদন হিসেবে নয়। প্রকল্পে কপিরাইটের ছয়টি কঠোর গেট রয়েছে; যেকোনো একটি ব্যর্থ হলে ইনস্টল বা প্রকাশ বন্ধ হয়ে যাবে:

  1. একটি উদ্ধৃতি ১৫০ অক্ষরের বেশি হতে পারবে না এবং ইনপুটের মূল পাঠ্যে শব্দশঃ অনুসরণযোগ্য হতে হবে।
  2. মোট উদ্ধৃতির অনুপাত 0.03-এর বেশি হতে পারবে না।
  3. ধারাবাহিকভাবে কপি করা বিষয়বস্তু ১৫০ অক্ষরের বেশি হতে পারবে না।
  4. ১৩ অক্ষরের shingle ওভারল্যাপ 0.10-এর বেশি হতে পারবে না।
  5. আউটপুটে সম্পূর্ণ পাঠ্য বা মূল খণ্ড থাকতে পারবে না।
  6. contains_original_text-এর মান অবশ্যই false হতে হবে।

তৃতীয় পক্ষের বই থেকে তৈরি Skill ডিফল্টভাবে ব্যক্তিগত এবং বিতরণ করা যাবে না। সত্যিই প্রকাশ্য বিতরণের অধিকার থাকলেও স্পষ্টভাবে দ্বৈত নিশ্চিতকরণ প্যারামিটার দিতে হবে:

--public --confirm-public PUBLISH

পাবলিক প্যারামিটারটি একটি প্রকৌশলগত নিশ্চিতকরণ গেট, কপিরাইট অনুমোদনের সমতুল্য নয়। ব্যবহারকারীকে এখনও নিজে লাইসেন্সের পরিধি, প্রযোজ্য আইন এবং ইনপুট উপকরণের অধিকার-অবস্থা যাচাই করতে হবে।

উন্নত কৌশল: ধাপ-স্তরের আইডেমপোটেন্স ব্যবহার করে পুনরায় চালানো

BookLeme-এর S0 থেকে S9 পাইপলাইন ধাপ-স্তরের আইডেমপোটেন্স নকশা ব্যবহার করে এবং SHA-256 দিয়ে ইতিমধ্যে তৈরি ফল শনাক্ত করে। দীর্ঘ নথি প্রক্রিয়াকরণের সময় অপ্রত্যাশিতভাবে কাজ বন্ধ হলে সম্পন্ন ধাপগুলোর আউটপুট রেখে দেওয়া যায়; শুধু কোনো নির্দিষ্ট ধাপের আউটপুট মুছে ফেললে টুলটি সংশ্লিষ্ট ধাপটি পুনরায় চালাবে, পুরো বই নতুন করে প্রক্রিয়া করতে হবে না।

এই নকশা প্লাগইন বা রেন্ডারিং লজিক ডিবাগ করার জন্যও উপযোগী। দুই ধরনের ইঞ্জিনই আগের আহরণ, সেগমেন্টেশন, সক্ষমতা আহরণ এবং বিশ্বস্ততা যাচাইয়ের ফল ভাগ করে নেয়, তাই রেন্ডারিং স্তর পরিবর্তন করলে পাণ্ডুলিপি পুনরায় পড়তে হয় না।

উন্নত কৌশল: কাস্টম জঁর প্লাগইন তৈরি

কাস্টম প্লাগইন bookleme/plugins/user/<genre_id>.py-তে রাখা উচিত। প্রকল্পে প্লাগইনকে গুরুত্বপূর্ণ ক্ষেত্র ঘোষণা করতে হয়; প্রয়োজনীয় ক্ষেত্র অনুপস্থিত থাকলে লোড প্রত্যাখ্যান করা হবে।

  • state_machine: প্রক্রিয়ার অবস্থা ও রূপান্তর সংজ্ঞায়িত করে।
  • output_contract: আউটপুটে অবশ্যই কী সরবরাহ করতে হবে তা সংজ্ঞায়িত করে।
  • hard_constraints: লঙ্ঘন করা যাবে না এমন নিয়ম সংজ্ঞায়িত করে।
  • anti_patterns: এড়িয়ে চলার মতো ভুল আচরণগুলোর তালিকা দেয়।
  • voice_calibration: ভঙ্গি, সম্বোধন, নিষিদ্ধ শব্দ এবং সিদ্ধান্তের দায়িত্ব নির্ধারণ করে।
  • copyright_profile: কপিরাইট নিয়ন্ত্রণ-সম্পর্কিত কনফিগারেশন ঘোষণা করে।
  • trigger_words: ৩ থেকে ৫টি চীনা ট্রিগার শব্দ সরবরাহ করে।
  • eval_prompts: মূল্যায়ন প্রম্পট সরবরাহ করে, যার মধ্যে অন্তত একটি নেতিবাচক উদাহরণ থাকতে হবে।

প্লাগইন লেখার আগে প্লাগইন স্পেসিফিকেশন পড়ার পরামর্শ দেওয়া হয়; সম্পন্ন হলে plugin validate দিয়ে যাচাই করুন। বিশ্বস্ততা পরীক্ষা, কপিরাইটের কঠোর গেট বা নেতিবাচক উদাহরণে উত্তর প্রত্যাখ্যানের নিয়ম এড়াতে প্লাগইন ব্যবহার করবেন না।

S0–S9 পাইপলাইন কীভাবে কাজ করে

  1. S0–S2: ইনপুট নিবন্ধন, নির্ধারিত পদ্ধতিতে নিষ্কাশন, স্বাভাবিকীকরণ এবং চীনা ভাষায় বিভাজন করা হয়; নির্দিষ্ট ইংরেজি Chapter চিহ্নের ওপর নির্ভর করা হয় না।
  2. S3: ১২টি বৈশিষ্ট্যের ভিত্তিতে ধরণ নির্ধারণ করা হয়; অস্পষ্টতার ক্ষেত্রে স্বয়ংক্রিয়ভাবে দ্বৈত ইঞ্জিন বেছে নেওয়া যেতে পারে।
  3. S4: মৌলিক সক্ষমতা নিষ্কাশন করা হয়; নির্ধারিত নিষ্কাশনকারী এবং ঐচ্ছিক OpenAI-সামঞ্জস্যপূর্ণ LLM নিষ্কাশনকারী ব্যবহার করা যায়। কনফিগারেশন না থাকলে স্বয়ংক্রিয়ভাবে বিকল্প পদ্ধতিতে ফিরে যায়।
  4. S5: উদ্ধৃতি শব্দে শব্দে যাচাই করা হয়, claim ledger রক্ষণাবেক্ষণ করা হয় এবং বিশ্বস্ততার সূচক গণনা করা হয়।
  5. S6: প্লাগইনের মাধ্যমে জ্ঞান প্যাকেজ বা আচরণগত Skill রেন্ডার করা হয়; এখানেই মূলত দুটি ইঞ্জিন পৃথক পথে কাজ করে।
  6. S7–S9: সমন্বিত যাচাই, আইডেমপোটেন্ট ইনস্টলেশন এবং স্মোক মূল্যায়ন সম্পন্ন করা হয়।

S3 এবং S4 উভয়ই S2-এর ফলাফল ইনপুট হিসেবে ব্যবহার করে এবং সমান্তরালে কাজ করতে পারে। দুটি ইঞ্জিন S1, S2, S4 এবং S5-এর মধ্যবর্তী উপস্থাপনাগুলো ভাগ করে ব্যবহার করে, ফলে একই তথ্য বারবার পড়া ও নিষ্কাশন করা এড়ানো যায়।

ব্যবহারিক পরামর্শ

  • প্রথমে প্রকল্পের সঙ্গে থাকা কৃত্রিম পাণ্ডুলিপি ব্যবহার করে কমান্ডগুলোর সঙ্গে পরিচিত হন, তারপর বাস্তব বই প্রক্রিয়া করুন।
  • উৎপাদিত ফলাফলের ধরন নিয়ে অনিশ্চিত হলে --engine auto ব্যবহার করুন; দুটি ফলাফল একসঙ্গে তুলনা করতে হলে both অথবা --no-router ব্যবহার করুন।
  • প্রতিবার প্লাগইন বা টেমপ্লেট পরিবর্তনের পর উৎপাদিত ফলাফলের যাচাই এবং ইউনিট টেস্ট চালান।
  • বইয়ে নেই এমন তথ্যের ক্ষেত্রে প্রত্যাখ্যান করার সক্ষমতা বজায় রাখুন; উৎসের ঘাটতি পূরণ করতে মডেলের সাধারণ জ্ঞান ব্যবহার করবেন না।
  • বইয়ের মূলপাঠ, প্রচ্ছদ বা স্ক্যান করা কপি রিপোজিটরিতে জমা দেবেন না এবং ডিফল্টভাবে ব্যক্তিগত রাখা তৃতীয় পক্ষের বইয়ের ফলাফল সরাসরি প্রকাশ করবেন না।
  • বিশ্বস্ততা সংক্রান্ত নথি এবং কপিরাইট সংক্রান্ত নথি পড়ে সূচক ও প্রকাশনার সীমা সম্পর্কে জানুন।

বর্তমান সীমা

BookLeme বর্তমানে M0–M3 পর্যায়ে রয়েছে। coach_dialogue এবং knowledge_reference বাস্তবায়িত হয়েছে, তবে পেশাদার বিশ্লেষণ এবং সিদ্ধান্তের তালিকা সংক্রান্ত প্লাগইনগুলো এখনও পরবর্তী রোডম্যাপে রয়েছে। LLM judge এখনও সংযুক্ত হয়নি, তাই সংশ্লিষ্ট কিছু সূচকের মান এখনও null। ব্যবহারের সময় ইতিমধ্যে বাস্তবায়িত, বাস্তবে পরীক্ষিত এবং এখনও যাচাই-অপেক্ষমাণ সক্ষমতাগুলো আলাদা করে বিবেচনা করা উচিত।

উপসংহার

BookLeme “বই পড়া”-কে একটি পরীক্ষাযোগ্য প্রকৌশলগত কর্মপ্রবাহে রূপান্তর করে: প্রথমে নিষ্কাশন ও বিভাজন, তারপর সক্ষমতা নিষ্কাশন ও বিশ্বস্ততা যাচাই, এবং শেষে জ্ঞান প্যাকেজ বা আচরণগত Skill হিসেবে রেন্ডারিং। প্রথম কম্পাইল সম্পন্ন করার পর যাচাই, পরীক্ষা, অধিকার ঘোষণা এবং কপিরাইট পরীক্ষা নিয়মিত প্রক্রিয়ার অন্তর্ভুক্ত করার পরামর্শ দেওয়া হয়, যাতে বইয়ের পদ্ধতিগুলো পুনর্ব্যবহার করার পাশাপাশি উৎসের সীমা ও যাচাইযোগ্যতা বজায় থাকে।