It saved a bunch of manual work on a throwaway script. In the past, I might have done something in Python, since I'm more familiar with it than powershell. Or, I'd say, "well, it's only 20 files. I'll just do it manually." The GPT script worked on the first try, and I just threw it away at the end.
Basically, we use AI to do a lot of formatting for our manuals. It's most useful with the backend XML markups, not WYSIWYG editors.
So, we take the inputs from engineers and other stakeholders, essentially in email formats. Then we pass it through prompts that we've been working on for a while. Then it'll output working XML that we can use with a tad bit of clean-up (though that's been decreasing).
It's a lot more complicated than just that, of course, but that's the basics.
Also, it's been really nice to see these chat based AIs helping others code. Some of the manuals team is essentially illiterate when it comes to code. This time last year, they were at best able to use excel. Now, with the AIs, they're writing Python code of moderate complexity to do tasks for themselves and the team. None of it is by any means 'good' coding, it's total hacks. But it's really nice to see them come up to speed and get things done. To see the magic of coding manifest itself in, for example, 50 year old copy editors that never thought they were smart enough. The hand-holding nature of these AIs is just what they needed to make the jump.
It sounds like a pretty old and common use case in technical writing and one that many organizations already optimized plenty well: you coach contributors to aim towards a normal format in their email and you maintain some simple tooling to massage common mistakes towards that normal.
What prompted you to use an LLM for this instead of something more traditional? Hype? Unfamiliarity with other techniques? Being a new company and seeing this as a more compelling place to start? Something else?
Here's a session from me working on a side project yesterday:
https://chat.openai.com/share/a6928c16-1c18-4c08-ae02-82538d...
The most impressive thing I think starts in the middle:
* I paste in some SQL tables and the golang structrues I wanted stuff to go into, and described in words what I wanted; and it generated a multi-level query with several joins, and then some post-processing in golang to put it into the form I'd asked for.
* I say, "if you do X, you can use slices instead of a map", and it rewrites the post-processing to use slices instead of a map
* I say, "Can you rewrite the query in goqu, using these constants?" and it does.
I didn't take a record of it, but a few months ago I was doing some data analysis, and I pasted in a quite complex SQL query I'd written a year earlier (the last time I was doing this analysis), and said "Can you modify it to group all rows less than 1% of the total into a single row labelled 'Other'?" And the resulting query worked out of the box.
It's basically like having a coding minion.
Once there's a better interface for accessing and modifying your local files / buffers, I'm sure it will become even more useful.
EDIT: Oh, and Monday I asked, "This query is super slow; can you think of a way to make it faster?" And it said, "Query looks fine; do you have indexes on X Y and Z columns of the various tables?" I said, "No; can you write me SQL to add those indexes?" Then ran the SQL to create indexes, and the query went from taking >10 minutes to taking 2 seconds.
(As you can tell, I'm neither a web dev nor a database dev...)
I do. If too many of our apprentices don’t actually learn how to work the forge, how ready will they be to take over as masters someday themselves?
I can see how ChatGPT was useful to the grandparent today, but got very disturbed by what it might portend for tomorrow. Not because of job loss and automation, like many people worry, but because of spoiled training and practice opportunities.
I liked your take, so I’d be curious to hear what you think.
Looking forward to the Y2K levels of highly paid consulting work becoming available now you mention it
We've long since reached the point at which no one can be said to be a true polymath ( https://en.wikipedia.org/wiki/The_Last_Man_Who_Knew_Everythi... ). Having lost the ability as individuals to know something about everything, we're now losing the ability to know everything about anything.
I'm pretty sure that while the most popular programming languages today are Python and Javascript, the most popular ones 10 years from now will be English and Mandarin. Everything we know about software development is about to change. It's about time.
The best answer is really if you ask chatGPT "how has the forging of steel progressed since it was invented?".
To me, you are basically worried for no reason about what happens when the apprentices no longer spends their time heating and hammering iron to remove impurities and increase carbon content. There is a trade off involved here. I am sure the apprentices of old understood at a base level what was really going on in the forge better than a modern apprentice but that hardly is an argument against progress.
Lesser issues: additional strain on index rebuilding whenever that happens; messing with execution plans and causing the query planner to be inefficient; primary/secondary memory overhead; or if your DB engine uses locks you can run into a myriad of issues there.
I'm all for SWEs learning about databases, as I'm morally opposed to the proliferation of ORMs and the like, but I don't think ChatGPT is the right way to go about things long-term. It's similar to Googling or using StackOverflow: yes, you will find information that is relevant to what interests you at the moment, but it's soon forgotten and does nothing to help build long-term mental models.
I also use it heavily for formatting adjustments. Instead of hand-formatting a transcript I pull from YouTube, I paste it into Claude and have it reformat the transcript into something more like paragraphs. Many otherwise tedious reformatting tasks can be simplified with an LLM.
I also will get an LLM to develop flashcards for a given set of notes to drill on, which is nice, though I usually have to heavily edit the output to include everything I think I should study.
In class, if I'm falling behind on notetaking, I'll get the LLM to generate the note I'm trying to write down by just asking it a basic question, like: "What is anarchism in a sentence?" That way I can focus on what the teacher is saying while the LLM keeps my notes relevant. I'll skim what it generates and edit to fit what my prof said, but it's nice because I can pay better attention than if I feel I have to keep track of what the prof might test me on. This actually is a note-taking technique I've learned about where you only write down the question and look up the answer later, but I think it's nice I now can do the lookup right there and tailor it to exactly how the prof is phrasing it/what they're focusing on about the topic.
What I'm about to say is in the context of programming. I have the tendency to get caught up in some trivial functionality, thus losing focus on the overall larger and greater objective.
If I need to create some trivial functionality, I start with unit tests and a stubbed out function (defining the shape of the input). I enumerate sufficient input/output test cases to provide context for what I want the function to do.
Then I ask copilot/ChatGPT to define the function's implementation. It sometimes takes time to tune the dialog or add some edge cases to the the test cases, but more often than not copilot comes through.
Then I'm back to focusing on the original objective. This has been a game changer for me.
(Of course you should be careful about what code is generated and what it's ultimately doing.)
It's a bit different from other plugins which only act on the text in the buffer in that it also sends the diagnostics from the LSP to ChatGPT too.
1. How many times a [day/month] do you use it?
2. In your experience how often does GPT 'hallucinate' an explanation?
I wrote a couple commandline tools to do things like autogenerate commit comments or ask it questions from the commandline and return the right bash invocation to do whatever I need done https://github.com/pmarreck/dotfiles/blob/master/bin/functio...
Random thing I did this morning was see if it could come up with an inspiring speech to start healing the rift between israel and its neighbors https://chat.openai.com/share/71498f5f-3672-47cd-ad9a-154c3f...
It's very good at returning unbiased language
Ask it to document the conditions according to the code and taking into consideration the following x, y, z.
Output a raw markdown table with the columns a, b, c.
Translate column a in English between ()
---
Speeds up the "document what you're doing" for management purpose, while I'm actually coding and testing out scenarios.
Tbh. I'm probably one of the few that did the coding while "doing the analysis".
Ps. It's also great for writing unit tests according to arrange, act, assert.
In the end I settled on a standalone desktop app to "compose" prompt with source code, instructions and formatting options which I can just copy paste into ChatGPT.
The app is available for download if anyone is interested: https://prompt.16x.engineer/
Using it for basically every component of my startup.
Image generation and image interpretation means I may never hire a designer.