Strukturált kimenet minden Claude modellhez az Amazon Bedrockon

Az Amazon Bedrock mostantól minden Anthropic Claude modellnél támogatja a strukturált kimenetet (structured outputs), így a modell a megadott sémának megfelelő JSON-választ ad. Az AWS szerint ezzel megszűnik az egyedi értelmezés, az újrapróbálkozási logika és az utólagos feldolgozás szükségessége.
- Az Amazon Bedrock minden Anthropic Claude modellnél támogatja a strukturált kimenetet, ahol a modell elérhető.
- A funkció a bedrock-runtime és a bedrock-mantle végponton is működik.
- Korlátozott dekódolás kényszeríti ki a JSON-sémát a generálás közben, nem utólag.
- Két mechanizmus érhető el: JSON Schema output format és strict tool use.
- A lefordított sémanyelvtant a rendszer 24 órán át gyorsítótárazza, az első kérés lassabb lehet.
Mit jelent a sémakövető válasz
Az AWS közleménye szerint a funkció a bedrock-runtime és a bedrock-mantle végponton is elérhető, ott, ahol az adott modell rendelkezésre áll. Mindegy tehát, hogy a fejlesztő a Boto3 könyvtáron és a bedrock-runtime API-kon keresztül hívja a Claude-ot, vagy a Messages API-n és a bedrock-mantle végponton át: a válasz a meghatározott szerkezetnek megfelelő JSON lehet.
A megoldás korlátozott dekódolásra (constrained decoding) épül. A séma betartatása a tokenek generálása közben történik, nem utólag, így a modell nem állít elő olyan tokent, amely sértené a sémát. Az AWS szerint ez a kimenet formázását valószínűségi helyett determinisztikussá teszi.
A közlemény két, egymást kiegészítő mechanizmust nevez meg mindkét végponton:
- JSON Schema output format: a válasz szerkezetének szabályozása, például adatkinyeréshez, jelentéskészítéshez vagy API-válaszokhoz.
- Strict tool use: az eszközparaméterek ellenőrzése séma alapján, például ágensalapú munkafolyamatokhoz, függvényhíváshoz és többlépéses automatizáláshoz.
Gyakorlati előnyök a fejlesztőknek
Az AWS szerint minden válasz érvényes JSON, így nem fordulnak elő JSON.parse() hibák vagy értelmezési kivételek. A válaszok típusbiztosak is: a mezőtípusokat érvényesíti a rendszer, a kötelező mezők pedig mindig jelen vannak. Mivel a kimenet mindig megfelel a sémának, a sémasértések miatti újrapróbálkozásra sincs szükség.
A strukturált kimenet a választ a séma által definiált mezőkre korlátozza. Az AWS szerint ez csökkenti a kimeneti tokenek számát, és nagy forgalmú munkaterheléseknél mérsékelheti a következtetési (inference) költségeket. A cég állítása szerint ettől a megoldás éles használatra kész, és nagy léptékben is üzemeltethető külön sémaellenőrző kód nélkül.
A funkció működik kötegelt feldolgozással (batch inference), így nagy mennyiségű kérés dolgozható fel aszinkron módon, sémakövető kimenettel. A bedrock-runtime végponton a régiók közötti következtetéssel (cross-Region inference) is együttműködik további beállítás nélkül. Valós idejű igény esetén a strukturált válaszok típusos eseményekként streamelhetők.
Hogyan működik a háttérben
Az AWS leírása négy lépést nevez meg. Először az Amazon Bedrock ellenőrzi a megadott sémát a JSON Schema Draft 2020-12 támogatott részhalmazával szemben. Új séma esetén ezután nyelvtani (grammar) artefaktumot fordít, ezért az első kérés kicsit tovább tarthat. A lefordított nyelvtant a rendszer 24 órán át gyorsítótárazza, majd a modell a sémának megfelelő JSON-t előállító tokeneket generálja.
A gyorsítótár a fiókra vonatkozik, és az első hozzáféréstől számított 24 óráig érvényes. Ha a séma szerkezete változik, a gyorsítótár érvénytelenné válik, és új fordítás indul. Ha csak a név vagy a leírás mező módosul, a gyorsítótárazott nyelvtan megmarad.
Az InvokeModel API az Anthropic-natív kérés törzsét várja, ezért a séma az output_config.format alatt JSON-objektumként kerül a kérésbe, nem JSON-szövegként. Az AWS példája egy ügyfél e-mailjéből nyer ki érdeklődői adatokat: a névből, e-mail-címből, érdeklődési tervből és demókérésből álló sémára a modell ugyanilyen mezőkkel adott választ.
A bedrock-mantle végponton a strict: true beállítás azt biztosítja, hogy az eszköz bemenete pontosan megfeleljen a sémának. A példában a location mező mindig szöveg, a unit mező pedig mindig celsius vagy fahrenheit, és a modell nem adhat hozzá a sémán kívüli mezőket.
Mire használható, és kinek hasznos
Az AWS három mintát emel ki, ahol a strukturált kimenet a leginkább egyszerűsíti a hibakezelést:
- Adatkinyerés: mezők kinyerése számlákból, szerződésekből, e-mailekből és átiratokból olyan JSON-ba, amely adatbázisba vagy CRM-rendszerbe tölthető.
- Megbízható ágenshívások: az eszközargumentumok ellenőrzése generálás közben, így a többlépéses munkafolyamatok nem akadnak el hibás bemenet miatt.
- Nagy léptékű osztályozás: jegyek, érdeklődők vagy tartalmak besorolása szándék, prioritás és hangulat szerint.
A közlemény további példái között szerepel pénzügyi jelentések és megfelelőségi dokumentumok mezőinek kinyerése, klinikai jegyzetek elektronikus egészségügyi nyilvántartásba (EHR) alakítása, szerződések kulcsfeltételeinek elemzése és terméktörténetek bővítése egységes eredménnyel.
A Bedrockon Claude-ot használó fejlesztők számára a hír lényege, hogy a kimenet szerkezetének biztosítása a platform feladata lehet, nem az alkalmazásé. Az AWS szerint a külön értelmezési, újrapróbálkozási és ellenőrző réteg így elhagyható. Az első kérés késleltetése és a séma módosításának hatása a gyorsítótárra viszont tervezési szempont marad.


