Replies: 1 comment
|
They sit at different layers, so yes — the overlap is smaller than it looks. An LSP answers questions about code it has already parsed: where a symbol is defined, what references it, what type it is. A knowledge graph answers questions about relationships between things it has already indexed. Both take "which file" as an input. fff is what produces that input:
The gap it fills is everything outside the language server's world. A language server covers the languages it supports and the symbols it understands — it has nothing to say about your Dockerfile, your CI yaml, a markdown doc, a lockfile, a generated artifact, or a language nobody wired up. Those are usually a large share of a repo, and they're exactly where an agent ends up guessing at paths. Typo-resistance matters for the same reason. An agent that half-remembers a filename gets a hit from fff, whereas an exact-match tool returns nothing and the agent burns a turn retrying. Frequency ranking has a similar effect — the file you touched twenty times today outranks a same-named one buried in The performance framing in the README is about long-running processes rather than one-shot searches, which is the shape an agent session has:
So the sensible split is fff for locating, LSP for understanding what's inside, graph for how it connects. Since fff ships an MCP server, it plugs in beside your existing tools rather than replacing either of them. |
Uh oh!
There was an error while loading. Please reload this page.
Say a project utilizes a knowledge graph such as codegraph and an LSP service (e.g. Serena). Does
fffhave any use in such cases?All reactions