// internal/prompts/fix_prompt.go package prompts import "github.com/sashabaranov/go-openai" func FixPrompt(codeContent, errorMsg, sdkName, refineDoc string) openai.ChatCompletionRequest { return openai.ChatCompletionRequest{ Messages: []openai.ChatCompletionMessage{ { Role: openai.ChatMessageRoleSystem, Content: "你是一个资深的 Go 语言工程师。生成的 SDK 代码在编译/格式化时出现错误,请修复。", }, { Role: openai.ChatMessageRoleUser, Content: GetFixPrompt(codeContent, errorMsg, sdkName, refineDoc), }, }, Temperature: 0.1, // 更低,保证确定性输出 TopP: 0.9, // 核采样,平衡多样性和质量 MaxTokens: 65536, // 加大到 64k,确保足够 FrequencyPenalty: 0.0, // 代码生成不需要 PresencePenalty: 0.0, // 代码生成不需要 Stop: nil, // 不设置,让模型完整输出 } } // GetFixPrompt 构建修复代码的提示词 func GetFixPrompt(codeContent, errorMsg, refineDoc, sdkName string) string { return ` ## 错误信息 ` + errorMsg + ` ## 文档(供参考) ` + refineDoc + ` ## 当前代码 ` + codeContent + ` ## ⚠️ 重要:输出格式要求(必须严格遵守) 每个文件必须以以下格式输出: // File: ` + sdkName + `/文件名.go ` + "```go" + ` package ` + sdkName + ` // ... 代码内容 ... ` + "```" + ` ## 修复要求 1. 根据错误信息修复代码 2. 确保代码符合 Go 语法规范 3. 不要改变接口定义和业务逻辑 4. 保持原有代码风格 5. 请直接输出修复后的完整代码,不要有任何额外文字 请返回修复后的完整代码。` }