refactor: split changes in loop.go
This commit is contained in:
parent
dc256cc933
commit
51c6cfac97
1 changed files with 5 additions and 11 deletions
|
|
@ -1119,18 +1119,12 @@ func (al *AgentLoop) forceCompression(agent *AgentInstance, sessionKey string) {
|
|||
|
||||
// Append compression note to the original system prompt instead of adding a new system message
|
||||
// This avoids having two consecutive system messages which some APIs (like Zhipu) reject
|
||||
// Also avoid duplicate compression notes - check if already present
|
||||
enhancedSystemPrompt := history[0]
|
||||
systemContent := enhancedSystemPrompt.Content
|
||||
// Check if compression already noted (avoid duplicate notes)
|
||||
if !strings.Contains(systemContent, "[System Note: Emergency compression") {
|
||||
compressionNote := fmt.Sprintf(
|
||||
"\n\n[System Note: Emergency compression dropped %d oldest messages due to context limit]",
|
||||
droppedCount,
|
||||
)
|
||||
systemContent = systemContent + compressionNote
|
||||
}
|
||||
enhancedSystemPrompt.Content = systemContent
|
||||
enhancedSystemPrompt := history[0]
|
||||
enhancedSystemPrompt.Content = enhancedSystemPrompt.Content + compressionNote
|
||||
newHistory = append(newHistory, enhancedSystemPrompt)
|
||||
|
||||
newHistory = append(newHistory, keptConversation...)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue