Learning to Make Changes Across Multiple Conversations

Hey folks,

I’m new to these forums but I’ve been impressed by all the creative things others have been sharing, so I thought I’d break out of my “lurker” status and actually try to contribute something of my own!

Something I thought might be worth sharing is a method for reducing errors that I stumbled onto yesterday. The TLDR is that my process now involves having the Agent create a development changelog that it a) reads thoroughly before beginning a new conversation window, and b) updates every time it finishes a substantive change. The changelog entries are posted to a seperate database so that they are less likely to be accidentally deleted.

Here’s a bit of context, and then after that I’ll share screenshots and more details. The way I stumbled onto this idea is that my friend came over and looked at my project. He’s an experienced developer, whereas I have no coding experience at all and rely entirely on AI - essentially I build my project exclusively using plain English prompting. Looking over my app, he said that the different components of code seemed like they were made in all sorts of different ways, rather than applying a common approach and reusing modules. In other words, he felt the code would really benefit from being refactored.

Now, if it were a simple request I could just ask the Agent to do it, like I had with other features until now. But, since refactoring the entire project would require it to go through at least 10 different conversations’ worth of memory, perhaps many more than that, that approach would not be feasible. That’s how I came up with the “changelog as source of persistent memory” idea (by the way, I’m not saying this is “new” to others;
I’m just saying it was new to me). I’m sharing it in case it’s helpful for other people who, like me, are learning all this “by doing” and for the first time.

Now… for some screenshots!

For the Changelog, I just asked the Agent to create it with the key requirements that it include its own instructions for use, and that it be set up for persistent memory. The “instructions for use” have two components:

  1. A ‘Technical Debt Assessment’ that is basically a summary of what my friend’s criticisms were, which I had discussed with the Assistant (the Assistant agreed with my friend and proposed the required changes)

  2. A ‘Development Process Guidelines’ note that specifies how the Agent is supposed to utilize the Changelog. For instance, it states that it must always log substantive changes there, that it should never delete pre-existing entries, and that it should always include a full timestamp.

Then, when I am working with the Agent, I will make reference to the Changelog in a way that prompts it to review these two key documents before I approve the initial proposal that launches off a new conversation window. To make this aspect of the prompting more efficient (and reduce human error due to my own laziness!) I use a free Chrome extension called “Text Blaze” that allows me to set up pre-determined blocks of text that I can “call in” using a symbol shorthand. For example, if I enter “/read” it automatically pastes this text:

“Read the changelog and recommend our next action. Also, explain to me exactly what the project is and where we stand (what has been done and what has not yet been done). Use the language from the Initial Technical Debt Assessment exactly, when identifying what has been accomplished and what has still not been accomplished. Also, include a description of the Development Process Guidelines you are expected to follow, referencing the exact language included in the Changelog in that section. Please answer in text only, without coding.”

Here’s an example of what this process leads to in terms of the collaboration with Agent “mid-conversation”:

As you can see from the screenshot, the Agent is prompted to first read the changelog, and then prove to me that it understands it, by framing its proposed actions in the exact language already established in the changelog. So far, this appears to improve the accuracy of the changes the Agent makes, while reducing errors/headaches later.

I should stress that this is a new method for me, and as with anything, I would not be surprised if new hurdles come up later - so I’m quite sure it is far from perfectly effective! That being said, it’s an exciting example of how we can push back the limitations of AI one small step at a time, and I suspect that by the time I reach the limits of this method, the Agent will have been updated on Replit’s side such that it will be able to ‘climb’ even higher!

Anyway, I won’t go into detail on the app I am building, since this is already a pretty long post. The TLDR on that is that it’s a personal life management app that I always wanted to have but could never find. Essentially it combines features that are common in other apps, into one package, for the advantage of a) convenience, and b) being able to do data visualization / analysis across the different components. I call it “Metagame” since it’s like making daily life into a game, the “meta” game of life so to speak. The features that it combines together include note-taking (with folder organization, tagging, and search), habit tracking (with the option for different types of habits, i.e. some are yes/no, others are a range of numbers per day, etc.), to-do list (with folders, tags, search, and week planning), work meetings (inspired by the ‘Level 10 Meeting’ concept from the book ‘Traction’ – the gist is that you make your meetings more organized and spend more time talking about the most important things), and last but not least activity tracking for things like exercise, reading, etc. (with charts that show the actual trendline versus the targeted trendline over a rolling 10-day period). I have a bunch of other features in the works but these are the ones that are currently (mostly!) working as intended.

If anyone’s ever interested in chatting or collaborating, just send me a DM! You all seem like fascinating people and I would love to get to know you. Also if you have any questions / want more details on the changelog idea or anything else, just ask and I’ll be happy to elaborate / post more screenshots in the replies.

Thanks to Replit and to the whole community here for being awesome and building awesome things <3

6 Likes

Thank you for sharing such a good idea. I will try to communicate with the Agent in a similar way.

1 Like

Awesome! My pleasure. I hope it helps. I am always experimenting with it so feel free to reach out if you have issues (or find new ways to make it more effective)! Cheers

1 Like

Thank you for sharing this in such great detail! Your explanation and screenshots really helped me understand the process clearly.
I’d love to try this method myself.
I think adding git commit IDs to changelog updates would be useful too.

2 Likes

Thank you! That is a very interesting idea regarding Git. I do use the Git integration and I have found that to be a lifesaver. In an earlier project, I was trying to get by with just the Checkpoints, but it was not robust enough. Referencing the git commit IDs is an interesting idea that I think I will add to my process.

By the way, I have been using this new changelog method for just a few days now but I can tell you that it has indeed allowed me to reach a new ‘high watermark’ in terms of bug fixing. It’s so exciting to see the Agent be able to move forward more quickly than before… seeing bugs that used to take, say, 5 conversations to fix getting solved in one conversation.

I can see why people get addicted to building stuff :heart_eyes:

4 Likes