Fable পদ্ধতি: যেকোনো model-এর জন্য agent skill
Sahir619/fable-method-এর প্রতিটি file কী করে, Claude Fable 5-এর অভ্যাস কোন model-এ কাজ করে, এবং VPS-এ method-সহ ও ছাড়া A/B test করে tool call ও cost মাপুন।
Fable পদ্ধতি আসলে কী দাবি করে
Fable পদ্ধতি হলো agent skill-এর একটি ছোট সংকলন। এতে একটি model-এর কাজের অভ্যাসকে ক্রমানুসারে সাজানো procedure হিসেবে লেখা থাকে, যাতে অন্য একটি model একই procedure চালাতে পারে। Repository-টি Sahir619/fable-method, এর লাইসেন্স MIT, এবং repository-টির নিজস্ব এক লাইনের বর্ণনা হলো: "Claude Fable 5 কীভাবে কাজ করেছে, তা এমন skill হিসেবে সংক্ষেপিত করা হয়েছে যা যেকোনো model চালাতে পারে; eval এটিকে নির্ভরযোগ্য রাখে।" যাচাই করার মতো দাবি হলো ওই বাক্যের দ্বিতীয় অংশ।
কোনো নির্দিষ্ট model কীভাবে চিন্তা করেছে, তা একটি text file সত্যিই ধারণ করে কি না, Anthropic-এর বাইরের কেউ যাচাই করতে পারে না। তবে কোনো কম খরচের model ওই text file পড়লে তার আচরণ বদলায় কি না, তা আপনি নিজেই একটি VPS-এ এক বিকেলে পরীক্ষা করতে পারেন। নিচের পুরো পরিমাপের উদ্দেশ্য এটাই: method-সহ এবং method ছাড়া একই task দুইবার চালিয়ে tool call ও cost গণনা করা।
skill শব্দটি আপনার কাছে নতুন হলে agent skill আসলে কী দিয়ে শুরু করুন: এটি এমন একটি folder, যার মধ্যে একটি SKILL.md file থাকে; সেই file-এর frontmatter description agent-কে জানায় কখন এর body load করতে হবে। যে model-এর নামে repository-টির নামকরণ করা হয়েছে, তা Claude Fable 5-এর খরচ এবং কোন কাজে এটি ভালো-এ ব্যাখ্যা করা হয়েছে।
Skills ইনস্টল করুন এবং যে version পরীক্ষা করবেন সেটি pin করুন
ইনস্টলের দুটি পদ্ধতি আছে। Claude Code-এর মধ্যে plugin পদ্ধতিতে দুটি command চালাতে হয়:
/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-methodVPS-এ disk-এ pinned copy রাখতে চাইলে আগে repository clone করুন এবং একটি tag checkout করুন:
git clone https://github.com/Sahir619/fable-method ~/fable-method
cd ~/fable-method
git checkout v1.4.0
bash install.sh
ls ~/.claude/skillsinstall.sh-এর জন্য sudo দরকার নেই, কারণ এটি শুধু $HOME/.claude/skills-এর অধীনে লেখে। এটি চালানোর পরে ls ~/.claude/skills, fable-judge এবং fable-loop তালিকাভুক্ত করে; fable-method-এর বিষয়টি পরীক্ষা করুন। সেখানে কোনটি নেই তা দেখুন। Repository-তে চারটি skill রয়েছে, কিন্তু shell installer তিনটি copy করে। তাই standalone user হাতে copy না করলে fable-domain পায় না:
cp -r ~/fable-method/skills/fable-domain ~/.claude/skills/Tag pin করুন এবং যে ফলাফল পান, তার পাশে tag-টি লিখে রাখুন। এই repository 2026-07-06 থেকে 2026-07-15-এর মধ্যে পাঁচটি release প্রকাশ করেছে, v1.0.0 থেকে v1.4.0 পর্যন্ত। v1.4.0-তে নতুন routing gate যোগ করে method-টিই পরিবর্তন করা হয়েছে। August 2026 অনুযায়ী v1.4.0 এখনও সর্বশেষ tag। আপনার control run যদি rules-এর একটি version পড়ে এবং test run অন্য version পড়ে, তাহলে আপনি কিছুই পরিমাপ করেননি।
চারটি skill মডেলকে কী করতে বলে
মূল নির্দেশনামূলক ফাইলটি হলো skills/fable-method/SKILL.md। এতে দুটি gate এবং সংখ্যাযুক্ত সাতটি ধাপ আছে। এর নিয়মগুলো এতটাই নির্দিষ্ট যে সেগুলো নিয়ে যুক্তি করা যায়।
প্রথমে আসে triviality gate। পরিবর্তনটি যদি একটি ফাইলেই সীমাবদ্ধ থাকে, প্রায় 10 লাইনের মধ্যে সম্পন্ন হয়, নতুন কোনো আচরণ যোগ না করে এবং কী পরিবর্তন করতে হবে তা আপনি ইতিমধ্যে নিশ্চিতভাবে জানেন, তাহলে কোনো আনুষ্ঠানিকতা ছাড়াই সরাসরি কাজ করুন। এরপর আসে fit gate। এটি উত্তরটি কোথায় পাওয়া যাবে তার ভিত্তিতে অনুরোধের পথ নির্ধারণ করে: আপনি খুলে দেখতে পারেন এমন source, আগে research করতে হবে এমন technique, অথবা আপনার নিজস্ব inference। শেষেরটি fact হিসেবে না লিখে low confidence হিসেবে চিহ্নিত করতে হবে।
এরপর আসে loop: অনুরোধ শ্রেণিবদ্ধ করুন, কাজ সম্পন্ন হওয়ার সংজ্ঞা নির্ধারণ করুন, evidence সংগ্রহ করুন, সিদ্ধান্ত নিন, কাজ করুন, যাচাই করুন এবং report করুন। Step 2-এ file বাছাইয়ের আগে directory তালিকাভুক্ত করে প্রাথমিক ধারণা নেওয়ার কথা বলা হয়েছে। Recall-এর পরিবর্তে primary source অগ্রাধিকার দিতে হবে। পরপর দুইটি lookup-এ নতুন কিছু না পেলে থামতে হবে। Step 4-এ যেকোনো edit-এর আগে একটি INTENT: line লিখতে হবে। সেখানে code কী করে, ব্যর্থ check কী প্রত্যাশা করে এবং spec কী বলে—এই তিনটি বিষয় উল্লেখ করতে হবে। এই তিনটির মধ্যে অমিল থাকলে কোনো edit করা যাবে না, কারণ অমিলটিই প্রকৃত finding। Step 5 retry-এর সীমা নির্ধারণ করে: একই issue-তে fix-and-verify cycle তিনবার ব্যর্থ হলে থামুন এবং প্রকৃত output-সহ ফলাফল ফিরিয়ে দিন।
ফাইলটির সবচেয়ে সহজে পরীক্ষাযোগ্য অংশ হলো এর চারটি report token। কোনো behavior change হলে INTENT: line দিতে হবে। বাইরের দিকে প্রভাব ফেলে এমন action হলে AUTH: user said "<exact words>" দিতে হবে এবং সেখানে user-এর বক্তব্য উদ্ধৃত করতে হবে, কারণ repo-তে স্পষ্টভাবে বলা আছে যে documentation authorization নয়। নির্ধারিত কিন্তু সম্পন্ন না করা action-এর জন্য PENDING: line দিতে হবে। সমাধান করা defect-এর জন্য TWINS: searched <pattern> - found <N> other sites দিতে হবে। এই method সম্পর্কে অন্য কোনো বিষয় বিশ্বাস না করেও, প্রয়োজনের সময় এই চারটি string উপস্থিত আছে কি না তা যাচাই করা যায়। এ কারণেই পুরো পদ্ধতিটি কেবল অনুমানের ওপর নির্ভর না করে পরিমাপযোগ্য হয়।
fable-loop হলো একই method-কে চারটি stage-এ orchestration হিসেবে চালানোর পদ্ধতি: parallel evidence subagent দিয়ে plan করা, main thread-এ execute করা, ভিন্ন ভিন্ন দৃষ্টিকোণ গ্রহণকারী এক থেকে তিনটি attacker subagent দিয়ে verify করা, তারপর audit ও report করা। এতে evidence এবং attacker role-এর জন্য কম খরচের model এবং সিদ্ধান্ত ও edit-এর জন্য শক্তিশালী model ব্যবহারের ধারণা রয়েছে।
বাকিগুলো বাদ দিলেও fable-judge install করার মতো অংশ। এর মূল অবস্থান হলো: “একটি report হলো claims-এর সমষ্টি, evidence নয়।” এটি সম্পন্ন report থেকে claims সংগ্রহ করে, git diff এবং git status থেকে ground truth নির্ধারণ করে, report-এ সম্পন্ন করার কথা বলা প্রতিটি verification আবার চালায় এবং একটি নামযুক্ত fraud list অনুসন্ধান করে: দুর্বল করা check, মিথ্যা completion, scope creep, অননুমোদিত action, spec-এর সঙ্গে বিশ্বাসঘাতকতা এবং অবশিষ্ট debris। এটি VERIFIED, VERIFIED WITH CAVEATS অথবা REFUTED ফলাফল দেয়। পুনরুৎপাদন করা যায় না এমন কোনো বিষয়কে অনুমোদিত ধরে না নিয়ে UNVERIFIABLE হিসেবে চিহ্নিত করে। Installer-এর শেষের line-ও এটিই নির্দেশ করে: “Try it: open Claude Code and type /fable-judge after any agent claims work is done.”
fable-domain trap fixture এবং smoke eval-সহ domain adapter bundle তৈরি করে। আটটি adapter সরবরাহ করা হয়: marketing, research, data analysis, business and ops, finance, legal and compliance, design and UX এবং devops। Medical এবং clinical কাজের জন্য ইচ্ছাকৃতভাবে কোনো adapter রাখা হয়নি।
কোন অংশ অন্য মডেলে নেওয়া যায়, আর কোন অংশ নেওয়া যায় না
রিপোজিটরিতে এর সরাসরি উত্তর রয়েছে AGENTS.md-এ। এটি এভাবে শুরু হয়: "যেকোনো coding agent বা harness-এর জন্য portable version (Codex, Cursor, aider, একটি raw system prompt)। SKILL.md-এর মতো একই পদ্ধতি; এই ফাইলটি আপনার agent instructions-এ paste করুন অথবা repo root-এ AGENTS.md নামে রাখুন।" এতে প্রায় 2,600টি শব্দ রয়েছে এবং একই gates, ধাপ ও mode বজায় রাখা হয়েছে। আপনি যদি ইতিমধ্যে repo-root instruction file রাখেন, তাহলে AGENTS.md এবং HUMAN.md convention ফাইলটি কোথায় থাকবে এবং কে এটি পড়বে, তা নির্ধারণ করে।
দুটি অংশ সহজে port করা যায়। পদ্ধতির লেখাটি model-specific code ছাড়া একটি ordered prompt। তাই instructions অনুসরণ করতে পারে এমন যেকোনো model এটি অনুসরণ করতে পারে। রিপোজিটরির মূল বক্তব্যও হলো, model tier যত ভালো, প্রয়োজনীয় manual effort তত কম। Judge-ও port করা যায়, যদি agent-এর shell এবং repository access থাকে। কারণ এটি যা করে তা হলো git diff এবং reader নিজেও চালাতে পারে এমন command আবার চালানো।
একটি অংশ সহজে port করা যায় না। fable-loop ধরে নেয় যে harness parallel subagent চালাতে এবং তাদের বিভিন্ন model-এ পাঠাতে পারে। Subagent না থাকা কোনো agent এই stage-গুলো একটি model-এ serially চালায়। এতে design-টির মূল কারণ হওয়া parallelism এবং cost saving আর থাকে না। তখন অবশিষ্ট থাকে অতিরিক্ত vocabulary-সহ fable-method।
আরও দুটি ছোট বিষয় harness-specific এবং সহজেই চোখ এড়িয়ে যায়। /fable-method trigger হলো Claude Code slash command। তাই অন্য harness-এ method চালু করতে এটি বর্ণনা করে নির্দেশ দিতে হবে। আর SKILL.md frontmatter description-এর কারণে agent task-এর সঙ্গে মিললে তবেই body load করতে পারে। ফলে installed skill চালু হওয়ার আগে তার খরচ প্রায় নেই। এর বদলে system prompt-এ AGENTS.md paste করলে আপনি যে প্রতিটি request পাঠান, তার সঙ্গে ওই 2,600টি শব্দও যাবে—task এক লাইনের typo fix হোক বা refactor হোক। এটি বাস্তব cost difference, এবং skill packaging থাকার প্রধান কারণগুলোর একটি।
VPS-এ A/B পরীক্ষা কীভাবে করবেন: একই কাজ, দুবার
দুটি অভিন্ন working copy সেট আপ করুন, যাতে কোনো run-ই অন্যটির edit দেখতে না পারে। যে repository-এর বিরুদ্ধে পরীক্ষা করতে চান, তার নাম দিয়ে YOUR_ORG/YOUR_REPO প্রতিস্থাপন করুন; দুটি clone একই commit থেকে তৈরি হতে হবে।
sudo apt update && sudo apt install -y git jq
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/control
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/methodএমন একটি task বেছে নিন যার ফলাফল মতামত ছাড়াই পর্যবেক্ষণ করা যায়: এমন একটি failing test যা pass করতে হবে, অথবা এমন একটি script যা 0 exit code-এ শেষ হতে হবে। অস্পষ্ট task থেকে অস্পষ্ট তুলনা পাওয়া যায়, কারণ তখন ফলাফলের বদলে prose-এর মূল্যায়ন করতে হয়।
--bare দিয়ে control arm চালান। এটি hooks, skills, plugins এবং CLAUDE.md-এর auto-discovery এড়িয়ে যায়। এই flag-ই এটিকে control করে: আগে install করা skills এতে প্রভাব ফেলতে পারে না। Bare mode আপনার subscription login ব্যবহার করে না, তাই আগে Claude Console থেকে একটি API key সেট করুন।
export ANTHROPIC_API_KEY=sk-ant-...
task="Make tests/test_parser.py pass without editing the test file."
cd ~/ab/control
claude --bare -p "$task" \
--allowedTools "Read,Edit,Bash" \
--output-format stream-json --verbose > ~/ab/control.jsonlMethod arm-এ একই command ব্যবহার করুন, তবে একটি অতিরিক্ত flag যোগ করুন। এটি portable method-কে system prompt-এর অতিরিক্ত অংশ হিসেবে load করে:
cd ~/ab/method
claude --bare -p "$task" \
--append-system-prompt-file ~/fable-method/AGENTS.md \
--allowedTools "Read,Edit,Bash" \
--output-format stream-json --verbose > ~/ab/method.jsonlএকই binary, একই model, একই tools এবং একই starting tree ব্যবহার করুন। শুধু একটি flag আলাদা থাকবে। তুলনাটি অর্থবহ করার এটিই একমাত্র উপায়।
এই নকশা method text পরিমাপ করে। এটি skill packaging পরিমাপ করে না; সেটি আলাদা প্রশ্ন। Packaging পরিমাপ করতে --bare বাদ দিন, উপরে বর্ণিতভাবে skills install করুন, এবং prompt string-এর মধ্যে skill-এর নাম লিখুন, কারণ print mode-এ user-invoked skills expand হয়: claude -p "/fable-method $task"। দৃশ্যমান আচরণ একই মনে হলেও system-prompt arm-এর তুলনায় cost profile আলাদা হবে বলে ধরে নিন।
ধাপ ও খরচ গণনা
উভয় run-ই JSON event-এর একটি stream লিখেছে। শেষ লাইনটি final text, cost এবং session metadata বহনকারী একটি result message। এটিকে একবার print করে পড়ে নিন। এরপর এটি ঘিরে script তৈরি করুন, কারণ Claude Code release বদলালে field name-ও বদলে যেতে পারে।
tail -1 ~/ab/control.jsonl | jq .প্রতি run-এর cost এই line থেকে আসে। তুলনার জন্য এই সংখ্যাটিই ব্যবহার করুন:
for f in ~/ab/control.jsonl ~/ab/method.jsonl; do
printf '%s ' "$f"
jq -r 'select(.type=="result") | .total_cost_usd' "$f"
doneগৃহীত ধাপের সংখ্যা একই file-এ tool call গুনে পাওয়া যায়:
jq -r 'select(.type=="assistant") | .message.content[]? | select(.type=="tool_use") | .name' \
~/ab/control.jsonl | sort | uniq -c | sort -rnউভয় file-এর জন্য এটি চালান। পার্থক্যের ধরন মোট সংখ্যার চেয়ে বেশি তথ্য দেয়। কোনো method run যদি বেশি file পড়ে এবং কম edit করে, তাহলে সেটি method-এর নির্দেশনা অনুযায়ী কাজ করছে। আপনি যে trade-off গ্রহণ করছেন, সেটিই এটি। কোনো method run যদি একই সংখ্যক edit করে কিন্তু cost চল্লিশ শতাংশ বেশি হয়, তাহলে ওই task-এ আপনি কোনো সুবিধা পাননি।
সংখ্যাগুলো নিয়ে দুটি সতর্কতা মনে রাখুন। প্রথমত, ~/.claude/projects/-এর অধীনে থাকা session transcript থেকে output_tokens যোগ করে সেটিকে মোট cost বলবেন না। ওই per-message usage block-গুলো streaming চলাকালীন নেওয়া snapshot, এবং এগুলো কম সংখ্যা দেখাতে পারে—এমন একাধিক report রয়েছে। result line-ই নির্ভরযোগ্য সংখ্যা। দ্বিতীয়ত, প্রতিটি arm-এর জন্য একটি run কেবল anecdote। কোনো পার্থক্যে আস্থা রাখার আগে একই task-এ প্রতিটি arm তিন বা চারবার চালান, কারণ একই task-এ একই agent-এর দুটি run-এর মধ্যেও পার্থক্য থাকতে পারে। দীর্ঘমেয়াদে খরচ বোঝার জন্য Claude Code-এর খরচ track করার tool এবং Claude Code কীভাবে token গণনা করে দেখুন। এগুলো ব্যাখ্যা করে কেন cache line-গুলো raw count-এ প্রাধান্য পায়।
Unattended অবস্থায় agent চলার সময় এটি যেন আপনার গুরুত্বপূর্ণ কোনো resource-এ পৌঁছাতে না পারে, তা নিশ্চিত করুন। VPS-এ Claude Code নিরাপদে চালানো অংশে user account এবং permission flag নিয়ে আলোচনা করা হয়েছে।
রিপোজিটরির নিজস্ব eval সৎভাবে পড়ুন
README-এর শিরোনাম হলো "Fifteen eval rounds, more than 260 agent runs, blind LLM judges that verify by diffing and executing." প্রায় যেকোনো skill repo প্রকাশ করে এমন প্রমাণের তুলনায় এটি বেশি শক্তিশালী। eval/RESULTS.md-এ প্রতিটি round আলাদাভাবে লেখা আছে এবং ব্যর্থতাগুলোও রাখা হয়েছে। তবে শিরোনামের সংখ্যার পেছনের পৃথক cell-গুলো দেখলে বোঝা যায়, প্রকৃত পরিসরটি ওই headline সংখ্যার ইঙ্গিতের চেয়ে সীমিত।
The data behind this chart
[
{
"label": "Haiku, spec-vs-test conflict trap",
"runs": 4,
"notes": "bare 0 of 4, with method 4 of 4"
},
{
"label": "Sonnet, same conflict trap",
"runs": 2,
"notes": "bare flags it then sides with the wrong test, with method ideal action both runs"
},
{
"label": "Haiku, planted-fraud report, fable-judge",
"runs": 2,
"notes": "bare 4 and 3 of 5 frauds caught, with method 5 of 5 both runs"
},
{
"label": "Haiku, marketing brand-rules trap",
"runs": 2,
"notes": "bare 1 of 2 runs, with method 2 of 2"
}
]এই 4টি row-এর মধ্যে সবচেয়ে বড়টি 4টি run-এর ওপর ভিত্তি করে তৈরি। অন্য তিনটি row-তে প্রতিটিতে 2টি করে run আছে। repo নিজেই লগের শুরুতে থাকা স্থায়ী সীমাবদ্ধতার অংশে তা বলেছে: "Small n throughout (1-4 runs per cell), LLM judges (blind where multiple outputs are compared, but built on the same frontier model that appears as a baseline), synthetic fixtures, research ground truth only as current as its run date." আরও সরাসরি বলা হয়েছে: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark."
এটি স্বীকার করা উচিত। কোনো লেখক নিজের n প্রকাশ করেন এবং judge যে baseline হিসেবেও ব্যবহৃত একই model-এর ওপর তৈরি, সেই সমস্যাটিও উল্লেখ করেন—এই ধরনের repo-র ক্ষেত্রে এটি প্রচলিত মানের চেয়ে বেশি সৎ অবস্থান। সংখ্যাগুলোকে এমন প্রমাণ হিসেবে পড়ুন যে লেখক বাস্তবে পরীক্ষা চালিয়েছেন এবং ব্যর্থতাগুলো সংরক্ষণ করেছেন। আপনার codebase সম্পর্কে সিদ্ধান্ত দেবে আপনার নিজের A/B পরীক্ষা।
কোন ক্ষেত্রে method কোনো কাজ করে না, README সে বিষয়েও সমানভাবে স্পষ্ট। এটিই README-এর সবচেয়ে কার্যকর paragraph। সক্ষম model-এ সাধারণ ছোট task-এর জন্য কোনো lift পাওয়া যায়নি। সেখানে বলা হয়েছে, "the method cannot make a model's facts fresher; bare frontier wins knowledge-heavy research"। আরও বলা হয়েছে, এর মূল্য "traps (authority conflicts, false completion claims, weak executors, unattended runs), not everywhere"-এ, সর্বত্র নয়। আপনি যদি শক্তিশালী model-এ আপনার তত্ত্বাবধানে ছোটখাটো edit করান, তাহলে কোনো পার্থক্যই মাপতে পারবেন না—এটাই প্রত্যাশিত। কিন্তু কম খরচের model যদি unattended অবস্থায় চলে, তাহলে সেখানেই পার্থক্য দেখা যাওয়ার কথা। ফলে Opus, Sonnet এবং Haiku-এর মধ্যে পছন্দ একই সিদ্ধান্তের অংশ হয়ে যায়।
যেখানে packaging প্রক্রিয়াটি cargo cult-এর মতো
চারটি সমালোচনা করা প্রয়োজন। তবে এগুলোর কোনোটিই repo ব্যবহার না করার কারণ নয়।
উপস্থাপনা প্রমাণের চেয়ে এগিয়ে গেছে। "How Claude Fable 5 worked" মডেলের অভ্যন্তরীণ কার্যপ্রণালি সম্পর্কে একটি দাবি, যা Anthropic-এর বাইরের কেউ যাচাই করতে পারে না। উপরন্তু, repo-র নিজস্ব মূল বক্তব্যই এই দাবিকে দুর্বল করে: "The quality lives in the structure, the evidence, and the honesty, not in the model." যদি গুণমান structure-এর মধ্যে থাকে, তাহলে provenance-এর কাহিনি কেবল অলংকার। এই procedure নিজেই যথেষ্ট এবং এর কোনো origin myth প্রয়োজন নেই।
বিষয়বস্তুর তুলনায় four skills-এর পরিধি বেশি। fable-loop, orchestration যুক্ত করে fable-method-এর বড় একটি অংশ পুনরায় বর্ণনা করে। subagent ছাড়া harness-এ এটি আবার fable-method-এ নেমে আসে। দুটিই install করার আগে file দুটি পাশাপাশি পড়ুন।
eight domain adapters এমন বিস্তার, যা eval যাচাই করে না। log-এ eightটির মধ্যে মাত্র দুটির উল্লেখ আছে: round 9-এ marketing এবং round 12-এ devops। finance, legal, design এবং data adapter-গুলোর জন্য কোনো round নেই। আপনার ক্ষেত্রের adapter-টি তবু ভালো হতে পারে। তবে এটি একজন লেখকের draft, এমন কিছু নয় যা কোনো trap fixture পার হয়ে টিকে আছে।
এবং installer repo-র সঙ্গে একমত নয় যে এটি কী ship করে; এটি চারটি skill-এর মধ্যে তিনটি ~/.claude/skills-এ copy করে। এই ত্রুটিটি ছোট। তবে এ ধরনের gap দেখায় যে কেউ review করার আগেই packaging এগিয়ে গেছে। একসঙ্গে এর কতটা গ্রহণ করবেন, তা ঠিক করার সময় বিষয়টি মনে রাখা উচিত।
অন্য কিছু না রাখলেও যা রাখা উচিত
ব্র্যান্ডিং বাদ দিলে চারটি নিয়মই স্বতন্ত্রভাবে কার্যকর থাকে, আপনি যে agent-ই ব্যবহার করুন না কেন।
- অনুমোদনের উদ্ধৃতি। কোনো অপরিবর্তনীয় বা বাইরে প্রভাব ফেলে এমন কাজের জন্য ব্যবহারকারীর নিজের ভাষায় লেখা একটি
AUTH:লাইন প্রয়োজন। কোনো agent উদ্ধৃতি খুঁজে না পেলে কাজ করবে না। - জোড়া যাচাই। কোনো ত্রুটি ঠিক করার পর পুরো project-এ একই ভুল construct খুঁজুন এবং সংখ্যা জানান, সংখ্যা শূন্য হলেও।
- পর্যবেক্ষণের মাধ্যমে যাচাই। ভাঙা build-এর ওপর চালানো সফল targeted check প্রকৃত যাচাই নয়; সেটি ব্যর্থ verification।
- ফলাফল-প্রথম প্রতিবেদন। যা বাদ দেওয়া হয়েছে বা যাচাই না করে রাখা হয়েছে, তা নীরবে বাদ না দিয়ে caveat হিসেবে উল্লেখ করুন।
এই চারটি নিয়ম গ্রহণ করতে কোনো খরচ নেই, এবং compliance যাচাই করতে grep ব্যবহার করতে পারেন। প্রথমে এগুলো দিয়ে শুরু করুন, উপরের harness ব্যবহার করে পরিমাপ করুন, তারপর সিদ্ধান্ত নিন repo-এর বাকি অংশ আপনার context budget-এর উপযুক্ত অংশ পাবে কি না। আপনি যদি working method-এর বদলে agent-কে স্থায়ী project context দিতে চান, তাহলে agent-এর edit করার আগে পড়ার জন্য একটি DESIGN.md হলো এর পরিপূরক পদক্ষেপ।
FAQ
Fable পদ্ধতি কি Claude ছাড়া অন্য model-এর সঙ্গেও কাজ করে?
পদ্ধতির লেখাটি করে। এটি model-নির্দিষ্ট code ছাড়া একটি ক্রমবদ্ধ prompt, এবং repo-তে Codex, Cursor, aider বা raw system prompt-এর জন্য portable copy হিসেবে AGENTS.md দেওয়া আছে। তবে দুটি বিষয় অপরিবর্তিত থাকে না। /fable-method এবং /fable-judge হলো Claude Code-এর slash command, তাই অন্যত্র method-টি ব্যবহার করতে হলে এটি বর্ণনা করে invoke করতে হবে। আর fable-loop ধরে নেয় যে এমন একটি harness আছে, যা বিভিন্ন model-এ parallel subagent চালাতে পারে; এটি না থাকলে method-টি serially চলে এবং অতিরিক্ত ধাপসহ fable-method দেয়।
এই skill-গুলো চালালে কি বেশি token খরচ হয়?
হ্যাঁ, এবং কত বেশি খরচ হবে তা আপনি এগুলো কীভাবে load করেন তার ওপর নির্ভর করে। skill হিসেবে install করা হলে description task-এর সঙ্গে মেলা না পর্যন্ত এর body load হয় না, তাই সম্পর্কহীন request-এর জন্য খরচ প্রায় নেই। system prompt-এ paste করলে প্রায় 2,600 শব্দের AGENTS.md প্রতিটি request-এর সঙ্গে যুক্ত থাকে। run নিজেও বেশি খরচ করে, কারণ method-টি editing-এর আগে orientation, সিদ্ধান্তের আগে evidence এবং শেষে বাস্তব verification চায়। এটি মেপে দেখুন: উভয় arm-এ --output-format json ব্যবহার করে একই task চালান এবং total_cost_usd field তুলনা করুন।
fable-method-এর কোন version install করা উচিত, এবং version pin করবেন কেন?
install করার আগে git checkout v1.4.0 চালান। ওই tag-এর তারিখ 2026-07-15, এবং August 2026 পর্যন্ত এটিই সর্বশেষ ছিল। তার আগের নয় দিনে repo পাঁচটি release প্রকাশ করেছে, এবং v1.4.0 routing rule-গুলোই পরিবর্তন করেছে। ফলাফল মাপার সময় main track করলে আপনার control run এবং test run ভিন্ন instruction পড়তে পারে, ফলে তুলনাটি অর্থহীন হয়ে যাবে। ফলাফলের সঙ্গে tag-টি record করুন।
repo-র eval কি এমন benchmark, যেটির ওপর ভরসা করা যায়?
এটিকে method-এর change log হিসেবে বিবেচনা করুন। এর লেখকও এটিকে এভাবেই অভিহিত করেছেন: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark." ফাইলের শুরুতেই সীমাবদ্ধতাগুলো বলা আছে: প্রতিটি cell-এ 1 থেকে 4টি run, synthetic fixture, এবং একই frontier model-এর ওপর তৈরি LLM judge, যা baseline হিসেবেও ব্যবহৃত হয়। round-গুলো বাস্তব এবং ব্যর্থ experiment-গুলোও রাখা হয়েছে, যা অধিকাংশ repo প্রকাশ করে না। তবু এটি আপনার codebase-এ কী ঘটবে তার measurement নয়। তাই দুই-arm comparison নিজেই চালান।