2,425 karma · joined September 30, 2010
I build developer tools at Sourcegraph (https://sourcegraph.com)
- Works with local models
- Context-aware chat with very nice ergonomics (we see consistently more chats per day than other coding assistants)
- Used by both indie devs and devs at very large enterprises like Palo Alto Networks
- Hooks nicely into code search, which is important for building a strong mental model inside large, messy codebases
- Open source core
There's been a ton of evolution in dev tools in the past 3 years with some old workhorses retiring (RIP Phabricator) and new ones (like Graphite, which is awesome) emerging... and of course AI-AI-AI. LLMs have created some great new tools for the developer inner loop—that's probably the most glaring omission here. If I were to include that category today, it would mention tools like ChatGPT, GH Copilot, Cursor, and our own Sourcegraph Cody (https://cody.dev). I'm told that Google has internal AI dev tools now that generate more code than humans.
Excited to see what changes the next 3 years bring—the pace of innovation is only accelerating!
(Full disclosure: I'm the Sourcegraph CTO)
Docs: https://docs.sourcegraph.com/code_navigation/explanations/pr...
Anyway, Jerry and LlamaIndex has been a huge source of learning and inspiration—please keep tweeting and publishing, Jerry!
We have lots to reflect on given the feedback here on HN. We were honestly a bit blindsided by the number of people who appear to be using open source Sourcegraph, or who really wanted to use it but found the process too difficult. Part of this is because we had a zero telemetry policy for the open source distribution. Perhaps that was a mistake in hindsight, but introducing telemetry there would've been another can of worms!
Now that the usage is more visible, it's actually kicked off a lively internal discussion. We're going to take some time to gauge the size of the user community and figure how we can best support it. Aside from individual use being free (still the case) and making deployment more straightforward (through something like code search in App), are there other things we can do to make it easier to adopt? Sorry about the confusion here, we should have handled this better. But the silver lining is we realized there were a lot of users of Sourcegraph that we didn't know about and we're now discussing how best to engage and support you all. I do hope you'll take the chance to pop into our Discord and say hello and continue with feedback that can help us make the best decisions for our users.
One of our core design principles for Cody is to make it "unmagic". Like, the AI is magic enough, but the rest of what we're doing in terms of orchestrating the LLMs in combination with various other data sources and backends should be clear and transparent to the user. This allows for greater understandability and steerability (e.g., if Cody infers the wrong context, maybe you can just tell it the file it should be reading and then regenerate the answer).
Copilot is a great tool, and Oege de Moor, Alex Graveley, and the whole GitHub Next team deserve huge credit for shipping it. That being said, I really want the standard AI coding assistant to be open, and there's been a ton of innovation in LLMs since Copilot's initial launch that doesn't seem to have been rolled in yet. I think this is a case where being open means we can accelerate the pace of innovation.
The network dependencies are Cody --> Sourcegraph --> Anthropic. Cody does need to talk to a chat-based LLM to generate responses. (It hits other APIs specific to Sourcegraph that are optional.)
We are working on making the chat-based LLM swappable. Anthropic has been a great partner so far and they are stellar to work with. But our customers have asked for the ability to use GPT-4 as well as the ability to self-host, which means we are exploring open source models. Actively working on that at the moment.
Sorry for any lack of clarity here. We would like to have Cody (the 100% open source editor plugin) talk to a whole bunch of dev tools (OSS and proprietary). We think it's totally fine to have proprietary tools in your stack, but would prefer to live in a world where the thing that integrates all that info in your editor using the magic of AI and LLMs to be open source. This fits into our broader principle of selling to companies/teams, and making tools free and open for individual devs.
Sourcegraph is also free to use and downloadable as a local app (https://docs.sourcegraph.com/app) or you can use sourcegraph.com for open source. Our intention is to sell to teams/companies, while making tools for individual devs free to use. There have been a few cases in the past where we've misstepped and come across as selling to individual devs. If this ever happens, please flag to me (https://twitter.com/beyang) or sqs (https://twitter.com/sqs) directly and we'll correct it.
We currently have a notebooks UI (e.g., https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTg1NA==), but the plan is to roll Cody into this and make it a super rich UI for learning/understanding anything and everything about code
For code understanding tasks, the issues with standalone LLMs is that they have a certain amount of "memory" which is limited to their training data (SO and OSS)—and even that can be unreliable.
A big "a-ha" moment for us was the realization that LLMs get much more helpful and reliable when coupled with a competent context fetching mechanism that can surface relevant code snippets from your own codebase. This makes Q&A much more factually accurate (and code generations that learns from the patterns in your codebase). We don't think LLMs will ever replace human coders, but we think they can be super helpful in eliminating a lot of the tedious, boring, duplicative writing and reading code that devs do every day. The entirety of Sourcegraph (not just the LLM part) is focused on eliminating these pain points.
Some companies have invested in dedicated tools (like Code Search and Grok at Google) because they recognize the importance of the problem. Such systems were a primary source of inspiration for us when we started Sourcegraph—we wanted to bring the tech for large-scale code understanding to every company. In-depth posts like this are a big source of inspiration and ideas for us, so thanks to the author for writing this up.
* Works cross-repositories, over our indexed corpus of 6M OSS repositories, or your private code * Multi-language (some projects at compiler accuracy, some at CTAGS-level accuracy)