alamb commented on code in PR #18237:
URL: https://github.com/apache/datafusion/pull/18237#discussion_r2457346517


##########
docs/source/contributor-guide/index.md:
##########
@@ -175,3 +175,27 @@ The good thing about open code and open development is 
that any issues in one ch
 
 Pull requests will be marked with a `stale` label after 60 days of inactivity 
and then closed 7 days after that.
 Commenting on the PR will remove the `stale` label.
+
+## AI-Assisted contributions
+
+DataFusion has the following policy for AI-assisted PRs:
+
+- The PR author should **understand the core ideas** behind the implementation 
**end-to-end**, and is able to defend the design and code during review.
+- **Calls out unknowns and assumptions**. It's okay to not fully understand 
some bits of AI generated code. You should comment on these cases and point 
them out to reviewers so that they can use their knowledge of the codebase to 
clear up any concerns. For example, you might comment "calling this function 
here seems to work but I'm not familiar with how it works internally, I wonder 
if there's a race condition if it is called concurrently".
+
+### Why fully AI-generated PRs without understanding are not helpful
+
+Today, AI tools cannot reliably make complex changes to DataFusion on their 
own, which is why we rely on pull requests and code review.
+
+The purposes of code review are:
+
+1. Finish the intended task.
+2. Share knowledge between authors and reviewers, as a long-term investment in 
the project. For this reason, even if someone familiar with the codebase can 
finish a task quickly, we're still happy to help a new contributor work on it 
even if it takes longer.
+
+An AI dump for an issue doesn’t meet these purposes. Maintainers could finish 
the task faster by using AI directly, and little knowledge is shared if the 
author does not intend to understand the solution.

Review Comment:
   I really liked how you described such PRs on 
https://github.com/apache/datafusion/issues/18095#issuecomment-3434939345. 
Specifically that code reviews where the submitter is acting as a human proxy 
for an AI adds no value for either the submitter or reviewer
   
   > This doesn’t work for fully AI-generated PRs without understanding, 
because reviewers are mostly prompting through a pass-through human proxy. 
   
   Maybe we can work that in too
   
   ```suggestion
   An AI dump for an issue doesn’t meet these purposes. Maintainers could 
finish the task faster by using AI directly, and the submitters gain little 
knowledge if they act only as a pass through AI proxy without understanding.
   ```



##########
docs/source/contributor-guide/index.md:
##########
@@ -175,3 +175,27 @@ The good thing about open code and open development is 
that any issues in one ch
 
 Pull requests will be marked with a `stale` label after 60 days of inactivity 
and then closed 7 days after that.
 Commenting on the PR will remove the `stale` label.
+
+## AI-Assisted contributions
+
+DataFusion has the following policy for AI-assisted PRs:
+
+- The PR author should **understand the core ideas** behind the implementation 
**end-to-end**, and is able to defend the design and code during review.
+- **Calls out unknowns and assumptions**. It's okay to not fully understand 
some bits of AI generated code. You should comment on these cases and point 
them out to reviewers so that they can use their knowledge of the codebase to 
clear up any concerns. For example, you might comment "calling this function 
here seems to work but I'm not familiar with how it works internally, I wonder 
if there's a race condition if it is called concurrently".
+
+### Why fully AI-generated PRs without understanding are not helpful
+
+Today, AI tools cannot reliably make complex changes to DataFusion on their 
own, which is why we rely on pull requests and code review.
+
+The purposes of code review are:
+
+1. Finish the intended task.
+2. Share knowledge between authors and reviewers, as a long-term investment in 
the project. For this reason, even if someone familiar with the codebase can 
finish a task quickly, we're still happy to help a new contributor work on it 
even if it takes longer.
+
+An AI dump for an issue doesn’t meet these purposes. Maintainers could finish 
the task faster by using AI directly, and little knowledge is shared if the 
author does not intend to understand the solution.
+
+Please understand the reviewing capacity is **very limited** for the project, 
so such PRs might be closed or get redirected.

Review Comment:
   Since we don't actually close PRs very often, I predict what will happen is 
the PRs will just stall b/c too much review capacity is needed
   
   ```suggestion
   Please understand the reviewing capacity is **very limited** for the 
project,  so large PRs which appear to not have the requisite understanding 
might not get reviewed, and eventually closed or redirected.
   ```



##########
docs/source/contributor-guide/index.md:
##########
@@ -175,3 +175,27 @@ The good thing about open code and open development is 
that any issues in one ch
 
 Pull requests will be marked with a `stale` label after 60 days of inactivity 
and then closed 7 days after that.
 Commenting on the PR will remove the `stale` label.
+
+## AI-Assisted contributions
+
+DataFusion has the following policy for AI-assisted PRs:
+
+- The PR author should **understand the core ideas** behind the implementation 
**end-to-end**, and is able to defend the design and code during review.

Review Comment:
   nit: Maybe we could also use the phrase "**justify** the design and code 
during review" (defend makes it sound to me like we will be attacking the 
contributor, but I think that is a fairly nuanced opinion)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to