From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
qemu-devel@nongnu.org, "Michael S . Tsirkin" <mst@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Alistair Francis" <alistair.francis@wdc.com>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Fabiano Rosas" <farosas@suse.de>,
"Kevin Wolf" <kwolf@redhat.com>, "Warner Losh" <imp@bsdimp.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH 1/4] docs/devel: relax policy on AI-generated contributions
Date: Fri, 2 Oct 2026 15:53:16 +0100 [thread overview]
Message-ID: <ar_FXE5rzVqKcTc4@redhat.com> (raw)
In-Reply-To: <CAFEAcA91XU=_hS3iB+0p7hXQ_nvf0YpgNZaKsd=b=fSVaTJDxw@mail.gmail.com>
On Thu, Oct 01, 2026 at 01:21:43PM +0100, Peter Maydell wrote:
> On Wed, 30 Sept 2026 at 09:54, Paolo Bonzini <pbonzini@redhat.com> wrote:
> > +LLM-assisted and LLM-created contributions
> > +''''''''''''''''''''''''''''''''''''''''''
> > +
> > +Use of generative AI can be classified in the following four buckets:
> > +
> > +- "background" assistance, such as completion and code review. This does
> > + not need disclosure.
> > +
> > +- small LLM-assisted bugfixes (as a rule of thumb, below 10 lines of code)
> > + are allowed with disclosure. Splitting a submission in multiple parts
> > + is **not** a valid way to bypass this rule; repeated, frequent posting
> > + of such fixes must follow the rule for full contributions.
> > +
> > +- use of LLMs to help generating parts of a larger patch---test cases,
> > + adaptations of existing code, boilerplate code for a new API, a tool to
> > + help performing mechanical changes, etc. These are generally allowed;
> > + disclosure is highly recommended for non-trivial, functional code.
>
> I think we can get or have consensus on these first three buckets...
>
> > +- large, heavily LLM-assisted contributions where LLMs write large parts
> > + of functional code. These are only allowed if *pre-arranged*,
> > + *high-quality* and *well-tested*.
> > +
> > +The last case (*"LLM-created contribution"*) is the one that requires
> > +a more careful approach. In particular:
> > +
> > +- "Pre-arranged" means that a maintainer has communicated ahead of time,
> > + for example on `IRC or the QEMU mailing
> > + list <https://www.qemu.org/contribute/>`__, that they are willing
> > + to review an LLM-created contribution.
> > +
> > +- "High-quality" means that the contributor must apply the same judgment
> > + that would be applied to other code changes. Contributors must invest
> > + substantial time reviewing their contributions, curating them, and
> > + understanding them in depth.
> > +
> > +- "Well-tested" means the LLM-created contributions will be held to a
> > + higher standard than human-created ones, because LLMs make it easier
> > + to write tests. There are no exceptions for "writing the tests seems
> > + hard" or for `yak shaving <https://en.wiktionary.org/wiki/yak_shaving>`__.
>
> ...but I think fundamentally I am not in favour of having this
> fourth category of permitted uses. It seems even to have lost the
> idea of it being an "experimental" approach in this revision of the
> series. The first three categories are fine, and I have no particular
> problem with our relaxing our current policy to explicitly permit them.
I suggested previously to remove the "experimental" tag, because it
felt rather misleading wrt what the policy was actually proposing to
permit in practice.
When we're saying that a maintainer and contributor can agree to
use AI for *anything* and will merge it, then that work has ceased
to be for "experiments". It is a fully accepted use case for writing
and merging code. All the policy is doing at that point is attempting
to rate-limit work by requiring prior agreement to use AI.
> Our problem as a project does not seem to be on the "writing
> code" side of things, but has always been on the "code review"
> side. This policy relaxation makes it much easier to write more
> code. Even when there's a "pre-arranged reviewer" that isn't
> necessarily helpful -- if you're one of the primary maintainers
> for an area of QEMU then the fact that somebody else is reviewing
> it doesn't make a big AI-generated code infusion any more palatable.
Yes, that is my concern with anything that ends up spreading outside
the bounds of a single subsystem & its maintainer(s).
> I look at our issue tracker where we see AI assisted contributions
> that run the whole range from "an human making intelligent use of
> the tool to provide high-quality bug reports with good analysis"
> through to "absolute slop dumped on us with no apparent human
> thought or intervention". I don't really want to expand that
> from our issue tracker to our code review and codebase, please.
One of the problems I have with the AI contribs in the bug tracker
is that the quality/accuracy is just about high enough that I am
not comfortable rejecting (closing) most of the bugs, as there's
usually some nugget of a real problem in there. At the same time
the quality is not high enough to make it pleasant to deal with
the issues, which is amplified by the volume of bugs.
I expect the same thing will happen with code. The patches will be
good enough, such that you'll have a really hard time to justify
rejecting them outright. They can even be as good as an initial
patch from a human. The difference is that when you point out all
the mistakes to the human, they'll remember most of it and not
make the same mistakes again in future contributions. For bots,
it is a potluck whether your feedback has any effect long time
on future contributions. So we'll end up suffering through the
review of the work regardless.
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
next prev parent reply other threads:[~2026-10-02 14:53 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 8:54 [PATCH v4 0/4] docs/devel, AGENTS.md: a completely new policy on AI-generated contributions Paolo Bonzini
2026-09-30 8:54 ` [PATCH 1/4] docs/devel: relax " Paolo Bonzini
2026-09-30 12:54 ` Philippe Mathieu-Daudé
2026-09-30 12:57 ` Philippe Mathieu-Daudé
2026-09-30 13:09 ` Daniel P. Berrangé
2026-09-30 19:01 ` Paolo Bonzini
2026-09-30 16:14 ` Kevin Wolf
2026-10-01 12:21 ` Peter Maydell
2026-10-02 9:41 ` Paolo Bonzini
2026-10-05 21:09 ` BALATON Zoltan
2026-10-06 8:41 ` Kevin Wolf
2026-10-06 9:44 ` Alex Bennée
2026-10-06 9:56 ` Daniel P. Berrangé
2026-10-06 11:49 ` Kevin Wolf
2026-10-06 13:13 ` Alex Bennée
2026-10-02 14:53 ` Daniel P. Berrangé [this message]
2026-10-07 6:00 ` Paolo Bonzini
2026-09-30 8:54 ` [PATCH 2/4] AGENTS.md: add final instructions Paolo Bonzini
2026-09-30 8:54 ` [PATCH 3/4] AGENTS.md: let agents know what the participation rules are Paolo Bonzini
2026-10-13 9:33 ` Daniel P. Berrangé
2026-09-30 8:54 ` [PATCH 4/4] AGENTS.md: make the human part of the design process Paolo Bonzini
2026-09-30 21:17 ` [PATCH v4 0/4] docs/devel, AGENTS.md: a completely new policy on AI-generated contributions Philippe Mathieu-Daudé
2026-09-30 23:42 ` Michael S. Tsirkin
2026-10-01 4:44 ` Warner Losh
-- strict thread matches above, loose matches on Subject: below --
2026-09-21 7:52 [RFC PATCH v3 " Paolo Bonzini
2026-09-21 7:52 ` [PATCH 1/4] docs/devel: relax " Paolo Bonzini
2026-09-21 9:22 ` Alex Bennée
2026-09-21 14:11 ` Daniel P. Berrangé
2026-09-23 15:52 ` Kevin Wolf
2026-09-21 10:46 ` BALATON Zoltan
2026-09-21 10:57 ` Daniel P. Berrangé
2026-09-21 13:20 ` Daniel P. Berrangé
2026-09-23 16:16 ` Kevin Wolf
2026-09-24 2:23 ` Michael S. Tsirkin
2026-09-24 9:41 ` Kevin Wolf
2026-09-24 16:16 ` Michael S. Tsirkin
2026-09-24 9:29 ` Alex Bennée
2026-09-24 10:46 ` Kevin Wolf
2026-09-24 11:30 ` Daniel P. Berrangé
2026-09-24 21:16 ` Warner Losh
2026-09-25 10:05 ` Kevin Wolf
2026-09-25 11:22 ` Daniel P. Berrangé
2026-09-25 12:20 ` BALATON Zoltan
2026-09-27 9:24 ` Michael S. Tsirkin
2026-09-27 10:03 ` BALATON Zoltan
2026-09-27 16:28 ` Michael S. Tsirkin
2026-09-27 18:05 ` BALATON Zoltan
2026-09-30 16:58 ` Paolo Bonzini
2026-09-24 16:06 ` Michael S. Tsirkin
2026-09-24 18:06 ` Kevin Wolf
2026-09-27 9:20 ` Michael S. Tsirkin
2026-09-28 7:58 ` Kevin Wolf
2026-09-28 8:23 ` Michael S. Tsirkin
2026-09-29 14:23 ` Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ar_FXE5rzVqKcTc4@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=alistair.francis@wdc.com \
--cc=balaton@eik.bme.hu \
--cc=farosas@suse.de \
--cc=imp@bsdimp.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.