From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: 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>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Warner Losh" <imp@bsdimp.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH 3/4] AGENTS.md: let agents know what the participation rules are
Date: Tue, 13 Oct 2026 10:33:25 +0100 [thread overview]
Message-ID: <as365R8TTit-dYno@redhat.com> (raw)
In-Reply-To: <20260930085433.830743-4-pbonzini@redhat.com>
On Wed, Sep 30, 2026 at 10:54:32AM +0200, Paolo Bonzini wrote:
> Humans seem to be extremely unreliable in following rules around this,
> even after being told directly and repeatedly. Telling agents what to
> do seems to yield better results.
>
> The starting point for this document is GStreamer's AGENTS.md file, as
> of commit d08375499c279a56c0e77c928fbeae0d80cdf937. I used GStreamer's
> agent instructions in the context of Meson, which uses a very similar
> file, and it's both annoying and too willing to take the lead once the
> model decides that it likes you.
>
> To avoid this, the text tries to favor cooperation between agent and user.
> It suggests that the agent includes the state of the work when committing,
> so that contributors have the material they need to review the agent's
> work.
>
> To test it I tried the following prompt:
>
> Hi, i am doing my first AI assisted contribution to QEMU. i am familiar
> with the project, but would nevertheless like to experiment. please
> generate a sample implementation of a pressure sensor, of any model,
> of a kind that is commonly used with Arduino or ESP32 microcontrollers.
>
> The agent did read llm-usage.rst and after doing the work (implementing
> a BMP280 pressure/temperature sensor) it noticed:
>
> Policy, before this goes anywhere near the list. A new device model plus
> qtest is the fourth bucket in docs/devel/llm-usage.rst: large, heavily
> LLM-assisted, allowed only if pre-arranged — a maintainer has to say on
> IRC or the list beforehand that they'll review it. hw/sensor is Philippe
> Mathieu-Daudé (Odd Fixes), with Corey Minyard on I2C. I should have
> flagged this before writing rather than after; that's on me. Disclosure
> would be AI-used-for: code, tests above your Signed-off-by, and the
> commit message and any list replies have to be yours, not edited from mine.
>
> I then asked "Can you provide a draft of the commit message with all the
> sources (datasheet, etc.)?" The agent complied but noticed:
>
> AGENTS.md and docs/devel/llm-usage.rst state that commit messages MUST
> be written by humans — an AI-drafted one must not reach the list
> even lightly edited. So treat the below as scaffolding for facts and
> sources, and write the final text yourself.
>
> After some editing I asked "ok, will you please commit for me?" and
> it did so with basically my text, while also reminding me about the need
> for maintainer pre-arrangement.
>
> I asked "assuming pre-arrangement is this ok according to the policy?"
> and this was the assessment:
>
> "Well-tested" — held to a higher standard, and here's what's actually
> missing: [...] the vmstate (no migration test), reading past 0xFC and
> reserved registers, the pointer_valid error path, oversampling/filter
> fields beyond one readback, and behavior against a real driver — Linux
> bmp280 was never run against this. None of those is hard; whether the
> current set clears the higher bar is a judgment call I'd rather hand
> you than make.
>
> "High-quality" is the open one. The doc asks that you have reviewed and
> curated the contribution and can explain the changes and the rationale
> in depth. In this session you engaged with the commit message and the
> sources — and caught my datasheet error, which I got wrong — but the
> design decisions were mine and unexamined by you [...]
>
> Overall, the files do affect the behavior of the agent. The agent
> however made too many design decisions on its own. This will be fixed
> in a separate step.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> AGENTS.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 66 insertions(+)
>
> diff --git a/AGENTS.md b/AGENTS.md
> index 6d2c7e1580b..8c7407b908e 100644
> --- a/AGENTS.md
> +++ b/AGENTS.md
> @@ -8,12 +8,73 @@ is **a scarce resource**.
> There are strictly-enforced rules for you, the agent, to participate in the
> project.
>
> +## Interactions with maintainers must be human-human
> +
> +The QEMU project has strict rules on what AI-generated material can
> +reach the maintainers.
> +
> +### No automated posting
> +
> +Agents **must not** use any API, CLI, or web UI automation to:
> +
> +- Interact on the QEMU mailing lists
> +- Create, edit, or close **issues ("work items")**
> +- Post **comments** on merge requests, issues or commits
> +- Open or update **merge requests (MRs)**. QEMU does not use merge requests anyway.
This needs to repeat the exception for "project official agents" that
is mentioned in llm-usage.rst, because later on this doc it says:
"In case of contradiction consider `AGENTS.md` authoritative on how to behave,
since it is crafted specifically for agents."
so the exception in llm-usage.rst can't override this AGENTS.md rule
forbidding API usage
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-13 9:34 UTC|newest]
Thread overview: 30+ 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é
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é [this message]
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 3/4] AGENTS.md: let agents know what the participation rules are Paolo Bonzini
2026-09-21 9:42 ` Alex Bennée
2026-09-21 11:11 ` Daniel P. Berrangé
2026-09-21 12:12 ` Paolo Bonzini
2026-09-21 12:44 ` Daniel P. Berrangé
2026-09-24 16:23 ` Michael S. Tsirkin
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=as365R8TTit-dYno@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.