Live data from Hacker News

Grep beats LSP? Why coding agents ignore your fancier tools

agentconnect.md

21–30 of 81 posts

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#21
post #19
post #15

Earlier quoted context omitted.

Shut up. Just shut up. > Avoid generic tangents. > Please don't post shallow dismissals > Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. See: Hacker News Guidelines

> Please don't post shallow dismissals I’ll point out you also violate this guideline. Do you seriously read the article and not see that it is extremely low signal-to-noise? And full of non-sequiturs and strange unnecessary clarifications? And passed off as a research project. “Claude, write an article about why agents use grep instead of LSP” This would have saved everyone the pain of reading this. As another user…

100%. This article is written by AI. The problem is it makes you doubt the whole thing: Did the person behind this do any work at all? Or is this just content marketing for an AI project - something that used to require time and effort - but now can be done by anyone with a click on a button.

Too bad. Because this is sort of an interesting subject.

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#22
Setting up an LSP relies on 2 requirements to properly work:

(a) The LSP's tools being competently built & consistent, and

(b) the LLM using it having been properly trained to use LSPs in general.

Using a native tool like grep has the same 2 assumptions, but

(a) is satisfied due to ossification of grep's core features (a good thing), and

(b) is extra-satisfied because the LLM can be trained to properly use grep specifically, and not "20th variation of grep wrapped behind an LSP, but just different enough to throw curveballs".

On top of that, grep is almost always present in default Linux environments, so its presence is assumed & can be relied upon when needed.

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#23

At the end of the first paragraph there is this sentence: "Training support is a hypothesis consistent with these results, not something this study proves." I understand it, but I find the wording very unnatural. To improve readability I would have written it in the active form: "We cannot prove training explains this result, but this fits the data best."

The text seems LLM generated. Maybe it is mixed with some human editing because it is not too bad. But you still have typical LLM constructs.

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#24

There’s been an interesting co-evolution that I’ve been experiencing with Claude Code. I’ll ask it to do a task, I’ll watch what it’s doing (often lots of find and grep and ripgrep) and then after the task is complete I’ll ask it if there are any tools that would’ve made the job easier. This has led to tools like fzf and others (notmuch for indexing email, for example). I’ve then taken those tools and figured out how…

When you use “we” hopefully you are referring to someone on your team. Just be careful, the first step down the rabbit hole of AI psychosis is humanization of LLM.

It’s me and my plucky gang of agents!

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#26
I've had great success with a tool I wrote that can print sparse ASTs for code.

https://github.com/theduke/smartedit

With the skill installed GPT 5.6 usually automatically uses it, and it reduces code exploration time and token usage significantly, for example by just printing the types and functions in a file without bodies, and only expanding when needed.

(note: it also has editing functionality, which doesn't work so well, since the models are heavily tilted towards common editing tools in post training)

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#28

There’s been an interesting co-evolution that I’ve been experiencing with Claude Code. I’ll ask it to do a task, I’ll watch what it’s doing (often lots of find and grep and ripgrep) and then after the task is complete I’ll ask it if there are any tools that would’ve made the job easier. This has led to tools like fzf and others (notmuch for indexing email, for example). I’ve then taken those tools and figured out how…

I wonder if you put job classifications along a spreadsheet's leftmost column (e.g. search in file, search in directory), and data types along a spreadsheet's topmost row (e.g. JSON file, macOS-based filesystem), would you end up finding gaps in the intersection of the columns and rows make these new tools you've created less surprising? For example, to "search a file" on a "macOS-based filesystem", you would naturally gravitate towards `grep`. Or to search the contents of a JSON file, you would maybe use `grep`, or perhaps `jq` and a well crafted query. Well, as you expand out the job classifications and data types (or some other abstraction), you start to realize where we don't have tools today. And then Claude can go and create those, perhaps even proposing a faster alternative!

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#29
post #11
post #2

Tangental, but my LSP config breaks every few months. I don't bother to fix it anymore, I open an LLM in ~/dotfiles and complain until it works again, usually in a few minutes. What's interesting is observing how much work this takes. (it gives me much more empathy toward my past self; how was a clumsy human supposed to know and reason about these things!?, especially when I hadn't touched the configs since a few mon…

This seems like the LLM is vastly overcomplicating things. My entire Neovim config is a single 500 line init.lua and this is enough for LSP to work.

My nvim LSP config is 20 lines and mostly consists of "if you see X language, use Y program as LSP".

I also have been using the same LSP config for approximately 7 years.

I don't get the pain.

Re: Grep beats LSP? Why coding agents ignore your fancier tools

#30

This has not been my experience at all.

Which language and agent? I used Aider on a Python project which had string references (as opposed to module tree) and cross-repo references. LSP lookups were fast and I hated it when Aider used 2M tokens a day, but grep was more complete.
Post reply on HN