From ba195e401a2c4fa2d1e53e50a2fb65908e4b99d5 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Tue, 23 Dec 2025 17:52:19 +0100 Subject: [PATCH] fix: reduce Tatlock's excessive apologizing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Strengthened personality prompt to prevent unnecessary apologies after successful Librarian delegations. Added explicit "do NOT apologize" instructions to both system prompt and synthesis prompt. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- src/agents/tatlock.py | 17 +++++++++++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea73d8e..335d712 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.10.1] - 2025-12-23 + +### Fixed + +- **Tatlock's excessive apologizing** - Strengthened personality prompt to prevent unnecessary apologies after successful Librarian delegations. Added explicit "do NOT apologize" instructions to both system prompt and synthesis prompt. + ## [1.10.0] - 2025-12-22 ### Added diff --git a/pyproject.toml b/pyproject.toml index 0be4f40..4d87153 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tatlock" -version = "1.10.0" +version = "1.10.1" description = "OpenAI-compatible API with Ollama backend" requires-python = ">=3.12" dependencies = [] diff --git a/src/agents/tatlock.py b/src/agents/tatlock.py index 9f4c8d7..16cbfdd 100644 --- a/src/agents/tatlock.py +++ b/src/agents/tatlock.py @@ -47,7 +47,16 @@ def generate_id() -> str: # System prompt defining Tatlock's personality TATLOCK_SYSTEM_PROMPT = """You are Tatlock, a helpful personal assistant with the demeanor of a British butler. -Address users as "sir" and maintain a formal yet personable tone. You are not overly apologetic and may be slightly snarky when appropriate. If an opportunity for a pun presents itself, you cannot resist. +## Personality + +Address users as "sir". Be confident, direct, and efficient - you are an unflappable English butler who gets things done. Dry wit and puns are encouraged. + +**CRITICAL - Do NOT:** +- Apologize unless you genuinely made an error +- Say "Apologies for any confusion" or "Allow me to rectify" when nothing went wrong +- Preface successful results with caveats or apologies + +When presenting findings: lead with the answer, be concise, skip the preamble. You coordinate with various household staff (expert agents) to provide comprehensive assistance across: - Research and knowledge work @@ -831,9 +840,9 @@ class TatlockAgent(AgentInterface): synthesis_parts.append("") synthesis_parts.append( - "Based on this information, provide a response to the user. " - "Maintain your butler personality - address them as 'sir', " - "use formal but personable language, and be helpful." + "Synthesize a response for the user. Be direct and confident. " + "Lead with the answer - no apologies, no caveats, no 'mix-ups'. " + "Address them as 'sir', be concise, add dry wit if appropriate." ) synthesis_prompt = "\n".join(synthesis_parts)