You might find it interesting to try my open source ai coding tool “aider”.
It lets you pair program with gpt-4 like you are describing. But the source code lives in your local git repo. You can start a new project or work with an existing repo. You can fluidly switch back and forth between a coding chat where you ask gpt to edit the code and your own editor to make edits yourself.
This looks like it might be quite nice for practical use. Does it work for a Jupyter notebook, including plotting things and making images?
I see someone make it work in Colab, though it looks like a bit of a hack and how they are handling credentials looks iffy.
Ultimately, I'd like the final result to be a tutorial-style blog post, so git isn't strictly required for my purposes. The conversation is as important as the code.
Right now aider isn't integrated with jupyter notebooks, but it is certainly on the roadmap.
I have been sharing aider conversations [0] to help folks understand what it's like to pair program with GPT-4. I've had some users asking how they can share aider chat transcripts like this, so I'm hoping to add that capability soon. I don't think it's a full solution to your needs, but it might be helpful?
Yes, more or less. I'd want to paste the output into an editor and then edit it into somewhat more polished prose. For many blogging tools, perhaps Markdown would be best?
I also wouldn't want the whole thing to look like a terminal window or to contain diffs, since the idea wouldn't be to represent aider or GPT4's output faithfully. Instead, the dialog would be about two characters who make additions to some code, like you do in a repl or notebook. Being able to download the notebook would be nice too.
This seems rather different (and more specialized) than the git-based approach that aider uses, so it's probably a different tool that I should get to writing someday.
This looks like it might be quite nice for practical use. Does it work for a Jupyter notebook, including plotting things and making images?
I see someone make it work in Colab, though it looks like a bit of a hack and how they are handling credentials looks iffy.
Ultimately, I'd like the final result to be a tutorial-style blog post, so git isn't strictly required for my purposes. The conversation is as important as the code.
Aider scans the repo for all the important identifiers/symbols and condenses them down to make a "repo map" [0]. You tell aider which files you want it to edit, and it uses the repo map to augment them with all the relevant code context from the rest of the repo. This way when GPT makes code changes, it is able to respect and utilize the existing modules and abstractions present in the codebase.
It lets you pair program with gpt-4 like you are describing. But the source code lives in your local git repo. You can start a new project or work with an existing repo. You can fluidly switch back and forth between a coding chat where you ask gpt to edit the code and your own editor to make edits yourself.
https://github.com/paul-gauthier/aider