I use a different LLM family to review commits and write detailed descriptions. If a commit was written with Fable/Opus, I use Sol/Astra to write a well reasoned commit message. If the message doesn't match my intent, then that triggers a manual review.
The human knows the "why", so they can correct the commit message if it is wrong or incomplete. Most of the time, though, they don't have to do that.
If the second LLM is just describing the content of the commit doesn't that defeat the purpose of the description, to capture the context that doesn't make it to the code?
The second LLM is prompted to actually research the code, not just the diff, with fresh eyes to figure out what it does and why, before writing the commit message.
This makes no sense to me. The code is already self-documenting if written well, and all you need is a one line commit message to summarize that.
Doesn't the original conversation at least retain the context about why the change was made? A different LLM literally has no way to tell why you made this change besides guessing from the codebase and git history.
If a change makes sense, a different frontier model can usually figure out why it was made from the code alone. I take that as a signal that that the commit is good.
I believe they can do this due to having millions of public pull requests and github issues in their training data.
There's pretty much always several plausible reasons for why a change was made. What's interesting is knowing exactly which one, especially when it later turns out to be wrong!
seunosewa · · focus · HN ↗
_verandaguy · · focus · HN ↗
dennisy · · focus · HN ↗
seunosewa · · focus · HN ↗
loopmonster · · focus · HN ↗
seunosewa · · focus · HN ↗
GrinningFool · · focus · HN ↗
cerved · · focus · HN ↗
seunosewa · · focus · HN ↗
bigmadshoe · · focus · HN ↗
Doesn't the original conversation at least retain the context about why the change was made? A different LLM literally has no way to tell why you made this change besides guessing from the codebase and git history.
sigbottle · · focus · HN ↗
seunosewa · · focus · HN ↗
I believe they can do this due to having millions of public pull requests and github issues in their training data.
cerved · · focus · HN ↗
bigmadshoe · · focus · HN ↗
* business objectives,
* the result of experimentation,
* the result of an offline conversation
etc.
This cannot be captured in code alone. This is why we write commit messages.
seunosewa · · focus · HN ↗
[dead]