Skip to content

Commit 3a8f4bc

Browse files
authored
Merge pull request #87 from sammancoaching/ROSE-learning-hour
! F Add ROSE Feedback learning hour
2 parents 8959c26 + 176f105 commit 3a8f4bc

4 files changed

Lines changed: 742 additions & 0 deletions

File tree

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
theme: agentic_engineering
3+
name: rose_feedback
4+
title: ROSE Feedback
5+
kata: tennis
6+
difficulty: 2
7+
author: devill
8+
tags: agentic feedback prompting
9+
---
10+
11+
# {{ page.title}}
12+
13+
When giving feedback to an AI, focusing only on the desired action risks the AI not understanding your goal and finding solutions that feel like malicious compliance. Emphasising the risks and the desired outcomes leads to better results.
14+
15+
## Learning Goals
16+
17+
* Recognise the four elements of ROSE feedback in a prompt: Risk, Observation, Solution, Expected outcome.
18+
* Write ROSE feedback that steers an agent's solution towards what you actually want.
19+
20+
## Session Outline
21+
22+
* 10 min connect: Blind drawing
23+
* 5 min concept: The ROSE feedback pattern
24+
* 10 min concrete: Active reading
25+
* 25 min concrete: Write ROSE prompts for the Tennis kata
26+
* 10 min conclusions: Explain the main idea
27+
28+
### Connect: Blind drawing
29+
30+
Ask participants to grab some sticky notes and draw these things in sequence:
31+
32+
1. Draw a horizontal line at the bottom
33+
2. Above it draw two rectangles inside each other
34+
3. Above that draw a triangle
35+
4. Next to the triangle draw a large circle
36+
37+
Congratulate the team on the amazing artworks, and reveal the image you've been describing:
38+
39+
![The target drawing](../../assets/images/blind_drawing_exercise.png){:.centered-image}
40+
41+
Ask the team:
42+
* What went wrong? Why did you end up with very different results?
43+
* What did I *not* tell you that would have made our drawings match?
44+
45+
The point: the same gap appears when you give a coding agent solution-focused feedback. The agent is not aware of your goal, so it follows the actions faithfully yet still misses the goal.
46+
47+
### Concept: The ROSE feedback pattern
48+
49+
Use ROSE once the agent has already produced a solution, but you want it to change something.
50+
51+
- **Risk**: the long-term consequence or negative impact of the current approach. (*e.g. "Brittle, hard-to-read tests lead to a maintenance burden."*)
52+
- **Observation**: what you see in the code or work that causes that risk. (*e.g. "Repetitive mock setups show up in every test as irrelevant detail."*)
53+
- **Solution**: the specific action you want the agent to take. (*e.g. "Where the class has no side effects, use it directly; otherwise replace the mock with a stateful fake."*)
54+
- **Expected outcome**: what success looks like - the benefit you expect. (*e.g. "The tests get shorter and easier to read."*)
55+
56+
The elements don't have to appear in R-O-S-E order, and you won't always need all four. Most people include only the Solution in the prompt.
57+
58+
Observation can be phrased as "Look at the selected line" when the agent supports reading code selected in the IDE.
59+
60+
Distinction between Risk and Expected outcome:
61+
- Risk focuses on tangible negative impacts that are typically long-term and may not necessarily materialise.
62+
- Expected outcome focuses on immediate benefits or changes in metrics that the agent can easily validate.
63+
64+
### Concrete: ROSE in practice
65+
66+
#### Active reading (10 min)
67+
68+
Grab four different coloured highlighters and label the **R**isk, **O**bservation, **S**olution and **E**xpected outcome parts of each prompt.
69+
70+
Use this handout for the prompts: [Open full size](../../assets/images/rose_pattern_handout.svg){:target="_blank" rel="noopener"}
71+
72+
![Handout: the ROSE pattern with example prompts to highlight](../../assets/images/rose_pattern_handout.svg){:.centered-image}
73+
74+
75+
**Note to the facilitator:** It's not that important if participants highlight each section correctly. The purpose of the exercise is to make them analyse each prompt actively. Nonetheless, encourage them at the end by saying that they did a good job.
76+
77+
#### Write ROSE prompts for the Tennis kata (25 min)
78+
79+
1. Open [TennisGame2 from the Tennis Refactoring Kata]({% link _kata_descriptions/tennis.md %}) and read the code.
80+
2. Identify some issues with the code.
81+
3. Treating the code as output you received from an agent, write a ROSE-structured prompt to give the agent feedback.
82+
4. *(Optional, if time allows)* Send your prompt to a coding agent and see whether it steers the result the way you intended.
83+
84+
### Conclusions: Explain the main idea
85+
86+
Ask people to [explain the main idea]({% link _activities/conclusions/explain_main_idea.md %}) of the ROSE feedback pattern in their own words, for example:
87+
88+
* What does each letter of ROSE add to a prompt?
52.8 KB
Loading

0 commit comments

Comments
 (0)