Live data from Hacker News

Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

news.ycombinator.com

121–130 of 248 posts

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#121
post #83

Earlier quoted context omitted.

Are you an adept sysadmin, cloud architect, and/or data engineer? It’s a weird catch-22 giving praise like that to LLMs. If you are, then you might be able to intuit and fill in the gaps left my the LLM and not even know it. And if you’re not, then how could you judge? Not really much to do with that you were saying, really, just a thought I had.

I'd assume the person giving the praise is at least a bit of all 3. > It’s a weird catch-22 giving praise like that to LLMs. It's a bit asymmetrical though isn't it -- judging quality is in fact much easier than producing it. > you might be able to intuit and fill in the gaps left my the LLM and not even know it Just because you are able to fill gaps with it doesn't mean it's not good. With all of these tools you bas…

> judging quality is in fact much easier than producing it

There’s still a skill floor required to accurately judge something.

A layman can’t accurately judge the work of a surgeon.

> Just because you are able to fill gaps with it doesn't mean it's not good.

If I had to fill in my sysadmin’s knowledge gaps I wouldn’t call them a good sysadmin.

Not saying the tool isn’t useful, mind you, just playing semantics with calling a tool a “good sysadmin” or whatever.

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#122
Congratulations on your launch! But I confess that I am really confused. This sounds exactly like Aider, but closed source and it's locked into a single LLM API? I just watched you use it, and looks a lot like Aider too? Why would I use this over Aider?

I've seen people say "you don't have to add files to Codebuff", but Aider tells me when the LLM has requested to see files. I just have to approve it. If that bothers you, it's open source, so you could probably just add a config to always add files when requested.

Aider can also run commands for you.

What am I missing?

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#123
post #66

Earlier quoted context omitted.

Why not simply remove that dependency now?

Cruft that built up over time But you make a good point, I'll write a ticket to remove it soon.

Codebuff waiting in the wings to implement.

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#124
post #53
post #36

Earlier quoted context omitted.

+1; Ideally I want a tool I don't have to specify the context for. If I can point it via config files at my medium-sized codebase once (~2000 py files; 300k LOC according to `cloc`) then it starts to get actually usable. Cursor Composer doesn't handle that and seems geared towards a small handful of handpicked files. Would codebuff be able to handle a proper sized codebase? Or do the models fundamentally not handle t…

Yes. Natively, the models are limited to 200k tokens which is on the order of dozens of files, which is way too small. But Codebuff has a whole preliminary step where it searches your codebase to find relevant files to your query, and only those get added to the coding agent's context. That's why I think it should work up to medium-large codebases. If the codebase is too large, then our file-finding step will also st…

I'll need to get approval to use this on that codebase. I've tried it out on a smaller open-source codebase as a first step.

For anyone interested:

  - here's the Codebuff session: https://gist.github.com/craigds/b51bbd1aa19f2725c8276c5ad36947e2
  - The result was this PR: https://github.com/koordinates/kart/pull/1011
It required a bit of back and forth to produce a relatively small change, and I think it was a bit too narrow with the files it selected (it missed updating the implementations of a method in some subclasses, since it didn't look at those files)

So I'm not sure if this saved me time, but it's nevertheless promising! I'm looking forward to what it will be capable of in 6mo.

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#125
post #10

Comparison with Aider?

Great question! In Codebuff you don't have to manually specify any files. It finds the right ones for you! It also pulls more files to get you a better result. I think this makes a huge difference in the ergonomics of just chatting to get results. Codebuff also will run commands directly, so you can ask it to write unit tests and run them as it goes to make sure they are working.

Aider does all of this too, and it has for quite a while. It just tends to ask you for explicit permission when e.g. adding files to the context (potentially token-expensive), creating new files, or running commands (potentially dangerous); AFAIR there's an option (both configuration and cli arg) to auto-approve those requests, though I never tried it.

Aider has extensive code for computing "repository map", with specialized handling for many programming languages; that map is sent to LLM to give it an overview of the project structure and summary of files it might be interested in. It is indeed a very convenient feature.

I never tried writing and launching unit tests via Aider, but from what I remember from the docs, it should work out of the box too.

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#127
post #60

Earlier quoted context omitted.

We actually don't use RAG! It's not that good as you say. We build a description of the codebase including the file tree and parsed function names and class names, and then just ask Haiku which files are relevant! This works much better and doesn't require slowly creating an index. You can just run Codebuff in any directory and it works.

> We build a description of the codebase including the file tree and parsed function names and class names This sounds like RAG and also that you’re building an index? Did you just mean that you’re not using vector search over embeddings for the retrieval part, or have I missed something fundamental here?

Ah yeah, that's what I mean! I thought RAG is synonymous with this vector search approach.

Either way, we do the search step a little different and it works well.

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#128

Earlier quoted context omitted.

Genuine question: at what point does the term RAG lose its meaning? Seems like LLMs work best when they have the right context, and that context must be pulled from somewhere for the LLM. But if that's RAG, then what isn't? Do you have a take on this? Been struggling to frame all this in my head, so would love some insight.

RAG is a search step in an attempt to put relevant context into a prompt before performing inference. You are “augmenting” the prompt by “retrieving” information from a data set before giving it to an LLM to “generate” a response. The data set may be the internet, or a code base, or text files. The typical examples online uses an embedding model and a vector database for the search step, but doing a web query before…

Gotcha – so broadly encompasses how we give external context to the LLM. Appreciate the extra note about vector databases, that's where I've heard this term used most, but I'm glad to know it extends beyond that. Thanks for explaining!

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#129

Earlier quoted context omitted.

Genuine question: at what point does the term RAG lose its meaning? Seems like LLMs work best when they have the right context, and that context must be pulled from somewhere for the LLM. But if that's RAG, then what isn't? Do you have a take on this? Been struggling to frame all this in my head, so would love some insight.

Not RAG: asking the LLM to generate using its internal weights only RAG: providing the LLM with contextual data you’ve pulled from outside its weights that you believe relate to a query

Nice, super simple. We're definitely fitting into this definition of RAG then!

Re: Launch HN: Codebuff (YC F24) – CLI tool that writes code for you

#130
Congrats on the launch! I tried this on a migration project I'm working on (which involves a lot of rote refactoring) and it worked very well. I think you've nailed the ergonomics for terminal-based operations on the codebase.

I've been using Zed editor as my primary workhorse, and I can see codebuff as a helper CLI when I need to work. I'm not sure if a CLI-only interface outside my editor is the right UX for me to generate/edit code — but this is perfect for refactors.

Post reply on HN