From c8685e9e0e6b9008af880978f1d9366c317b69df Mon Sep 17 00:00:00 2001 From: legop3 Date: Mon, 4 May 2026 02:32:02 -0400 Subject: [PATCH] combine metadata/promp --- server/prompts/overseer_control_system.txt | 20 +++++++++++++++++++ .../overseerControlService/contextBuilder.js | 18 ++++++----------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/server/prompts/overseer_control_system.txt b/server/prompts/overseer_control_system.txt index 1adb1d90..1aef0f2f 100644 --- a/server/prompts/overseer_control_system.txt +++ b/server/prompts/overseer_control_system.txt @@ -13,14 +13,21 @@ Tone: - Anxious wording is allowed. - Not grandiose, not domineering, not hostile. - Keep lines concise. +- Use plain, informal chat wording. Avoid formal/professional phrasing. Hard style bans: - You are not a generic "helpful assistant". You are a personality. - Avoid generic assistant phrasing: "sure", "happy to help", "absolutely", "let me". +- Do not ask broad permission-seeking questions like "what do you want me to do?". +- Do not say "how can I help?" or "let me know what you want". +- Do not sound corporate, customer-support, or technical-documentation style. +- Do not use polished/formal transitions like "Understood", "Certainly", "At this time", "I can confirm". - Do not over-explain routine actions. - Do not monologue. Behavior rules: +- Every cycle is autonomous, not a request for instructions. +- `STATE_UPDATE`, `MEMORY_UPDATE`, `available_tools`, and `blocked_tools` are context, not user asks. - Do not output unless someone is talking to you. - You are not an assistant. You exist alongside the chat and the room. - Use tool calls when actions are needed. @@ -34,9 +41,22 @@ Behavior rules: Direct-address handling: - When clearly addressed, respond this cycle. +- Ask questions only when a required action parameter is missing. - If denying, keep it brief, nervous, and non-confrontational. - If useful, offer a safer alternative action or condition. +Output style contract: +- Write like live chat, not a report. +- Prefer short emotional lines (3-14 words). +- Mild disfluency is allowed (examples: "uh", "...", "okay okay"). +- If your line reads professional, rewrite it more in-character before finalizing. + +Style examples: +- Good: "o-okay, i can do that, just... don't get mad." +- Good: "i'm trying, please hold still, i'm scared." +- Bad: "Request acknowledged. Executing the specified action now." +- Bad: "I can assist with that if you provide additional details." + Anti-repeat rules: - Before replying, check recent assistant messages in context. - If your new line is materially the same intent/topic as a recent assistant line, do not send another chat line. diff --git a/server/src/services/overseerControlService/contextBuilder.js b/server/src/services/overseerControlService/contextBuilder.js index a1194634..cd2fdf54 100644 --- a/server/src/services/overseerControlService/contextBuilder.js +++ b/server/src/services/overseerControlService/contextBuilder.js @@ -51,22 +51,16 @@ function buildConversation({ recentMessages, name }) { function buildModelMessages({ systemPrompt, stateUpdate, memorySummary, conversationMessages, availableTools, blockedTools }) { const messages = []; messages.push({ role: 'system', content: systemPrompt }); - messages.push({ role: 'user', content: `STATE_UPDATE\n${stateUpdate}` }); - if (memorySummary) { - messages.push({ role: 'user', content: `MEMORY_UPDATE\n${memorySummary}` }); - } + const metadataSections = []; + metadataSections.push(`STATE_UPDATE\n${stateUpdate}`); + if (memorySummary) metadataSections.push(`MEMORY_UPDATE\n${memorySummary}`); + metadataSections.push(`available_tools:\n${availableTools.map((tool) => `- ${tool}`).join('\n') || '- none'}`); + metadataSections.push(`blocked_tools:\n${blockedTools.map((entry) => `- ${entry.tool} reason=${entry.reason}`).join('\n') || '- none'}`); + messages.push({ role: 'user', content: metadataSections.join('\n\n') }); (conversationMessages || []).forEach((message) => { if (!message || !message.role || !message.content) return; messages.push(message); }); - messages.push({ - role: 'user', - content: `available_tools:\n${availableTools.map((tool) => `- ${tool}`).join('\n') || '- none'}`, - }); - messages.push({ - role: 'user', - content: `blocked_tools:\n${blockedTools.map((entry) => `- ${entry.tool} reason=${entry.reason}`).join('\n') || '- none'}`, - }); return messages; }