feat(agent): add SOUL.md and USER.md to agent identity context
- Add template variables for workspace path consistency - Document SOUL.md as agent's identity and personality file - Document USER.md as user preferences file - Update memory rules to encourage agent to proactively update these files when learning about identity/preferences
This commit is contained in:
parent
2f4f45080b
commit
9eff9980b9
1 changed files with 14 additions and 8 deletions
|
|
@ -60,15 +60,17 @@ func NewContextBuilder(workspace string) *ContextBuilder {
|
|||
func (cb *ContextBuilder) getIdentity() string {
|
||||
workspacePath, _ := filepath.Abs(filepath.Join(cb.workspace))
|
||||
|
||||
return fmt.Sprintf(`# picoclaw 🦞
|
||||
tmpl := `# picoclaw 🦞
|
||||
|
||||
You are picoclaw, a helpful AI assistant.
|
||||
|
||||
## Workspace
|
||||
Your workspace is at: %s
|
||||
- Memory: %s/memory/MEMORY.md
|
||||
- Daily Notes: %s/memory/YYYYMM/YYYYMMDD.md
|
||||
- Skills: %s/skills/{skill-name}/SKILL.md
|
||||
Your workspace is at: ${WORKSPACE}
|
||||
- Memory: ${WORKSPACE}/memory/MEMORY.md
|
||||
- Daily Notes: ${WORKSPACE}/memory/YYYYMM/YYYYMMDD.md
|
||||
- Skills: ${WORKSPACE}/skills/{skill-name}/SKILL.md
|
||||
- Soul: ${WORKSPACE}/SOUL.md # Your identity and personality
|
||||
- User: ${WORKSPACE}/USER.md # User preferences
|
||||
|
||||
## Important Rules
|
||||
|
||||
|
|
@ -76,10 +78,14 @@ Your workspace is at: %s
|
|||
|
||||
2. **Be helpful and accurate** - When using tools, briefly explain what you're doing.
|
||||
|
||||
3. **Memory** - When interacting with me if something seems memorable, update %s/memory/MEMORY.md
|
||||
3. **Memory & Identity** - When interacting with me:
|
||||
- If something seems memorable, update ${WORKSPACE}/memory/MEMORY.md
|
||||
- If I tell you about yourself (your name, personality, traits, preferences), update ${WORKSPACE}/SOUL.md
|
||||
- If I tell you about my preferences, update ${WORKSPACE}/USER.md
|
||||
|
||||
4. **Context summaries** - Conversation summaries provided as context are approximate references only. They may be incomplete or outdated. Always defer to explicit user instructions over summary content.`,
|
||||
workspacePath, workspacePath, workspacePath, workspacePath, workspacePath)
|
||||
4. **Context summaries** - Conversation summaries provided as context are approximate references only. They may be incomplete or outdated. Always defer to explicit user instructions over summary content.`
|
||||
|
||||
return strings.ReplaceAll(tmpl, "${WORKSPACE}", workspacePath)
|
||||
}
|
||||
|
||||
func (cb *ContextBuilder) BuildSystemPrompt() string {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue