Conversation
nikomatsakis
left a comment
There was a problem hiding this comment.
Left a few commits. In general, I really like this! I'll give it another read later.
| opportunities for new contributors to get familiar with the codebase. Whether | ||
| you are a newcomer or not, fully automating the process of fixing this issue | ||
| squanders the learning opportunity and doesn't add much value to the project. | ||
| **Using LLM tools to fix issues labelled as "E-easy" is forbidden**. |
There was a problem hiding this comment.
I'm wondering about this. I agree with the sentiment. And yet, consider an example like: somebody asks an LLM how to approach a bug. They review the diff. Then they go a git reset --hard HEAD and write it themselves, working through it. Is this ok?
This is approximately the process I follow, a lot of the time, when entering a new codebase.
TL;DR I think research should always be ok.
There was a problem hiding this comment.
Then they go a git reset --hard HEAD and write it themselves, working through it. Is this ok?
I definitely feel that this would be permitted under the policy. This goes along with the split of "its okay to use these tools to learn" but not "to do the work for you". The goal of the E-easy issues is for people to learn, if they use llms to do that then they've still accomplished the goal, even if its in a way some people would object to personally.
text/9999-ai-tool-usage-policy.md
Outdated
| request description, commit message, or wherever authorship is normally | ||
| indicated for the work. For instance, use a commit message trailer like | ||
| Assisted-by: <name of code assistant>. This transparency helps the community | ||
| develop best practices and understand the role of these new tools. |
There was a problem hiding this comment.
I feel like we need to have a policy for team members and contributors on how to receive such contributions. Quite frankly, after this weekend, I have zero interest in transparency unless I have trust that it will be received in the spirit in which it was intended.
There was a problem hiding this comment.
I'm curious how you imagine such a policy looking. I'm kinda assuming that with disclosure we're probably gonna end up with many reviewers who will simply skip over or refuse to engage with PRs that include LLM generated content and another set of reviewers that actively engage with PRs that include LLM generated content. Especially with how deeply values rooted many of these objections are I cant help but expecting this to still bleed over into other interactions and I'm not sure how much a policy could meaningfully limit that :(.
| yet to be answered. Our policy on LLM tools is similar to our copyright policy: | ||
| Contributors are responsible for ensuring that they have the right to | ||
| contribute code under the terms of our license, typically meaning that either | ||
| they, their employer, or their collaborators hold the copyright. Using LLM tools |
There was a problem hiding this comment.
We have to be careful when it comes to legal wording. I would want to consult the Foundation's counsel for suitable wording -- but part of their argument was that indeed LLM generated text may not be copyrighted, but rather public domain -- and that is ok.
There was a problem hiding this comment.
I'll go ahead and add a todo here and link to the comment from the foundation you linked in zulip earlier today. I already knew this was not consistent with what we've heard from the foundation but forgot to include that here before pushing.
a192c2c to
f13115f
Compare
Kobzol
left a comment
There was a problem hiding this comment.
We can definitely make the motivation part much stronger based on various reviewer's experience on GitHub and Zulip 😆
I like the structure of the document, and the fact that it tries to document existing policy, without also directly jumping into a new policy. Left some comments.
text/9999-ai-tool-usage-policy.md
Outdated
|
|
||
| The Rust Project's policy is that contributors can use whatever tools they | ||
| would like to craft their contributions, but there must be a **human in the | ||
| loop**. **Contributors must read and review all LLM-generated code or text |
There was a problem hiding this comment.
I'd personally go even further and say that text and communication (PR comments, etc.) must not be AI generated, except for edge-cases like translation. We want to be talking to humans, and not machines.
There was a problem hiding this comment.
Even for translation I'd still prefer that they include the original text, but yeah I don't mind if they share some AI generated translation alongside it so that each reader doesn't have to create their own translation and waste even more energy.
text/9999-ai-tool-usage-policy.md
Outdated
| the author and is fully accountable for their contributions. Contributors | ||
| should be sufficiently confident that the contribution is high enough quality | ||
| that asking for a review is a good use of scarce maintainer time, and they | ||
| should be **able to answer questions about their work** during review. |
There was a problem hiding this comment.
Relatedly, they should be able to answer questions about what they submitted (which might not be their work if it was generated by AI 🙃), without using an LLM. If someone asks you "why did you do X", and you have to go ask AI for the answer, you don't understand what you did.
text/9999-ai-tool-usage-policy.md
Outdated
| rust-lang/rust are generated. Contributors should note tool usage in their pull | ||
| request description, commit message, or wherever authorship is normally | ||
| indicated for the work. For instance, use a commit message trailer like | ||
| Assisted-by: <name of code assistant>. This transparency helps the community |
There was a problem hiding this comment.
I don't think that "Assisted-by: claude" does actually help reviewers all that much (though ofc it's better than guessing if AI was used). I'd suggest to contributors to explain how they used AI, even perhaps by sharing links to the conversation or the prompts, as that can be genuinely useful when reviewing that work. It also serves as feedback for the contributor themselves - if the answer to "how you used AI?" is "I pointed it to an issue and told it to fix it", then that is clearly against this policy.
There was a problem hiding this comment.
This should be resolved by 0fa7057
cc @nikomatsakis since I know you've been working on policies / PR templates for LLM tool usage disclosure and integrations into the review process. I'm curious if there's anything else you'd suggest adding here.
f13115f to
2426409
Compare
|
|
||
| ### Disclaimer | ||
|
|
||
| There is not yet a full consensus within the Rust org about when/how/where it |
There was a problem hiding this comment.
| There is not yet a full consensus within the Rust org about when/how/where it | |
| There is not yet a full consensus within the Rust org about when/how/where/whether it |
"when/how/where" doesn't feel like it does a good job of covering the view of "not at all"; adding "whether" feels like it helps encompass that.
| value in LLMs; many others feel that its negative impact on society and the | ||
| climate are severe enough that no use is acceptable. Still others are working |
There was a problem hiding this comment.
| value in LLMs; many others feel that its negative impact on society and the | |
| climate are severe enough that no use is acceptable. Still others are working | |
| value in LLMs; many others feel that their negative impact on society, | |
| climate, and existential risk are severe enough that no use is acceptable. Still others are working |
s/its/their/ to match the plural "LLMs". ("its" would match "AI", if we used that.)
Also enumerating an additional risk that informs people's perspectives.
| --> | ||
|
|
||
| - https://github.com/rust-lang/rfcs/pull/3936 | ||
| - Review of open source LLM tool use policies, ordered strictness, top is most strict, bottom least. Copied from [leadership-council#273 comment](https://github.com/rust-lang/leadership-council/issues/273#issuecomment-4051188890) |
There was a problem hiding this comment.
This list seems like it should be moved to the "prior art" section.
| To ensure sufficient self review and understanding of the work, it is strongly | ||
| recommended that contributors write PR descriptions themselves. The description |
There was a problem hiding this comment.
| To ensure sufficient self review and understanding of the work, it is strongly | |
| recommended that contributors write PR descriptions themselves. The description | |
| To ensure sufficient self review and understanding of the work, contributors must write PR descriptions themselves. The description |
Draft of RFC for LLM usage policy
Rendered
Strawman example of the format of feedback I'd like to receive: