Da die KI-gestützte Softwareentwicklung immer beliebter wird, ist eine zentrale Herausforderung entstanden: Wie können KI-Codierassistenten das gleiche sitzungsübergreifende "Gedächtnis" wie menschliche Entwickler haben und sich die Codespezifikationen eines Projekts, Präferenzen, bestimmte Prozesse und sogar Anforderungsdetails merken und anwenden? Derzeit sind die gängigen integrierten Entwicklungsumgebungen (IDEs) für KI Cursor
Eine perfekte Speicherlösung gibt es noch nicht.
Eine aktuelle Studie unter Verwendung des Open-Source-Frameworks für die zeitliche Zuordnung Graphiti
wie auch MCP
(Modell-Kontext-Protokoll) Der Server ist Cursor IDE
Der Versuch, persistente Speicherkapazitäten hinzuzufügen, eröffnet neue Möglichkeiten, dieses Problem zu lösen. Diese Integration ermöglicht Cursor
Der darin enthaltene KI-Assistent kann Informationen effizient speichern, verwalten und abrufen und verspricht, auch komplexere Entwicklungsaufgaben zu bewältigen.
Warum ist das Langzeitgedächtnis so wichtig?
Der Mangel an Speicherkapazitäten über mehrere Sitzungen hinweg bedeutet, dass KI-Programmierassistenten bei jeder Interaktion oder neuen Entwicklungssitzung Kontextinformationen neu erfassen müssen. Dies verringert nicht nur die Effizienz, sondern schränkt auch die Fähigkeit ein, komplexe Projekte und langfristige Aufgaben zu bewältigen. Persistenter Speicher ermöglicht KI:
- Wahrung der KohärenzSicherstellen, dass während des gesamten Projektzyklus dieselben Codierungsstandards und Entwicklerpräferenzen eingehalten werden.
- KontextBesseres Verständnis der langfristigen Projektanforderungen und der sich entwickelnden technischen Spezifikationen.
- Handhabung komplexer AufgabenDurchführung komplexerer, mehrstufiger Entwicklungsaufgaben auf der Grundlage historischer Interaktionen und Projektkenntnisse.
Die Ausstattung von KI-Programmierassistenten mit einem zuverlässigen Speicher ist ein wichtiger Schritt in ihrer Entwicklung von einfachen Code-Vervollständigungswerkzeugen zu wirklich intelligenten Entwicklungspartnern.
Entmystifizierung von MCP und Graphiti
MCP
oder Model Context Protocol, ist ein Protokoll, das KI-Anwendungen erleichtern soll (MCP
Client) mit externen Ressourcen (MCP
(Server) ein offener Standard für strukturierte Interaktionen zwischen KI-Modellen. Er ermöglicht es KI-Modellen, auf externe Daten oder Tools zuzugreifen und so die Beschränkungen statischer Trainingsdaten zu durchbrechen. Bei dieser Integration werden dieGraphiti
spielen die Rolle von MCP
Server, und die Cursor IDE
sofern kein Übereinkommen vorliegt MCP
Kunde.
Graphiti
ist ein Rahmenwerk für die Konstruktion und Abfrage von zeitabhängigen Wissensgraphen, insbesondere für KI-Intelligenzen, die in dynamischen Umgebungen arbeiten. Im Gegensatz zu traditionellen RAG-Ansätzen (Retrieval-Augmented Generation), die sich stark auf statische oder stapelweise aktualisierte Vektordatenbanken stützen, ist dasGraphiti
Kontinuierliche Integration von Benutzerinteraktionen, strukturierten und unstrukturierten Unternehmensdaten sowie externen Informationen in einen kohärenten, abfragbaren Graphen. Das Framework unterstützt inkrementelle Datenaktualisierungen, effiziente Abrufe und genaue Abfragen des historischen Zustands, ohne dass der gesamte Graph neu berechnet werden muss, und ist damit ideal für die Entwicklung interaktiver, kontextbezogener KI-Anwendungen.
Graphiti
Das Team veröffentlichte ein experimentelles MCP
Server, die ihre Rahmenfunktionen als Werkzeuge für KI-Intelligenzen (wie die Cursor
Agent) wird direkt aufgerufen. Angesichts der Tatsache, dass der Cursor
Popularität in der Entwicklergemeinde sowie die eigenen Erfahrungen des Teams mit dem Produkt, die Wahl des Cursor
zu demonstrieren MCP
Integration ist eine natürliche Wahl.
Anpassung von Graphiti an den Cursor
Graphiti
Eine Funktion besteht darin, die Verwendung umfangreicher, domänenspezifischer Datenstrukturen durch benutzerdefinierte Entitätsdefinitionen zu ermöglichen, wobei generische Graphknoten durch konkrete Modelle ersetzt werden. Zum Beispiel, im Fall von Cursor IDE
Integrationsszenarien können eine Requirement
(Nachfrage-)Einrichtungen:
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='需求的描述。仅使用上下文中提到的信息来编写此描述。',
)
Dieser strukturierte Ansatz ermöglicht Cursor
Fähigkeit, Projektanforderungen genau zu speichern in Graphiti
im Wissensgraphen und rufen sie bei Bedarf ab.
Schritte zur Umsetzung der Integration
Oberbefehlshaber (Militär) Graphiti
(in Form eines Nominalausdrucks) MCP
Der Server ist integriert in die Cursor IDE
eine Speicherfunktion bereitzustellen, die hauptsächlich durch die folgenden Schritte erreicht wird:
- konfigurieren.: Wille
Cursor IDE
Konfiguriert zur Verbindung mit demGraphiti MCP
serverbasiertMCP
Client, um einen direkten Interaktionskanal aufzubauen. Die detaillierte Konfiguration finden Sie in derGraphiti MCP
ReadMe-Dokumente. - Benutzerdefinierte Entitätsdefinitionen: in
Graphiti
Definieren Sie benutzerdefinierte Entitäten, die Projektspezifikationen, Codierungsstandards usw. in derRequirement
(Nachfrage),Preference
(Präferenz),Procedure
(Prozess), etc. - Datenaktualisierung in Echtzeit: Anweisungen
Cursor
Der Assistent ist inGraphiti
Hinzufügen und Aktualisieren von Entitäten im Knowledge Graph. Wenn ein Entwickler zum Beispiel die Einstellungen des UI-Frameworks aus demChakra UI
Wechsel zuShadCN
Wenn eine Änderung vorgenommen wird, wird diese Änderung sofort im Atlas angezeigt, begleitet von Zeitreihen-Metadaten, die den Zeitpunkt der Änderung aufzeichnen. - Suche vor der Aktion: Anweisungen
Cursor
Der Assistent fragt vor der Durchführung der Operation abGraphiti
, um gespeicherte Präferenzen, Bedürfnisse und Prozesse abzurufen. Diese Informationen können sitzungsübergreifend und sogar projektübergreifend beibehalten werden.
Das betreffende Projekt bietet ein Demo-Video, das die Cursor
Wie nutzt der Agent die Graphiti MCP
Server, um Projektanforderungen und Entwicklerpräferenzen zu verwalten und abzurufen.
Mögliche Auswirkungen und nächste Schritte
diese Arbeit Cursor
zusammen mit Graphiti MCP
Integration, die einen effektiven Weg aufzeigt, um KI-Codierassistenten mit dauerhaften, strukturierten Erinnerungen auszustatten. Während Graphiti
(in Form eines Nominalausdrucks) MCP
Der Server befindet sich noch im Versuchsstadium, aber er gibt einen Vorgeschmack auf die mögliche künftige Richtung von KI-gestützten Entwicklungswerkzeugen: Die KI versteht nicht nur die aktuellen Anweisungen, sondern bietet auch intelligentere, stärker personalisierte Unterstützung auf der Grundlage von angesammeltem Wissen und Kontext. Dies dürfte die Entwicklungseffizienz erheblich verbessern und die KI in die Lage versetzen, sich an längerfristigen, komplexeren Softwareentwicklungsaufgaben zu beteiligen.
rechts Graphiti
Rahmen oder MCP
Entwickler, die an der Integration interessiert sind, können sich mit den folgenden Ressourcen weiter beschäftigen:
Graphiti
GitHub-Repositorien: https://github.com/getzep/graphitiMCP
Server-Dokumentation: https://github.com/getzep/graphiti/blob/main/mcp_server/README.mdZep
Verwandte Forschungsarbeiten (arXiv): ZepA Temporal Knowledge Graph Architecture for Agent Memory