From a86384334b75c01280e2993af1f3618c1e92a3b4 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 21 Dec 2025 19:02:37 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20optimize=20prompt=20evaluat?= =?UTF-8?q?ion=20loop=20to=20skip=20redundant=20calls=20(#152)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Avoid re-evaluating the current prompt if metrics are already available from the previous iteration. - Pass metrics from the best variation to the next iteration. - Reduces N-1 expensive LLM calls in an N-iteration optimization loop. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> --- .../scripts/optimize-prompt.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/llm-application-dev/skills/prompt-engineering-patterns/scripts/optimize-prompt.py b/plugins/llm-application-dev/skills/prompt-engineering-patterns/scripts/optimize-prompt.py index 97159f8..5357b6c 100644 --- a/plugins/llm-application-dev/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +++ b/plugins/llm-application-dev/skills/prompt-engineering-patterns/scripts/optimize-prompt.py @@ -106,12 +106,18 @@ class PromptOptimizer: current_prompt = base_prompt best_prompt = base_prompt best_score = 0 + current_metrics = None for iteration in range(max_iterations): print(f"\nIteration {iteration + 1}/{max_iterations}") # Evaluate current prompt - metrics = self.evaluate_prompt(current_prompt) + # Bolt Optimization: Avoid re-evaluating if we already have metrics from previous iteration + if current_metrics: + metrics = current_metrics + else: + metrics = self.evaluate_prompt(current_prompt) + print(f"Accuracy: {metrics['avg_accuracy']:.2f}, Latency: {metrics['avg_latency']:.2f}s") # Track results @@ -137,14 +143,17 @@ class PromptOptimizer: # Test variations and pick best best_variation = current_prompt best_variation_score = metrics['avg_accuracy'] + best_variation_metrics = metrics for variation in variations: var_metrics = self.evaluate_prompt(variation) if var_metrics['avg_accuracy'] > best_variation_score: best_variation_score = var_metrics['avg_accuracy'] best_variation = variation + best_variation_metrics = var_metrics current_prompt = best_variation + current_metrics = best_variation_metrics return { 'best_prompt': best_prompt,