diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md
index 1ae903b3..ec63c1b4 100644
--- a/docs/docs/tools/improve.md
+++ b/docs/docs/tools/improve.md
@@ -98,6 +98,28 @@ the tool can automatically approve the PR when the user checks the self-review c
{width=512}
+### How many code suggestions are generated?
+PR-Agent uses a dynamic strategy to generate code suggestions based on the size of the pull request (PR). Here's how it works:
+
+1. Chunking large PRs:
+
+ - PR-Agent divides large PRs into 'chunks'.
+ - Each chunk contains up to `pr_code_suggestions.max_context_tokens` tokens (default: 14,000).
+
+
+2. Generating suggestions:
+
+ - For each chunk, PR-Agent generates up to `pr_code_suggestions.num_code_suggestions_per_chunk` suggestions (default: 4).
+
+
+This approach has two main benefits:
+
+- Scalability: The number of suggestions scales with the PR size, rather than being fixed.
+- Quality: By processing smaller chunks, the AI can maintain higher quality suggestions, as larger contexts tend to decrease AI performance.
+
+Note: Chunking is primarily relevant for large PRs. For most PRs (up to 500 lines of code), PR-Agent will be able to process the entire code in a single call.
+
+
### 'Extra instructions' and 'best practices'
#### Extra instructions
@@ -170,18 +192,10 @@ Using a combination of both can help the AI model to provide relevant and tailor
??? example "General options"
-
- num_code_suggestions |
- Number of code suggestions provided by the 'improve' tool. Default is 4 for CLI, 0 for auto tools. |
-
extra_instructions |
Optional extra instructions to the tool. For example: "focus on the changes in the file X. Ignore change in ...". |
-
- rank_suggestions |
- If set to true, the tool will rank the suggestions, based on importance. Default is false. |
-
commitable_code_suggestions |
If set to true, the tool will display the suggestions as commitable code comments. Default is false. |
@@ -212,29 +226,25 @@ Using a combination of both can help the AI model to provide relevant and tailor
-??? example "params for 'extended' mode"
+??? example "Params for number of suggestions and AI calls"
auto_extended_mode |
- Enable extended mode automatically (no need for the --extended option). Default is true. |
+ Enable chunking the PR code and running the tool on each chunk. Default is true. |
num_code_suggestions_per_chunk |
- Number of code suggestions provided by the 'improve' tool, per chunk. Default is 5. |
+ Number of code suggestions provided by the 'improve' tool, per chunk. Default is 4. |
+
+
+ max_number_of_calls |
+ Maximum number of chunks. Default is 3. |
rank_extended_suggestions |
If set to true, the tool will rank the suggestions, based on importance. Default is true. |
-
- max_number_of_calls |
- Maximum number of chunks. Default is 5. |
-
-
- final_clip_factor |
- Factor to remove suggestions with low confidence. Default is 0.9. |
-
## A note on code suggestions quality
diff --git a/docs/docs/usage-guide/automations_and_usage.md b/docs/docs/usage-guide/automations_and_usage.md
index b3d92fcd..0f780d80 100644
--- a/docs/docs/usage-guide/automations_and_usage.md
+++ b/docs/docs/usage-guide/automations_and_usage.md
@@ -175,10 +175,10 @@ By uploading a local `.pr_agent.toml` file to the root of the repo's main branch
For example, if your local `.pr_agent.toml` file contains:
```
[pr_reviewer]
-inline_code_comments = true
+extra_instructions = "Answer in japanese"
```
-Each time you invoke a `/review` tool, it will use inline code comments.
+Each time you invoke a `/review` tool, it will use the extra instructions you set in the local configuration file.
Note that among other limitations, BitBucket provides relatively low rate-limits for applications (up to 1000 requests per hour), and does not provide an API to track the actual rate-limit usage.
diff --git a/pr_agent/settings/configuration.toml b/pr_agent/settings/configuration.toml
index 9655c95d..0ce19ca6 100644
--- a/pr_agent/settings/configuration.toml
+++ b/pr_agent/settings/configuration.toml
@@ -108,7 +108,6 @@ enable_help_text=false
[pr_code_suggestions] # /improve #
max_context_tokens=14000
-num_code_suggestions=4
commitable_code_suggestions = false
extra_instructions = ""
rank_suggestions = false
diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py
index 828d7d33..2d4cfea8 100644
--- a/pr_agent/tools/pr_code_suggestions.py
+++ b/pr_agent/tools/pr_code_suggestions.py
@@ -44,10 +44,8 @@ class PRCodeSuggestions:
self.is_extended = self._get_is_extended(args or [])
except:
self.is_extended = False
- if self.is_extended:
- num_code_suggestions = get_settings().pr_code_suggestions.num_code_suggestions_per_chunk
- else:
- num_code_suggestions = get_settings().pr_code_suggestions.num_code_suggestions
+ num_code_suggestions = get_settings().pr_code_suggestions.num_code_suggestions_per_chunk
+
self.ai_handler = ai_handler()
self.ai_handler.main_pr_language = self.main_language
@@ -601,7 +599,6 @@ class PRCodeSuggestions:
if get_settings().pr_code_suggestions.final_clip_factor != 1:
max_len = max(
len(data_sorted),
- get_settings().pr_code_suggestions.num_code_suggestions,
get_settings().pr_code_suggestions.num_code_suggestions_per_chunk,
)
new_len = int(0.5 + max_len * get_settings().pr_code_suggestions.final_clip_factor)