Sounds great. I'll watch it with the kids. We've recently done this podcast about the history of the cup and it was funny and fascinating. https://www.youtube.com/watch?v=hUZmk_G6rFE
I'm developing a Revit add-in that and using the LLM to help write the code. I use AI in the development process but no AI is used at runtime.
The Revit API is a challenge to build against. The documentation isn't great and often API calls will fail for mysterious reasons.
The old school, non-AI workflow for developing an add-in for me was: read the docs, write some code, run Revit which loads your add-in, do some actions within Revit to test your code, figure out what failed and repeat until you get the desired result. There was a lot trial and error involved and the loop was slow. Revit takes long time to start even on high-spec machines and the user actions required to test take some time.
I'm trying to use LLMs to speed up this development process by allowing it to run this loop. Things that are required to enable the loop without human intervention:
- a cli tool that allows Revit to be started, running a single addin. There's a couple of ways to do this: using a master add-in that dynamically loads child add-ins or manipulating the .addin files.
- a way to capture logs from within the running Revit addin and feed this back to the LLM. This is just logs in a standard location.
- a way to capture screenshots from within the running Revit addin. Revit has a image export functionality that can be triggered from within the code.
The loop is still slow but once setup it allows you to prompt, set it to run and come back later with some hope that it has achieved your goals.
Modelling is part of what I'm doing but it's also trying to get figure out how to work with extrusions, dimensions, views, etc, etc.
Great article. I've been trying to achieve something similar with a Revit. It's an old CAD application for Windows which means there's a few additional hurdles in exposing a cli interface that allows the LLM to drive it. However, once that is done, the loop of "write code, take a screenshot, repeat" works pretty well.
I'm going to try to get it to generate extrusions in Revit based on images of floor plans. I've tried doing this in bunch of models without success so far.
If you like le Carre, British TV Series "The Sandbaggers" is in a similar vein. I've watched a bunch of episodes on youtube and they are great with a focus on dialog and schemes as opposed to action.
Some of my best ideas that ended up being company changing started as a conversation walking to lunch with colleagues.
Initially these ideas were just undeveloped thoughts and I would never dream about booking a meeting to present them. Having a chance to develop them in a casual conversation might have been the difference between successfully building the thing and not doing it at all.
I love working from home but miss the unstructured collaboration.
Best holiday of my life was riding the Pyrenees with my wife. Your comment about eating a meal after riding really rang true for me. Meals after a big ride are something special and when the French are doing the cooking... That's something to remember forever!
Thanks for this. Great timing as school holidays have just started in Australia and I like to get my boys watching some interesting educational content.
Same here. I use c# and Typescript mostly. In c# you can use Select for map, Aggregate for reduce and there's a huge selection of other list processing operations that make use of lambda expressions. In typescript/javascript there map, reduce, etc
I imagine we are approaching a tipping point where the cost of connection to the grid is more expensive than provisioning a home with enough solar + battery capacity to go fully off grid.