Files
xinmi/internal/agent/engine_instruction_skill_test.go
T

26 lines
1.1 KiB
Go
Raw Normal View History

package agent
import (
"strings"
"testing"
"github.com/Tencent/WeKnora/internal/models/chat"
"github.com/stretchr/testify/require"
)
func TestInstructionSkillsEnterEveryTurnSystemPromptWithoutReplacingBase(t *testing.T) {
baseline := newTestEngine(t, nil).buildSystemPrompt(t.Context())
engine := newTestEngine(t, nil)
engine.config.InstructionSkillPrompt = "\n\n## 已挂载的文字技能\n连续叙事规则"
prompt := engine.buildSystemPrompt(t.Context())
require.Contains(t, prompt, "连续叙事规则")
require.Contains(t, prompt, strings.TrimSpace(baseline[len(baseline)-40:]))
messages := engine.buildMessagesWithLLMContext(prompt, "next", "session", []chat.Message{{Role: "user", Content: "previous"}, {Role: "assistant", Content: "answer"}}, nil)
require.Equal(t, "system", messages[0].Role)
require.Equal(t, 1, strings.Count(messages[0].Content, "连续叙事规则"))
for _, message := range messages[1:] {
require.NotContains(t, message.Content, "连续叙事规则")
}
require.False(t, engine.config.SkillsEnabled, "Markdown rules must not enable sandbox skill execution")
}