I do one-off text transformations that not worth writing a script for. Eg. paste a bunch of unformatted data and format them in json, find patterns in huge text etc.
This is the best use I've found so far as well, which is a bit disappointing for something that many hyped to be so revolutionary. It's handy, but sadly not a major paradigm shift.
Translating between (natural) languages is another nice one. You can throw in json structures or fluent files or what have you and most of the time have it come out with pretty good translations that are formatted correctly.
I've used to take a giant json file and help me get a handle of the scheme. it wouldn't all fit in the window so I just cut some of it out.
I also used to take a chunk of html and replace all the class names and src urls with ...
I also had a list of 300 codes that kind of had semantic names and it was able to build me a table that mapped to a second list of about 20(code, descriptions).
Agreed. For example, I recently had an auto-generated SQL query that I needed to debug. It was formatted on one line and was impossible to read. I asked GPT-4 to clean up the query and it gave me something that was much easier to consume. I definitely could have written some script for this or tried to find another tool, but it took me 20 seconds to just ask GPT-4 and get a reasonable result.
I have it write nearly all my code now. It's incredible at pushing out sys admin sorts of python scripts. The code is clear enough and if I see it doing something a little too complex, I can suggest a more simple solution and it just does it. Ridiculous.
I use copilot in vscode. It watches what I type and inline suggests the next line or code block based on what I’ve been doing and say a function name or the events I’ve not yet added listeners for. I hit tab to accept. It saves me at least 20% of the time i would spend typing and is insanely good.
I have copilotx conversation in vscode that is aware of my codebase and active file. I can quickly get up to speed with a new project or library by asking it where x is or how to do y in this library. Or generate a vega chart or json for this so I can see a real example of the structure. It’s very good at these tasks. But can be out of date with some libraries or thibgs outside of vscode world.
I also have chatgpt with plugins. This lets me ask it about current code as it can pull the latest version of a github repo or multiple repos, or specific versions, and has more structured responses so it performs much better than copilotx currently does at certain tasks. This all saves me days and weeks of thoroughly reading docs to get a direction and plan. Instead these ai point me in the right direction immediately.
I just got the new voice and browsing features in chatgpt. Yesterday I had a technical voice conversation with the voice from HER about how I wanted to architect a feature. I was at my blackboard talking through the implementation and edge cases and the voice pointed out several angles I hadn’t thought about and worked with me through solutions. I did this while my phone was on my desk without having to touch it for the whole conversation so I could stay deep in thought at the blackboard. This is wildly more efficient than talking with a human where I have the overhead of social dynamics and navigating their communication quirks.
I also used chat gpt 4 heavily over the last few months to set up my company asking it all kinds of corporate, tax, legal, banking, etc. advice. Everything it told me I double checked at the source on government websites and it was wildly helpful. Saved me lots of money on consultants, reading stuff, and pointed me in the right direction and let me think through weird edge cases. Now that I have access to browsing and voice this will get super charged when I have my next question.
This is wildly more efficient than talking with a human where I have the overhead of social dynamics and navigating their communication quirks.
I can see that this was beneficial for you, which is nice.
I can also see this being a huge, huge problem for team dynamics. Didn't like talking to people before? Well now you never have to again! You can go off on your own and generate entire new architectures, codebases, whatever...and and then discuss with the team,,,if the team dynamics sucked before...playing nice with others is what life is about, I even think "AI" may have to learn this lesson too.
I’m an introvert. I previously only used writing long notes to myself to think before engaging with a coworker. Now I’ve unlocked “voice without social dynamics” to do that which is a whole other dimension.
Team dynamics now for extroverts mean instead of waisting and hour of phone time for them to slowly talk through basic ideas and catch up to the introverts who could prepare for the meeting on their own, now extroverts have a way to think through and prepare for meetings so the meetings become more valuable and the extroverts (at least to me) become less irritating to work with.
I’m also looking forward to having voice gpt participate in zoom calls to cut the extroverts off when they’re dragging on their out loud thinking so we can all move the call forward.
As an introvert i find it difficult to cut someone off mid thought because I assume like me everything they say is well thought through and important. I can’t guage when it is and when it’s just stream of consciousness from them until they’re finished and yield the floor and by then it’s too late.
the current status quo of “this meeting could have been an email” or “could have just read and commented on my doc instead of waisting an hour of ten people’s time” is not good for team dynamics or morale. And we finally have a solve for it
ChatGPT (plus) helps me every day with boilerplate code or even finding off by 1 bugs and small things like that.
Sometimes I also ask it to rewrite something clearer, or add some comments sparingly.
Copilot can get really aggressive. Sometimes it's right there, "what I was thinking about! Woo! magic!" And sometimes, it's like "OMG let me hit the return key". So I often turn it off and forget it's off for a week...
Both have their pros and cons. Copilot is more like an autocomplete on drugs. ChatGPT is a scaffolding rental shop.
Also ChatGPT is a dream when it comes to being a polyglot with a limited memory.
One thing I am confused about is using ai for boiler plate code . Shouldn’t that be a macro or code generated, or even an aspect ? Having large snippets of ai generated code outside of a macro or code generation tool does not make any sense .
Its helpful to do boilerplate in languages or legacy code you touch less often, e.g. React class components.
But also, it can reasonably set types for the inputs of say a React component, just based on an example (made up) usage of some props you give it. And you can even, if you are very uncouth, simply generate the sensible props for a certain kind of object given a description by say the user.
It can do things like generate controlled form state management etc, which was quite error-prone to do with macros when things get complicated.
It can summarize commits for documented code accurately too, especially if you comment what you've done for some reason or another. This saves a good 2-3 minutes an hour I didn't know I could save, for the average of say 1-2 commits I'd do usually per hour.
Notably GPT-4 is needed to do these consistently well.
I mentioned this elsewhere yesterday, but I've used it to do things like stub out an API -- I tell it what I'm making, what endpoints I think I need, and ask if there's anything obvious I'm missing. Sometimes it gives me some ideas for additional endpoints. Then it implements stubs for every endpoints and all the associated code and I'm ready to start adding actual logic.
There are sometimes tools available for this, but the nice thing about ChatGPT is that it's effectively a single tool that can be used for any reasonably well-known API framework in any language.
Stubbing out endpoints is not usually a task that takes a long time and usually the code is auto generated from a mechanism like openapi.
I could see it generating out an openapi file but there are already so many templates out there to start from it does not make sense to use ai for this, in my opinion.
Sometimes you have some boilerplate-ish code with complicated but repeating patterns, but it's only like 3 or 4 sections, so figuring out how to combine it isn't really worth the effort compared to spending 10 seconds for copilot to write the other 3 instances and checking the result.
Another example could be that you would really like to use macros/templates for something, but you can't due to external requirements, like Unreal Header Tool being unable to parse those if you want to export your classes to the engine. So you get to write the same code multiple times for different types. Amazing!
You still have to write the code for the macro. With ChatGPT you can just say “write a mapper between these two object in C# 11, make the target members uppercase and skip X, Y and Z”
At least in java there are open source libraries that do this that are pretty standard. For instance, Mapstruct. It, for the most part is already automagic.
Doing it for a mapping feels like a deficiency in the code unless chatgpt is putting thoughts behind the variable names and reasoning about what mapping makes the most sense.
Probably yes… but making and maintaining good templates is hard. It doesn’t get done because probably the person who needs to make the template is different than the user of it.
So the AI gets the benefit of having a template without the trouble of getting someone to make and maintain each one.
Ok I find it amazing it’s cheaper to host your own on bare metal ? I was also curious what type of stuff you’re building as a web developer ? Django ? Must be decent scale?
I host things on GCP which scale to zero in quiet times, they saved me a bunch of cash…
use it to contribute to open source. one of the biggest challenge for someone while contributing is to get a hang of a complex codebase with not-so-well maintained community supported docs. tons of abstractions for the sake of extensibility makes it even harder for someone new to navigate. have been building and using https://chat.collectivai.com to solve this pain and make open-source contributions easier, more accessible and faster.
I like asking ChatGPT for things that I know I can understand, but do not feel like figuring out (today I asked it how to write a specific SPL template for API gateway transformations). I spent hours looking over the internet for someone that had done it before, and then ChatGPT just spit out exactly what I was looking for (after two extra requests to better indicate my intentions).
Oh yeah, unless I know I need to interact with a website or view pictures, if I want to know the answer to a thing, I just go to ChatGPT now and talk to it. Way faster and the signal to noise ratio is incredible.
It's a bit surprising seeing all the positive replies to this thread. In my experience (using GPT-3), the time I spend debugging the code generated by the AI is almost the same as if I was to write it correctly in one go.
The comprehension aspect kinda helps me sometimes, like when I need to understand some obscure shell script.
I use GPT-4 and still have problems getting it to write simple code correctly sometimes. I find it immensely useful in many areas but writing actual detailed code doesn't seem to be a game changing use case for me (yet).
Tip: it’s often faster to keep iterating on the problem with the LLM than to stop after the first response. “As an expert TypeScript programmer, you should know that X isn’t correct. Please try again.”
Sweet, now it is stuck in a loop where it says sorry, here’s a correction then spits out the same code. Do you have an example chat where that worked for you?
An example that didn't work that I thought should was to implement a Base62 converter. I thought it would easily be able to do it as the problem is so well scoped (an probably even exists in its training set). However, it either had poor performance characteristics or wasn't correct.
This is how an experienced dev would like to work - break the problem down and hand off some of the more well scoped problems to AI.
We need a catchy name for this, like [Someone]'s Law. It would read: "Whenever someone complains about chatbots/ChatGPT being overrated, they are basing their experience on non-GPT-4 interactions." It comes up over, and over, and over, on this forum and all the others I read. People need to know GPT-4 and pre-GPT-4 are not the same!
* Great for sanity checking your plans or designs (ex: "What are the best ways of securing a multi-tenant application?")
* Great for bootstrapping a presentation or pitch (ex: "Please create a presentation outline about Istio, intended for an audience unfamiliar with Service Meshes"
* Simple questions/reminders (ex: "How can I make it so a bash script exits on error?")
For half of my searches or so, I get better answers via some of the AI search tools.
Especially for code. When i just want to quickly know "how to do x in language y". Like 'how do i filter a list in python so i only get elements with the attribute city="london"':
- I've used AI to write and improve Python scripts. And to help me fix errors.
- Also used it to write or improve wording on emails, posts and comments.
- Used it to advise about where to travel,, things to do,
- AI useful for chatting with then you are feeling down.
- Asked AI for advice on things.
- Used AI to get answers quicker than Googling.
I’ve been experimenting with pairing a tool I wrote called Promptr [1] with another tool called Open Interpreter [2].
I start with a prompt that teaches Open Interpreter how to use Promptr, and then I discuss what I’m trying to accomplish. It’s certainly not perfect, but there’s definitely something good that happens when you can iterate using dialog with a robot that can modify your file system and execute commands locally.
I mostly recommend it to my colleagues so they don’t keep bugging me on how to do things. This has kept my productivity (thinking about stuff) sky high.
Here are some of the things I have used ChatGPT for:
# Writing
- I've had it rewrite some of my blog posts to give them more style
- I've asked it to help me with some business letters
- Rewriting my letters to city counselors state / state legislatures
# Admin
- Explaining some parameters for NetworkManager
- Helping me figure out why my rewrite rules in an .htaccess file weren't working as expected
- Asking questions about different versions of PEM certificates and using openssl to convert them
- Restoring some software RAID arrays with lvm
- Journalctl filter options
- ffmpeg commands
# Coding
- I was working on a side project in a new language (to me) using Vala and Gtk4. ChatGPT was mostly wrong on everything, but sometimes lead me in a useful direction.
- Generally I haven't found ChatGPT useful for my work coding
# Other
- Explanations on Double Entry Accounting
- Guidelines on helping my sister talk to her 3 year old out expressing empathy for their dog
- Writing Haikus for my wife. This was an interesting back and forth where ChatGPT starting asking me more questions about my spouse, our relationship, hobbies, and so on.
- Help writing personalized Dad jokes for a father's day card
- An examination looking at the imperialism/militarism in Star Trek from the point of view of the Federation and from the point of view of the other society
- Questions about recipes (replacing items, using fresh items instead of canned/jarred)
Overall, I've found coding to be the least successful aspect of ChatGTP (granted I'm still using 3.5). Possibly, this is because I tend to use less popular languages (work is all elixir/erlang). But even trying to do some python/pytorch work, I found it constantly gave answers that didn't actually work.
However, I have found it really great for explaining topics. It can give pretty good metaphors and you can have it explain its answers. I've also found it being really helpful in writing. I think I am usually able to express my idea clearly and organize my thoughts, but my writing style is very pedestrian. ChatGPT is able to take my outlines and fill them in with my desired style quite well.
If you’re coming to this thread to say how great or how terrible it is, can you share a positive or negative example use? So much of these discussions is people talking past each other because the interactions with the product are non-public and siloed, but at least with ChatGPT, chats are easily shareable!
It’s eliminated a mental barrier to building products where I was worried before I had limited time to work and needed to focus on things that drew from existing familiarity.
Now I’m able to focus on the product/outcome even if what’s involved is outside what I’m familiar with and at least get started building.
The net effect has been I can build a wider variety of things in a wider variety of tooling with more enjoyment and less drudgery.
- text summaries
- sysadmin stuff
- debugging stuff
- boilerplate stuff
- unblocking writers block
- integrating disparate stacks
- data transformation and algorithm stuff
- most marketingy stuff: copy, images, campaign/activations
I think to get good value out of it you really have to get a sense for what it's good for and what it's not.
I don't have it write my day to day code, because that's complicated and usually niche enough that it's not likely to give a good result.
But it's awesome for something like writing a quick and dirty shell script. most recently I needed to bulk rename 50 or so files with an interactive piece for a special case. I described the operation to GPT and it spit out a nearly perfect shell script. Could I have written the same script in half an hour? Yes, but it was sure nice not to have to.
I also like it for just bouncing around an idea. Recently I was thinking about writing a program to make a midi device from a guitar hero controller, and I was able to get a good sense of the available APIs / libs in a few different languages with a 3 minute back and forth with GPT. Again, I could have easily searched around myself and come to the same answer, but removing the friction is pretty nice.
> I think to get good value out of it you really have to get a sense for what it's good for and what it's not.
> I don't have it write my day to day code, because that's complicated and usually niche enough that it's not likely to give a good result.
Yep totally agree. I don't think you should just treat it as a black box - throw in literally any prompt you can think of and then use the response verbatim, without even reading it, and expect to have success.
You need to exercise some judgement and be a bit discerning. And think about what areas of your work are most unique to your own skills and experience, and what are the bits of work around the fringes that don't need to be done by you - and are not really part of your core "craft", and, are likely to be well suited to the capabilities of something like GPT-4.
And like every other tool, using it effectively is a skill and requires perserverance, practice, and adjusting your approach as you go. Which means the user can get better at getting value of out an LLM over time. It's not a static or all or nothing thing.
117 comments
[ 3.1 ms ] story [ 431 ms ] threadI also use it to generate boilerplate code like DTOs and mappers for a given set of entities.
- does this API design make sense?
- my team thinks __ is a good pattern, what are some cons?
- what’s a good name for a class that does x,y,z
- is this code snippet readable?
- write a bash script to automate this very tiny thing
- upload quickjs binary to the advanced data analysis model and ask it to micro benchmark a couple of approaches to the same thing
Oooooh that's interesting. Can you tell me more about what kind of stuff you use it to find?
Translating between (natural) languages is another nice one. You can throw in json structures or fluent files or what have you and most of the time have it come out with pretty good translations that are formatted correctly.
I also used to take a chunk of html and replace all the class names and src urls with ...
I also had a list of 300 codes that kind of had semantic names and it was able to build me a table that mapped to a second list of about 20(code, descriptions).
I have copilotx conversation in vscode that is aware of my codebase and active file. I can quickly get up to speed with a new project or library by asking it where x is or how to do y in this library. Or generate a vega chart or json for this so I can see a real example of the structure. It’s very good at these tasks. But can be out of date with some libraries or thibgs outside of vscode world.
I also have chatgpt with plugins. This lets me ask it about current code as it can pull the latest version of a github repo or multiple repos, or specific versions, and has more structured responses so it performs much better than copilotx currently does at certain tasks. This all saves me days and weeks of thoroughly reading docs to get a direction and plan. Instead these ai point me in the right direction immediately.
I just got the new voice and browsing features in chatgpt. Yesterday I had a technical voice conversation with the voice from HER about how I wanted to architect a feature. I was at my blackboard talking through the implementation and edge cases and the voice pointed out several angles I hadn’t thought about and worked with me through solutions. I did this while my phone was on my desk without having to touch it for the whole conversation so I could stay deep in thought at the blackboard. This is wildly more efficient than talking with a human where I have the overhead of social dynamics and navigating their communication quirks.
I also used chat gpt 4 heavily over the last few months to set up my company asking it all kinds of corporate, tax, legal, banking, etc. advice. Everything it told me I double checked at the source on government websites and it was wildly helpful. Saved me lots of money on consultants, reading stuff, and pointed me in the right direction and let me think through weird edge cases. Now that I have access to browsing and voice this will get super charged when I have my next question.
There might be others worth trying also but this one worked so well for me I haven’t needed to look further.
I can see that this was beneficial for you, which is nice.
I can also see this being a huge, huge problem for team dynamics. Didn't like talking to people before? Well now you never have to again! You can go off on your own and generate entire new architectures, codebases, whatever...and and then discuss with the team,,,if the team dynamics sucked before...playing nice with others is what life is about, I even think "AI" may have to learn this lesson too.
Team dynamics now for extroverts mean instead of waisting and hour of phone time for them to slowly talk through basic ideas and catch up to the introverts who could prepare for the meeting on their own, now extroverts have a way to think through and prepare for meetings so the meetings become more valuable and the extroverts (at least to me) become less irritating to work with.
As an introvert i find it difficult to cut someone off mid thought because I assume like me everything they say is well thought through and important. I can’t guage when it is and when it’s just stream of consciousness from them until they’re finished and yield the floor and by then it’s too late.
the current status quo of “this meeting could have been an email” or “could have just read and commented on my doc instead of waisting an hour of ten people’s time” is not good for team dynamics or morale. And we finally have a solve for it
So your assumption is, extraverts don’t think things though?
Sometimes I also ask it to rewrite something clearer, or add some comments sparingly.
Copilot can get really aggressive. Sometimes it's right there, "what I was thinking about! Woo! magic!" And sometimes, it's like "OMG let me hit the return key". So I often turn it off and forget it's off for a week...
Both have their pros and cons. Copilot is more like an autocomplete on drugs. ChatGPT is a scaffolding rental shop.
Also ChatGPT is a dream when it comes to being a polyglot with a limited memory.
But also, it can reasonably set types for the inputs of say a React component, just based on an example (made up) usage of some props you give it. And you can even, if you are very uncouth, simply generate the sensible props for a certain kind of object given a description by say the user.
It can do things like generate controlled form state management etc, which was quite error-prone to do with macros when things get complicated.
It can summarize commits for documented code accurately too, especially if you comment what you've done for some reason or another. This saves a good 2-3 minutes an hour I didn't know I could save, for the average of say 1-2 commits I'd do usually per hour.
Notably GPT-4 is needed to do these consistently well.
There are sometimes tools available for this, but the nice thing about ChatGPT is that it's effectively a single tool that can be used for any reasonably well-known API framework in any language.
I could see it generating out an openapi file but there are already so many templates out there to start from it does not make sense to use ai for this, in my opinion.
Another example could be that you would really like to use macros/templates for something, but you can't due to external requirements, like Unreal Header Tool being unable to parse those if you want to export your classes to the engine. So you get to write the same code multiple times for different types. Amazing!
Doing it for a mapping feels like a deficiency in the code unless chatgpt is putting thoughts behind the variable names and reasoning about what mapping makes the most sense.
So the AI gets the benefit of having a template without the trouble of getting someone to make and maintain each one.
Would be better to ask ai to generate the templating library.
Persude of knowledge?
Why do you ask a question like this on a hacker news forum?
Start being more curious!
The user was curious and asked a question.
https://world.hey.com/dhh/we-have-left-the-cloud-251760fb
I host things on GCP which scale to zero in quiet times, they saved me a bunch of cash…
The comprehension aspect kinda helps me sometimes, like when I need to understand some obscure shell script.
I didn't see a Json format error and chatgpt just told me exactly what the issue was.
It also helps me rubber duck debugging Things
This is how an experienced dev would like to work - break the problem down and hand off some of the more well scoped problems to AI.
* Great for sanity checking your plans or designs (ex: "What are the best ways of securing a multi-tenant application?")
* Great for bootstrapping a presentation or pitch (ex: "Please create a presentation outline about Istio, intended for an audience unfamiliar with Service Meshes"
* Simple questions/reminders (ex: "How can I make it so a bash script exits on error?")
edit: formatting
https://www.gnod.com/search
For half of my searches or so, I get better answers via some of the AI search tools.
Especially for code. When i just want to quickly know "how to do x in language y". Like 'how do i filter a list in python so i only get elements with the attribute city="london"':
https://www.gnod.com/search/?q=how+do+i+filter+a+list+in+pyt...
For these types of queries, AI is a godsend.
I start with a prompt that teaches Open Interpreter how to use Promptr, and then I discuss what I’m trying to accomplish. It’s certainly not perfect, but there’s definitely something good that happens when you can iterate using dialog with a robot that can modify your file system and execute commands locally.
[1] Promptr: https://github.com/ferrislucas/promptr
[2] Open Interpreter: https://github.com/KillianLucas/open-interpreter
That's an interesting idea! Would you mind sharing more about that? Do you have an example?
# Writing
- I've had it rewrite some of my blog posts to give them more style
- I've asked it to help me with some business letters
- Rewriting my letters to city counselors state / state legislatures
# Admin
- Explaining some parameters for NetworkManager
- Helping me figure out why my rewrite rules in an .htaccess file weren't working as expected
- Asking questions about different versions of PEM certificates and using openssl to convert them
- Restoring some software RAID arrays with lvm
- Journalctl filter options
- ffmpeg commands
# Coding
- I was working on a side project in a new language (to me) using Vala and Gtk4. ChatGPT was mostly wrong on everything, but sometimes lead me in a useful direction.
- Generally I haven't found ChatGPT useful for my work coding
# Other
- Explanations on Double Entry Accounting
- Guidelines on helping my sister talk to her 3 year old out expressing empathy for their dog
- Writing Haikus for my wife. This was an interesting back and forth where ChatGPT starting asking me more questions about my spouse, our relationship, hobbies, and so on.
- Help writing personalized Dad jokes for a father's day card
- An examination looking at the imperialism/militarism in Star Trek from the point of view of the Federation and from the point of view of the other society
- Questions about recipes (replacing items, using fresh items instead of canned/jarred)
Overall, I've found coding to be the least successful aspect of ChatGTP (granted I'm still using 3.5). Possibly, this is because I tend to use less popular languages (work is all elixir/erlang). But even trying to do some python/pytorch work, I found it constantly gave answers that didn't actually work.
However, I have found it really great for explaining topics. It can give pretty good metaphors and you can have it explain its answers. I've also found it being really helpful in writing. I think I am usually able to express my idea clearly and organize my thoughts, but my writing style is very pedestrian. ChatGPT is able to take my outlines and fill them in with my desired style quite well.
Now I’m able to focus on the product/outcome even if what’s involved is outside what I’m familiar with and at least get started building.
The net effect has been I can build a wider variety of things in a wider variety of tooling with more enjoyment and less drudgery.
- text summaries
- sysadmin stuff
- debugging stuff
- boilerplate stuff
- unblocking writers block
- integrating disparate stacks
- data transformation and algorithm stuff
- most marketingy stuff: copy, images, campaign/activations
I don't have it write my day to day code, because that's complicated and usually niche enough that it's not likely to give a good result.
But it's awesome for something like writing a quick and dirty shell script. most recently I needed to bulk rename 50 or so files with an interactive piece for a special case. I described the operation to GPT and it spit out a nearly perfect shell script. Could I have written the same script in half an hour? Yes, but it was sure nice not to have to.
I also like it for just bouncing around an idea. Recently I was thinking about writing a program to make a midi device from a guitar hero controller, and I was able to get a good sense of the available APIs / libs in a few different languages with a 3 minute back and forth with GPT. Again, I could have easily searched around myself and come to the same answer, but removing the friction is pretty nice.
> I don't have it write my day to day code, because that's complicated and usually niche enough that it's not likely to give a good result.
Yep totally agree. I don't think you should just treat it as a black box - throw in literally any prompt you can think of and then use the response verbatim, without even reading it, and expect to have success.
You need to exercise some judgement and be a bit discerning. And think about what areas of your work are most unique to your own skills and experience, and what are the bits of work around the fringes that don't need to be done by you - and are not really part of your core "craft", and, are likely to be well suited to the capabilities of something like GPT-4.
And like every other tool, using it effectively is a skill and requires perserverance, practice, and adjusting your approach as you go. Which means the user can get better at getting value of out an LLM over time. It's not a static or all or nothing thing.