BBloomFjord
AI 코딩 작업 공간

확률적 블룸 멤버십

최대 1024바이트 키를 1부터 8192비트인 블룸 필터에 저장합니다.

● ● ●BloomFjord●
작업 흐름 · 확률적 블룸 멤버십 ×
from hashlib import sha256

class Bloom:
    def __init__(self, width):
        if type(width) is not int or not 1 <= width <= 8192:
            raise ValueError("width.range")
        self.width, self.bits = width, 0
    def positions(self, key):
        if not isinstance(key, bytes) or len(key) > 1024:
            raise ValueError("key.bytes")
        digest = sha256(key).digest()
        return [int.from_bytes(digest[i:i+4], "big") % self.width
                for i in (0, 4, 8, 12)]
    def add(self, key):
        for position in self.positions(key):
            self.bits |= 1 << position
    def maybe_contains(self, key):
        return all(self.bits & (1 << p) for p in self.positions(key))
✳최대 1024바이트 키를 1부터 8192비트인 블룸 필터에 저장합니다.
✓ 변경 사항적용하기 전에 검토하세요 ↗
작업 공간 예시 화면
프로젝트
중복 삽입과 삽입한 키를 확인하고 양성이 거짓일 수 있으며 멤버십 증명이 아님을 보여 줍니다.
적용하기 전에 검토하세요
실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
모델
기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
작업 흐름

확률적 블룸 멤버십

작업 흐름 ↗
작업 흐름
from hashlib import sha256

class Bloom:
    def __init__(self, width):
        if type(width) is not int or not 1 <= width <= 8192:
            raise ValueError("width.range")
        self.width, self.bits = width, 0
    def positions(self, key):
        if not isinstance(key, bytes) or len(key) > 1024:
            raise ValueError("key.bytes")
        digest = sha256(key).digest()
        return [int.from_bytes(digest[i:i+4], "big") % self.width
                for i in (0, 4, 8, 12)]
    def add(self, key):
        for position in self.positions(key):
            self.bits |= 1 << position
    def maybe_contains(self, key):
        return all(self.bits & (1 << p) for p in self.positions(key))
AI 코딩 작업 공간

불확실한 결과가 확정적인 판단으로 바뀌지 않게 하세요

빠른 예비 검사를 호출 코드가 최종 답으로 취급하면 버그가 될 수 있습니다. BloomFjord는 연결된 모델과 그 경계를 검토하는 Windows용 AI 코딩 작업 공간입니다. 자료 구조와 이를 사용하는 코드를 프로젝트 대화에 가져온 뒤 애플리케이션이 행동하기 전에 필요한 근거를 명시하세요.

구체적인 작업으로 확정적 조회에 앞서 쓰이는 블룸 소속 필터를 살펴보도록 요청하세요. 일치 가능성이 있을 때와 확실히 없을 때 호출 코드가 무엇을 해야 하는지 설명하세요. 모호한 불리언 옆의 주석에 의존하지 말고 이름, 분기, 테스트에 그 구분을 유지하는 제안을 요청하세요.

통제된 테스트 데이터로 통합을 검토하세요. 삽입한 키와 없는 키를 포함하고 일치 후보가 여전히 필요한 확인 경로를 따르는지 확인하세요. 너비나 해시 변경을 수용하기 전에 검증과 구성의 가정을 살펴보세요. 필터를 정확한 소속 보장으로 취급하지 말고 프로젝트 테스트를 실행해 필요한 동작을 확인하세요.

BloomFjord는 OpenAI 호환 또는 Anthropic 엔드포인트 연결을 지원합니다. 제공업체가 제공하면 거부 성향 제거(abliterated) AI 모델을 선택할 수 있으며 컨텍스트, 도구 지원, 제한은 해당 구성으로 결정됩니다. 작업 공간에서 제안을 논의하고 살펴보며 애플리케이션 계약을 기준으로 최종 판단하세요.

예비 소속 검사 통합

일치 가능성이 있으면 다음에 무엇을 해야 하나요?

정확한 소속 여부가 중요하면 애플리케이션의 확정적 확인 경로를 따르세요. 호출 코드에서 그 분기를 보여 달라고 요청하세요. 확률적 결과가 검증을 생략하거나 레코드를 확인된 것으로 취급할 허가로 조용히 바뀌어서는 안 됩니다.

없는 키의 테스트 데이터로 오탐이 없음을 증명할 수 있나요?

아닙니다. 그 데이터만 검사할 뿐 가능한 모든 키를 확인하지는 않습니다. 테스트로 통합 동작을 검증하고 문서화된 불확실성을 보존하세요. 필터가 정확한 소속 여부를 제공한다고 암시하는 API 이름이나 호출 로직 변경은 피하세요.

필터와 함께 키 인코딩도 왜 검토하나요?

삽입과 조회는 같은 논리 키를 일관되게 표현해야 합니다. 애플리케이션 값을 바이트로 변환하는 코드를 포함하고 소속 구현 자체를 바꾸기 전에 정규화나 직렬화 차이를 살펴보세요.

호출 코드 수정 중 필터 너비도 바꿔야 하나요?

보고된 문제에 필요하지 않다면 구성 변경은 분리하세요. 필터 동작과 자원 사용이 달라질 수 있습니다. 새 너비를 부수적인 개선으로 수용하지 말고 설명과 적절한 검증을 요청하세요.

Windows용 다운로드 ↗

BloomFjord · 업데이트 2026-10-25