Días, todo se trata de agentes, para los que estoy todo para la búsqueda básica de vectores al dar acceso a LLMS a una amplia gama de herramientas:
- Búsqueda web
- Varias llamadas de API
- Consulta de diferentes bases de datos
Si bien hay un aumento en los nuevos servidores MCP que se están desarrollando, sorprendentemente sucede poca evaluación. Claro, puedes enganchar un LLM con varias herramientas diferentes, pero ¿realmente sabes cómo se comportará? Es por eso que estoy planeando una serie de publicaciones de blog centradas en evaluar los servidores MCP de Graph MCP tanto listos para usar, especialmente aquellos que recuperan información de NEO4J.
El Protocolo de contexto del modelo (MCP) es el estándar abierto de Anthrope que funciona como “un puerto USB-C para aplicaciones de IA”, estandarizando cómo los sistemas de IA se conectan a fuentes de datos externas a través de servidores livianos que exponen capacidades específicas a los clientes. La información clave es la reutilización. En lugar de integraciones personalizadas para cada fuente de datos, los desarrolladores crean servidores MCP reutilizables una vez y los comparten en múltiples aplicaciones de IA.
Un servidor MCP implementa el protocolo de contexto del modelo, exponiendo herramientas y datos a un cliente de IA a través de llamadas estructuradas de JSON-RPC. Maneja las solicitudes del cliente y las ejecuta contra API locales o remotas, devolviendo los resultados para enriquecer el contexto de la IA.
Para evaluar los servidores de MCP y sus métodos de recuperación, el primer paso es generar un conjunto de datos de evaluación, algo con lo que usaremos un LLM para ayudar. En la segunda etapa, nos llevaremos mcp-neo4j-cypher servidor y probarlo en el conjunto de datos de referencia que creamos.
El objetivo por ahora es establecer un conjunto de datos y un marco sólidos para que podamos comparar constantemente diferentes recortes a lo largo de la serie.
El código está disponible en Github.
Conjunto de datos de evaluación
El año pasado, Neo4J lanzó el Text2Cypher (2024) conjunto de datosque fue diseñado en torno a un enfoque de un solo paso para la generación Cypher. En la generación de Cypher de un solo paso, el sistema recibe una pregunta de lenguaje natural y debe producir una consulta completa de Cypher que responda directamente a esa pregunta, esencialmente una traducción de un solo disparo de la consulta de texto a base de datos.
Sin embargo, este enfoque no refleja cómo los agentes realmente funcionan con bases de datos gráficas en la práctica. Los agentes operan a través del razonamiento de múltiples pasos: pueden ejecutar múltiples herramientas de forma iterativa, generar varias declaraciones de Cypher en secuencia, analizar los resultados intermedios y combinar hallazgos de diferentes consultas para construir una respuesta final. Este enfoque exploratorio iterativo representa un paradigma fundamentalmente diferente del modelo prescrito de un solo paso.
El conjunto de datos de referencia actual no puede capturar esta diferencia de cómo los servidores MCP realmente se utilizan en los flujos de trabajo de agente. El punto de referencia necesita la actualización para evaluar las capacidades de razonamiento de varios pasos en lugar de solo la traducción Text2Cypher de un solo disparo. Esto reflejaría mejor cómo los agentes navegan por las complejas tareas de recuperación de información que requieren desglosar problemas, explorar las relaciones de datos y sintetizar los resultados en múltiples interacciones de bases de datos.
Métricas de evaluación
El cambio más importante cuando se mueve de la evaluación de Text2Cher de un solo paso a un enfoque de agente radica en cómo medimos la precisión.
En las tareas tradicionales de Text2Query como Text2Cypher, la evaluación generalmente implica comparar la respuesta de la base de datos directamente con una verdad terrestre predefinida, a menudo verificando partidos exactos o equivalencia.
Sin embargo, los enfoques de agente introducen un cambio clave. El agente puede realizar múltiples pasos de recuperación, elegir diferentes rutas de consulta o incluso reformular la intención original en el camino. Como resultado, puede no haber una consulta correcta única. En cambio, cambiamos nuestro enfoque a evaluar la respuesta final generada por el agente, independientemente de las consultas intermedias que solía llegar allí.
Para evaluar esto, utilizamos una configuración de LLM-as-a-Judge, comparando la respuesta final del agente con la respuesta esperada. Esto nos permite evaluar la calidad semántica y la utilidad de la salida en lugar de la mecánica interna o los resultados de consultas específicos.
Ganularidad de los resultados y comportamiento del agente
Otra consideración importante en la evaluación de agente es la cantidad de datos devueltos de la base de datos. En las tareas tradicionales de Text2Cypher, es común permitir o incluso esperar grandes resultados de consultas, ya que el objetivo es probar si se recuperan los datos correctos. Sin embargo, este enfoque no se traduce bien en evaluar los flujos de trabajo de agente.
En un entorno de agente, No solo estamos probando si el agente puede acceder a los datos correctos, sino si puede generar una respuesta final concisa y precisa. Si la base de datos devuelve demasiada información, la evaluación se enreda con otras variables, como la capacidad del agente para resumir o navegar grandes salidas, en lugar de centrarse en si entendía la intención del usuario y recuperó la información correcta.
Introducir el ruido del mundo real
Para alinear aún más el punto de referencia con Uso de agente del mundo realtambién presentamos ruido controlado en las indicaciones de evaluación.
Esto incluye elementos como:
- Errores tipográficos en entidades nombradas (por ejemplo, “Andrwe Carnegie” en lugar de “Andrew Carnegie”),
- Fraseo coloquial o lenguaje informal (por ejemplo, “muéstrame qué pasa con el tablero de Tesla” en lugar de “Listar miembros de la junta directiva de Tesla”),
- Intentos demasiado anchos o poco especificados que requieren razonamiento o aclaración de seguimiento.
Estas variaciones reflejan cómo los usuarios realmente interactúan con los agentes en la práctica. En implementaciones reales, los agentes deben manejar entradas desordenadas, formulaciones incompletas y abreviatura de conversación, que son condiciones raramente capturadas por puntos de referencia limpios y canónicos.
Para reflejar mejor estas ideas en torno a evaluar los enfoques de agente, he creó un nuevo punto de referencia usando Claude 4.0. A diferencia de los puntos de referencia tradicionales que se centran en la corrección de las consultas de Cypher, este está diseñado para evaluar la calidad del Respuestas finales producido por agentes de varios pasos
Bases de datos
Para garantizar una variedad de evaluaciones, utilizamos un par de bases de datos diferentes que están disponibles en el Servidor de demostración neo4j. Los ejemplos incluyen:
Servidor mcp-neo4j-cypher
mcp-neo4j-cypher es una interfaz de herramienta MCP lista para usar que permite a los agentes interactuar con Neo4J a través del lenguaje natural. Admite tres funciones principales: ver el esquema de gráficos, ejecutar consultas de Cypher para leer datos y ejecutar operaciones de escritura para actualizar la base de datos. Los resultados se devuelven en un formato limpio y estructurado que los agentes pueden comprender y usar fácilmente.
Funciona fuera del cuadro con cualquier marco que admita los servidores MCP, lo que hace que sea fácil enchufar las configuraciones de agentes existentes sin trabajo de integración adicional. Ya sea que esté construyendo un chatbot, un asistente de datos o un flujo de trabajo personalizado, esta herramienta le permite a su agente trabajar de manera segura e inteligente con datos de gráficos.
Punto de referencia
Finalmente, ejecutemos la evaluación de referencia.
Usamos langchain para alojar al agente y conectarlo al mcp-neo4j-cypher servidor, que es la única herramienta proporcionada al agente. Esta configuración hace que la evaluación sea simple y realista: el agente debe confiar completamente en la interacción del lenguaje natural con la interfaz MCP para recuperar y manipular datos de gráficos.
Para la evaluación, utilizamos Claude 3.7 soneto como el agente y GPT-4O mini como el juez.
El conjunto de datos de referencia incluye aproximadamente 200 pares de preguntas y respuestas de lenguaje natural, categorizados por el número de lúpulo (1-hop, 2-hop, etc.) y si las consultas contienen información distractora o ruidosa. Esta estructura ayuda a evaluar la precisión y robustez del razonamiento del agente en contextos limpios y ruidosos. El código de evaluación está disponible en Github.
Examinemos los resultados juntos.
La evaluación muestra que un agente que usa solo el mcp-neo4j-cypher La interfaz puede responder efectivamente preguntas complejas de lenguaje natural sobre datos de gráficos. En un punto de referencia de alrededor de 200 preguntas, el agente logró un puntaje promedio de 0.71, con una caída del rendimiento a medida que aumentó la complejidad de la pregunta. La presencia de ruido en la entrada redujo significativamente la precisión, revelando la sensibilidad del agente a los errores tipográficos en entidades nombradas y demás.
En el lado de uso de la herramienta, el agente promedió 3.6 llamadas de herramienta por pregunta. Esto es consistente con el requisito actual de hacer al menos una llamada para obtener el esquema y otro para ejecutar la consulta principal de Cypher. La mayoría de las consultas cayeron dentro de un rango de llamadas de 2 a 4, que muestra la capacidad del agente para razonar y actuar de manera eficiente. En particular, se respondió un pequeño número de preguntas con solo una o incluso llamadas de herramientas cero, anomalías que pueden sugerir paradas tempranas, planificación incorrecta o errores de agentes, y valen la pena un análisis adicional. Mirando hacia el futuro, el recuento de herramientas podría reducirse aún más si el acceso al esquema se integra directamente a través de los recursos de MCP, eliminando la necesidad de un paso explícito de búsqueda de esquemas.
El valor real de tener un punto de referencia es que abre la puerta a la iteración sistemática. Una vez que se establece el rendimiento basal, puede comenzar a ajustar los parámetros, observar su impacto y hacer mejoras específicas. Por ejemplo, si la ejecución del agente es costosa, es posible que desee probar si limitar el número de pasos permitidos a 10 utilizando un límite de recursión de langgraph tiene un efecto medible en la precisión. Con el punto de referencia en su lugar, estas compensaciones entre el rendimiento y la eficiencia pueden explorarse cuantitativamente en lugar de adivinadas.
Con un límite de 10 pasos en su lugar, el rendimiento cayó notablemente. La puntuación de evaluación media cayó a 0.535. La precisión disminuyó bruscamente en preguntas más complejas (3-Hop+), lo que sugiere que el límite de paso corta las cadenas de razonamiento más profundas. El ruido continuó degradando el rendimiento, con preguntas ruidosas con un promedio de puntajes más bajos que los limpios.
Resumen
Estamos viviendo en un momento emocionante para la IA, con el surgimiento de agentes autónomos y estándares emergentes como MCP ampliando drásticamente lo que los LLM pueden hacer, especialmente cuando se trata de tareas estructuradas de varios pasos. Pero si bien las capacidades están creciendo rápidamente, la evaluación robusta todavía se queda atrás. Ahí es donde esto UVA El proyecto entra.
El objetivo es construir un punto de referencia práctico y en evolución para la respuesta de preguntas basadas en gráficos utilizando la interfaz MCP. Con el tiempo, planeo refinar el conjunto de datos, experimentar con diferentes estrategias de recuperación y explorar cómo extender o adaptar el Cypher MCP para una mejor precisión. Todavía hay mucho trabajo por delante de los datos de limpieza, mejorando la recuperación hasta la evaluación de ajuste. Sin embargo, tener un punto de referencia claro significa que podemos rastrear el progreso de manera significativa, probar las ideas sistemáticamente y superar los límites de lo que estos agentes pueden hacer de manera confiable.