Com o aumento da popularidade do desenvolvimento de software assistido por IA, surgiu um desafio importante: como permitir que os assistentes de codificação de IA tenham a mesma "memória" entre sessões que os desenvolvedores humanos, lembrando e aplicando as especificações de codificação de um projeto, preferências, processos específicos e até mesmo detalhes de requisitos. Atualmente, os populares ambientes de desenvolvimento integrado (IDEs) de IA Cursor
Ainda não foi fornecida uma solução de memória perfeita.
Um estudo recente usando a estrutura de mapeamento temporal de código aberto Graphiti
bem como MCP
(Modelo de protocolo de contexto) O servidor é Cursor IDE
A tentativa de adicionar recursos de memória persistente abre novas possibilidades para resolver esse problema. Essa integração permite Cursor
O assistente de IA interno pode armazenar, gerenciar e recuperar informações com eficiência, prometendo lidar com tarefas de desenvolvimento mais complexas.
Por que a memória duradoura é fundamental?
A falta de recursos de memória entre as sessões significa que os assistentes de programação de IA podem precisar readquirir informações contextuais para cada interação ou nova sessão de desenvolvimento. Isso não apenas reduz a eficiência, mas também limita sua capacidade de lidar com projetos complexos e tarefas de longo prazo. A memória persistente permite que a IA:
- Manter a consistênciaGarantir que os mesmos padrões de codificação e as preferências do desenvolvedor sejam seguidos durante todo o ciclo do projeto.
- contextoMelhor compreensão dos requisitos de longo prazo do projeto e da evolução das especificações técnicas.
- Lidar com tarefas complexasExecutar tarefas de desenvolvimento mais complexas e em várias etapas com base em interações históricas e conhecimento do projeto.
Dar aos assistentes de programação de IA uma memória confiável é uma etapa fundamental em sua evolução de simples ferramentas de preenchimento de código para parceiros de desenvolvimento realmente inteligentes.
Desmistificando a MCP e a Graphiti
MCP
O Model Context Protocol, ou protocolo de contexto de modelo, é um protocolo projetado para facilitar os aplicativos de IA (MCP
cliente) com recursos externos (MCP
(servidores), um padrão aberto para interações estruturadas entre modelos de IA. Ele permite que os modelos de IA acessem dados ou ferramentas externas, rompendo as limitações dos dados de treinamento estáticos. Nessa integração, oGraphiti
desempenhar o papel de MCP
e o servidor Cursor IDE
acordo falho MCP
Cliente.
Graphiti
é uma estrutura para a construção e consulta de gráficos de conhecimento com reconhecimento temporal, especialmente para inteligências de IA que operam em ambientes dinâmicos. Diferentemente das abordagens tradicionais de geração aumentada por recuperação (RAG), que dependem muito de bancos de dados de vetores estáticos ou atualizados em lote, aGraphiti
Integre continuamente as interações do usuário, os dados empresariais estruturados e não estruturados e as informações externas em um gráfico coerente e consultável. A estrutura oferece suporte a atualizações incrementais de dados, recuperação eficiente e consultas precisas de estado histórico sem a necessidade de recomputar completamente todo o gráfico, o que a torna ideal para o desenvolvimento de aplicativos de IA interativos e com reconhecimento de contexto.
Graphiti
A equipe lançou uma versão experimental do MCP
servidores, expondo seus recursos de estrutura como ferramentas para inteligências de IA (como o Cursor
Agent) é chamado diretamente. Dado que o Cursor
popularidade na comunidade de desenvolvimento, bem como a própria experiência da equipe com ele, escolhendo o Cursor
para demonstrar MCP
A integração é uma escolha natural.
Personalização do Graphiti para se ajustar ao Cursor
Graphiti
Um recurso é permitir o uso de estruturas de dados ricas e específicas do domínio por meio de definições de entidades personalizadas, substituindo nós de gráficos genéricos por modelos concretos. Por exemplo, no caso do Cursor IDE
Os cenários de integração podem definir um Requirement
(demanda) entidades:
from pydantic import BaseModel, Field
class Requirement(BaseModel):
"""需求代表了产品或服务必须满足的特定需要、特性或功能。
始终确保在需求和其所属项目之间创建一条边,并在边上明确指出该需求是一个 requirement。
识别和提取需求的说明:
1. 寻找明确的需求或必要性陈述(“我们需要X”,“X是必需的”,“X必须有Y”)。
2. 识别描述系统应做什么的功能规范。
3. 注意非功能性需求,如性能、安全或可用性。
4. 提取必须遵守的约束或限制。
5. 关注清晰、具体、可衡量的需求,而不是模糊的愿望。
6. 如果提到优先级或重要性(“关键”、“高优先级”等),则捕获它们。
7. 包括需求之间的明确依赖关系。
8. 保留原始意图和范围。
9. 根据领域或功能进行适当分类。
"""
project_name: str = Field(
...,
description='需求所属项目的名称。',
)
description: str = Field(
...,
description='需求的描述。仅使用上下文中提到的信息来编写此描述。',
)
Essa abordagem estruturada permite Cursor
Capacidade de armazenar com precisão os requisitos do projeto em Graphiti
no gráfico de conhecimento e recuperá-lo quando necessário.
Etapas de implementação da integração
comandante-em-chefe (militar) Graphiti
(usado em uma expressão nominal) MCP
O servidor está integrado ao Cursor IDE
para fornecer uma função de memória, que é obtida principalmente pelas etapas a seguir:
- configurar: Will
Cursor IDE
Configurado para se conectar aoGraphiti MCP
baseado em servidorMCP
para estabelecer um canal de interação direta. A configuração detalhada pode ser encontrada na seçãoGraphiti MCP
Documentos ReadMe. - Definições de entidades personalizadas: em
Graphiti
Defina entidades personalizadas que representem especificações de projeto, padrões de codificação, etc. noRequirement
(Demanda),Preference
(Preferência),Procedure
(processo), etc. - Atualizações de dados em tempo real: Instruções
Cursor
O assistente está emGraphiti
Adição e atualização de entidades no Knowledge Graph. Por exemplo, quando um desenvolvedor altera as preferências da estrutura da interface do usuário na seçãoChakra UI
mudar paraShadCN
Quando a alteração é feita, ela é imediatamente refletida no atlas, acompanhada de metadados de série temporal que registram a hora da alteração. - Pesquisa pré-ação: Instruções
Cursor
O assistente faz uma consulta antes de realizar a operaçãoGraphiti
para recuperar preferências, necessidades e processos armazenados. Essas informações podem ser mantidas persistentes em todas as sessões e até mesmo em todos os projetos.
O projeto em questão fornece um vídeo de demonstração que mostra o Cursor
Como o agente utiliza o Graphiti MCP
para gerenciar e recuperar os requisitos do projeto e as preferências do desenvolvedor.
Impactos potenciais e próximas etapas
este trabalho Cursor
junto com Graphiti MCP
demonstrando uma maneira eficaz de dotar os assistentes de codificação de IA de memórias persistentes e estruturadas. Enquanto Graphiti
(usado em uma expressão nominal) MCP
O servidor ainda está em fase experimental, mas prenuncia a possível direção futura das ferramentas de desenvolvimento assistidas por IA - a IA não apenas entende as instruções atuais, mas também fornece assistência mais inteligente e personalizada com base no conhecimento e no contexto acumulados. Espera-se que isso melhore significativamente a eficiência do desenvolvimento e permita que a IA participe de tarefas de engenharia de software mais complexas e de longo prazo.
direito Graphiti
Estrutura ou MCP
Os desenvolvedores interessados em integração podem explorar ainda mais os seguintes recursos:
Graphiti
Repositórios do GitHub: https://github.com/getzep/graphitiMCP
Documentação do servidor: https://github.com/getzep/graphiti/blob/main/mcp_server/README.mdZep
artigos de pesquisa relacionados (arXiv): ZepArquitetura de gráfico de conhecimento temporal para memória de agente