Nagłówek i dane strukturalne bez rozdętego JSON

Structured data is supposed to help machines, but in AI workflows we often pay the model to read the same keys again and again. HEDL treats structure as a...

Nagłówek i dane strukturalne bez rozdętego JSON

The invoice hiding in your braces

JSON won because it is boring in exactly the right way. Humans can read it. Machines can parse it. Every language has a library for it. If two systems need to exchange an object and nobody wants a standards meeting, JSON is usually where the conversation ends. Fine. There are worse compromises. Many of them have enterprise in the name.

The problem is not JSON as a web format. The problem is what happens when we push JSON into language-model workflows and pretend the cost is free. A model does not see a tidy object in the way an application parser sees one. It sees tokens. It reads the same keys again and again. It spends context on punctuation, repeated field names, wrappers, nested scaffolding, and shape reminders that were already known before the first record arrived.

That waste used to be mildly irritating. With AI systems, it becomes a product problem. Every repeated key competes with evidence, instructions, examples, citations, and actual user content. Every redundant structural token is a little tax on the useful work. The invoice does not say needless braces, because invoices lack poetry. It says tokens.

HEDL starts from a plain observation: when the schema is known, repeating the schema inside every record is silly. Declare the structure once. Encode records positionally. Keep the semantics exact. Convert back to the formats existing systems already expect. That is not anti-JSON ideology. It is a refusal to pay the model to reread the same road sign every ten metres.

HEDL moves repeated structure out of every record and into a shared schema contract.

This matters because structured AI work is not just chat. It is extraction, classification, tool calls, data transformation, review packets, evidence bundles, MCP calls, workflows, and agents passing objects to each other all day. The more serious the system becomes, the more structure it needs. If structure is expressed in the most verbose possible way, the system pays for its own discipline.

JSON is not the villain

It would be easy, and lazy, to write this as a JSON complaint. JSON has real strengths. It is ubiquitous, debuggable, easy to pipe through existing tools, and good enough for a huge amount of application work. The point is not that JSON is bad. The point is that JSON is often used in places where the receiving side already knows the shape, and there the repetition stops being clarity and starts being cargo.

Consider a structured extraction task. The schema says every answer has a name, source, value, confidence, and rationale. Now imagine sending hundreds of rows to a model or receiving hundreds of rows back from one. JSON repeats those field names for every object. The application parser does not mind. The model context does. The context window becomes a delivery van full of labels instead of goods.

HEDL treats the schema as a contract. It names the fields and types once. The records then carry values in order. That sounds obvious because it is. Many efficient formats have made similar tradeoffs for decades. The difference is that HEDL is aimed at LLM-facing structured workflows where human debuggability, conversion, and tool compatibility still matter. It is not a binary blob lobbed over a wall with a note saying good luck.

Implementacja HEDL obejmuje wsparcie biblioteki w języku Rust, użycie z poziomu CLI, serwer MCP i powierzchnie proxy, WASM, FFI i powiązania, a także konwersję do i z popularnych formatów. To połączenie jest istotne. Format dla przepływów pracy AI nie może być tylko zwarty. Musi wchodzić i wychodzić z chaotycznego świata bez stawania się prywatnym kultem. Istniejące API nadal oczekują JSON. Ludzie nadal przeglądają dane. Narzędzia nadal potrzebują pełnych cykli. Format musi być gęsty, ale nie aspołeczny.

Struktura jako kontrakt

Większość awarii AI wokół danych strukturalnych nie jest dramatyczna. Są drobne, przez co trudniej je szanować, dopóki nie kosztują prawdziwych pieniędzy. Pole się przesuwa. Wartość trafia pod niewłaściwy klucz. Model generuje prawdopodobny obiekt z brakującym opcjonalnym polem. Parser akceptuje kształt, który powinien odrzucić. Narzędzie downstream otrzymuje prawie właściwą rzecz, najniebezpieczniejszy rodzaj rzeczy w oprogramowaniu.

Podejście HEDL oparte na schemacie jest przydatne, ponieważ czyni strukturę jawną, zanim rekordy zaczną się przemieszczać. Schemat nie jest luźną sugestią w prompcie. To on mówi czytelnikowi, jak interpretować wartości. Rekord jest zwarty, ponieważ nie musi wielokrotnie opowiadać o sobie. Otaczające narzędzia mogą nadal walidować, konwertować i przekazywać dane systemom, które preferują JSON, YAML, XML, CSV lub inne konwencjonalne formy.

Zwartość pomaga tylko wtedy, gdy znaczenie przetrwa pełny cykl. W przeciwnym razie to tylko kompresja w ładniejszym kapeluszu.

Pełne cykle są testem tego, czy format jest pomocny, czy tylko sprytny. Jeśli JSON wchodzi, HEDL przemieszcza się przez przepływ pracy, a JSON wychodzi z tą samą semantyką, system zyskuje gęstość bez utraty kompatybilności. Jeśli znaczenie ginie po cichu, format zawiódł. Właściwe zachowanie pod presją to nie wzruszenie ramionami i przekazanie obiektu dalej. To zablokowanie, zgłoszenie i wymuszenie ujawnienia niejednoznaczności.

To tutaj HEDL dobrze wpisuje się obok reszty stosu Dweve. Ledger dba o to, aby zdarzenia operacyjne pozostały możliwe do inspekcji. AION dba o to, aby dowody decyzji można było sprawdzić. Trace dba o to, aby obliczenia można było odtworzyć. HEDL dba o to, aby dane strukturalne można było przedstawić gęsto i przywrócić dokładnie. Te zadania się stykają, ale to nie to samo zadanie. Jeszcze raz: mniej ciepłych słów, więcej użytecznych granic.

Benchmark to nie dekoracja

Twierdzenia o wydajności wokół infrastruktury AI są często pisane jak historie o wędkowaniu. Liczba rośnie za każdym razem, gdy jest opowiadana na nowo. HEDL ma konkretne twierdzenie benchmarkowe: 571 zadań ekstrakcji strukturalnej w siedmiu zbiorach danych, o 56 procent mniej tokenów niż JSON i wzrost dokładności o 10,3 punktu procentowego w porównaniu z JSON.

Te liczby należy czytać jako twierdzenie benchmarkowe, a nie uniwersalne prawo fizyki. Opisują konfigurację benchmarku. Nie oznaczają, że każdy przepływ pracy magicznie uzyskuje ten sam wynik. Ale wyjaśniają, dlaczego format istnieje. Liczba tokenów nie jest przypisem implementacyjnym w systemach LLM. Jest częścią interfejsu. Jeśli dwie reprezentacje niosą to samo znaczenie, a jedna spala znacznie więcej kontekstu, ta cięższa nie jest neutralna.

Twierdzenie benchmarkowe dotyczy ekstrakcji strukturalnej: mniej tokenów i lepsza dokładność w udokumentowanym zestawie zadań.

The accuracy gain is especially interesting. It suggests the benefit is not only cheaper prompts. A cleaner representation can also make the task easier for the model. That should not be surprising. If the model spends less attention on repeated syntactic clutter, it has more room for values and relations. This is the same reason good forms beat messy forms in human work. The human may be smart, but do not hand them a tax form written by a printer having a difficult childhood.

There is a broader design lesson here. AI interfaces should not be judged only by whether the model can cope. Models can cope with many bad interfaces. People can also carry furniture up stairs with poor grip and no plan. That does not make it architecture. A good AI interface reduces avoidable work, exposes structure, preserves meaning, and fails loudly when the structure is wrong.

Why proxy surfaces matter

A format rarely wins by being pure. It wins by fitting the ugly middle. HEDL's MCP and proxysurfaces matter because most organisations cannot simply announce that everything now speaks a new representation. They have existing APIs, data stores, validation rules, dashboards, notebooks, and export formats. Replacing all of that to save tokens would be aheroic way to lose friends.

The proxy pattern is more practical. Let models and tools benefit from dense structured representation where it matters. Convert at the boundary. Validate before data leaves the controlled path. Keep downstream JSON compatibility. Let systems that expect JSON receive JSON, but stop forcing the model to haul the full JSON shape through every internal step.

The proxy is not plumbing for plumbing's sake. It is where conversion, validation, and compatibility meet.

This is also where governance enters, quietly and usefully. If the proxy validates structure, it can reject malformed objects before they become business facts. If it preserves a lossless round trip, it can prove that conversion did not change the meaning. If it keeps compatibility with existingsystems, it can be adopted without turning every integration into a migration programme. We are European. We have enough migration programmes. Some of them still have steering committees from 2014.

For agent systems, the proxy is even more important. Agents pass structured calls and results across boundaries. They call tools, receive outputs, update memory, produce artifacts, and hand state to other agents. A dense representation with validation keeps those handoffs less wasteful and less ambiguous. It does not make the agent wise. It makes the envelope less stupid. That is a respectable engineering outcome.

Where HEDL should not be used

Every useful tool has a place where it should not be used. HEDL is not a replacement for every JSON file on earth. If asmall config file is read once by a human and edited twice a year, JSON or TOML will survive the tragedy. If a public API needs maximum familiarity and the payloads are tiny, JSON is fine. If the schema is genuinely unknown and ad hoc, schema-once encoding is not the right starting assumption.

HEDL becomes interesting when structure is repeated, volumes are meaningful, model context is expensive, round trips matter, and tools need compatibility at the edges. That is why LLM workflows are such a good fit. They sit precisely at the intersection of structured intent and token economics. They also tend to grow from prototype to production faster than anyone planned, because apparently nobody has learned this lesson despite the entire history of software looking mildly offended in the corner.

Praktyczna ścieżka wdrożenia powinna być zatem wąska. Nie przepisuj organizacji. Wybierz ustrukturyzowany przepływ ekstrakcji. Wybierz ścieżkę wywołań narzędzi agenta. Wybierz granicę proxy MCP. Mierz zużycie tokenów, wskaźnik błędów, wyniki walidacji i wierność pełnego cyklu. Jeśli liczby się utrzymają, rozwijaj. Jeśli nie, zostań przy nudnym rozwiązaniu. Celem nie jest uwielbienie formatu. Celem jest przestać płacić za unikaną strukturę.

Lekcja

Lekcja HEDL jest taka, że struktura nie jest darmowa tylko dlatego, że jest użyteczna. W zwykłym oprogramowaniu powtarzane klucze to głównie utrapienie. W przepływach AI to kontekst, pieniądze, uwaga i powierzchnia awarii. Jeśli schemat jest znany, powtarzanie go w każdym rekordzie jest często najmniej pomysłową dostępną opcją.

HEDL to prosta wymiana: zadeklaruj strukturę raz, zakoduj rekordy gęsto, zachowaj semantykę, konwertuj z powrotem, gdy trzeba, i waliduj na granicy proxy. To nie jest zamiennik JSON jako wspólnego języka sieci. To lepsza wewnętrzna koperta dla ustrukturyzowanej pracy AI, w której model powinien wydawać kontekst na znaczenie, a nie na czytanie tych samych nazw pól aż do termicznej śmierci budżetu.

To jest użyteczny standard dla infrastruktury AI. Nie spryt dla samego sprytu. Nie podatek za nowość. Nie format, który wymaga, by wszyscy inni cierpieli. Dobra warstwa usuwa marnotrawstwo, utrzymuje jawny kontrakt i pozwala reszcie systemu działać dalej. HEDL zasługuje na swoje miejsce, gdy obiekt staje się mniejszy bez rozmywania znaczenia.

JSON może zostać. Nic złego nie zrobił. Może nawet napić się kawy. Po prostu nie musi siedzieć w każdym wywołaniu modelu, niosąc ten sam zestaw kluczy jak człowiek przeprowadzający się, niosąc łyżkę po łyżce.