Restating the rules in every new chat? The problem isn't that you weren't clear enough
You set the rules on day one, and by day three it's forgotten them, or remembers them as something else. Open a new chat and you're explaining everything from scratch again. By the fifth time, you start to wonder if you just didn't explain it clearly.
Usually that's not it. The rules are in the wrong place.
Why it forgets
Every AI can only "see" so much at once. As a chat gets longer, earlier parts may get cut off or squeezed into a summary, and details in the middle are the easiest to miss. The rule you gave on day one may no longer be in front of it by day three.
If one bot handles several jobs at once, it gets worse: the tone rules meant for writing show up in research reports, and the rule that research needs links gets forgotten when it's time to write. Two sets of rules crammed into one chat keep overwriting each other.
So repeating yourself in the chat only holds things together for a while.
Write the rules into a file it rereads every time it starts
The more reliable approach is to move the rules out of the chat and into a "role settings file" that the bot rereads every time it starts work.
The file follows a fixed order:
- Hard rules
- Actions that need you to press the button yourself
- Role
- Workflow
- Report format
- Change log
Keep the core hard rules to 5 to 8 and put them at the top. With too many, it easily misses the point; at the top, they're less likely to be skipped.
Give every rule a reason
If you only write "Don't do X," it won't know whether the rule applies when the situation is slightly different. Write it as:
Don't do X, because doing it causes Y.
With a reason, it can make the call on similar situations by itself. The reason helps in another way, too: months later, when you want to delete a rule, you just check whether the reason still holds instead of guessing why you added it.
This happened to us: a rule sat in a settings file, nobody remembered why it was added, and later a new rule quietly overrode it. Since then, every rule needs a reason, and every change goes into the change log.
Put progress in a shared file, not chat memory
Beyond the rules, don't leave "who's doing what, and how far along it is" only in the chat either. Write it into a shared memory file that every bot can read and write, and have each bot read its tasks from that file when it starts work.
Early on, we also had a bot get a task's status wrong after a long chat, thinking it was done when it wasn't. We then moved every task into one shared file, required proof before anything counts as done, and had bots read their tasks from the file when they start work.
Don't make one bot do everything
If a job has its own set of rules and needs to run on a schedule, split it off and give it to a bot dedicated to that job.
At first we had only one bot, and we threw everything at it: research, copywriting, watching the news, reminders. Before long the chat kept getting longer, it started forgetting rules we'd given earlier, asked about the same thing twice, and missed scheduled runs it had agreed to. After we split the work up, every bot's rule file got shorter, and the system gradually settled down.
Start with these three things
- Pick the 5 to 8 rules you restate most often, write them into one file, and put them at the top.
- Add a line after each rule: "Because: ..."
- Ask the bot to read this file every time it starts work, before doing anything else.
Once the rules are in a file, it doesn't have to rely on memory.