Hoy anunciamos la disponibilidad general de Web Answer en Amazon Bedrock AgentCore. Con Web Answer, los creadores de agentes obtienen una respuesta sintetizada y con citas de fuentes a una pregunta en lenguaje natural con una sola llamada de herramienta. Ya no necesitan construir ellos mismos un pipeline de búsqueda, recuperación, síntesis y citas.
Si ha creado agentes que necesitan responder preguntas a partir de fuentes web actuales, conoce el patrón: llamar a una API de búsqueda, decidir en qué resultados confiar, recuperar y limpiar el contenido de las páginas, pedir a un modelo que sintetice y diseñar la extracción de citas para que la salida se pueda rastrear hasta una fuente. Cada paso es código que usted mantiene, y cada paso es otro lugar donde las cosas pueden salir mal: alucinaciones cuando la evidencia es insuficiente, contenido obsoleto cuando el índice cambia y atribución rota cuando una afirmación y su fuente se separan.
Web Answer colapsa todo ese pipeline en una sola solicitud. Usted envía una pregunta. Recibe una respuesta con citas en segundos. En esta publicación, explicamos qué hace Web Answer, lo comparamos con Web Search en AgentCore, mostramos cómo funciona y qué devuelve, y repasamos cómo agregar Web Answer a un gateway y llamarlo desde un agente.
Qué hace Web Answer
Figura 1: Flujo de solicitud desde un agente a través del Gateway hasta Web Answer y de vuelta
Su agente envía una pregunta a su AgentCore Gateway, una capacidad de Amazon Bedrock AgentCore. El Gateway autentica la llamada con AWS Identity and Access Management (AWS IAM) o un JSON Web Token (JWT). El Gateway llama a Web Answer, un conector administrado del que AWS es propietario, utilizando su propio rol de servicio. Web Answer planifica sus búsquedas, ejecuta varias en paralelo y lee páginas clave para verificar los hechos. Cuando la evidencia es insuficiente, vuelve a buscar. Luego escribe una respuesta que vincula cada afirmación con la URL de su fuente. El Gateway devuelve la respuesta y sus citas a su agente como un resultado de herramienta del Model Context Protocol (MCP).
Web Answer es una herramienta administrada de AgentCore Gateway que toma una pregunta en lenguaje natural y devuelve una respuesta sintetizada en segundos, fundamentada en fuentes web actuales. Esto es lo que recibe:
- Una respuesta fundamentada y con citas, donde cada afirmación fundamentada se corresponde con una cita, con una URL de fuente cuando hay una disponible.
- Fuentes actuales. Web Answer ejecuta nuevas búsquedas para cada pregunta, y su modelo recibe la fecha de hoy para que pueda buscar información actualizada.
- Búsqueda agéntica: Web Answer planifica sus propias búsquedas, ejecuta varias en paralelo, lee páginas para verificar hechos y decide cuándo tiene suficiente evidencia para responder.
- Salvaguardas de IA responsable: Web Answer está diseñado y probado con salvaguardas de IA responsable.
Figura 2: Video de demostración que muestra cómo agregar Web Answer a un AgentCore Gateway, desde la configuración hasta una respuesta final con citas
En qué se diferencia de Web Search
Web Answer y las herramientas de Web Search admiten ambos casos de uso de recuperación, con diferentes niveles de complejidad de integración. La línea divisoria es quién ejecuta el modelo:
- Web Search: Devuelve URLs clasificadas, títulos, fragmentos y metadatos. Usted conserva su propio modelo y controla la síntesis. Use Web Search cuando quiera control total sobre cómo se procesan los resultados.
- Web Answer: Ejecuta por usted el modelo, el bucle de recuperación agéntica, la síntesis y la atribución. Usted obtiene una respuesta terminada y con citas. Use Web Answer cuando la pregunta es una subtarea dentro de un agente más grande y no quiere encargarse de un pipeline de recuperación para ella.
Muchos clientes usarán ambos. Un agente podría usar Web Search para tareas de investigación amplias donde necesita resultados en bruto, y Web Answer para preguntas fácticas específicas donde necesita una respuesta rápida y con citas.
Configure e invoque Web Answer
Web Answer es un conector del que AWS es propietario. Usted lo referencia por ID, y el Gateway se encarga del esquema de la herramienta, la gobernanza de parámetros, la resolución del endpoint y la autenticación con el backend. En este tutorial, otorga al rol de servicio de su Gateway el permiso para llamar a Web Answer, agrega un destino de Web Answer y lo llama desde un agente de Strands.
Introducción
La introducción toma minutos. Un administrador de Gateway agrega Web Answer como destino en un AgentCore Gateway existente, y la herramienta aparece para cualquier agente conectado a través de MCP mediante tools/list y tools/call.
Requisitos previos
- Una cuenta de AWS con acceso a AgentCore Gateway.
- Un AgentCore Gateway en us-east-1 que use autenticación de entrada IAM (
AWS_IAM). Para crear uno, consulte Create an Amazon Bedrock AgentCore Gateway en la Guía del desarrollador. - Credenciales de AWS para una identidad que tenga
bedrock-agentcore:InvokeGatewayen el Gateway y acceso de Amazon Bedrock al modelo que utiliza su agente. - Python 3.10 o posterior, con los paquetes requeridos:
pip install boto3 strands-agents mcp mcp-proxy-for-aws
Nota: Seguir estos pasos crea recursos de AWS que generan cargos. Las invocaciones del Gateway y de Web Answer son facturables. Consulte la sección de Precios que aparece a continuación para obtener más detalles y, cuando termine, elimine los recursos que creó (consulte “Clean up resources”).
Paso 1: Conceder al rol de servicio del Gateway acceso a Web Answer
El Gateway utiliza su rol de servicio para actuar en su nombre. La política de confianza del rol permite que bedrock-agentcore.amazonaws.com lo asuma, limitado a su cuenta. Para Web Answer, el rol necesita:
bedrock-agentcore:InvokeWebAnswer, para llamar a Web Answer. El Gateway verifica este permiso en cada solicitud contra el ARN que AWS posee,arn:aws:bedrock-agentcore:us-east-1:aws:tool/web-answer.v1.
Adjunte la política al rol de servicio como una política inline:
import json
import boto3
iam = boto3.client("iam")
iam.put_role_policy(
RoleName="<gateway-service-role>",
PolicyName="WebAnswerGuide",
PolicyDocument=json.dumps({
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeWebAnswer",
"Effect": "Allow",
"Action": "bedrock-agentcore:InvokeWebAnswer",
"Resource": "arn:aws:bedrock-agentcore:us-east-1:aws:tool/web-answer.v1",
}
],
}),
)
El rol controla solo las llamadas salientes del Gateway. Quién puede llamar a su Gateway se define mediante su authorizer de entrada. El rol tampoco necesita bedrock:InvokeModel: el modelo de su agente se ejecuta bajo la identidad propia de su agente.
Paso 2: Crear el destino Web Answer
Agregue Web Answer como un destino de conector. El connectorId indica al Gateway qué integración administrada aprovisionar: en este caso, un agente que busca en la web y escribe una respuesta con citas.
import boto3
gateway_client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
target_response = gateway_client.create_gateway_target(
name="web-answer-tool",
gatewayIdentifier=gateway_id,
targetConfiguration={
"mcp": {
"connector": {
"source": {"connectorId": "web-answer"},
"configurations": [{"name": "WebAnswer", "parameterValues": {}}],
}
}
},
credentialProviderConfigurations=[
{"credentialProviderType": "GATEWAY_IAM_ROLE"}
],
)
target_id = target_response["targetId"]
La autenticación saliente es automática para los conectores. Con GATEWAY_IAM_ROLE, el Gateway llama al backend de Web Answer con el rol de servicio del Paso 1, por lo que no crea ni almacena ninguna credencial para la herramienta. Espere hasta que get_gateway_target informe el estado del destino como READY antes de llamarlo.
Como administrador del Gateway, también puede establecer un filtro de dominio en el destino. El filtro se aplica a cada llamada que pasa por el destino. Para limitar el destino a un conjunto de dominios, establezca parameterValues en {"domainFilter": {"include": ["bis.org"], "exclude": ["unreliable-source.net"]}}.
Paso 3: Invocar Web Answer desde un agente Strands
Su agente descubre Web Answer a través del tools/list del Gateway y lo llama con tools/call, como cualquier otra herramienta MCP. Esto funciona con Strands Agents, LangChain, LangGraph, CrewAI o cualquier otro cliente compatible con MCP.
from strands import Agent
from strands.models.bedrock import BedrockModel
from strands.tools.mcp import MCPClient
from mcp_proxy_for_aws.client import aws_iam_streamablehttp_client
gateway_url = "https://gateway-<id>.gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
mcp_client = MCPClient(lambda: aws_iam_streamablehttp_client(
endpoint=gateway_url,
aws_region="us-east-1",
aws_service="bedrock-agentcore",
aws_profile="<aws-profile-id>", # identity with bedrock-agentcore:InvokeGateway on the Gateway
))
model = BedrockModel(model_id="us.anthropic.claude-sonnet-5", max_tokens=1024)
with mcp_client:
tools = mcp_client.list_tools_sync() # Web Answer tool discovered from the Gateway
agent = Agent(model=model, tools=tools)
result = agent("What are the Basel III minimum requirements for Tier 1 capital?")
print(result.message)
Cuando una pregunta necesita información actual, su agente llama a la herramienta Web Answer (web-answer-tool___WebAnswer). Web Answer ejecuta la búsqueda agéntica y devuelve una respuesta terminada con citas.
Además de la pregunta, la herramienta Web Answer acepta argumentos opcionales que su agente puede establecer en cada llamada: un filtro de dominio para incluir o excluir sitios, un rango de fechas de publicación y un país para localizar los resultados. El filtro de dominio del agente se combina con el filtro del destino. El agente puede excluir más dominios, o limitar los resultados a algunos de los dominios incluidos del destino, pero no puede añadir un dominio que el filtro del destino bloquee.
Formato de respuesta
Web Answer devuelve un resultado de herramienta MCP con los campos content y structuredContent. La respuesta es texto markdown con marcadores de cita inline como [1], y structuredContent.answer lleva el mismo texto junto con una lista estructurada de citas:
{
"content": [
{
"type": "text",
"text": "Under Basel III, banks must hold Common Equity Tier 1 capital of at least 4.5% of risk-weighted assets [[1](https://www.bis.org/...)]..."
}
],
"structuredContent": {
"answer": [
{
"text": "Under Basel III, banks must hold Common Equity Tier 1 capital of at least 4.5% of risk-weighted assets [[1](https://www.bis.org/...)]...",
"citations": [
{ "domain": "bis.org", "url": "https://www.bis.org/..." }
]
}
]
},
"isError": false,
"_meta": {
"latencyMs": 5210
}
}
structuredContent.answer normalmente contiene un solo bloque. Cada cita incluye la url de origen y, cuando está disponible, el dominio.
Limpieza de recursos
Elimine el destino Web Answer cuando ya no lo necesite:
gateway_client.delete_gateway_target(gatewayIdentifier=gateway_id, targetId=target_id)
Si creó el Gateway solo para este tutorial, elimine primero sus destinos, luego el Gateway (delete_gateway), y después el rol de servicio y su política. No hay infraestructura persistente en el lado de AWS más allá de estos recursos. Después de eliminarlos, deja de incurrir en cargos.
Controles empresariales, integrados
Web Answer hereda los mismos controles empresariales que otras herramientas de AgentCore:
- Autenticación del Gateway. No hay una clave de API separada que aprovisionar, rotar o gestionar para Web Answer. Los llamadores se autentican en el gateway con el método de entrada que configure, como AWS IAM (SigV4) o un JSON Web Token de su proveedor de identidad. Luego, el gateway llama a Web Answer con su propio rol de servicio, que necesita el permiso
bedrock-agentcore:InvokeWebAnswer. - VPC y AWS PrivateLink. Sus agentes pueden llamar a la gateway a través de un endpoint de nube privada virtual (VPC) de interfaz (
com.amazonaws.us-east-1.bedrock-agentcore.gateway), de modo que el tráfico permanece fuera de la internet pública. - Cero salida de datos. Sus consultas y resultados permanecen dentro de su entorno de AWS.
- Métricas de Amazon CloudWatch. Las métricas operativas se publican en CloudWatch desde la primera llamada.
- Límites de velocidad por cuenta. Aplicados desde el lanzamiento, con 10 transacciones por segundo por cuenta en US East (N. Virginia) (us-east-1). Para solicitar un aumento, contacte a AWS Support.
- Límites de política definidos por el administrador. El administrador de la Gateway establece los límites del filtro de dominios en la configuración del destino. Los agentes pueden reducir los límites del filtro en cada llamada, pero no pueden ampliarlos.
- Las consultas permanecen dentro de AWS. Web Answer busca en un índice web operado por Amazon y en el grafo de conocimiento de Amazon, y no envía su pregunta a motores de búsqueda de terceros ni a sitios web externos.
Casos de uso
Web Answer ayuda a los agentes a recuperar información actual y citada para respaldar una gama de flujos de trabajo que requieren mucho conocimiento. Algunos ejemplos de escenarios son:
- Servicios financieros. Agentes de preguntas y respuestas regulatorias que responden preguntas sobre requisitos de cumplimiento, regulaciones de mercado y cambios de políticas, donde cada respuesta debe rastrearse hasta una fuente autorizada.
- Atención médica. Agentes de apoyo clínico que fundamentan sus respuestas en literatura médica actual y pautas de tratamiento publicadas en la web.
- Servicio al cliente. Agentes de soporte que responden preguntas sobre productos y políticas en tiempo real, donde diez enlaces clasificados no son útiles, pero una respuesta citada sí lo es.
- Legal y cumplimiento. Asistentes de investigación que responden preguntas sobre jurisprudencia, presentaciones regulatorias e interpretaciones de políticas con citas auditables.
- Trabajadores del conocimiento en empresas. Copilotos internos que responden preguntas a partir de información pública actual sin que los empleados tengan que crear su propio flujo de trabajo de búsqueda y síntesis.
Disponibilidad
Web Answer está disponible en US East (N. Virginia) (us-east-1), con más regiones de AWS disponibles próximamente.
Precios
Web Answer en Amazon Bedrock AgentCore tiene un precio de $10 por cada 1,000 llamadas a herramientas.
Conclusión
En esta publicación, mostramos cómo Web Answer proporciona a sus agentes respuestas actuales y con citas mediante búsqueda agéntica, sin que usted tenga que crear ni mantener un pipeline de búsqueda. Otorgamos a un rol de servicio de Gateway acceso a Web Answer, añadimos un destino de Web Answer, lo llamamos desde un agente de Strands y leímos la respuesta y sus citas en la respuesta. Use Web Search en AgentCore cuando su propio modelo deba razonar sobre resultados sin procesar, y Web Answer cuando su agente necesite una respuesta finalizada y con citas.
Para empezar, consulte:
- Documentación de Web Answer en Amazon Bedrock AgentCore
- Esquema de salida estructurada de Web Answer
- Adición de Web Answer a un Amazon Bedrock AgentCore Gateway
- Regiones admitidas