Clarify appended messages and streamline repair

This commit is contained in:
2026-08-26 02:37:47 +00:00
parent 174516cb39
commit 404a4c331d
2 changed files with 30 additions and 17 deletions

View File

@@ -55,19 +55,20 @@ func (r *defaultOutputRepairer) Repair(ctx context.Context, req RepairRequest) (
return nil, err
}
messages := domain.ConcatRenderedMessages(req.OriginalMessages, nil)
if strings.TrimSpace(req.PreviousOutput) != "" {
messages = append(messages, domain.RenderedMessage{
hasPreviousOutput := strings.TrimSpace(req.PreviousOutput) != ""
suffix := make([]domain.RenderedMessage, 0, 2)
if hasPreviousOutput {
suffix = append(suffix, domain.RenderedMessage{
Role: domain.RoleAssistant,
Content: req.PreviousOutput,
})
}
previousResponse := "The previous response was empty."
if strings.TrimSpace(req.PreviousOutput) != "" {
if hasPreviousOutput {
previousResponse = "The previous response is included immediately before this instruction."
}
messages = append(messages, domain.RenderedMessage{
suffix = append(suffix, domain.RenderedMessage{
Role: domain.RoleUser,
Content: fmt.Sprintf(
"Repair attempt %d of %d for validation mode %s.\n"+
@@ -82,6 +83,7 @@ func (r *defaultOutputRepairer) Repair(ctx context.Context, req RepairRequest) (
formatRepairDiagnostics(req.ValidationErrors),
),
})
messages := domain.ConcatRenderedMessages(req.OriginalMessages, suffix)
resp, err := r.llm.Generate(ctx, newGenerationRequest(
domain.RenderedPrompt{Messages: messages},