Week 2 · Lesson 1 · AI Evals for Product Dev Shane Butler · AI Analyst Lab
<div style="background: rgba(217,119,6,0.08); border: 2px solid var(--dk-accent); border-radius: 10px; padding: 16px;"> <div style="font-size: 16px; font-weight: 700; color: var(--dk-accent-light); margin-bottom: 8px;">prompt_template_version</div> <div style="font-size: 16px; color: var(--dk-text-secondary); margin-bottom: 12px;">Track prompt changes</div> <div style="font-size: 14px; font-family: monospace; background: var(--dk-elevated); padding: 8px; border-radius: 6px;"> <div style="color: var(--dk-text-muted);">before T: v2.3</div> <div style="color: var(--dk-accent-light); margin-top: 4px; font-weight: 700;">after T: v2.4</div> </div> <div style="margin-top: 8px; font-size: 16px; font-weight: 700; color: var(--dk-accent-light); text-align: center;">← CHANGED</div> </div> <div style="background: var(--dk-surface); border: 1px solid var(--dk-border); border-radius: 10px; padding: 16px;"> <div style="font-size: 16px; font-weight: 700; color: var(--dk-text); margin-bottom: 8px;">retrieval_config_version</div> <div style="font-size: 16px; color: var(--dk-text-secondary); margin-bottom: 12px;">Track retrieval config</div> <div style="font-size: 14px; font-family: monospace; background: var(--dk-elevated); padding: 8px; border-radius: 6px;"> <div style="color: var(--dk-text-muted);">before T: v1.1</div> <div style="color: var(--dk-text-muted); margin-top: 4px;">after T: v1.1</div> </div> <div style="margin-top: 8px; font-size: 16px; color: var(--dk-text-secondary); text-align: center;">✓ unchanged</div> </div>
<div style="margin-top: 12px; background: var(--dk-positive-bg); border-left: 3px solid var(--dk-positive); padding: 12px; border-radius: 4px;"> <div style="color: var(--dk-positive); font-weight: 700; margin-bottom: 4px;">generated_sql:</div> <div style="color: var(--dk-text-secondary); font-size: 16px;">SELECT revenue FROM sales s</div> <div style="color: var(--dk-text-secondary); font-size: 16px;">INNER JOIN regions</div> <div style="color: var(--dk-text-secondary); font-size: 16px;">ON s.region = regions.id <span style="color: var(--dk-positive); font-weight: 700;">← broken query</span></div> </div> <div style="margin-top: 12px; background: var(--dk-positive-bg); border-left: 3px solid var(--dk-positive); padding: 12px; border-radius: 4px;"> <div style="color: var(--dk-positive); font-weight: 700;">sql_error: <span style="font-weight: 400; color: var(--dk-text-secondary);">"column regions.id does not exist"</span></div> </div> <div style="color: var(--dk-negative); margin-top: 12px; font-weight: 700;"><span style="color: var(--dk-accent-light); font-weight: 400;">sql_success:</span> false</div>
<div> <div style="font-size: 16px; font-weight: 700; color: var(--dk-accent-light); margin-bottom: 16px; text-align: center;">v1 Schema</div> <div style="background: var(--dk-surface); border: 2px solid var(--dk-accent); border-radius: 12px; padding: 20px;"> <div style="display: flex; flex-direction: column; gap: 8px;"> <div style="background: var(--dk-accent); height: 40px; border-radius: 6px; width: 100%; display: flex; align-items: center; padding: 0 12px; font-size: 16px; color: var(--dk-bg); font-weight: 700;">Correlation IDs →</div> <div style="background: var(--dk-accent-secondary); height: 40px; border-radius: 6px; width: 100%; display: flex; align-items: center; padding: 0 12px; font-size: 16px; color: var(--dk-bg); font-weight: 700;">Version metadata →</div> <div style="background: var(--dk-accent-light); height: 40px; border-radius: 6px; width: 100%; display: flex; align-items: center; padding: 0 12px; font-size: 16px; color: var(--dk-bg); font-weight: 700;">Pipeline observability →</div> <div style="background: #F0A060; height: 40px; border-radius: 6px; width: 100%; display: flex; align-items: center; padding: 0 12px; font-size: 16px; color: var(--dk-bg); font-weight: 700;">Join keys →</div> </div> <div style="margin-top: 16px; text-align: center; font-size: 16px; color: var(--dk-accent-light); font-weight: 700;">15+ fields (100%)</div> </div> </div>
<div style="text-align: center;"> <div style="background: var(--dk-negative-bg); border: 2px solid var(--dk-negative); border-radius: 8px; padding: 12px 16px; white-space: nowrap; font-size: 16px; font-weight: 700; color: var(--dk-negative); margin-bottom: 8px;"> Gap: old traces don't have new fields </div> <div style="font-size: 16px; color: var(--dk-text-muted);"> Can't backfill → tracking trends over time breaks </div> </div> <div style="text-align: center;"> <div style="font-size: 16px; font-weight: 700; color: var(--dk-text-secondary); margin-bottom: 8px;">Present</div> <div style="background: var(--dk-surface); border: 1px solid var(--dk-accent); border-radius: 8px; padding: 16px; width: 240px;"> <div style="font-size: 16px; color: var(--dk-accent-light); margin-bottom: 8px;">New fields added</div> <div style="font-family: monospace; font-size: 16px; color: var(--dk-text-secondary);">trace_id<br>user_query<br>final_output<br><span style="color: var(--dk-accent-light);">session_id<br>generated_sql</span></div> </div> </div>