Back home

LLM কোড লেখার আরও স্থিতিশীল উপায় হল প্রথমে DSL লিখতে হবে

এক্সিকিউটেবল শব্দার্থিক স্তরে দীর্ঘ প্রম্পট শব্দের চেয়ে ভালো আউটপুট থাকে

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

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

প্রাকৃতিক ভাষা শুধুমাত্র সমস্যা নিয়ে কথা বলার জন্য উপযুক্ত

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

এই কারণেই দীর্ঘ প্রম্পট শব্দগুলি আপনি যত বেশি লেখেন তত বেশি ক্লান্তিকর হয়ে ওঠে। প্রম্পট শব্দটি দীর্ঘায়িত হওয়ার পরে, মডেলটি এখনও বিনামূল্যে পাঠ্যের একটি অংশ পায়, তবে বিনামূল্যে পাঠ্যটি দীর্ঘতর হয়। এটি আরও সীমানা না পেয়ে আরও প্রসঙ্গ মনে রাখে। সীমানা বন্ধ না হলে, মডেল শুধুমাত্র অনুমান চালিয়ে যেতে পারেন।

ডিএসএল অন্তর্নিহিত রায়কে স্পষ্ট ইনপুটে পরিণত করে

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

scenario: payment_timeout
steps:
  - send: order.created
  - wait: 3s
  - if: payment_missing
    then: cancel_order
    audit: required

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

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

এলএলএম ডিএসএলের বৃদ্ধিতে অংশগ্রহণের জন্য উপযুক্ত

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

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

আমি ডিএসএলের পিছনে এলএলএম রাখতে পছন্দ করব। প্রথমে সীমানাগুলি পরিষ্কার করুন, এবং তারপরে তাদের পরে সীমানা পূরণ করতে সহায়তা করুন, যাতে সিস্টেমটি বারবার ইম্প্রোভাইজেশন দ্বারা সহজে বিভ্রান্ত না হয়।

শব্দার্থিক স্তরটিও দুর্বোধ্য হয়ে উঠবে

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

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

FAQ

What to read next

Related

Continue reading

后端 · 2 tags

ক্লাউডফ্লেয়ারের হুমকি সূচককে রিয়েল-টাইম WAF নিয়মে পরিণত করা

নিয়ম ইঞ্জিনে হুমকি বুদ্ধিমত্তা সংযোগ করা কঠিন নয়। যেটি কঠিন তা হল প্রক্রিয়ার মধ্যে মিথ্যা ইতিবাচক, প্রত্যাহার এবং সুযোগকে একীভূত করা।

后端 · 5 tags

রানটাইম প্ল্যাটফর্মগুলি ফুল-স্ট্যাক টুল চেইন এন্ট্রির জন্য প্রতিযোগিতা শুরু করে

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