Supporting kernel development with large language models
10 months ago
- #LLM
- #Kernel Development
- #Productivity Tools
- LLMs are probabilistic pattern-matching engines with large context windows, useful for kernel development tasks.
- LLMs excel at small, well-defined tasks like generating code patches and commit messages but cannot handle complex tasks like writing new device drivers.
- Examples of LLM-generated contributions include a patch merged in Linux 6.15 and the git-resolve script in 6.16, both reviewed and tested by humans.
- Embeddings and Retrieval Augmented Generation (RAG) help LLMs ground their outputs in actual knowledge and kernel-specific patterns.
- AUTOSEL, an LLM-based tool, assists stable kernel maintainers by processing hundreds of commits quickly and narrowing down backport candidates.
- LLMs were used to rewrite CVE tooling in Rust, improving maintainability and efficiency.
- LLMs are seen as productivity tools rather than replacements for human developers, similar to how compilers improved over assembly programming.