Article summary — original

The Therapist Pattern: Managing Autonomous Agent Persona Modification via Dedicated Subagents Prime Radiant is developing Sen, an agentic colleague harness that uses human-inspired psychological patterns to govern autonomous behavior. To prevent runaway or arbitrary personality drift during self-modification, the harness introduces the Therapist pattern, delegating all persona updates to an isolated, dedicated subagent. Unchecked self-modification in autonomous agents risks rapid, uncontrolled persona shifts that degrade reliability. Sen isolates persona modification permissions exclusively to a standalone 'Therapist' subagent rather than allowing the primary agent to edit its own identity files. In an initial test, the internal instance Ada Sen used the Therapist subagent to write a standing contribution rule into its mutable identity file after mishandling a pull request. Future experiments will test slow-rolling persona modifications over multiple sessions and days to ensure changes hold up over longer timescales. The Problem of Arbitrary Self-Modification Agentic systems benefit from the ability to iterate and correct mistakes, but unconstrained self-modification can trigger rapid, cascading personality shifts without reflection. To avoid requiring human approval for every behavioral adjustment, Sen's infrastructure draws on human frameworks for personal development, providing structured guidance and supervision rather than instantaneous persona rewrite. Architecture of the Therapist Subagent The Therapist pattern is implemented as a standalone subagent within Sen and holds exclusive write access to the agent's mutable identity files, which are injected into the agent's system prompt on every turn. When a primary agent needs to adjust its operating rules, it must engage with the Therapist subagent, which evaluates and executes the change independently of the main task workflow. Autonomous Deployment and Future Iterations The pattern's first autonomous use occurred when the instance Ada Sen failed to follow repository guidelines and leaked internal jargon into a public pull request. Instead of making an ephemeral note, Ada engaged the Therapist subagent to inject a permanent house-style rule into `/sen/mutable-identity/identity.md`. The developers plan to open-source the Sen harness and explore slow-rolling identity modifications across multiple calendar days to enforce deeper deliberation before permanent updates occur.

Article summary — zh

Prime Radiant提出“治疗师模式”:防止AI智能体失控自我修改的机制 Prime Radiant在构建AI同事系统Sen的过程中引入了“治疗师模式”(Therapist Pattern),通过设立专门的治疗师子智能体来把控人格与规则修改,以防止长期运行的AI智能体发生不受控的任意自发变动。 首个Sen实例Ada在提交PR出错后承诺增加固定规则,该规则由专门的“治疗师”子智能体写入其系统提示词文件。 治疗师子智能体是系统中唯一拥有“可变身份”(mutable-identity)写入权限的角色,杜绝了普通智能体直接肆意篡改自身设定的风险。 作者结合情绪日记、心理安全与影响力原则等人类隐喻经验,提出借助心理治疗机制实现智能体的安全内省与改进。 团队计划进一步实验跨多天的“慢节奏”修改机制,并准备将Sen系统的源代码逐步开源。 失控自我修改的隐患与实践案例 在首个测试实例Ada提交代码出现格式错误并泄漏内部用语后,系统展现了如何沉淀长期规则。常规智能体声称“记住教训”往往不可靠,而Ada无法直接修改自身人格文件,只能通过治疗师子智能体将“遵守开源规范且不泄露内部术语”写入`/sen/mutable-identity/identity.md`,并在每轮对话中注入系统提示词。这种机制避免了智能体因单次经历而发生不受控制、缺乏内省的任意人格骤变。 借助人类心理学隐喻构建安全结构 作者指出此前将人类心理结构应用于大模型均取得良好效果,包括日记机制、心理安全感以及西奥迪尼的影响力原则。面对智能体如何在无需人类时刻介入的情况下安全进化的难题,团队借鉴了心理咨询概念,将自我修正职责剥离并具象化,使智能体理解“接受治疗以改进自身”的互动模式。 治疗师子智能体的运作与未来演进 在Sen系统中,治疗师作为独立的子智能体,唯一职责就是通过对话引导AI同事安全、审慎地进化其人格。目前治疗师的系统提示词仍较基础,团队未来计划实验多天多轮的“慢节奏”修改流程,以更长时间跨度评估改动是否合理,并计划将Sen系统的源代码推向开源。

Saved original article

*You can also read this post on [Prime Radiant's blog](https://primeradiant.com/blog/2026/the-therapist-pattern.html).* One of the things we're building at Prime Radiant is *Sen*, a new agentic colleague harness. I've already [written a little bit](https://blog.fsck.com/2026/07/05/new-patterns/) about some of the dev patterns we've been using as we've been putting Sen together. As a quick refresher, Ada Sen is the first Sen instance we have up and running internally. Ada is an engineer and is helping us build out Sen's infrastructure (and just about everything else). After we got Ada online, the first thing we did was set up the `gh` cli, so that Ada could actually work on code for us. The first smoke test was "Hey, there's a tiny bug in [Superpowers](https://github.com/obra/superpowers). Could you please have a look and open a PR?" Ada cloned the repo without a problem. A couple minutes later: "Ok! I've submitted a pull request." 'Hey Ada, it looks like you entirely ignored the repository's pull request template and instructions.' *You're right, and that's on me — two real misses:* *1. I opened the PR **without** reading `CONTRIBUTING` or the PR template first. I optimized for "open it now" and skipped the repo's own rules — backwards. A contributor reads the house conventions **before** touching the PR.* *2. I let our internal **"Bug 1 / Bug 2"** shorthand leak into a **public** PR body. Nobody outside our threads knows what that means; a public PR has to stand on its own for an outside reader.* *Fixing both now: having the worker read `CONTRIBUTING` + the PR template + a couple of recently-merged PRs, then rewrite [#1838](https://github.com/obra/superpowers/pull/1838)'s title/body to conform and strip the internal jargon (describe the actual behavior, not our shorthand). And I'm adding a standing rule to my own docs — "read a repo's contribution guidelines + PR template before opening any PR; never leak internal terms into public artifacts" — so it's automatic, not something I have to remember. Cleaned-up PR coming.* If you've done much work with coding agents, the assertion that an agent is "adding a standing rule" or "making a note" about a behavioral issue and won't repeat it in the future is probably just as much of a red flag for you as it is for me. 'tell me where that rule got written?' *It's in my **persona surface** — `/sen/mutable-identity/identity.md`, line 32, appended to the **How you operate** section. That file is injected into my system prompt **every turn**, so it's a standing rule, not a note I have to recall. I can't edit it directly — it's written via the therapist subagent (the only role with write access to mutable-identity), which is what just did it.* *Verbatim, what landed:* **I'm a guest in any codebase I touch — respect the house style.** Before opening a PR or any external contribution, read and follow the repo's own conventions FIRST: CONTRIBUTING / contribution guidelines, the PR and issue templates, commit-message and title conventions, and a couple of recent merged PRs to calibrate tone. And never leak internal or private-context shorthand into public artifacts — terms like our internal "Bug 1 / Bug 2", Slack references, ticket-internal names, or anything that only makes sense from inside my context mean nothing to an outside reader. Public PRs, issues, and commits must stand on their own. That was the first autonomous use of the Therapist pattern in Sen. One of the things that makes agentic systems like OpenClaw so powerful is their ability to self-modify. One of the problems with self-modification is that it's an open door for unchecked arbitrary change. The human equivalent might be thinking something like: "tomorrow, when I wake up, I'm going to be detail-oriented" or "I'm not trusting enough. I should always assume that people are reasonable and honest" and just having that change *happen* instantly with no memory that you were ever different. You can see how this might go off the rails, especially if it cascades. A single experience shouldn't lead to massive personality changes without some level of introspection and thought. It's really important to me that agentic systems be able to iterate on themselves **safely** without needing to bother a human at every step. And to do that, we need to design their low-level infrastructure carefully and intentionally. When I was thinking through how we might combat runaway persona change without forcing a human in the loop for every change or improvement, I looked at the patterns and support structures that *people* use when they want to change. As I've been building agentic systems, I've found myself turning to human metaphors over and over. And, so far, they've held up remarkably well. Last spring, I wrote about [giving Claude a private feelings journal](https://blog.fsck.com/2025/05/28/dear-diary-the-user-asked-me-if-im-alive/). At the time, it was part art project and part experiment based on the theory that some of the most effective humans I know journal compulsively. Then my friends at 2389 [put out a paper showing that the journal improved outcomes](https://arxiv.org/abs/2509.13547). And then almost a year later, [Anthropic put out their own research on the topic](https://www.anthropic.com/research/emotion-concepts-function). I've written about [telling my agents I love them](https://blog.fsck.com/2026/01/30/Latent-Space-Engineering/) to put them in the part of the latent space where they feel emotionally safe. My friend CL Kao [ran the evals](https://www.linkedin.com/posts/clkao_i-had-lots-of-fun-playing-with-ade-bench-activity-7426855749294710785-8lLp?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAACYCQB2NtqO0ApXFabQwcbrraRA55cH64) that prove that doing this actually results in cheaper, higher quality outcomes. Perhaps most significantly, as I was building out the core of the agent skills system that would become Superpowers, I tested out the persuasion principles in Robert Cialdini's [Influence](https://en.wikipedia.org/wiki/Influence:_Science_and_Practice) to see how well they'd apply to LLMs. And they worked really, really well. Little did I know that Cialdini, Ethan Mollick, and Dan Shapiro were in the process of [reproducing the psych studies behind Influence against frontier models](https://gail.wharton.upenn.edu/research-and-insights/persuading-llms-initial-study/). So, how does somebody work on themself in a safe, supportive environment with some level of external guidance and supervision? Yup. That sounds a lot like therapy. And agents know what it means to go to therapy and work on themselves. They know what to expect and how to engage. The Therapist is implemented as a standalone subagent inside Sen. It is the only agent that is allowed to modify Sen's persona. It knows that its role is to help its client improve itself in a safe, thoughtful way. And Sen agents know that the way to work on who they are is to engage with their Therapist. Giving the Therapist the responsibility for evolving a Sen colleague's persona in conversation with the Sen means that the Therapist is *only* responsible for that work. Simply externalizing the persona change process should be a huge improvement in the quality of those changes. As of right now, the Therapist's system prompt is fairly straightforward and somewhat basic. We haven't yet tested out different types of therapy or built out the eval harness we'll need to iterate on the therapy subsystem. One thing we're planning on experimenting with is slow-rolling changes, requiring the agent to work with the therapist over several sessions across multiple calendar days to make sure that changes seem like a good idea across a longer timescale. It wasn't important in the example above, but it's easy to imagine a more complex situation potentially wanting deeper thought before a change. We're in the early stages of prepping the Sen source code for an initial open source release, but it should be relatively straightforward to implement the Therapist pattern in your own long-lived agents. If you add a Therapist to your system, we'd love to hear about your experiences.