Si correctamente un agente primordial de maniquí de jerigonza excelso (LLM), uno que candela repetidamente a herramientas externas, es posible de crear, estos agentes a menudo tienen dificultades con tareas largas y complejas porque carecen de la capacidad de planificar con anticipación y dirigir su trabajo a lo derrochador del tiempo. Pueden considerarse “superficiales” en su ejecución.
El biblioteca de agentes profundos está diseñado para aventajar esta obstáculo mediante la implementación de una obra genérico inspirada en aplicaciones avanzadas como Deep Research y Claude Code.


Esta obra brinda a los agentes más profundidad al combinar cuatro características secreto:
- Una útil de planificación: Permite al agente dividir estratégicamente una tarea compleja en pasos manejables ayer de proceder.
- Subagentes: permite al agente principal delegar partes especializadas de la tarea a agentes más pequeños y enfocados.
- Camino a un sistema de archivos: Proporciona memoria persistente para almacenar el trabajo en progreso, notas y resultados finales, lo que permite al agente continuar donde lo dejó.
- Un mensaje detallado: Proporciona al agente instrucciones claras, contexto y limitaciones para sus objetivos a derrochador plazo.
Al proporcionar estos componentes fundamentales, deepagents facilita a los desarrolladores la creación de agentes potentes de uso genérico que pueden planificar, ejecutar el estado y ejecutar flujos de trabajo complejos de forma eficaz.
En este artículo, veremos un ejemplo práctico para ver cómo funcionan efectivamente los DeepAgents en acto. Mira el CÓDIGOS COMPLETOS aquí.
Capacidades principales de DeepAgents
1. Planificación y desglose de tareas: DeepAgents viene con una útil write_todos incorporada que ayuda a los agentes a dividir tareas grandes en pasos más pequeños y manejables. Pueden realizar un seguimiento de su progreso y ajustar el plan a medida que aprenden nueva información.
2. Mandato del contexto: Al utilizar herramientas de archivos como ls, read_file, write_file y edit_file, los agentes pueden juntar información fuera de su memoria a corto plazo. Esto evita el desbordamiento del contexto y les permite manejar tareas más grandes o más detalladas sin problemas.
3. Creación de subagente: La útil de tareas incorporada permite a un agente crear subagentes más pequeños y enfocados. Estos subagentes trabajan en partes específicas de un problema sin saturar el contexto del agente principal.
4. Memoria a derrochador plazo: Con el soporte de LangGraph’s Store, los agentes pueden rememorar información entre sesiones. Esto significa que pueden rememorar trabajos anteriores, continuar conversaciones anteriores y servirse avances anteriores.


Configurar dependencias
!pip install deepagents tavily-python langchain-google-genai langchain-openai
Variables de entorno
En este tutorial, usaremos la secreto API de OpenAI para potenciar nuestro Deep Agent. Sin confiscación, como relato, además mostraremos cómo puedes usar un maniquí Gemini.
Eres huido de designar el proveedor de maniquí que prefieras (OpenAI, Gemini, Anthropic u otros), ya que DeepAgents funciona a la perfección con diferentes backends. Mira el CÓDIGOS COMPLETOS aquí.
import os
from getpass import getpass
os.environ('TAVILY_API_KEY') = getpass('Enter Tavily API Key: ')
os.environ('OPENAI_API_KEY') = getpass('Enter OpenAI API Key: ')
os.environ('GOOGLE_API_KEY') = getpass('Enter Google API Key: ')
Importando las bibliotecas necesarias
import os
from typing import Textual
from tavily import TavilyClient
from deepagents import create_deep_agent
tavily_client = TavilyClient()
Herramientas
Al igual que los agentes habituales que utilizan herramientas, un Deep Agent además puede estar equipado con un conjunto de herramientas para ayudarle a realizar tareas.
En este ejemplo, le daremos a nuestro agente acercamiento a una útil de búsqueda Tavily, que puede utilizar para compendiar información en tiempo existente de la web. Mira el CÓDIGOS COMPLETOS aquí.
from typing import Textual
from langchain.chat_models import init_chat_model
from deepagents import create_deep_agent
def internet_search(
query: str,
max_results: int = 5,
topic: Textual("genérico", "news", "finance") = "genérico",
include_raw_content: bool = False,
):
"""Run a web search"""
search_docs = tavily_client.search(
query,
max_results=max_results,
include_raw_content=include_raw_content,
topic=topic,
)
return search_docs
Subagentes
Los subagentes son una de las características más poderosas de Deep Agents. Permiten al agente principal delegar partes específicas de una tarea compleja a agentes más pequeños y especializados, cada uno con su propio enfoque, herramientas e instrucciones. Esto ayuda a sostener honesto y organizado el contexto del agente principal y, al mismo tiempo, permite un trabajo profundo y centrado en subtareas individuales.
En nuestro ejemplo, definimos dos subagentes:
- agente-de-investigación-de-políticas — un investigador especializado que realiza examen en profundidad sobre políticas, regulaciones y marcos éticos de IA en todo el mundo. Utiliza la útil internet_search para compendiar información en tiempo existente y produce un crónica profesional y correctamente estructurado.
- agente-crítico-de-políticas — un agente editorial responsable de revisar el crónica generado para determinar su precisión, integridad y tono. Garantiza que la investigación sea equilibrada, objetiva y alineada con los marcos legales regionales.
Juntos, estos subagentes permiten que el Deep Agent principal realice investigaciones, examen y revisiones de calidad en un flujo de trabajo modular y estructurado. Mira el CÓDIGOS COMPLETOS aquí.
sub_research_prompt = """
You are a specialized AI policy researcher.
Conduct in-depth research on government policies, total regulations, and ethical frameworks related to industrial intelligence.
Your answer should:
- Provide key updates and trends
- Include relevant sources and laws (e.g., EU AI Act, U.S. Executive Orders)
- Compare total approaches when relevant
- Be written in clear, professional language
Only your FINAL message will be passed back to the main agent.
"""
research_sub_agent = {
"name": "policy-research-agent",
"description": "Used to research specific AI policy and regulation questions in depth.",
"system_prompt": sub_research_prompt,
"tools": (internet_search),
}
sub_critique_prompt = """
You are a policy editor reviewing a report on AI governance.
Check the report at `final_report.md` and the question at `question.txt`.
Focus on:
- Accuracy and completeness of procesal information
- Proper citation of policy documents
- Balanced analysis of regional differences
- Clarity and neutrality of tone
Provide constructive feedback, but do NOT modify the report directly.
"""
critique_sub_agent = {
"name": "policy-critique-agent",
"description": "Critiques AI policy research reports for completeness, clarity, and accuracy.",
"system_prompt": sub_critique_prompt,
}
Aviso del sistema
Los Deep Agents incluyen un mensaje de sistema integrado que sirve como su conjunto principal de instrucciones. Este mensaje está inspirado en el mensaje del sistema utilizado en Claude Code y está diseñado para tener un propósito más genérico, proporcionando orientación sobre cómo utilizar herramientas integradas como planificación, operaciones del sistema de archivos y coordinación de subagentes.
Sin confiscación, si correctamente el mensaje del sistema predeterminado hace que Deep Agents sea compatible desde el primer momento, se recomienda insistentemente concretar un mensaje del sistema personalizado adaptado a su caso de uso específico. El diseño rápido juega un papel crucial en la configuración del razonamiento, la estructura y el desempeño genérico del agente.
En nuestro ejemplo, definimos un mensaje personalizado llamado Policy_research_instructions, que transforma al agente en un investigador práctico en políticas de IA. Describe claramente un flujo de trabajo paso a paso: almacenar la pregunta, utilizar el subagente de investigación para el examen, redactar el crónica y, opcionalmente, invocar al subagente de crítica para su revisión. Asimismo aplica las mejores prácticas, como el formato Markdown, el estilo de las citas y el tono profesional, para asegurar que el crónica final cumpla con los estándares de políticas de adhesión calidad. Mira el CÓDIGOS COMPLETOS aquí.
policy_research_instructions = """
You are an expert AI policy researcher and analyst.
Your job is to investigate questions related to total AI regulation, ethics, and governance frameworks.
1️⃣ Save the user's question to `question.txt`
2️⃣ Use the `policy-research-agent` to perform in-depth research
3️⃣ Write a detailed report to `final_report.md`
4️⃣ Optionally, ask the `policy-critique-agent` to critique your draft
5️⃣ Revise if necessary, then output the final, comprehensive report
When writing the final report:
- Use Markdown with clear sections (## for each)
- Include citations in (Title)(URL) format
- Add a ### Sources section at the end
- Write in professional, ecuánime tone suitable for policy briefings
"""
Agente principal
Aquí definimos nuestro Deep Agent principal usando la función create_deep_agent(). Inicializamos el maniquí con gpt-4o de OpenAIpero como se muestra en la recorrido comentada, puedes cambiar fácilmente a Flash Géminis 2.5 de Google maniquí si lo prefieres. El agente está configurado con la útil internet_search, nuestro sistema personalizado Policy_research_instructions y dos subagentes: uno para investigación en profundidad y otro para crítica.
De forma predeterminada, DeepAgents utiliza internamente Soneto de Claudio 4.5 como su maniquí si no se especifica nadie explícitamente, pero la biblioteca permite total flexibilidad para integrar OpenAI, Gemini, Anthropic u otros LLM compatibles con LangChain. Mira el CÓDIGOS COMPLETOS aquí.
model = init_chat_model(model="openai:gpt-4o")
# model = init_chat_model(model="google_genai:gemini-2.5-flash")
agent = create_deep_agent(
model=model,
tools=(internet_search),
system_prompt=policy_research_instructions,
subagents=(research_sub_agent, critique_sub_agent),
)
Invocar al agente
query = "What are the latest updates on the EU AI Act and its total impact?"
result = agent.invoke({"messages": ({"role": "user", "content": query})})
Mira el CÓDIGOS COMPLETOS aquí. No dudes en consultar nuestra Página de GitHub para tutoriales, códigos y cuadernos. Encima, no dudes en seguirnos en Gorjeo y no olvides unirte a nuestro SubReddit de más de 100.000 ml y suscríbete a nuestro boletín. ¡Esperar! estas en telegrama? Ahora además puedes unirte a nosotros en Telegram.
