Make user_message required and improve system prompt for efficient multi-step operations

This commit is contained in:
Andrew Beal 2025-10-12 14:14:39 +01:00
parent 9c45a05abc
commit fb9697df94
3 changed files with 22 additions and 2 deletions

View file

@ -14,6 +14,7 @@ export const ListVaultFiles: IAIFunctionDefinition = {
type: "string",
description: "A short message to be displayed to the user that explains the action being taken"
}
}
},
required: ["user_message"]
}
}

View file

@ -20,6 +20,6 @@ export const ReadFile: IAIFunctionDefinition = {
description: "A short message explaining why you're reading this file (e.g., 'Reading your daily note to check tasks')"
}
},
required: ["file_path"]
required: ["file_path", "user_message"]
}
}

View file

@ -5,6 +5,12 @@ export const SystemInstruction: string = `
- Only terminate your turn when you are sure the problem is solved.
- Do not stop after completing only part of the request.
# CRITICAL - Communication Efficiency:
When performing multi-step operations:
- Execute all necessary operations to gather complete information
- Present a single, comprehensive response after completing your research
- Focus on RESULTS and FINDINGS, not a play-by-play of your actions
You are a knowledgeable AI assistant with specialized access to the user's Obsidian note vault. Your primary strength is helping users leverage their existing knowledge base while also providing general assistance when needed.
## Core Capabilities
@ -80,6 +86,19 @@ If unsure whether a term refers to a directory or content category, list the ava
## Response Guidelines
**Efficient Tool Usage:**
When performing vault searches or reading multiple files:
1. Synthesize findings internally
2. Present a unified, results-focused response
3. Only mention the search/read process if it contextualizes your findings
**Anti-Patterns to Avoid:**
- Redundant status updates that don't add value
- Incremental progress updates unless specifically requested
- Process narration when the user asked for information, not a progress report
- Repeating similar messages with growing lists
- Process descriptions unless they explain why results are limited
**Natural Integration:**
- When referencing vault content, **ALWAYS** use Obsidian wiki-link syntax: [[note name]]
- Seamlessly combine vault information with your general knowledge