AGENTS.md
autogpt_platform/backend/backend/copilot/graphiti/AGENTS.mdAGENTS.md
Quality
66/100
Scores the file, not the repository.Length
579 words
5 headings · 5 code blocksRepository
186k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# Graphiti Memory23This directory contains the Graphiti-backed memory integration for CoPilot.4This file is developer documentation only — it is NOT injected into LLM prompts.5Runtime prompt instructions live in `prompting.py:get_graphiti_supplement()`.67## Scope89- Keep Graphiti and FalkorDB-specific logic in this package.10- Prefer changes here over scattering Graphiti behavior across unrelated copilot modules.1112## Debugging1314- Use raw FalkorDB queries to inspect stored nodes, episodes, and `RELATES_TO` facts before changing retrieval behavior.15- Distinguish user-provided facts, assistant-generated findings, and provenance/meta entities when evaluating memory quality.1617## Design Intent1819- Preserve per-user isolation through `group_id`-scoped databases and clients.20- Be careful about memory pollution from assistant/tool phrasing; extraction quality matters as much as ingestion success.21- Keep warm-context and tool-driven recall resilient: failures should degrade gracefully rather than break chat execution.2223## Query Cookbook2425Run everything from `autogpt_platform/backend` and use `poetry run ...`.2627Get the `group_id` for a user:2829```bash30poetry run python - <<'PY'31from backend.copilot.graphiti.client import derive_group_id32print(derive_group_id("883cc9da-fe37-4863-839b-acba022bf3ef"))33PY34```3536Inspect graph counts:3738```bash39poetry run python - <<'PY'40import asyncio41from backend.copilot.graphiti.client import derive_group_id42from backend.copilot.graphiti.config import graphiti_config43from backend.copilot.graphiti.falkordb_driver import AutoGPTFalkorDriver4445USER_ID = "883cc9da-fe37-4863-839b-acba022bf3ef"46GROUP_ID = derive_group_id(USER_ID)4748QUERIES = {49 "entities": "MATCH (n:Entity) RETURN count(n) AS count",50 "episodes": "MATCH (n:Episodic) RETURN count(n) AS count",51 "communities": "MATCH (n:Community) RETURN count(n) AS count",52 "relates_to_edges": "MATCH ()-[e:RELATES_TO]->() RETURN count(e) AS count",53}5455async def run():56 driver = AutoGPTFalkorDriver(57 host=graphiti_config.falkordb_host,58 port=graphiti_config.falkordb_port,59 password=graphiti_config.falkordb_password or None,60 database=GROUP_ID,61 )62 try:63 for name, query in QUERIES.items():64 records, _, _ = await driver.execute_query(query)65 print(name, records[0]["count"])66 finally:67 await driver.close()6869asyncio.run(run())70PY71```7273List entities or relation-name counts:7475```bash76poetry run python - <<'PY'77import asyncio78from backend.copilot.graphiti.client import derive_group_id79from backend.copilot.graphiti.config import graphiti_config80from backend.copilot.graphiti.falkordb_driver import AutoGPTFalkorDriver8182USER_ID = "883cc9da-fe37-4863-839b-acba022bf3ef"83GROUP_ID = derive_group_id(USER_ID)8485async def run():86 driver = AutoGPTFalkorDriver(87 host=graphiti_config.falkordb_host,88 port=graphiti_config.falkordb_port,89 password=graphiti_config.falkordb_password or None,90 database=GROUP_ID,91 )92 try:93 records, _, _ = await driver.execute_query(94 "MATCH (n:Entity) RETURN n.name AS name, n.summary AS summary ORDER BY n.name"95 )96 print("## entities")97 for row in records:98 print(row)99100 records, _, _ = await driver.execute_query(101 """102 MATCH ()-[e:RELATES_TO]->()103 RETURN e.name AS relation, count(e) AS count104 ORDER BY count DESC, relation105 """106 )107 print("\\n## relation_counts")108 for row in records:109 print(row)110 finally:111 await driver.close()112113asyncio.run(run())114PY115```116117Inspect facts around one node:118119```bash120poetry run python - <<'PY'121import asyncio122from backend.copilot.graphiti.client import derive_group_id123from backend.copilot.graphiti.config import graphiti_config124from backend.copilot.graphiti.falkordb_driver import AutoGPTFalkorDriver125126USER_ID = "883cc9da-fe37-4863-839b-acba022bf3ef"127GROUP_ID = derive_group_id(USER_ID)128TARGET = "sarah"129130async def run():131 driver = AutoGPTFalkorDriver(132 host=graphiti_config.falkordb_host,133 port=graphiti_config.falkordb_port,134 password=graphiti_config.falkordb_password or None,135 database=GROUP_ID,136 )137 try:138 records, _, _ = await driver.execute_query(139 """140 MATCH (a)-[e:RELATES_TO]->(b)141 WHERE (exists(a.name) AND toLower(a.name) = $target)142 OR (exists(b.name) AND toLower(b.name) = $target)143 RETURN a.name AS source, e.name AS relation, e.fact AS fact, b.name AS target144 ORDER BY e.created_at145 """,146 target=TARGET,147 )148 for row in records:149 print(row)150 finally:151 await driver.close()152153asyncio.run(run())154PY155```156157Inspect all chat messages for a user:158159```bash160poetry run python - <<'PY'161import asyncio162from prisma import Prisma163164USER_ID = "883cc9da-fe37-4863-839b-acba022bf3ef"165166async def run():167 db = Prisma()168 await db.connect()169 try:170 rows = await db.query_raw(171 '''172 select cm."sessionId" as session_id,173 cm.sequence,174 cm.role,175 left(cm.content, 260) as content,176 cm."createdAt" as created_at177 from "ChatMessage" cm178 join "ChatSession" cs on cs.id = cm."sessionId"179 where cs."userId" = $1180 order by cm."createdAt", cm.sequence181 ''',182 USER_ID,183 )184 for row in rows:185 print(row)186 finally:187 await db.disconnect()188189asyncio.run(run())190PY191```192193Notes:194195- `RELATES_TO` edges hold semantic facts. Inspect `e.name` and `e.fact`.196- `MENTIONS` edges are provenance from episodes to extracted nodes.197- Prefer directed queries `->` when checking for duplicates; undirected matches double-count mirrored edges.198
Also in Significant-Gravitas/AutoGPT
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Significant-Gravitas/AutoGPTautogpt_platform/frontend/src/tests/AGENTS.md · 186k | AGENTS.md | teststylearchtypes+2 | 81/100 | 3 days ago | |
| Significant-Gravitas/AutoGPT.github/copilot-instructions.md · 186k | Copilot instructions | setupbuildtestlint-format+10 | 88/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTAGENTS.md · 186k | AGENTS.md | teststylearchgit+1 | 87/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTautogpt_platform/AGENTS.md · 186k | AGENTS.md | setuptestarchtesting-strategy+3 | 77/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTautogpt_platform/backend/AGENTS.md · 186k | AGENTS.md | setuptestlint-formatstyle+9 | 81/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTautogpt_platform/frontend/AGENTS.md · 186k | AGENTS.md | setupbuildtestlint-format+7 | 96/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTclassic/CLAUDE.md · 186k | CLAUDE.md | setuptestlint-formatstyle+7 | 89/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTclassic/direct_benchmark/CLAUDE.md · 186k | CLAUDE.md | setuptestlint-formatarch+4 | 78/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTclassic/forge/CLAUDE.md · 186k | CLAUDE.md | teststylearchtypes+3 | 73/100 | 3 days ago | |
| Significant-Gravitas/AutoGPTclassic/original_autogpt/CLAUDE.md · 186k | CLAUDE.md | testarchuiperformance+2 | 90/100 | 3 days ago | |
| Significant-Gravitas/AutoGPT.claude/skills/vercel-react-best-practices/AGENTS.md · 186k | AGENTS.md | buildlint-formatstyledependencies+4 | 61/100 | 3 days ago |
Diff against autogpt_platform/frontend/src/tests/AGENTS.md Diff against .github/copilot-instructions.md Diff against AGENTS.md Diff against autogpt_platform/AGENTS.md Diff against autogpt_platform/backend/AGENTS.md Diff against autogpt_platform/frontend/AGENTS.md Diff against classic/CLAUDE.md Diff against classic/direct_benchmark/CLAUDE.md Diff against classic/forge/CLAUDE.md Diff against classic/original_autogpt/CLAUDE.md Diff against .claude/skills/vercel-react-best-practices/AGENTS.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| trick77/agents-md-syncAGENTS.md · 2 | AGENTS.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| OnlyTerp/prompt-cache-skillsAGENTS.md · 112 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| vllm-project/vllmAGENTS.md · 88k | AGENTS.md | setuptestlint-formatstyle+5 | 100/100 | 3 days ago | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | 3 days ago |
