3 ms·
Yeah, no. Improved tooling to address common problems is absolutely the future. "Self-healing" is a long way off, because LLMs lack reasoning abilities to dete
by groby_b 3y ago
Yeah, no.
Improved tooling to address common problems is absolutely the future. "Self-healing" is a long way off, because LLMs lack reasoning abilities to determine if a fix is good. And "makes the test pass" isn't a great indicator - because flaky tests exists, and the plugin mentioned at the end is a great way to introduce random mutations. Unless you'd like to re-run the full test suite, it's dangerous malpractice, and even then it's high risk.
Human-in-the-loop continues to be a necessary criterion for applied stochastics in code production.
- slillibri 3y agoSelf-healing code along with package hallucinations will be great - https://vulcan.io/blog/ai-hallucinations-package-risk https://vulcan.io/blog/ai-hallucinations-package-risk
- vsareto 3y ago>because LLMs lack reasoning abilities to determine if a fix is good You will at least need to build a feedback loop where it checks that 1) the code can actually compile 2) all tests pass and 3) other code analyses passes. Ideally it shouldn't present a solution if it can't meet those criteria but that also adds a lot of lag time for suggestions when it may not be needed for simple suggestions. What patterns it uses is up to training or examples or reinforcement learning. Good is human/team/company-subjective too (with some obvious hard requirements), so you will have to train specifically for your kind of quality.
- yjftsjthsd-h 3y agoNot even just flaky tests, but tests that don't specify enough to stop a paperclip maximizer; consider an AI told to stop the 500 errors, which blocks all users, thereby stopping the 500 errors. (Prior art: Consider the tetris-playing AI that was told to maximize how long it could go without losing, and which "won" by hitting the pause button.)
- faangsticle 3y agoPrompt: Prevent our webapp from returning 500 http status errors AI: Sure! Just replace your handler method with `(req, res) => res.status(200).send("OK")`