Amazon Bedrock Managed Knowledge Base тепер підтримує single-shot RAG і пошук без генерації відповіді через AgenticRetrieveStream, за даними AWS ML: параметр maxAgentIteration має діапазон від 0 до 5, а один API покриває три режими.

Раніше цей API обслуговував лише агентний сценарій, де модель планує кілька пошуків. Тепер глибину пошуку обирають для кожного запиту окремо, тож питання «які документи потрібні для відкриття рахунку» і порівняння вимог до sole proprietorship, LLC і partnerships не потребують двох окремих систем. Так виглядає приклад із банківським асистентом у блозі AWS.

Які режими дає maxAgentIteration?

Параметр maxAgentIteration вмикає три режими: 0 повертає лише знайдені уривки, 1 робить один пошук і одну генерацію відповіді, вищі значення запускають агентний цикл.

Усі три режими працюють з кількома базами знань, зокрема 0 і 1. Агентний режим додає декомпозицію запиту, оцінку доказів і ітеративний пошук, а доступ до кількох баз є в усіх режимах.

Як рахуються ітерації і що це дає для затримки?

Одна ітерація дорівнює одному виклику foundation model, а останній виклик завжди генерує відповідь. Отже, значення n дає до n мінус 1 раундів планування: за 1 їх нуль, за 5 до чотирьох.

Кожен раунд планування складається з переписування запиту і пошуку. Більше раундів дає кращі результати на складних питаннях, менше знижує затримку. Початковий спекулятивний пошук, який іде перед першим кроком планування, ітерацією не вважається і лише прискорює запит.

Що ще є в API, окрім глибини пошуку?

Відповідь AgenticRetrieveStream складається з кількох типів подій: у потоці приходять уривки, трасувальні події та згенерована відповідь з цитатами. За даними AWS Documentation, запит також приймає поле userContext для фільтрації за правами доступу (у результатах лише документи, які користувач може бачити) і policyConfiguration з посиланням на guardrail.

Формулювання в джерелах розходяться. Довідник каже, що відповідь генерується за замовчуванням і це можна вимкнути через generateResponse. Блог радить для режиму лише з уривками брати maxAgentIteration=0, а generateResponse=true поєднувати з відповіддю на основі пошуку. Як ці два параметри взаємодіють, джерела не пояснюють.

Що робити зараз