pঠন সময় : 10 minutes

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 ফাংশনাল উপ-জোনে :

L’organisation de foundry/ en deux sous-zones OSS et CSS

| এলাকা | 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-এর ডিটেইলিং অজেন্ট শাসনকে তিনটি বিষয়ে পরিবর্তন করে :

  1. RAG public : সূচিতকরণের পরিসীমা থেকে`foundry/**`

à foundry/public/+office/Vision/. কোড বন্ধ সোর্স টাস্ক কনফিগারেশনによる ইন্ডেক্স থেকে বাদ দেওয়া হয়, প্রম্পট দ্বারা নয়।

  1. Knowledge Graph : graphify-gradle উৎপন্ন করে দুটি গ্রাফ :

*office/graph.json(public) — OSS আর্টেফ্যাক্টস + অফিস/Vision মధ్య সম্পর্ক * configuration/graph_private.json(gitignored, বেসরকারি) — সম্পর্কের মধ্যে CSS আর্টিফাক্টস, কখনো প্রকাশিত হয়নি

  1. ডেটাসেট ফাইন-টিউনিং :`codebase-gradle`এখন তার দুটি উৎস আছে :

*OSS/→ সার্বজনীন ডেটাসেট (সামুদায়িক মডেল, বেঞ্চমার্ক) *CSS/→ প্রাইভেট ডেটাসেট (আভন্তরিক মডেল, মালিকানা ফাইন-টিউনিং)

আমরা কি পাই (এবং আমরা কি হারাই)

পূর্বে (সদৃশ ফোল্ডার)

পরে (OSS/CSS + office/sites)

ls foundry/→ সরকারি/বেসরকারি মিশ্রণ

ls foundry/public/→ সব কিছু প্রকাশ্য

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/`গ্যারান্টি দেয়.

Articles connexes