-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix issue #4181: 'Prompting best practices documentation'
- Loading branch information
1 parent
1abfd3b
commit 34c77a1
Showing
2 changed files
with
44 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Prompting Best Practices | ||
|
||
When working with OpenHands AI software developer, it's crucial to provide clear and effective prompts. This guide outlines best practices for creating prompts that will yield the most accurate and useful responses. | ||
|
||
## Characteristics of Good Prompts | ||
|
||
Good prompts are: | ||
|
||
1. **Concrete**: They explain exactly what functionality should be added or what error needs to be fixed. | ||
2. **Location-specific**: If known, they explain the locations in the code base that should be modified. | ||
3. **Appropriately scoped**: They should be the size of a single feature, typically not exceeding 100 lines of code. | ||
|
||
## Examples | ||
|
||
### Good Prompt Examples | ||
|
||
1. "Add a function `calculate_average` in `utils/math_operations.py` that takes a list of numbers as input and returns their average." | ||
|
||
2. "Fix the TypeError in `frontend/src/components/UserProfile.tsx` occurring on line 42. The error suggests we're trying to access a property of undefined." | ||
|
||
3. "Implement input validation for the email field in the registration form. Update `frontend/src/components/RegistrationForm.tsx` to check if the email is in a valid format before submission." | ||
|
||
### Bad Prompt Examples | ||
|
||
1. "Make the code better." (Too vague, not concrete) | ||
|
||
2. "Rewrite the entire backend to use a different framework." (Not appropriately scoped) | ||
|
||
3. "There's a bug somewhere in the user authentication. Can you find and fix it?" (Lacks specificity and location information) | ||
|
||
## Tips for Effective Prompting | ||
|
||
1. Be as specific as possible about the desired outcome or the problem to be solved. | ||
2. Provide context, including relevant file paths and line numbers if available. | ||
3. Break down large tasks into smaller, manageable prompts. | ||
4. Include any relevant error messages or logs. | ||
5. Specify the programming language or framework if it's not obvious from the context. | ||
|
||
Remember, the more precise and informative your prompt is, the better the AI can assist you in developing or modifying the OpenHands software. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters