I have the agent software set up to log every byte in and out of the model into a file, time stamped and which side of the conversation was active as well as all of the tool calls, parameters and stdin/out of the tools. Every week or so I start a job to process that log file and to extract useful lessons for future sessions. These go into a LESSONS.md file that gets read by every agent session on start-up.
thats how I started, but was harder with multiple people - we opensourced our proxy: https://piproxy.latchlabs.dev/
At this point though our context is so dynamic because of lesson propogation its hard to think about a model on its own - a vanilla harness (which we were forced to use recently because the memories system went down for a bit) just felt so different!