OSS/CSS গ্রানুলারাইজেশন — আমি কেন foundry/ কে দুটি অংশে কেটে দিয়েছিলাম
Publié le 03 May 2026
foundry/— কার্যাগত অঞ্চল যা আমার ওয়ার্কস্পেসের কোডকে বাসায় — ১৮টি প্রকল্প ধারণ করে। আটটি Apache 2.0 অনুমোদনের অধীনে ওপেন সোর্স। একমাত্র অনেক মাসের সময়, নয়টি প্রকল্পগুলো একत्रিত ছিলেন। একই ফোল্ডারে, শুধুমাত্র … দ্বারা পৃথক. তাদের পাবলিক/প্রাইভেট স্ট্যাটাস এটি আমার মস্তিষ্কে একটি তথ্য ছিল, ফাইল সিস্টেমে না।
এবং তারপরে আমি একটি RAG সংNECT করে চেয়েছিলাম। তারপর, সবকিছু ধ্বংস হয়ে গেল।
প্রত্যাশিত হওয়া দুর্ঘটনা
এপ্রিল ২০২৬-এ, আমি slider-gradle-এর জন্য pgvector RAG বাস্তবায়ন করা শুরু করেছি। সিদ্ধান্ত: সব রেপোজিটরির ইন্ডেক্স করা`foundry/, উৎপাদন করা কিছু এম্বেডিংস, এবং এদেরকে ইনজেক্ট করা LLM-এর কনটেক্সটে যাতে এর একটি perception" এর ফাইল`foundry/.
পাইপলাইনটি সহজ ছিল:
val repos = fileTree(rootDir) {
include("**/*.adoc", "**/*.kts", "**/*.kt", "**/*.json", "**/*.yml")
}
val chunks = repos.map { chunk(it) }
val embeddings = chunks.map { embed(it) }
pgvector.insert(embeddings)
সاده. কার্যকর. এবংবিপন্ন.
কারণ যে এই`fileTree`বৈষম্য তৈরি করে না`plantuml-gradle/` (Apache 2.0, public) এবং`edster/`(closed source, private). ও সবকিছু নিগল}}. একদিন যদি আমি এই ইম্বেডিংস প্রকাশ করি — একটি ড্যাশবোর্ডে, একটি উত্তর LLM, একটি প্রশিক্ষণ ডেটাসেটে — Edster এর মালিকানাধীন কোড লিকেজ হয়েছে।
|
প্রব্লেমটি হল যে কোনো LLM বন্ধ-সোর্স কোড পড়ে না। প্র�? এটি যে এই কোডটি একটি ভেক্টর এমবেডিংয়ো public — অপরিবর্তনীয়, অম্পোয্যযোগ্য, অডিটযোগ্য না. |
সত্য প্রশ্ন
এটা না "LLMকে কোড leak না দেওয়া কিভাবে?." এই "কিভাবে ব্রত্যা কাঠামোগতভাবে অসম্ভব করা যায়?
উত্তরটি একটি প্রম্পট নয়। উত্তরটি হল ফোল্ডারকে দুটি ভাগ করা।
সমাধান : OSS/ এবং CSS/
আগে :
foundry/
├── plantuml-gradle/ ← public
├── bakery-gradle/ ← public
├── magic-stick/ ← public
├── edster/ ← PRIVÉ
├── slider-gradle/ ← public
└── ... ← mélange invisible
বাদ :
foundry/
├── OSS/ ← tout est Apache 2.0
│ ├── plantuml-gradle/
│ ├── bakery-gradle/
│ ├── magic-stick/
│ ├── slider-gradle/
│ └── ...
└── CSS/ ← tout est closed source / private
└── edster/
Le `fileTree`হয়:
val ossRepos = fileTree(File(rootDir, "OSS")) {
include("**/*.adoc", "**/*.kts", "**/*.kt", "**/*.json", "**/*.yml")
}
val cssRepos = fileTree(File(rootDir, "CSS")) {
include("**/*.adoc", "**/*.kts", "**/*.kt", "**/*.json", "**/*.yml")
}
// Embeddings publics — OSS seulement
pgvectorPublic.insert(ossRepos.map { chunk(it) }.map { embed(it) })
// Dataset fine-tuning privé — CSS seulement
fineTuningDataset.insert(cssRepos.map { chunk(it) }) // jamais publié
|
জনসাধারণের RAG কখনো দেখে না`CSS/`. বন্ধ উৎসের কোড একটি ডেটাসেট পূর্ণ করে fine-tuning ছাড়া — একটি অভ্যন্তরীণ মডেল যা কখনো আমার বাড়ির বাইরে যায় না। এই বিভাজন যান্ত্রিক, ঘোষণামূলক নয়। |
ওএসএস" এবং "সিএসএস" কেন, "পাবলিক" এবং "প্রাইভেট" না?
OSS (মুক্ত সোর্স সফটওয়্যার) এবং CSS (বন্ধ সোর্স সফটওয়্যার) অ্যাক্রনিমের নির্বাচন এটি সতর্কভাবে সিদ্ধান্ত নেওয়া হয়েছে :
-
সার্বজনীন"/"বেসরকারী" বর্ণনা করেদৃশ্যমানতা(গিটহাব যা দেখে)
-
OSS"/"CSS" বর্ণনা করেপ্রকৃতিকোড (যা LLM-কে জানতে হবে)
GitHubের দৃশ্যমানতা একটি রিমোট রেজপোসিটরির মেটাডেটা। কোডের প্রকৃতি সামগ্রীর একটি সম্পত্তি। এলএলএম GitHub API-তে প্রবেশ করতে পারে না — কিন্তু它 অ্যাক্সেস পায় ফাইল সিস্টেমে।CSS/`lui dit "attention, ce code n’est pas sous licence মুক্ত" কোনো পড়ার দরকার ছাড়া`LICENSE`অথবা একটি পার্স করার`package.json.
|
ফোল্ডারের নাম সবচেয়ে দৃঢ় মেটাডেটা যা আপনি দিতে পারেন একটি LLM. এইটি ভুলে পার্স করা যায় না, ইগ্নোর করা যায় না, বা ভুলে ব্যাখ্যা করা যায় না। এই LLM দেখে`CSS/edster/`ফাইলের পথে — সে জানে। |
সম্পূর্ণ গাছ — চার অঞ্চল, তিন নয়
OSS/CSS গ্রানিউলারাইজেশন ত্রি-অঞ্চলিক অ্যান্টলজি পূর্ণ করে। এলাকা `foundry/`1 থেকে 2 ফাংশনাল উপ-জোনে :
| এলাকা | RGPD | পাবলিক RAG ইন্ডেক্সিং | ডেটাসেট ফাইন-টিউনিং | | মূল | স্তর 0 — আন্তরিক | ✗ | ✗ | </think>`configuration/| স্তর ১ — সীমাবদ্ধ | ✗ | ✗ | |`office/| স্তর 2 — সহযোগিতামূলক | ✓ ফিল্টারকৃত | ✓ ফিল্টারকৃত | |foundry/private/| স্তর ৩ — শর্তাধীন উন্মুক্ত | ✗ | ✓ বেসরকারী | | foundry/public/| স্তর 4 — স্বভাবিক দর্শক | ✓ মুক্ত | ✓ দর্শক |
বিশেষ ক্ষেত্র : cheroliv.com
সেখানে থাকার সময়, আমি একটি অন্য অসংগতি ঠিক করেছি। আমার সাইট cheroliv.com`ঠAKছিল`foundry/`একটি সফ্টওয়্যার প্রকল্পের মতো সম্পূর্ণ — এর নিজস্ব Gradle বিল্ড, এর নিজস্ব CI, এর নিজস্ব শাসন.agents/`.
ব্লগ পোস্টগুলো কোড নয়। এগুলো ডেটা সার্কেল ২ এর সম্পাদকীয়** — একইভাবে ফ্রেমিংয়ের`office/pilotage/` বা গঠনের`office/formations/`.
AVANT APRÈS
foundry/ office/
cheroliv.com/ sites/
site/jbake/content/blog/ cheroliv.com/
2026/0117_....adoc 2026/0117_....adoc
যে পরিবর্তন হচ্ছে :
-
অবজেক্টগুলো এর মধ্যে`office/`→ Cercle 2 এর গোপনীয়তা
-
কাজ`publishSite`একটি ক্ষমতা হচ্ছে`engine`
মাধ্যমে`bakery-gradle`— প্লাগইনটি একটি`FileTree`, সে জানে না যে নিবন্ধগুলো থেকে আসে`office/`
-
একটি CI, একটি শাসন — শূন্য পুনরাবৃত্তি
-
Vision/Opinion classifier(নিয়ম 2bis) স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়:
বস্তugar</tool_call>`office/`প্রকাশের আগে ফিল্টার করা হয়
ব্যাকারি-গ্রেডল উদাসীন
এবং তা সুন্দর। প্লাগইন`bakery-gradle`পরিবর্তিত হয়নি। একটি AsciiDoc বিষয়বস্তু ডিরেক্টরি গ্রহণ করে, HTML তৈরি করে, push GitHub পেজে। যে এই ডিরেক্টরি নামকৃত হয়`site/jbake/content/` ou office/sites/cheroliv/— প্লাগইনটি কেউ ফikor করে না।
// engine/build.gradle.kts
task("publishBlog") {
doLast {
val articles = fileTree("../../office/sites/cheroliv/2026/")
bakery.generate(articles) // ← bakery ne sait pas d'où ça vient
}
}
ইন্টারফেস চুক্তি একটি গ্রেডল কাজ। এটি একটি রেস্ট API নয়। এটি একটি ওয়েবহুক নয়। একটি কাজ — টাইপড, পরীক্ষযোগ্য, স্থানীয়ভাবে এবং CI-এ চালানো যায়।
এজেন্ট শাসনপ্রণালী ও এর প্রভাব
OSS/CSS-এর ডিটেইলিং অজেন্ট শাসনকে তিনটি বিষয়ে পরিবর্তন করে :
-
RAG public : সূচিতকরণের পরিসীমা থেকে`foundry/**`
à foundry/public/+office/Vision/. কোড বন্ধ সোর্স টাস্ক কনফিগারেশনによる ইন্ডেক্স থেকে বাদ দেওয়া হয়, প্রম্পট দ্বারা নয়।
-
Knowledge Graph : graphify-gradle উৎপন্ন করে দুটি গ্রাফ :
*office/graph.json(public) — OSS আর্টেফ্যাক্টস + অফিস/Vision মధ్య সম্পর্ক * configuration/graph_private.json(gitignored, বেসরকারি) — সম্পর্কের মধ্যে CSS আর্টিফাক্টস, কখনো প্রকাশিত হয়নি
-
ডেটাসেট ফাইন-টিউনিং :`codebase-gradle`এখন তার দুটি উৎস আছে :
*OSS/→ সার্বজনীন ডেটাসেট (সামুদায়িক মডেল, বেঞ্চমার্ক) *CSS/→ প্রাইভেট ডেটাসেট (আভন্তরিক মডেল, মালিকানা ফাইন-টিউনিং)
আমরা কি পাই (এবং আমরা কি হারাই)
পূর্বে (সদৃশ ফোল্ডার) |
পরে (OSS/CSS + office/sites) |
|
|
RAG কোনো ভেদবাব ছাড়া সকলকে index করে |
RAG সূচীকরণ করে`OSS/`+`office/Vision`এককভাবে |
একটি প্রকল্প মুক্ত কোড কিনা তা জানা অসম্ভব |
পথ`OSS/` ou `CSS/`উল্লেখিত |
cheroliv.com-এর নিজস্ব CI, নিজস্ব শাসন |
CI এবং শাসনমূলক ব্যবস্থা ইঞ্জিনে একত্রিত করা হয়েছে |
ব্লগ পোস্টগুলি একটি `code`সংশ্রয়ালয়ে আছে। |
ব্লগ পোস্টগুলো মধ্যে আছে`office/sites/`— ডেটা, কোড না |
পাবলিক এম্বেডিং-এ বন্ধ-সোর্স কোডের লিকেজের ঝুঁকি |
স্ট্রাকচারালি অসম্ভব —`CSS/`বাইরে স্কোপ RAG |
শুধু খরচ: একটি`git mv`সমগ্র ১৭টি OSS রেজিপোসিটরে + একটি রিফ্যাক্টরের du build.gradle.kts de engine. এইটি একটি শীতল 마이ग्रেশন — কোনো місцеান্তরে থাকা ডেটা না, কোনো প্রভাবিত ব্যবহারকারী না।
উপসংহার: ভৌত সিগনাল সফটওয়্যার সিগনালকে হারিয়ে দেয়
আমি আজ বিকেলে czego koressi, তা একটি দर्शনীয় নয় এমন নিয়মকে প্রতিস্থাপন করা। এলাক Allí একটি দrittoigorビッチhedের</tool_call>ে`foundry/. আগে, আপনাকে করতে হতো জান্তে ye`edster/`এটা closed source ছিল। এখন আপনি এটি দেখছেন — ফোল্ডারের নাম`CSS/.
এটি Unix অনুমতিগুলির মতো, নেটওয়ার্ক VLAN-দের মতো, বা এই ডেটাবেসে আগ্নিরোধক বিভাগ। নিরাপত্তা নিশ্চিত করা উচিত না এটি আপনি যে তথ্য আপনাকে ধরে রাখতে হবে। এটি একটি বৈশিষ্ট্য হওয়া উচিত। শারীরিকসিস্টেমের।
OSS/CSS গ্র্যানুলারাইজেশন এই নীতির অনুবাদ এই ক্ষেত্রে LLM গবর্ন্যান্সের। LLM-কে Edster কি তা জানার দরকার নেই। গোপনীয়। তাকে এতে অক্ষম থাকার দরকার।
এবং এটি সত্যিই যা`CSS/`গ্যারান্টি দেয়.
রেফারেন্স
-
অনুচ্ছেদ ০১১৬ — স্বয়ংক্রিয় জ্ঞান বিভাজন
-
অনুচ্ছেদ 0108 — একটি AI এজেন্টকে AsciiDoc দিয়ে নিয়ন্ত্রণ করা