@@ -89,7 +89,11 @@ function translateAnthropicMessagesToOpenAI(
8989 modelId : string ,
9090 thinkingBudget : number | undefined ,
9191) : Array < Message > {
92- const systemMessages = handleSystemPrompt ( payload . system , modelId )
92+ const systemMessages = handleSystemPrompt (
93+ payload . system ,
94+ modelId ,
95+ thinkingBudget ,
96+ )
9397 const otherMessages = payload . messages . flatMap ( ( message ) =>
9498 message . role === "user" ?
9599 handleUserMessage ( message )
@@ -98,7 +102,8 @@ function translateAnthropicMessagesToOpenAI(
98102 if ( modelId . startsWith ( "claude" ) && thinkingBudget ) {
99103 const thinkingMessage = {
100104 role : "user" ,
101- content : "Please strictly follow Interleaved thinking" ,
105+ content :
106+ "<system-reminder>Please strictly follow Interleaved thinking</system-reminder>" ,
102107 } as Message
103108 return [ ...systemMessages , thinkingMessage , ...otherMessages ]
104109 }
@@ -108,19 +113,21 @@ function translateAnthropicMessagesToOpenAI(
108113function handleSystemPrompt (
109114 system : string | Array < AnthropicTextBlock > | undefined ,
110115 modelId : string ,
116+ thinkingBudget : number | undefined ,
111117) : Array < Message > {
112118 if ( ! system ) {
113119 return [ ]
114120 }
115121
116- let extraPrompt = `
117- ## Interleaved thinking
118- - Interleaved thinking is enabled
119- - You MUST think after receiving tool results before deciding the next action or final answer.
120- `
121- if ( ! modelId . startsWith ( "claude" ) ) {
122- extraPrompt = ""
122+ let extraPrompt = ""
123+ if ( modelId . startsWith ( "claude" ) && thinkingBudget ) {
124+ extraPrompt = `
125+ ## Interleaved thinking
126+ - Interleaved thinking is enabled
127+ - You MUST think after receiving tool results before deciding the next action or final answer.
128+ `
123129 }
130+
124131 if ( typeof system === "string" ) {
125132 return [ { role : "system" , content : system + extraPrompt } ]
126133 } else {
0 commit comments