Files
Guido.Tech/ai_intelligence_layer/prompts/__pycache__/analyze_prompt.cpython-313.pyc

305 lines
18 KiB
Plaintext
Raw Normal View History

2025-10-18 22:36:20 -05:00
<EFBFBD>
Y<>h<EFBFBD>7<00><00><><00>SrSSKJr SSKJrJrJr SSKJr SSK J
r
S\\S\S\\S \ 4S
jr S\\S\S\\S \ 4S jr g ) z(
Prompt template for strategy analysis.
<EFBFBD>)<01>List)<03>EnrichedTelemetryWebhook<6F> RaceContext<78>Strategy)<01>TelemetryAnalyzer)<01> get_settings<67>enriched_telemetry<72> race_context<78>
strategies<EFBFBD>returnc<00><><00>[USS9n[R"U5n[R"XRR
5nUSSVs/sHTnSUR SURSURSURS URS URS
3 PMV nnS R/S P[U5PS PURRPSPURR PSPURR
PSPURR"PSPURR$PSPUR&SPSPUPSPUR(SPSPUR*SPSPUR,SPSP[/S5RU5PSPUR&SPSPUR(SPSPUR*SPSPUR,SPSP5$s snf)z,Build a faster, more concise analyze prompt.c<00><00>UR$<00>N<><01>lap<61><01>xs <20>_/Users/rishubmadhav/Documents/GitHub/HPCSimSite/ai_intelligence_layer/prompts/analyze_prompt.py<70><lambda><3E>+build_analyze_prompt_fast.<locals>.<lambda><00><00><00>1<EFBFBD>5<EFBFBD>5<EFBFBD><00><01>keyN<79><00>#z: <20> (z -stop, laps z, <20>)<29>zAnalyze z! strategies and select TOP 3 for z at z.
CURRENT: Lap <20>/z, Pz
TELEMETRY: Tire deg z.2fz (cliff lap z), Aero z, Fuel z , Driver z
STRATEGIES:
<EFBFBD>
a 
Select TOP 3:
1. RECOMMENDED (highest podium %)
2. ALTERNATIVE (viable backup)
3. CONSERVATIVE (safest)
Return JSON in this EXACT format:
{
"top_strategies": [
{
"rank": 1,
"strategy_id": 7,
"strategy_name": "Strategy Name",
"classification": "RECOMMENDED",
"predicted_outcome": {
"finish_position_most_likely": 3,
"p1_probability": 10,
"p2_probability": 25,
"p3_probability": 40,
"p4_or_worse_probability": 25,
"confidence_score": 75
},
"risk_assessment": {
"risk_level": "medium",
"key_risks": ["Risk 1", "Risk 2"],
"success_factors": ["Factor 1", "Factor 2"]
},
"telemetry_insights": {
"tire_wear_projection": "Tire analysis based on z#",
"aero_status": "Aero at z#",
"fuel_margin": "Fuel at z%",
"driver_form": "Driver at a<> "
},
"engineer_brief": {
"title": "Brief title",
"summary": "One sentence",
"key_points": ["Point 1", "Point 2"],
"execution_steps": ["Step 1", "Step 2"]
},
"driver_audio_script": "Radio message to driver",
"ecu_commands": {
"fuel_mode": "RICH",
"ers_strategy": "AGGRESSIVE_DEPLOY",
"engine_mode": "PUSH",
"brake_balance_adjustment": 0,
"differential_setting": "BALANCED"
}
},
{
"rank": 2,
"strategy_id": 12,
"strategy_name": "Alternative",
"classification": "ALTERNATIVE",
"predicted_outcome": {"finish_position_most_likely": 4, "p1_probability": 5, "p2_probability": 20, "p3_probability": 35, "p4_or_worse_probability": 40, "confidence_score": 70},
"risk_assessment": {"risk_level": "medium", "key_risks": ["Risk 1"], "success_factors": ["Factor 1"]},
"telemetry_insights": {"tire_wear_projection": "...", "aero_status": "...", "fuel_margin": "...", "driver_form": "..."},
"engineer_brief": {"title": "...", "summary": "...", "key_points": ["..."], "execution_steps": ["..."]},
"driver_audio_script": "...",
"ecu_commands": {"fuel_mode": "STANDARD", "ers_strategy": "BALANCED", "engine_mode": "STANDARD", "brake_balance_adjustment": 0, "differential_setting": "BALANCED"}
},
{
"rank": 3,
"strategy_id": 3,
"strategy_name": "Conservative",
"classification": "CONSERVATIVE",
"predicted_outcome": {"finish_position_most_likely": 5, "p1_probability": 2, "p2_probability": 15, "p3_probability": 28, "p4_or_worse_probability": 55, "confidence_score": 80},
"risk_assessment": {"risk_level": "low", "key_risks": ["Risk 1"], "success_factors": ["Factor 1", "Factor 2"]},
"telemetry_insights": {"tire_wear_projection": "...", "aero_status": "...", "fuel_margin": "...", "driver_form": "..."},
"engineer_brief": {"title": "...", "summary": "...", "key_points": ["..."], "execution_steps": ["..."]},
"driver_audio_script": "...",
"ecu_commands": {"fuel_mode": "LEAN", "ers_strategy": "CONSERVATIVE", "engine_mode": "SAVE", "brake_balance_adjustment": 0, "differential_setting": "CONSERVATIVE"}
}
],
"situational_context": {
"critical_decision_point": "Key decision info",
"telemetry_alert": "Important telemetry status",
"key_assumption": "Main assumption",
"time_sensitivity": "Timing requirement"
}
})<18>maxr<00>calculate_tire_degradation_rate<74>project_tire_cliff<66> race_info<66> current_lap<61> strategy_id<69> strategy_name<6D>
stop_count<EFBFBD>pit_laps<70> tire_sequence<63>
risk_level<EFBFBD>join<69>len<65> driver_state<74> driver_name<6D>
track_name<EFBFBD>
total_laps<EFBFBD>current_position<6F>tire_degradation_index<65>aero_efficiency<63>fuel_optimization_score<72>driver_consistency<63>chr)r r
r <00>latest<73> tire_rate<74>
tire_cliff<EFBFBD>s<>strategies_summarys r<00>build_analyze_prompt_fastr>
sy<00><00> <11>#<23><1F> 9<>F<EFBFBD>!<21>A<>A<>BT<42>U<>I<EFBFBD>"<22>5<>5<>6H<36>J`<60>J`<60>Jl<4A>Jl<4A>m<>J<EFBFBD>Wa<02>be<02>ce<02>Wf<02>g<02>Wf<02>RS<02>A<EFBFBD>a<EFBFBD>m<EFBFBD>m<EFBFBD>_<EFBFBD>B<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>.?<3F>r<EFBFBD>!<21>,<2C>,<2C><1E>|<7C>\]<5D>\f<>\f<>[g<>gi<67>jk<6A>jy<6A>jy<6A>iz<69>z|<7C>}~<7E>~J<02>~J<02>}K<02>KL<02>M<02>Wf<02><16>g<02>V <06>V <06>x<EFBFBD>V <06><03>J<EFBFBD><0F>(<28>V <06>(I<>V <06>,<2C>Jc<4A>Jc<4A>Jo<4A>Jo<4A>Ip<49>V <06>pt<70>V <06>vB<02>vL<02>vL<02>vW<02>vW<02>uX<02>V <06>X<0E>V <06><1A>$<24>$<24>0<>0<> 1<>V <06>12<31>V <06>3?<3F>3I<33>3I<33>3T<33>3T<33>2U<32>V <06>UX<55>V <06>Ye<59>Yr<59>Yr<59>ZD<02>ZD<02>YE<02>V <06>E<15>V <06><1C>2<>2<>3<EFBFBD>7<>V <06>8D<01>V <06>EO<01><<3C>V <06>PX<01>V <06>Y_<01>Xn<58>Xn<58>or<6F>Ws<57>V <06>t{<01>V <06>|B<02>|Z<02>|Z<02>[^<02>{_<02>V <06>_h<02>V <06>io<02>iB<03>iB<03>CF<03>hG<03>V <06>G<01>V <06> <05>R<EFBFBD><17><1C><1C> <20>!<21>"<22> V <06> #9<> V <06>F:@<01>9V<39>9V<39>WZ<57>8[<5B>GV <06>F\!<21>GV <06>H"(<28>!7<>!7<><03> <<3C>IV <06>H=!<21>IV <06>J"(<28>!?<3F>!?<3F><03> D<>KV <06>JE#<23>KV <06>L$*<2A>#<<3C>#<<3C>S<EFBFBD>"A<>MV <06>L0B<03>MV <06>V<06><>gs<00>AG0c <00><><00>[R"U5n[R"U5n[R"UURR
5n[R "U5n[R"U5n[R"U5n[R"U5n [USS9n
/n UHmn U RU RU RU RU RU R U R"U R$U R&S.5 Mo /n UR(HVnU RUR*UR,UR.UR0[3UR4S5S.5 MX SR7/SPURR8PSPURR
PS PURR:PS
PURR<PS PUR>R@PS PUR>RBPS PUR>RDPSPUR>R0PSPUR>RFPSPU PSPUPSPU
RHSPSPUSPSPUPSPUSPSPUPSPU(aSOSPSPU PSP[KU 5PSPU PSPU
RHSPSPUSPS PUPS!PUSPS"PU
RLSPS#PU(aS$OS%PS&PUR>RFPS'PU
RNSPS(PU PS)PU
RPPS*PURR8PS+PUR>RBPS,PUR>R0PS-PUSPS.PU
RHSPS/PUPS0PUSPS1PUS2:<3A>aS3O US4:<3A>aS5OS6PS7PU
RLSPS8PU
RLS9:<3A>aS:OU
RLS4:<3A>aS;OS<PS=PU
RNSPS8PU PS>PU
RHSPS?PUPS@P5nU$)Az<41>
Build the analyze prompt for Gemini.
Args:
enriched_telemetry: Recent enriched telemetry data
race_context: Current race context
strategies: Strategies to analyze
Returns:
Formatted prompt string
c<00><00>UR$rrrs rr<00>&build_analyze_prompt.<locals>.<lambda><3E>rrr)r'r(r)r*r+<00>brief_descriptionr,<00>key_assumption<6F>)<05>position<6F>driver<65> tire_compound<6E> tire_age_laps<70> gap_secondsrz<>You are Stratega, expert F1 Chief Strategist AI. Analyze the 20 proposed strategies and select the TOP 3.
CURRENT RACE STATE:
Track: z
Current Lap: z / z
Weather: z
DRIVER STATE:
Driver: z
Position: Pz
Current Tires: rz laps old)
Fuel Remaining: z%
COMPETITORS:
z
TELEMETRY ANALYSIS:
z1
KEY METRICS:
- Current tire degradation index: z.3fz
- Tire degradation rate: z% per lap
- Projected tire cliff: Lap z
- Aero efficiency: z average
- ERS pattern: z
- Fuel critical: <20>YES<45>NOz
- Driver form: z
PROPOSED STRATEGIES (z total):
z\
ANALYSIS FRAMEWORK:
1. TIRE DEGRADATION PROJECTION:
- Current tire_degradation_index: z
- Rate of change: z6 per lap
- Performance cliff (0.85): Projected lap zu
- Strategies pitting before cliff = higher probability
2. AERO EFFICIENCY IMPACT:
- Current aero_efficiency: z<>
- If <0.7: Lap times degrading, prioritize earlier stops
- If >0.8: Car performing well, can extend stints
3. FUEL MANAGEMENT:
- Fuel optimization score: z
- Fuel critical: zYES - Must save fuelz NO - Can pushz
- Remaining: z3%
4. DRIVER CONSISTENCY:
- Driver consistency: z
- Form: z<>
- If <0.75: Higher margin for error needed, prefer conservative
- If >0.9: Can execute aggressive/risky strategies
5. WEATHER & TRACK POSITION:
- Weather impact: z
- Track: z[
- Overtaking difficulty consideration
6. COMPETITOR ANALYSIS:
- Current position: Pz
- Our tire age: a<> laps
- Compare with competitors for undercut/overcut opportunities
SELECTION CRITERIA:
- Rank 1 (RECOMMENDED): Highest probability of podium (P1-P3), balanced risk
- Rank 2 (ALTERNATIVE): Different approach, viable if conditions change
- Rank 3 (CONSERVATIVE): Safest option, minimize risk of finishing outside points
OUTPUT FORMAT (JSON only, no markdown):
{
"top_strategies": [
{
"rank": 1,
"strategy_id": 7,
"strategy_name": "Aggressive Undercut",
"classification": "RECOMMENDED",
"predicted_outcome": {
"finish_position_most_likely": 3,
"p1_probability": 8,
"p2_probability": 22,
"p3_probability": 45,
"p4_or_worse_probability": 25,
"confidence_score": 78
},
"risk_assessment": {
"risk_level": "medium",
"key_risks": [
"Requires pit stop under 2.5s",
"Traffic on out-lap could cost 3-5s"
],
"success_factors": [
"Tire degradation index trending at z<> per lap",
"Window open for undercut"
]
},
"telemetry_insights": {
"tire_wear_projection": "Current tire_degradation_index z, will hit 0.85 cliff by lap z+",
"aero_status": "aero_efficiency z - car performing g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>wellgffffff<66>?<3F>
adequately<EFBFBD>poorlyz3",
"fuel_margin": "fuel_optimization_score z - g333333<33>?z excellent, no fuel saving needed<65>adequatezcritical, fuel saving requiredz.",
"driver_form": "driver_consistency z<> confidence in execution"
},
"engineer_brief": {
"title": "Recommended: Strategy Name",
"summary": "One sentence summary with win probability",
"key_points": [
"Tire degradation accelerating: z index now, cliff projected lap a ",
"Key tactical consideration",
"Performance advantage analysis",
"Critical execution requirement"
],
"execution_steps": [
"Lap X: Action 1",
"Lap Y: Action 2",
"Lap Z: Expected outcome"
]
},
"driver_audio_script": "Clear radio message to driver about the strategy execution",
"ecu_commands": {
"fuel_mode": "RICH",
"ers_strategy": "AGGRESSIVE_DEPLOY",
"engine_mode": "PUSH",
"brake_balance_adjustment": 0,
"differential_setting": "BALANCED"
}
},
{
"rank": 2,
"strategy_id": 12,
"strategy_name": "Alternative Strategy",
"classification": "ALTERNATIVE",
"predicted_outcome": { "finish_position_most_likely": 4, "p1_probability": 5, "p2_probability": 18, "p3_probability": 38, "p4_or_worse_probability": 39, "confidence_score": 72 },
"risk_assessment": { "risk_level": "medium", "key_risks": ["Risk 1", "Risk 2"], "success_factors": ["Factor 1", "Factor 2"] },
"telemetry_insights": { "tire_wear_projection": "...", "aero_status": "...", "fuel_margin": "...", "driver_form": "..." },
"engineer_brief": { "title": "...", "summary": "...", "key_points": ["..."], "execution_steps": ["..."] },
"driver_audio_script": "...",
"ecu_commands": { "fuel_mode": "STANDARD", "ers_strategy": "BALANCED", "engine_mode": "STANDARD", "brake_balance_adjustment": 0, "differential_setting": "BALANCED" }
},
{
"rank": 3,
"strategy_id": 3,
"strategy_name": "Conservative Strategy",
"classification": "CONSERVATIVE",
"predicted_outcome": { "finish_position_most_likely": 5, "p1_probability": 2, "p2_probability": 10, "p3_probability": 25, "p4_or_worse_probability": 63, "confidence_score": 85 },
"risk_assessment": { "risk_level": "low", "key_risks": ["Risk 1"], "success_factors": ["Factor 1", "Factor 2", "Factor 3"] },
"telemetry_insights": { "tire_wear_projection": "...", "aero_status": "...", "fuel_margin": "...", "driver_form": "..." },
"engineer_brief": { "title": "...", "summary": "...", "key_points": ["..."], "execution_steps": ["..."] },
"driver_audio_script": "...",
"ecu_commands": { "fuel_mode": "STANDARD", "ers_strategy": "CONSERVATIVE", "engine_mode": "SAVE", "brake_balance_adjustment": 0, "differential_setting": "CONSERVATIVE" }
}
],
"situational_context": {
"critical_decision_point": "Next 3 laps crucial. Tire degradation index rising faster than expected.",
"telemetry_alert": "aero_efficiency status and any concerns",
"key_assumption": "Analysis assumes no safety car. If SC deploys, recommend boxing immediately.",
"time_sensitivity": "Decision needed within 2 laps to execute strategy effectively."
}
}))r<00>generate_telemetry_summaryr#r$r%r&<00>calculate_aero_efficiency_avg<76>analyze_ers_pattern<72>is_fuel_critical<61>assess_driver_formr"<00>appendr'r(r)r*r+rBr,rC<00> competitorsrErFrGrH<00>roundrIr-r1r2<00>weather_conditionr/r0r3<00>current_tire_compound<6E>fuel_remaining_percentr4r.r6r7<00>weather_impact)r r
r <00>telemetry_summaryr:<00>tire_cliff_lap<61>aero_avg<76> ers_pattern<72> fuel_critical<61> driver_formr9<00>strategies_datar<<00>competitors_data<74>c<>prompts r<00>build_analyze_promptrfos<><00><00>"*<2A>D<>D<>EW<45>X<><15>"<22>A<>A<>BT<42>U<>I<EFBFBD>&<26>9<>9<><1A><14><1E><1E>*<2A>*<2A><06>N<EFBFBD>!<21>><3E>><3E>?Q<>R<>H<EFBFBD>#<23>7<>7<>8J<38>K<>K<EFBFBD>%<25>6<>6<>7I<37>J<>M<EFBFBD>#<23>6<>6<>7I<37>J<>K<EFBFBD><11>#<23><1F> 9<>F<EFBFBD><19>O<EFBFBD> <17><01><17><1E><1E><1C>=<3D>=<3D><1E>_<EFBFBD>_<EFBFBD><1B>,<2C>,<2C><19>
<EFBFBD>
<EFBFBD><1E>_<EFBFBD>_<EFBFBD>!"<22>!4<>!4<><1B>,<2C>,<2C><1F>.<2E>.<2E>
<EFBFBD> <0B><18><1A><14> <19> %<25> %<25><01><18><1F><1F><19>
<EFBFBD>
<EFBFBD><17>h<EFBFBD>h<EFBFBD><1E>_<EFBFBD>_<EFBFBD><1E>_<EFBFBD>_<EFBFBD> <20><11><1D><1D><01>2<> !
<EFBFBD> <0B>&<26>^<06>^<06><08>^<06> <15><1E><1E>)<29>)<29>*<2A>^<06>+<0E>^<06><1B>$<24>$<24>0<>0<> 1<> ^<06>25<32> ^<06>6B<01>5K<35>5K<35>5V<35>5V<35>4W<34> ^<06>X
<EFBFBD> ^<06>
<17>
<20>
<20>
2<EFBFBD>
2<EFBFBD> 3<> ^<06>
4 <09> ^<06>
<16> "<22> "<22> .<2E> .<2E>/<2F>^<06>0 <0C>^<06> <19> %<25> %<25> 6<> 6<> 7<>^<06>8<10>^<06><1D>)<29>)<29>?<3F>?<3F>@<40>^<06>AC<01>^<06>DP<01>C\<5C>C\<5C>Cj<43>Cj<43>Bk<42>^<06>l<11>^<06><1E>*<2A>*<2A>A<>A<>B<>^<06>C<01>^<06><12><12>^<06><01>^<06>"<13><13>#^<06>"#<23>#^<06>($*<2A>#@<40>#@<40><13>"E<>)^<06>(F<1A>)^<06>*$<24>C<EFBFBD><1F>+^<06>*)<1D>+^<06>,,<2C>,<2C>-^<06>,-<14>-^<06>.<1D>S<EFBFBD>><3E>/^<06>."<10>/^<06>0<1C>}<7D>1^<06>0<12>1^<06>2)<29>%<25>d<EFBFBD>3<>3^<06>24<10>3^<06>4<1C>}<7D>5^<06>4<16>5^<06>8<1A>/<2F>*<2A>+<2B>9^<06>8,<01>9^<06>:<11><11>;^<06>:&<26>;^<06>D'-<2D>&C<>&C<>C<EFBFBD>%H<>E^<06>DI<16>E^<06>F <20><03>_<EFBFBD>G^<06>F%.<2E>G^<06>H/=<3D>-=<3D>I^<06>H><1F>I^<06>P (<28><03>n<EFBFBD>Q^<06>P-<1F>Q^<06>Z &<26>=<3D>=<3D>c<EFBFBD>B<>[^<06>ZC<15>[^<06>\0=<3D>+<2B>/<2F>R<>]^<06>\S<11>]^<06>^<1E>*<2A>*<2A>A<>A<>B<>_^<06>^C<1A>_^<06>d!<21>3<>3<>C<EFBFBD>8<>e^<06>d9 <0C>e^<06>f <18>=<3D>g^<06>f<16>g^<06>p<1D>+<2B>+<2B>,<2C>q^<06>p- <0A>q^<06>r<1A> #<23> #<23> .<2E> .<2E> /<2F>s^<06>r0<19>s^<06>z&<26>2<>2<>C<>C<>D<>{^<06>zE<14>{^<06>|!<21>-<2D>-<2D>;<3B>;<3B><<3C>}^<06>|=/<2F>}^<06>z09<30><13>o<EFBFBD>{^<06>z>A<01>{^<06>DBH<01>A^<5E>A^<5E>_b<5F>@c<>E^<06>DdA<02>E^<06>DBP<02>AQ<02>E^<06>DQ)<29>E^<06>F*2<>#<23><0E>G^<06>F7I<01>G^<06>FT\<01>^a<>Sa<53><16>w<77>CF<02>xF<02>gs<67>LT<02>IU<02>G^<06>FU1<>G^<06>H28<32>1O<31>1O<31>PS<50>0T<30>I^<06>HUX<01>I^<06>HE<02>]<02>]<02>`d<02>d<02>Xz<58>x~<02>xV<03>xV<03>Y\<03>x\<03>jt<02>bB<04>XC<04>I^<06>HC,<2C>I^<06>J-3<>,E<>,E<>c<EFBFBD>+J<>K^<06>JKN<01>K^<06>JOZ<01>]<5D>K^<06>J[+<2B>K^<06>V,2<>+H<>+H<><13>*M<>W^<06>VNn<01>W^<06>Vo}<01>m}<7D>W^<06>V3~<03>W^<06>F<EFBFBD>@ <12>MrN)<0E>__doc__<5F>typingr<00>models.input_modelsrrr<00>utils.validatorsr<00>configr<00>strr>rf<00>rr<00><module>rns<><00><01><04><18>O<>O<>.<2E><1F>b<06><1C>5<>6<>b<06><1D>b<06><15>X<EFBFBD><0E>b<06> <09> b<06>JZ<12><1C>5<>6<>Z<12><1D>Z<12><15>X<EFBFBD><0E>Z<12> <09> Zr