LlmAgent
Razonamiento enfocado
Un modelo, instrucciones, herramientas, devoluciones de llamadas y resultados transmitidos: el centro pequeño y útil de la mayoría de los sistemas.
ADK-Rust reúne agentes tipificados, herramientas, estado duradero, medios en tiempo real y protocolos abiertos en un tiempo de ejecución asíncrono, para que pueda pasar de un agente enfocado a un sistema que pueda operar con confianza.
Comience con la unidad de trabajo.
Un agente es un componente asíncrono Rust. Recibe un contexto de invocación, realiza trabajo con modelos o herramientas y emite eventos tipados a medida que avanza. Los agentes LLM, flujos de trabajo, agentes en tiempo real, agentes de codificación y agentes Rust personalizados utilizan este contrato compartido.
Lo que hace que ADK-Rust sea atractivo es que el agente sigue siendo parte de un sistema de software que puede comprender y controlar. Las llamadas de modelos, las entradas de herramientas, los cambios de estado, las aprobaciones y los eventos transmitidos tienen contratos Rust explícitos. El mismo tiempo de ejecución puede admitir un asistente enfocado, un flujo de trabajo duradero de múltiples agentes, una experiencia de voz en tiempo real o un agente que trabaja en todos los servicios, preservando al mismo tiempo el rendimiento, la simultaneidad, la portabilidad y la disciplina operativa que esperan los equipos de Rust.
Si conoce LangGraph, Google ADK, OpenAI Agents SDK o CrewAI, reconocerá herramientas, transferencias, flujos de trabajo, memoria, barreras de seguridad y rastreo. ADK-Rust incorpora esas ideas a un tiempo de ejecución nativo de Rust y las conecta con medios en tiempo real, ejecución de código, RAG, artefactos y protocolos abiertos como MCP, A2A, ACP y AWP. La versión 2 amplía esa base con agentes gráficos, en tiempo real, de codificación y CodeAct; esquemas de herramientas conscientes del proveedor; plantillas de proyectos componibles y construcción de carga adk; controles de estado y operación más estrictos; y un seguimiento de eventos escrito consistente desde la primera llamada del modelo hasta la producción.
Cómo leer la arquitectura.
Siga el diagrama de izquierda a derecha. La superficie de un producto envía una solicitud al Runner. El Runner adjunta el estado de la sesión y el contexto de invocación y luego llama al agente seleccionado. Los modelos, las herramientas y el estado respaldan el trabajo, mientras que los eventos tipados transmiten el progreso y los resultados.
Runner, agentes, eventos tipados, bucles de modelo/herramienta, sesiones, devoluciones de llamada, transferencias y cancelación.
MCP, A2A, ACP, AWP, HTTP, SSE y los transportes en tiempo real conectan sistemas separados y zonas de confianza.
Studio, UI, Playground y el plano de control consumen ADK-Rust; no funcionan dentro del Runner.
Superficie del marco
ADK-Rust reúne el ciclo de vida completo del agente en un marco: componer el comportamiento del agente, proporcionarle herramientas, preservar el contexto, conectarlo a otros sistemas y operarlo de forma segura en producción. Los grupos siguientes muestran cómo encajan esas capacidades.
Cree agentes LLM, de flujo de trabajo, gráficos, en tiempo real y de codificación; equípelos con herramientas mecanografiadas, MCP, RAG, memoria, sesiones y artefactos; conéctelos a través de REST, A2A, ACP y AWP; luego agregue autorización, barreras de seguridad, telemetría y evaluación para producción.
componer capability
The main model-driven agent. Give it instructions, an LLM, tools, callbacks, and optional sub-agents; the Runner streams its work as typed events.
actuar capability
Turns a typed async Rust function into a model-callable tool and derives the argument schema from Rust types.
recuerda capability
Keep conversation events and application state together so a user can continue the same interaction over multiple turns.
Conectar capability
Exposes familiar HTTP endpoints for clients that send a request and receive a structured response.
Operar capability
Establishes who is calling the system through API keys, OAuth, OIDC, SSO, and application identity.
construir capability
Generate working starting shapes for focused agents, tools, retrieval, APIs, workflows, realtime sessions, and custom logic.
Mira como funciona
El Runner resuelve la sesión, crea el contexto de invocación, ejecuta el agente, transmite el trabajo del modelo y la herramienta, aplica cambios de estado, persiste eventos duraderos y devuelve el progreso a la persona que llama a medida que sucede.
Ese mismo rastro puede alimentar una terminal, una interfaz de usuario web, un cliente API, una evaluación o una conversación en tiempo real.
Sigue una petición real
Un cliente pregunta: "¿Por qué falló mi pago?" El Runner abre la sesión correcta, transmite la salida del modelo y la actividad de la herramienta, registra los cambios de estado y devuelve cada evento útil a la interfaz. El usuario ve el progreso mientras el operador obtiene un registro de ejecución completo.
componer el comportamiento
Un enrutador identifica el trabajo que se debe realizar. Los especialistas manejan las piezas que mejor entienden. Los flujos de trabajo secuenciales y paralelos controlan el orden de ejecución, mientras que los puntos de control de gráficos mantienen las pruebas, las aprobaciones y el progreso adjuntos al mismo trabajo.
LlmAgent
Un modelo, instrucciones, herramientas, devoluciones de llamadas y resultados transmitidos: el centro pequeño y útil de la mayoría de los sistemas.
Sequential · Parallel · Loop
Condiciones expresas de orden, concurrencia, repetición y salida directamente en el programa Rust.
GraphAgent
Ramificar, controlar, interrumpir a una persona y reanudar después de que el proceso o la conversación haya avanzado.
CodingAgent · CodeActAgent
Deje que un agente inspeccione, edite y ejecute código dentro de un espacio de trabajo y un límite de espacio aislado que usted controle.
RealtimeAgent
Transmita audio, transcripciones, cuadros de video, interrupciones y herramientas del lado del servidor a través de una sesión en vivo.
CustomAgent
Implemente el contrato de Agente para el comportamiento específico del producto escrito directamente en Rust.
El sistema alrededor del agente.
Los agentes útiles necesitan herramientas, estado, interfaces, límites y evidencia. ADK-Rust expone cada pieza a través de interfaces componibles Rust de su propiedad.
Un producto, varias responsabilidades
En un producto de atención al cliente, el modelo redacta la respuesta, las herramientas inspeccionan el pedido, la sesión transmite el contexto del cliente, la autorización controla los reembolsos, un artefacto almacena el recibo y la telemetría registra el resultado. Cada responsabilidad permanece visible en el tiempo de ejecución.
Los modelos de frontera alojados, los modelos de enrutamiento rápido, el Ollama local y la inferencia de mistral.rs nativos se encuentran detrás de un contrato Llm común.
Gemini · OpenAI · Anthropic · OpenRouter · DeepSeek · Groq · Ollama · Bedrock · Azure AI · puntos finales compatibles
Convierta una función Rust escrita, un servidor MCP, una habilidad, una sesión de navegador, un agente de codificación o un proceso de espacio aislado en una capacidad que el tiempo de ejecución pueda inspeccionar y llamar.
#[tool] · FunctionTool · MCP · ACP · habilidades · navegador · código
Las sesiones contienen el historial de eventos. La memoria recupera conocimientos útiles. Los artefactos conservan archivos. Los puntos de control del gráfico permiten reanudar el trabajo prolongado.
SQLite · PostgreSQL · Redis · MongoDB · Firestore · Neo4j · sesiones cifradas
ADK-Rust mantiene audio, transcripciones, fotogramas de vídeo, llamadas de herramientas, interrupciones y cambios de contexto dentro de una sesión propiedad de Rust.
OpenAI Realtime · Gemini Live · Vertex Live · LiveKit · WebRTC opcional
Divida documentos, incrústelos, busque almacenes de vectores, reordene los resultados y aísle la memoria por proyecto antes de que responda el modelo.
Canalizaciones RAG · memoria semántica · gráfico de conocimiento · cinco implementaciones de almacén de vectores
La autorización, las devoluciones de llamadas, las barreras de seguridad, los perfiles de la zona de pruebas, la cancelación, la telemetría y la evaluación forman el límite de ejecución de la producción.
RBAC · OAuth/OIDC · confirmación de herramienta · barandillas de PII · OpenTelemetry · evaluación
Elige el límite
Comience por dónde se ejecuta la capacidad.
Mantenga a los subagentes dentro de un runtime de ADK-Rust cuando compartan implementación, estado y confianza. Introducir un protocolo cuando la capacidad, el agente, el espacio de trabajo de codificación o el sitio web tengan un límite de implementación, proceso, propiedad o confianza propio.
Mismo proceso Rust
Agente, subagente o herramienta
Herramientas o recursos externos
MCP
Agente desplegado de forma independiente
A2A
Proceso de codificación o IDE
ACP
Sitio web legible por agentes
AWP
Protocolo de contexto modelo
What is MCP?
Una forma estándar para que un servidor externo publique herramientas a las que un agente puede llamar y recursos que puede leer.
Protocolo de agente a agente
What is A2A?
Un protocolo de red para descubrir un agente remoto, enviarle trabajo, seguir el progreso y recibir resultados a través de un límite HTTP.
Protocolo de cliente agente
What is ACP?
Un protocolo que estandariza las sesiones entre los agentes de codificación y los clientes que los alojan, incluidos editores, CLI y sistemas de orquestación.
Protocolo web agente
What is AWP?
Un protocolo web a través del cual un sitio publica quién es, qué pueden hacer los agentes, qué políticas se aplican y si sus servicios de cara a los agentes están en buen estado.
Inicio rápido para desarrolladores
Comience con un proyecto Rust pequeño y funcional. Los pasos guiados a continuación explican qué agrega el generador, cómo compilar el proyecto localmente y dónde ampliarlo a medida que crece su producto.
lo que tendrás al final
Un agente Rust compilado con una herramienta tipada, una sesión interactiva Launcher, configuración de telemetría, puntos de integración de sesión y guardarraíl y una respuesta de modelo real en la terminal. El proyecto generado es una fuente Rust normal que puede leer, cambiar y ampliar.
Antes de comenzar
Se requieren dos cosas en su máquina
Rust 1.95 o más reciente.
Instale con Rustup o actualice la cadena de herramientas estable.
Una llave modelo API.
Este camino utiliza GOOGLE_API_KEY; Se puede seleccionar otro proveedor más tarde.
cargo-adk agrega los comandos cargo adk utilizados para crear, inspeccionar, construir e implementar proyectos de agentes.
cargo install cargo-adkComience con un agente que pueda llamar a herramientas Rust escritas. Agregue observabilidad, estado de sesión y ganchos de barandilla mientras se genera el proyecto.
cargo adk new support-agent --template tools \
--addon telemetry --addon sessions --addon guardrailsEl ejemplo generado utiliza Gemini de forma predeterminada. Copie el archivo de ejemplo seguro y luego coloque su clave en el archivo .env sin seguimiento.
cd support-agent
cp .env.example .env
# set GOOGLE_API_KEY in .envcargo adk build verifica las dependencias generadas, la combinación de funciones, los tipos Rust y el binario de lanzamiento sin implementar nada.
cargo adk buildInicie la consola generada, ingrese un mensaje y observe el mismo runtime tipado que luego puede impulsar un API, un flujo de trabajo o un producto en tiempo real.
cargo runInstalar una vez
$ cargo install cargo-adkGenerar el proyecto
$ cargo adk new support-agent \
+ --template tools \
+ --addon telemetry \
+ --addon sessions \
+ --addon guardrailsConfigurar el modelo
$ cd support-agent
cp .env.example .env
# Add GOOGLE_API_KEY to .envVerificar, luego ejecutar
$ cargo adk build
cargo run ADK-Rust — support-agent
Type a message to chat. Type 'exit' to quit.
You > Greet Ada casually.
[tool] greet({"name":"Ada","style":"casual"})
Hey Ada! What's up?
You > exit
Goodbye.entender el andamio
La plantilla proporciona la forma del agente de trabajo. Cada complemento aporta las características de caja requeridas, las importaciones, la configuración y un lugar explícito para finalizar la integración.
Plantilla
Genera un agente LLM con una función #[tool] escrita y el cableado de esquema necesario para las llamadas a herramientas de modelo.
Add-on
Habilita la integración de OpenTelemetry para poder rastrear el trabajo del modelo, la herramienta y el tiempo de ejecución.
Add-on
Agrega cableado de servicio de sesión para que el estado de la conversación pueda sobrevivir más allá de una llamada de modelo.
Add-on
Agrega la función y enlaces claros para la validación de entradas, comprobaciones de salida y filtrado de contenido.
Elige una forma inicial diferente
Elija la forma que coincida con la primera pieza de trabajo útil. Las plantillas generan fuente Rust editable, dependencias, configuración del proveedor y un punto de entrada ejecutable.
llmPlantilla de agenteGenera un LlmAgentBuilder, configuración del modelo Gemini, instrucciones, Launcher respaldado por sesión y un terminal interactivo.
Elige esto cuando
Elíjalo para asistentes, extracción, clasificación o un bucle enfocado de modelo y herramientas.
Punto de partida generado
Un agente LLM · consola transmitida · configuración del proveedor
cargo adk new my-agent --template llmtoolsPlantilla de agenteAgrega src/tools.rs con una función #[tool] funcional, argumentos escritos, generación de esquemas JSON y registro en el agente LLM.
Elige esto cuando
Elíjalo cuando el agente necesite calcular, recuperar datos, llamar a la lógica empresarial o realizar una acción.
Punto de partida generado
LlmAgent · Herramienta de bienvenida · serde · esquemars · adk-tool
cargo adk new my-agent --template toolsragPlantilla de agenteCrea una canalización RAG con fragmentación de documentos, incrustaciones de Gemini, un almacén de vectores en memoria, un documento de muestra y RagTool.
Elige esto cuando
Elíjalo para documentación de productos, políticas, colecciones de investigaciones o respuestas basadas en material privado.
Punto de partida generado
RagPipeline · fragmentador · incrustaciones · búsqueda vectorial · RagTool
cargo adk new my-agent --template ragapiPlantilla de agenteGenera un servidor Axum con puntos finales de salud, creación de sesiones y ejecución transmitida alrededor de un agente LLM.
Elige esto cuando
Elíjalo cuando una aplicación web, un cliente móvil, un servicio backend o una plataforma de automatización llamen al agente.
Punto de partida generado
Axum · Rutas REST · Respuestas SSE · sesiones en memoria
cargo adk new my-agent --template apia2aAlias de patrónResuelve el patrón de servidor a2a y combina un agente LLM con capacidades de servidor y sesión para acceso de agente a agente.
Elige esto cuando
Elíjalo cuando otro agente deba descubrir y llamar a este agente a través de un límite de implementación o propiedad.
Punto de partida generado
Servidor A2A · identidad del agente · manejo de tareas · sesiones
cargo adk new my-agent --template a2agraphPlantilla de agenteHabilita la capacidad de gráficos y crea las importaciones y el punto de inicio del agente para nodos, bordes, puntos de control, interrupción y reanudación.
Elige esto cuando
Elíjalo para trabajos de larga duración con sucursales, pasos de aprobación, recuperación o estado de ejecución duradero.
Punto de partida generado
Característica gráfica · agente de flujo de trabajo · punto de partida de topología
cargo adk new my-agent --template graphrealtimePlantilla de agentePermite soporte en tiempo real y crea un punto de partida conciso para el agente de voz con importaciones en tiempo real y configuración de proveedores.
Elige esto cuando
Elíjalo para conversaciones naturales, interrupciones, traducción en vivo, herramientas de audio o cuadros de video entrantes.
Punto de partida generado
Función en tiempo real · instrucciones de voz · punto de partida del transporte
cargo adk new my-agent --template realtimesequentialPlantilla de flujo de trabajoGenera agentes investigadores y escritores dentro de un SequentialAgent para que cada etapa reciba el trabajo producido por la etapa anterior.
Elige esto cuando
Elíjalo cuando el proceso tenga fases claras como recopilar, analizar, redactar, revisar y publicar.
Punto de partida generado
Dos agentes LLM · ejecución ordenada · rastro de invocación compartido
cargo adk new my-agent --template sequentialparallelPlantilla de flujo de trabajoGenera dos agentes especializados dentro de un ParallelAgent y reúne su trabajo a través de un flujo de trabajo principal.
Elige esto cuando
Elíjalo cuando varias investigaciones puedan comenzar a partir de la misma entrada y completarse de forma independiente.
Punto de partida generado
Dos agentes LLM · ejecución simultánea · resultados agregados
cargo adk new my-agent --template parallelloopPlantilla de flujo de trabajoCrea un trabajador dentro de LoopAgent con una señal de finalización explícita y un límite de seguridad de cinco iteraciones.
Elige esto cuando
Elíjalo para procesos de redacción, crítica, reparación, validación o búsqueda que mejoren mediante pasadas repetidas.
Punto de partida generado
Constructor LoopAgent · agente trabajador · instrucción de finalización · iteraciones máximas
cargo adk new my-agent --template loopconditionalPlantilla de flujo de trabajoGenera agentes técnicos y generales dentro de un ConditionalAgent que selecciona una ruta a partir de la solicitud entrante.
Elige esto cuando
Elíjalo cuando las categorías de trabajo necesiten diferentes instrucciones, herramientas, modelos o especialistas en el dominio.
Punto de partida generado
ConditionalAgent · dos rutas · Selección basada en LLM
cargo adk new my-agent --template conditionalcustomPlantilla de agenteCrea un tipo MyAgent con los métodos de rasgo del Agente y una función de ejecución lista para su propia lógica de ejecución Rust y flujo de eventos.
Elige esto cuando
Elíjalo para orquestación determinista, máquinas de estado existentes, tiempos de ejecución de dominio o comportamiento que necesita control total de Rust.
Punto de partida generado
Esqueleto de rasgo del agente · InvocationContext · Punto de entrada EventStream
cargo adk new my-agent --template customEl registro CLI también incluye la información específica del proveedor. openai plantilla, cinco patrones empresariales, el basic y a2a alias y complementos de capacidad componibles.
cargo adk templatescargo adk addonsCompila lo que necesitas
Primero elija una plantilla para la forma de ejecución del proyecto. Luego seleccione un nivel de característica para las capacidades compiladas en el binario.
Los niveles de funciones controlan las dependencias, el tiempo de compilación, la superficie binaria y el marco API disponible. Las bases de datos persistentes, MCP, los administradores de secretos en la nube y los transportes específicos en tiempo real siguen siendo opciones explícitas.
Agentes · Gemini · Runner · sesiones
Un agente enfocado con la superficie de incumplimiento más pequeña.
Herramientas · memoria · gráfico · servidor · autenticación · evaluación · telemetría
La mayoría de los API, sistemas de flujo de trabajo y productos de agentes internos.
Base en tiempo real · navegador · RAG · pagos · AWP
Productos que necesitan una interacción e interoperabilidad más ricas.
Audio · ejecución de código · sandbox
Opte por las capacidades locales y de ejecución más completas.
adk-rust = { version = "2.0.0", features = ["standard"] }Construir con ADK-Rust
Su primer hito útil es una solicitud, una llamada de herramienta visible y una sesión que comprenda. El inicio rápido guiado construye ese camino. A partir de ahí, agregue los flujos de trabajo, el estado, los protocolos y los controles operativos que requiere su producto.