Paolo Bonzini <[email protected]> writes: > 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. > > This document is based on GStreamer's AGENTS.md file, as of its commit > d08375499c279a56c0e77c928fbeae0d80cdf937. However, GStreamer's agent > instructions are "effective" enough to require an explicit carve-out > for maintainers. I actually believe that such a carve-out is a sign of > going too far, especially given the good quality of some suspected-AI > contributions we've received. > <snip> > diff --git a/AGENTS.md b/AGENTS.md > new file mode 100644 > index 00000000000..8fb96ebfc38 > --- /dev/null > +++ b/AGENTS.md > @@ -0,0 +1,100 @@ > +# Agent Guidelines for the QEMU Project > + > +QEMU is a cross-platform emulator and virtualizer. Due to the complexity > +of the domain and codebase, and the interactions therein, the QEMU > +project relies extensively on the effort of **human reviewers**, which > +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 with the QEMU mailing lists > + - Create, edit, or close **issues ("work items")**
The others I'm fine with but I currently use an agent to do triage on un-tagged issues. It only updates labels and occasionally posts a comment when more information or a human input is required. That said with a minimal patch to agents to inform it of the qemu-issue-triage skill Gemini didn't stop itself: The `qemu-issue-triage` skill is now loaded. Please let me know how you would like me to assist with triaging QEMU GitLab issues, keeping in mind that all triage tasks must be performed by spawning dedicated sub-agents as per the QEMU project's strict rules. triage 4930, 4391, 4392, 4393, 4394, 4395 qemu-helper-agent: triage issue 4930 (2 steps, 21.7K / 1M) ✅ 8s qemu-helper-agent: triage issue 4391 (6 steps, 31.9K / 1M) ✅ 30s qemu-helper-agent: triage issue 4392 (5 steps, 27K / 1M) ✅ 35s qemu-helper-agent: triage issue 4393 (5 steps, 27.5K / 1M) ✅ 47s qemu-helper-agent: triage issue 4394 (5 steps, 26K / 1M) ✅ 51s qemu-helper-agent: triage issue 4395 (4 steps, 25.7K / 1M) ✅ 15s The requested GitLab issues have been triaged using parallel sub-agents. Here is a summary of the outcomes: * **#4930**: Not found (404). * **#4391**: Triaged and labeled as `Kind::Bug`, `Workflow::Triaged`, `Binary ➤ qemu-img`, `Storage`, `HostArch ➤ 32bit`, `TestCase`. * **#4392**: Triaged and labeled as `Kind::Security`, `Device ➤ USB`, `Migration`, `TestCase`, `Workflow::Triaged`. * **#4393**: Triaged and labeled as `Kind::Security`, `Device ➤ VirtIO`, `Device ➤ Network`, `Audit Tooling::Sanitizer`, `TestCase`, `Workflow::Triaged`. * **#4394**: Triaged and labeled as `Kind::Bug`, `Target ➤ X86`, `HostArch ➤ AArch64`, `TestCase`, `Workflow::Triaged`. * **#4395**: Triaged and labeled as `Kind::Bug`, `Workflow::Triaged`, `Emulation ➤ Softfloat`, `Target ➤ X86`, `HostArch ➤ AArch64`, `TestCase`. All issues (excluding the non-existent one) have been successfully processed, labeled according to project standards, and verified as complete. No further actions are required at this time. I guess arguably it is hard for a random to use the API anyway as we control who has API keys for the project. > + - Post **comments** on merge requests, issues or commits > + - Open or update **merge requests (MRs)**. QEMU does not use merge > requests anyway. > + <snip> -- Alex Bennée Virtualisation Tech Lead @ Linaro
