FFenceLilt
Pracovní prostředí s AI pro kód

Omezené získávání bloků se zpětnými apostrofy

Z textu do 4096 znaků vyjměte bloky se třemi zpětnými apostrofy ve sloupci nula a volitelným jazykovým štítkem ASCII.

● ● ●FenceLilt●
Pracovní postupy · Omezené získávání bloků se zpětnými apostrofy ×
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
✳Omezené získávání bloků se zpětnými apostrofy
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
  1. Modely

    Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.

  2. Projekt

    Otestujte prázdné bloky a sjednocené konce řádků, odmítněte neuzavřený blok a jiné formy Markdown neinterpretujte ani nespouštějte.

  3. Před použitím zkontrolujte

    Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.

Pracovní postupy

Omezené získávání bloků se zpětnými apostrofy

Pracovní postupy ↗
Pracovní postupy
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
Pracovní prostředí s AI pro kód

Oddělte kontrakt extrakce od spouštění

FenceLilt poskytuje pracovní prostředí pro programování s AI ve Windows vývojářům malých funkcí pro zpracování textu se záměrně omezenými vstupními pravidly. Otevřete projekt a popište, co má funkce rozpoznat, co má ponechat beze změny a jak má hlásit neúplný vstup. Připojený model pak může prověřit zdrojový kód a navrhnout změnu v rámci těchto hranic.

Extrakce ohraničených bloků kódu nabízí konkrétní úlohu. Pomocí pravidel značek a označení jazyka ze stávajícího příkladu proberte přijímané formy včetně prázdných bloků a zalomení řádků. Před kontrolou implementace požádejte asistenta o vysvětlení, jak navržený parser zpracuje neuzavřený blok. Extrahované tělo je text; rozhodnutí cokoli z něj spouštět by bylo jinou funkcí s jinými požadavky.

Po kontrole úpravy spusťte v projektu testy přesného výstupu a zahrňte nepodporované formy, které se nesmějí nechtěně interpretovat jinak. Vedle úspěšné extrakce prověřte limit velikosti a zpracování chyb. Pro asistenci AI nastavte podporovaný koncový bod kompatibilní s OpenAI nebo Anthropic a případně přihlašovací údaje. Model bez omezení lze zvolit, pokud jej služba poskytuje, zatímco kapacita kontextu a dostupnost nástrojů závisí na serveru. Užitečná relace končí změnou, jejíž přijímaný jazyk a chování při selhání dokážete jasně popsat.

Kontrola funkce s omezenou extrakcí

Znamená extrakce bloku kódu spuštění jeho obsahu?

Ne. Tato úloha vrací text podle definovaného kontraktu značek. Pozdější rozhodnutí o spuštění oddělte od extrakce a prověřte navazující kód, aby zpracování vráceného těla nečekaně nespouštělo příkazy ani nevyhodnocovalo zdrojový kód.

Má tato rutina přijímat všechny styly ohraničení Markdownu?

Stávající příklad záměrně podporuje omezenou formu. Vyjmenujte značky a označení, které aplikace potřebuje, a výslovně je ověřte. Rozšíření na jiné formy Markdownu je změnou požadavků, nikoli automatickým důsledkem úklidu parseru.

Jak zpracovat neuzavřený blok?

Před implementací změny určete, zda se neúplný vstup odmítá. Ukázková úloha jej odmítá. Zahrňte testovací případ, který dosáhne konce s otevřeným blokem, a ověřte, že volající tento výsledek vhodně prezentuje.

Proč ponechat nepodporované příklady v testech?

Ukazují, kde funkce končí. Výraz navržený modelem může nechtěně rozpoznat další formy a změnit chování bez zjevného selhání. Kontrolujte přijímaný i nedotčený text společně, aby implementace zachovala zamýšlenou hranici.

Stáhnout pro Windows ↗

FenceLilt · Aktualizováno 2026-10-25