Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 31 additions & 23 deletions getting-started/generative-ai.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,31 @@
.. _generative-ai:

=============
Generative AI
=============
=================================
Guidelines in using Generative AI
=================================

Generative AI tools have evolved rapidly, and their suggested results can be helpful. As with using any tool, the resulting contribution is
the responsibility of the contributor. We value good code, concise accurate documentation, and avoiding unneeded code
churn. Discretion, good judgment, and critical thinking are the foundation of all good contributions, regardless of the
tools used in their creation.
Generative AI tools are evolving rapidly, and their work can be helpful. As with using any tool, the resulting
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It wasn't done before in this file for some reason, but could we please wrap lines?

contribution is the responsibility of the contributor. We value good code, concise accurate documentation,
and avoiding unneeded code churn. Discretion, good judgment, and critical thinking are the foundation of all good
contributions, regardless of the tools used in their creation.

Considerations for success
==========================

Authors must review the work done by AI tooling in detail to ensure it actually makes sense before proposing it as a PR.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Authors must review the work done by AI tooling in detail to ensure it actually makes sense before proposing it as a PR.
Authors must review the work done by AI tooling in detail to ensure it actually makes sense before proposing it as a PR or filing it as an issue.


We expect PR authors to be able to explain their proposed changes in their own words.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We expect PR authors to be able to explain their proposed changes in their own words.
We expect PR authors and those filing issues to be able to explain their proposed changes in their own words.


Disclosure of the use of AI tools in the PR description is appreciated, while not required. Be prepared to explain how
the tool was used and what changes it made.
Comment on lines +19 to +20
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Disclosure of the use of AI tools in the PR description is appreciated, while not required. Be prepared to explain how
the tool was used and what changes it made.
Disclosure of the use of AI tools in the PR description is appreciated, while not required. Be prepared to explain how the tool was used and what changes it made.

Looks like some funky line breaking?


Whether you are using Generative AI or not, keep the following principles in mind for the quality
of your contribution:

- Consider whether the change is necessary
- Make minimal, focused changes
- Follow existing coding style and patterns
- Write tests that exercise the change

Acceptable uses
===============
Expand All @@ -21,20 +39,10 @@ Some of the acceptable uses of generative AI include:
Unacceptable uses
=================

Maintainers may close issues and PRs that are not useful or productive, including
those that are fully generated by AI. If a contributor repeatedly opens unproductive
issues or PRs, they may be blocked.
Maintainers may close issues and PRs that are not useful or productive, regardless of whether
AI was used or not.

Considerations for success
==========================
- While AI assisted tools such as autocompletion can enhance productivity, they sometimes rewrite entire code blocks instead of making small, focused edits.
This can make it more difficult to review changes and to fully understand both the original intent of the code and the rationale behind the new modifications.
Maintaining consistency with the original code helps preserve clarity, traceability, and meaningful reviews and also helps us avoid unnecessary code churn.
- Sometimes AI assisted tools make failing unit tests pass by altering or bypassing the tests rather than addressing the underlying problem in the code.
Such changes do not represent a real fix. Authors must review the work done by AI tooling in detail to ensure it actually makes sense before proposing it as a PR.
- Keep the following principles for the quality of your contributions in mind whether you use generative AI or not:

- Consider whether the change is necessary
- Make minimal, focused changes
- Follow existing coding style and patterns
- Write tests that exercise the change
If a contributor repeatedly opens unproductive issues or PRs, they may be blocked.

Sometimes AI assisted tools make failing unit tests pass by altering or bypassing the tests rather than addressing the
underlying problem in the code. Such changes do not represent a real fix and are not acceptable.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this just GitHub rendering but the line break here looks a little funky?

2 changes: 2 additions & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ Guide for contributing to Python:
* :ref:`rst-primer`
* :ref:`translating`
* :ref:`devguide`
* :ref:`generative-ai`
-
* :ref:`setup`
* :ref:`help`
Expand All @@ -49,6 +50,7 @@ Guide for contributing to Python:
* :ref:`communication`
* :ref:`gitbootcamp`
* :ref:`devcycle`
* :ref:`generative-ai`
-
* :ref:`tracker`
* :ref:`triaging`
Expand Down
Loading