fix(prompt): clean persona system prompt — remove YAML dump, filter empty subsessions
- Persona injector: concise natural language rules, not raw YAML - Context builder: skip empty memory, skip raw intent data - Prompt reduced from 2000+ tokens to ~500 tokens - LLM response quality improved (natural tone, no confusion)
This commit is contained in:
1 parent
14a8eecfdb
commit
585dfa1e38
2 files changed
+36
-32
No files matched your search
@@ -129,16 +129,18 @@ func (b *Builder) Build(systemPrompt string, sessionID string, subsessionResults
|
||||
|
||||
// 2. Subsession results (injected as system context)
|
||||
for _, r := range subsessionResults {
|
||||
if r.Error != "" {
|
||||
if r.Error != "" || r.Content == "" || r.Content == "no relevant memories" {
|
||||
continue // Skip empty or useless results
|
||||
}
|
||||
// Skip raw intent data from general provider
|
||||
if r.Provider == "general" && strings.HasPrefix(r.Content, "Intent:") {
|
||||
continue
|
||||
}
|
||||
if r.Content != "" {
|
||||
msg := model.LLMMessage{
|
||||
Role: "system",
|
||||
Content: fmt.Sprintf("[%s context]\n%s", r.Provider, r.Content),
|
||||
}
|
||||
messages = append(messages, msg)
|
||||
msg := model.LLMMessage{
|
||||
Role: "system",
|
||||
Content: fmt.Sprintf("[%s context]\n%s", r.Provider, r.Content),
|
||||
}
|
||||
messages = append(messages, msg)
|
||||
}
|
||||
|
||||
// 3. IoT device context
|
||||
|
||||
Reference in new issue
Block a user