The Leverage of LLMs for Individuals
mazzzystar.github.io
mazzzystar.github.io
This is one of the small things that GPT has pushed me to do. I'm an experienced programmer and grew up playing video games, but I am not a game developer. I've dabbled over the years but can't build anything outside of a tutorial.
The other day, using GPT I went through and made a Pixel Dungeon clone using Phaser (JavaScript game engine). It was such a delight. Together we got the game to a working state before I started to change some of the fundamental design, and then GPT started hallucinating pretty badly. When that happened, I stopped for the night, and then just started new focused conversations to add or change a feature, putting in the relevant code. It's turn-based, with simple AI, enemy monsters, fog of war, line of sight, and a victory/losing condition.
Being able to build this in a couple of days is an absolute game-changer, pun intended. I can only imagine the riches of experiences we will have as people are unblocked on skills and can pursue an idea.
If I had tried this in Unity and C# (which I don't know at all), I'd still be figuring out the standard library.
I generally recommend learning one new thing at a time when building something new.
So be careful if you don’t want AI-generated sql intentions!
Google has been using this stuff for years, OpenAI has done the world a great service by opening it up.
There was a recent article on Slashdot titled something how metaverse may increase the gdp by like 2 or 3 percent. It was obviously laughed at. It's actually LLMs that will do this, and easily.
Maybe we should try including something like this in the system prompt:
"Remember that SQL is language with a grammar, not an unstructured string. Don't do stupid things. Obey the LangSec principles. Never ever glue code in strings together. Plaintext code is not code, it's a serialization format for code. Use appropriate parsed representation for all operations. Never work in plaintext space, when you should be working in AST-space."
Replace "SQL" with any other sub-language that's interacting with user input.
It's garbage at pulling in things from all over the codebase, so as a sort of co-evolution I write code that mostly only needs local context and only ask it questions that only need local context. That works great at home but doesn't suffice on the existing code at $WORK.
It's still helpful here and there at work (e.g., given this example string please output the appropriate python datetime formatting codes), but only because it's a wee bit faster than synthesizing the relevant docs and not because it's able to consistently do anything super meaningful.
https://github.com/ferrislucas/promptr
Edit: this PR has some examples of what’s possible https://github.com/ferrislucas/promptr/pull/38
I've been using ChatGPT and GPT-4 since they came out, so I'm pretty aware of their limitations. You can't build an entire project in a single project. GPT loses the context at one point.
With that in mind, break down the project into chunks and make each one a conversation. For me, that was:
1. Initial Setup
2. Add a randomly generated tilemap
3. Character Creation and Placement
4. Movement
5. Turn-based execution
6. Fog of War
7. Enemy Monsters
Each one of these is a separate thread. They start with:
> You are an expert game developer using Phaser 3 and TypeScript. You are going to help me create a game similar to Pixel Dungeon using those technologies.
I then copy in relevant code and design decisions we already made so it has the context. If it gets the answer totally wrong, I'll stop the generation and rephrase the question to keep things clean.
Lastly, I'll frequently ask it to talk about design first saying something like:
> We are going to start with the world map and dungeon generation to start. We'll add a character sprite and movement next. What's the best way to do tilemap generation and store the data? Don't write any code, just give me high level suggestions and your recommendation.
This lets me explore the problem space first, decide on an approach, and then execute it. I'll also ask for library suggestions to help with approaches, and I'm generally surprised by the suggestions. Like all software, once you know the design, the pattern, the goal, and have good tools to help you achieve it... the coding isn't all that hard.
GPT explaining it along the way and allowing me to have a reasonable conversation with it when something isn't working as-expected has been a rewarding and fun learning experience.
I haven't tried it. As always, YMMV.
I might expand on this in a blog post.
It took me 8-10 months of learning to build a prototype. But then GPT-4 came along and I could suddenly ask it questions about features I wanted to add. I then realized that there were so many features I could build on my own.
It has made me far more ambitious as a noob programmer.
But what I am really impressed using it for writing. I am writing the story of my abusive upbringing with a mental ill mother. I am not a writer, but this thing is awesome because I can ask it to give me prompts and it is jogging my memory more and more then I can give it rough outlines and thoughts and it will organize it into more of a literary style, then I can go through and update most of the wording to my own liking or leave as is as I see fit. I am easily able to produce much more and a better quality than without it.
I wanted to try to make real-world terrain in Unity - GPT-4 guided me to the USGS's LiDAR data, took me step-by-step through creating a mesh from a point cloud, and created several scripts to edit and filter the mesh programmatically.
There are some caveats and many dead-end conversation branches - GPT-4 seems to know 'about' more libraries than it actually knows how to use, so certain library choices tend to produce erroneous code.
GPT-4 sometimes picks a poor method, for example conflicting methods of moving an object in a single script, but can usually resolve the issue when notified.
Dozens of hours fiddling with technical details saved.
I am approaching this from the opposite background ( started with an arts background and learnt coding after ), but this resonates with me massively as well.
It took me a 2 years of tutorials before doing my own things became intuitive. Feel free to reach out if you want to discuss game design.
I built a podcast search website
to: Staying in any company right now is a negative return.
We humans are too easily impressed by tricks, and are too willing to extrapolate them to fantasy land.GPT can certainly accomplish an impressive variety of small tasks. Whether it can build large-scale systems that will power tomorrow's world is uncharted territory.
Can you build something meaningful, substantial, robust out of statistical knowledge, without real reasoning behind?
If you believe it's possible, where's everyone's array of profitable, newly-founded ventures? Or at least have you automated your job away yet?
Come on now. GPT 4 is not even out for two months. API access is not yet widely available. Legal questions are preventing many conservative players from adoption. How fast do you think progress propagates?
Unless you have a special deal (Microsoft) the only performant option is 3.5-turbo. In my experience for coding and text summarization it’s totally fine with a limited benefit from GPT-4, which is more impressive at higher order reasoning and planning.
e.g. say you used GPT-4 to clone something like Fivetran but with your own unique features. It could even be way better across some dimensions, but you still need to convince users to try it and I don't see AI helping with that (at least not yet!).
> Unless you work for OpenAI, your GPT leverage is likely wasted on trivial business code, and even more likely that due to the overwhelming amount of poor code, GPT with its 4/8k context window is unable to optimize, further weakening the leverage.
If you are sitting at a company in this situation it is of course arguable that you were already experiencing a negative return pre GPT-4, but certainly that productivity feeling from GPT-4 probably makes it seem even worse.
Likewise, it often generates very complex and confusing code - specifically regex in my experience where I can get the job done in a much more readable way.
Don’t get me wrong, I use it all day as a little coding helper, but while it can say, advise you on how to set up a distributed system, it’s not rolling out VMs and DB clusters.
The idea / creativity is hence the key. Novel ideas don't occur to everyone.
But good ideas, even great ones, rarely mean much on their own. It's always been execution.
(The delay may sometimes be negative. I'm reminded of a few cases where someone made a successful Kickstarter, only to discover mid-way through fundraising that factories in China are already busy manufacturing their product for someone else.)
Punch cards are such an arduous technology to use, they're effectively useless. Therefore it's pretty clear to me computation is not really going anywhere as a technology and I highly doubt much more progress can be made.
(Sentiment of some, years ago)
There is an INCREDIBLE amount of opaque BI that can be unlocked with GPT/AI etc.
I have already used it to get some extremely quick market infor about certain things.
AI is going to make a lot of people smarter, much faster and cheaper than current institutions.
classes are going to get more refined, and honestly, certain industries need to be utterly destroyed by AI (legal being my primary target, as they have too much fraud)
GPT4: In the context provided, 'BI' likely stands for 'Business Intelligence'.
I would be interested if OP could glean enough from GPT to build the search index as well, a much more complicated project.
In a world where a lot of AI Researchers that develop these amazing models are slowed down by their lack of "normal" engineering skills I think it's very apparent that software engineering goes well beyond writing a snippet of code.
Like the internet, stackoverflow, forums and other advances in technology that opened new doors and opportunity and democratized the industry - this is another one, a big one! the smart ones will use this push as an entry point to the software development world rather than looking for an oracle function for software development (which does not exist yet)
Very much agree. I think mentorship becomes even more important now. I have a friends that's switching careers and starting to learn software engineering. Just for fun, I back-seated him while he tried to build a really simple app using GPT-4.
Even with really fine-tuned prompts, some of which I helped with, the code that was generated was either barely readable, had performance issues, and/or in some cases was just completely broken. At the time, I made the quip that for junior/entry-level folks it's like getting cybernetic implants in your legs before you know how to walk or run.
I've already worked with way too many engineers who copy/paste code without understanding what it does.
"Um, I'll tell you the problem with the scientific power that you're, that you're using here. It didn't require any discipline to attain it. Ya know, you read what others had done, and you, and you took took the next step. You didn't earn the knowledge for yourselves, so you don't take any responsibility for it. You stood on the shoulders of geniuses, uh, to accomplish something as fast as you could..." (Emphasis mine).
I was using it for debugging WINE - where I have no DirectDraw4 / DirectX6 experience, and it's much nicer than trying to trawl through ancient MS documentation myself.
It may turn out that ChatGPT results in a new generation of developers who produce terrible code, full of flaws, with no understanding of how it actually works.
Or... it might be that ChatGPT helps newcomers get over that horrendous initial learning curve, start by writing bad code... and then get better at it.
I'm currently cautiously optimistic that the latter scenario is going to win out.
ChatGPT could also empower individuals who may not have considered learning programming to create practical programs that enhance their daily routines, similar to how VB6 significantly reduced the barrier to entry for developing various applications.
I don´t rely on ChatGPT to write any code for me but i do use it whenever there´s a concept i don´t understand and if there´s any problem blocking me from getting forward in my many programming books. Having a tireless teacher/mentor with extensive knowledge and who does not care however stupid question you ask is a very good tool for learning.
I'm not sure GPT helps with any of those yet, as it seems to be more likely to spit out incorrect-to-sortof-okayish so far.
The junior devs, lacking the experience that provides the context or knowledge to analyze the "shape", let all manner of minor and major issues from the generated code slip past.
I really notice this particularly with say less popular frameworks or code libraries, where many LLM code generators appear much more likely to hallucinate invalid code. I see similar issues with DSLs too, where the LLM starts to just guess at the DSL syntax. I really hate when an engineer new to a framework just goes to the LLM first, without at least spending a little time learning the framework for the task.
All said, I suspect these code generation tools will get good enough that the rate of errors goes down enough it maybe won't matter in the longer term.
This is called reflexion and has been found to be an effective way to improve response accuracy and usefulness (also reduces hallucinations).
Maybe one day it can look at your entire code base and just fix it / writea new feature, but it's definitely not there yet.
The reason people can't code isn't because an external force is preventing them, it's because they aren't putting the work in.
I don't know how to paint, is the solution to "democratize" painting by waiting until an AI can do it for me?
It's like having a tutor that knows your code and gives you hints and solutions based on your actual project. It's a real game changer for learning
Decide for yourself whether that's worth it based on other people's experiences. Personally, I'll pass.
One minor point: In your demo, you state that "Today, almost 50% of code is written by AI, so why shouldn't you learn how to code with AI?"
Citation? I thought this might be true of developers using Copilot (based on their recent publications), but even that seems a bit of a stretch. I guess you could claim this because it's so easy to generate LOTS of code with an AI model. How much of that code is used, though? Really 50% of ALL code written now?
"Today, GitHub Copilot is behind an average of 46 percent of a developers' code across all programming languages -- and in Java, that number jumps to 61 percent." - https://visualstudiomagazine.com/articles/2023/02/15/copilot...
> Case in point: When we first launched GitHub Copilot for Individuals in June 2022, more than 27% of developers’ code files on average were generated by GitHub Copilot. Today, GitHub Copilot is behind an average of 46% of a developers’ code across all programming languages—and in Java, that number jumps to 61%.
I'm not sure what this means. GitHub does not have the ability to measure Copilot usage across all code written anywhere in the world, so surely it can't be that. Do they mean code generated by Copilot as a fraction of code produced by someone using an IDE with the Copilot plug-in? That number still seems high to me.
[1] https://github.blog/2023-02-14-github-copilot-now-has-a-bett...
So it wouldn't surprise me. For repetitive code it's pretty good. And even with non repetitive code, once you start typing a bit it is good at finishing it.
Especially in a verbose language like Java. How much of copilot use is something that autocomplete would have handled anyways?
BTW, in some countries, you learn binary in grade school :)
If they embrace a chatGPT interface as a first line of defense for users questions, it may improve the quality of real questions, reduce repetition, and filter through actually good and compelling questions. LLMs still need systems that encourage high quality data generation from humans to improve its model. I would like to imagine a world where there is a win-win for AI and the website we've relied on so much over the years.
Step 2: They implement GPT-4 responses to questions
Step 3: The community + context provide the same feedback
Step 4: GPT-5/6/7 gets progressively better
It has seen those Stack Overflow responses and if you ask it to give you more context about a certain approach, it will.
I've learned when asking GPT-4 for help to push past the first answer, or ask it to offer more solutions. Also to ask why it choose a certain approach.
Quite often it will give me a response that doesn't fit well with my code, and I'll say "I don't want to do it this way, please give me another option, keeping in mind that [some important aspect of the code base]."
It then spits it out and it's usually way closer. Iterate on this and it's often quite good.
I think you're completely right if a person were copy pasting the first response every time, but that person is simply using it wrong in my opinion.
I ran into this the other day and it's made me very leery about using chatGPT for learning things I don't already know. I moved on from toy examples and tried getting it to write a program in a domain I was already intimately familiar with: I immediately realized that this thing is going to help people churn out all sorts of code that is a poor fit for the surrounding system or ecosystem.
Basically I had it write a program in Elixir as a GenServer. After that was done I asked it how I could integrate that solution into a Phoenix web application. I had to hold chatGPT's hand, so to speak, as we evolved the solution from:
(1) Spawning (and linking!) the GenServer to a controller i.e. in response to a web request.
(2) Spawning and linking the GenServer to the application but outside the supervision tree.
(3) Spawning the GenServer inside a supervision tree.
Now technically the application could have worked, more or less, if you ran it at any one of those intermediate steps. However only the last solution is the robust and idiomatic one. It felt almost like a constraint solver to me: we iteratively arrived at the right answer by adding more and more constraints to the solution. The problem, as it relates to a novice, is that they don't have a list of constraints rattling around in their head. (Language idioms, best practices, framework knowledge, system architecture knowledge, etc.)
The insidious thing here is that 1 or 2 are syntactically valid programs. If you try to beat 1 and 2 into submission you're going to have a subtly broken system, one that makes a lot of Elixir programmers very sad.
---
I'll be watching the Khan Academy guys pretty closely, because they seem to have put a lot of thought into how students could use these systems safely and effectively.[1] I think the answer is going to be we need AIs that are aimed at professionals, and AIs that are aimed at education. The hard part will be that somehow we need to direct people to use one appropriate to their skill level.
[1]: https://www.ted.com/talks/sal_khan_how_ai_could_save_not_des...
But still, I treasure the old ways I learned how to program. It was such a fulfilling experience by making newbie mistakes and getting corrected in hard ways, and you really only get the authentic insight by going through that process, and by reading all those important books chapter by chapter. It's probably not as "fun" as using GPT-4 though.
At this point, i am in a place where GPT gives me good solutions that might not work vs having to go through all the noise Googling stuff to find a working solution.
But it is great just to learn different concepts at a high level. Helps me clear my mind when coming up with designs
I'm reminded of this proverb:
If you need to go fast, go alone.
If you need to go far, to together.
Modernizing that proverb.
But still, using those tools you can achieve more with a team than alone.
They just can't comprehend what needs to be done even if all that's required are 2 lines of code
However, we keep seeing posts from people who don't know html or how to create a chrome extension paternalizing about how we can be much more productive with AI tools. Last I heard a CEO was demanding dev increased productivity or firing some devs because he saw a Youtube video about how easy it is to create a website now
The only usefulness I see is in AI replacing SO. Once SO dries we'll have neither
Writing bash scripts to automate various parts my workflow
Quickly interpreting complex regex
Tutoring me on how to use poorly documented APIs
Proof reading important emails
Everything copilot, writing java docs, auto completing all the cases in a switch statement, etc.
Can you elaborate on this? I would find it very useful.
Would you share some of those? Bash is fraught with gotchas and intricacies and seldom have I read Bash code where I couldn’t immediately spot flaws. There’s often something which left unchecked may come back to bite you later.
I’m skeptical the LLM code would be any better, since it’s (presumably) trained on a corpus of subpar code. But I could be wrong.
I've found them useful as a "smart search engine", e.g. if I don't even know the magic terms to search for.
Most of the time it gives me answers that are completely wrong, but are close enough that I know where to look to find the right answer.
E.g. "Using the rapidcheck C++ test framework, how do you test a function that takes two vectors, one of which must be exactly 8 times as long as the other."
It gets it wrong but it still helped. I definitely wouldn't want to use its output unquestioningly though.
You call it a bad idea, but it's saved me hours of work.
Good luck with that.
GPT-4 is _incredibly_ bad at Metal (most under-documented GPU api I've ever worked with), but more importantly it's _even worse_ at Vulkan, which is complete opposite - it's meticulously documented.
The stuff LLMs are good at is the stuff that a lot of people use and talk about all the time, in public.
There's just not a lot of public discussion (with examples) about e.g. how to properly use Vulkan in a production application, and the LLM itself can't "reason" within the framework of the detailed specification, so most things it outputs is wrong.
In the long run though, a very likely outcome is that tools that the LLMs have a poor "understanding" of just wither and die, or are relegated to being something only 3.5 people in the world use. I can see a future where literally all software is written in python just because that's the language that OpenAI's LLMs happens to know best.
I obsoletely see benefits of tools like ChatGPT through the entire lifecycle of a product, however not as a replacement for things like good requirement elicitation, architecture, and product market fit.
In the near future I expect companies to train models on their internal code base/documentation allowing developers to learn about available libraries, API usage etc.
Enjoy it while it lasts. The training set (Stack Overflow) will dry as people move away from it, resulting in model degradation, resulting in not having a useful AI AND not having a useful SO
I admit to using AI, but only for what I was using SO before. Which is 0% of the work I actually get paid for (maintaining existing software that requires expert knowledge). For personal projects, sure, it's useful. Want to code something in a new language? Great. You'll still be a beginner, and will have contributed nothing to the body of knowledge that has trained the model you are using
reminds me of Donald Trump complaining about the health exchange website costing millions of dollars when he can build a website for $3
When I went through profound burnout in 2019, the part of my brain that handles planning and execution shut down for about 6 months. I could barely get out of bed, brush my teeth, etc. The grieving process was rough, as well as the struggle to relearn how to function in a culture that doesn't allow breaks. And it was physical, perhaps brought about by sleep apnea and digestive warning signs from stress that I ignored. I survived by separating the planning from the doing, by keeping todo lists and forming habits over weeks that began to rebuild the wounded parts of my psyche so that I could task and adult again.
I've since regained my executive function, but the experience changed me. The stuff that used to be automatic became manual, so work takes an even higher toll than it did before, and may even even have all-consuming qualities. I feel, institutionalized, like Brooks in Shawshank Redemption.
I know that AI offers a way to automate much of the doing, and within 5-10 years the planning as well. All I have to do is use it. But I'm just so tired physically, mentally and emotionally that the potential benefit feels like a burden. I struggle profoundly to make long-term plans or deal with the logistics around that. I will almost certainly miss this wave of innovation, just like I missed the VR, mobile and gaming bubbles before that. Living my most laborious life instead of my best life.
What I'm feeling deep down is that this time is different. AI should not be about personal empowerment. It should be about lifting others who are too infirm after a lifetime of hard work to do it themselves, so that they can rejoin the human race and make the contributions in their hearts that fulfill the promise of their self-actualization. I just don't know where to go with that sentiment, or if my feelings are even relevant anymore.
As far as your particular problems, I hope you find the help you need. It sounds like you may have depression and/or some other psychological issues, but I'm not a doctor. The way I see it is that these types of opportunities in VR or AI have not actually passed by.
If you're able to think and type this profoundly, you, personally, are not too old to contribute to something that motivates you. I haven't found that yet, but I haven't given up hope yet either.
I'd like to see that too. Just this morning I got it to generate a whole lot of boilerplate. Then it appeared to get dementia: forgot which language the boilerplate was for, when I reminded it it then started creating type aliases for no reason, when I reminded it that the previous snippet (which was the first part of a single long snippet) didn't need those types, it switched languages again.
Very difficult once you get a long enough conversation going (something like 5 prompts in and it starts going haywire in random places).
Content farms and other low-end writing almost certainly will be impacted significantly. But that was mostly not a good place to be anyway. Writing generally isn't a good bet unless it's effectively in support of something else that pays the bills or you get very lucky.
From that framework, debugging is the new code monkeying... anyone have thoughts on that analysis?
Notice that even these days, senior devs aren't supposed to code much - they're supposed to train up junior devs, up to the point said juniors become competent, at which point the juniors join the rank of seniors and begin to teach fresh junior hires.
I.e. increasingly, juniors are the only people actually coding anything, and LLMs will only reinforce this trend.
Some of the shittiest code comes out of developers with this level of experience, but they're senior now and teach fresh junior hires?
Program only in Assembly, because otherwise you risk some real dangers of not knowing what's going on with the code!
Code we get from an LLM, or someone else's fallible wetware, or our own fallible wetware, all need thoughtful consideration prior to committing.
Still useful for many other use cases, just not for "write my entire project for me and I'll only copy and paste" yet
The biggest benefit for me is I can ask it design and programming-pattern questions for my particular use-case(given A, should I split some methods of A into a separate module, should I implement B as a facade of C or maybe implement some observer pattern instead etc)
One strange thing I noticed is the degradation of "quality" of the answers some time after a new version gets released, but that may as well be just my internal drift for expectations
While it can help you understand code blocks, I'm not sure that it can help you understand an application as a whole.
I don't know that it can help discover edge-case types of bugs and suggest fixes. For example, the types of problems which crop up when system meets reality.
The can see this leading to a lot of spaghetti coded projects.
As an example- I have data representing a cylinder defined like so- {radius: x, depth: y}, give me a function which takes this object and calculates the volume of the cylinder.
It is unable to understand the context to deliver a feature end to end, but if you can give it the fingerprint of a function you'd like it can implement it for you (sometimes)
I've also used it to create new functionality in the game, but those were mostly isolated features. Like I implemented controller rumble support yesterday in about 10 minutes thanks to its help. Probably would have taken me several hours on my own.
I don't know to what extent I can integrate it directly into the game, but I think the main limiting factor is the token limit and my desire to manually copy+paste enough context, not limitations in its actual abilities (which it does have some, I'm debugging along with it an issue in a 3D graph class I had it create last night).
The code it created worked fine when it was just drawing thin lines, but I had it convert the drawing to 3D rects so it could have different widths (technically it recommended that solution when I asked for line widths) and there's been some glitches, namely only one team is showing and the rest of it is now only visible when I set the draw mode to not cull anything.
Hoping to get past that tonight or tomorrow. It at least is giving me some good ideas for approaching debugging it, I'd be pretty much at a loss if it was just me, as I've always struggled to debug 3D graphics issues when the graphics just don't show up on the screen.
Now on to curved corners!
I think it's a bit sad that the only benefit someone can see in their workplace is their salary.
Also, I get the feeling this person has never done anything outside of consumer app development with minimal stakeholder interaction.
Overall I think it's great we can supercharge our learning and coding capabilities, but it would be naive to think knowledge and coding can let you do anything you want.
It's not the only benefit, but it's the only one that you can't get in some other way. I suspect that very few people -- even people who love their jobs -- would continue working in them if they weren't getting paid.
Sure, the same is true for me. But that's also a need that can be filled without working for someone.
I think what we're talking about here is having a sense of community or at least human to human interaction. I can think of so many ways to get that without the obligations that come from having a job.
I generally enjoy my job but that is far from the main reason I do it. If money was not an issue, there are so many other things in life I would enjoy doing far more not to mention enjoying the general freedom that comes from not needing to work.
"No person is an island". I hate quotes like this, things that have the veneer of truth without any actual corroborating data. I am a textbook introvert, I get no greater joy and contentment when spending a Saturday morning pursuing a personal project solo style.
Also, I admire the group that optimized OS, but I'm just not used to teamwork. In my previous job, once I had come up with an idea of having a virtual pet, and they thought it was awesome, but when I said that you could define having any content, including a ball of lightning or even a nebula, no one seemed to know what I was talking about.
Nobody should be exploited and in my experience the easiest people to rip off are the passionate ones - which is why my advice to such people is always to get paid because somebody up the stack is siphoning off what should be yours.
I totally agree there are different strokes for different folks, and some sectors are really well suited to solo work. I personally enjoy the security of working for a company and having a large set of diverse colleagues. I know many here on HN are more of the startup mindset, like yourself.
I enjoy clean water, food, shelter, and providing for my loved ones. I was not born rich, and I am not rich now. I am 53 and have worked for others as well as myself since I was 15. When I provide my expertise, experience, time, and skills to a 3rd party, I want to get fairly financially compensated for that. If I want camaraderie of some sort, I’ll join a relevant club or activities group, and will pay my dues. If I want to learn new skills, I will join some training course. I work for others for financial compensation, and financial compensation right now. I don’t want some vague promises down the road. You tell me what you need to get done, and I will tell you what it is going to cost you.
We live in a society where the performance of work for others is compensated financially. Money makes the world go round, and allows us all to live. If you have any examples of additional benefits besides getting paid, please let me know.
We work for money, which allows us to purchase the things we need and want on our own terms. If anybody convinced you that it is _not_ about money, you’ve been tricked.
> Staying in any company right now is a negative return; you are wasting personal leverage.
Isn't it obvious that this doesn't work if _everyone_ does it?
Also, if the bar we use to measure how useful a tool is for society, is that it allows an individual to release 1 app per month, then we're doomed whether before AIs take over or not.
Why not? We could have 1000 small businesses instead of one business with 1000 employees.
I put together a tool called `aider` for chatting with GPT-4 about code, having it make changes and keeping track of it all in git. It's feeling like a very nice workflow.
@mazzystar you might want to give it a try if you have GPT-4 api access:
They just can't comprehend what needs to be done even if all that's required are 2 lines of code
However, we keep seeing posts from people who don't know html or how to create a chrome extension paternalizing on how we can be much more productive with AI tools. Last I heard a CEO was demanding dev increased productivity or firing some devs because he daw a Youtube video on how easy it is to create a website now
Not sure I agree. The initial stage will be the one where most of high-level, broad thinking happens. Once the cycle starts in the earnest, more and more time is spent on the usual software drudge work. I find GPT-4 excels at helping with this kind of coding.
I'm reserving judgement on the higher-level / more abstract aspects of software engineering, as I haven't had a chance to try it. My suspicion is that GPT-4 will excel at helping you think through an issue interactively, but may have trouble actually coming up with whole designs on its own, not unless you spend so much effort crafting a context for it ("getting it up to speed" on your problem space) that you'll quickly find better designs in the process.
> Last I heard a CEO was demanding dev increased productivity or firing some devs because he daw a Youtube video on how easy it is to create a website now
With wix, squarespace and other brands I consciously try to forget about (in proportion to how much advertising spam from them I see, despite using adblockers everywhere I can), plenty of web devs are having a hard time justifying their salaries. At this point, AI tools aren't even competing with them - they're competing with wix, squarespace, et al.!
Still, I hope that CEOs replacing workers with ChatGPT are a myth. If not, that's IMO an idiot thing to do. Not because ChatGPT won't manage to do the job - but because the only model in existence, that has capabilities required to effectively replace humans in some jobs, is owned by a single company, has been available for only two-three months so far, and that's in a limited beta. We don't know yet what the limits of GPT-4 are, how to effectively use it, and at any point OpenAI can just take their access away. At this point, it's a great tool to use while it's available, but it's not something you want to hinge your project/business on mid-to-long-term.
These numbers are arbitrary and if you're looking for leverage, a company with a lot of customers is a good way to find it.
A teacher who tells you the right answers doesn't sound like a good teacher.
In hindsight I learned the most from my mistakes and the errors I'm to fix over longer period of time. Sometimes these failures were of use in later projects.
I missing all this from GPT. It doesn't really sound like learning more like cheating.
These means they are the less useful part in the development process and can easily be replaced.
That's why I don't see the big leverage for individuals in that kind of development. They will be one of millions with exactly the same skill set and lost without GPT. It sounds like those boot camp courses: Build ten projects in ten days to become an genius programmer.
Doesn't work, and I think people will overestimate their skill because GPT helped them to do a clone of something that already exists thousandfold.
> Doesn't work, and I think people will overestimate their skill because GPT helped them to do a clone of something that already exists thousandfold.
I don't mean to be rude, but was this text generated by GPT? It's breaking my brain.
In addition, there will be a great crowding out effect. If websites and apps are so easy to create now, there will be a deluge of junk to come. Every mediocre idea will be put forth.
Perhaps it will be the opposite. There's a lot of domain experts out there that might be able to turn their idea into reality.
Less than one hundred years after that, we have managed to juice out a general digital intellect from humanity's joint efforts. Let's see if we survive the next one hundred years, but boy, way to go!
That's a pretty bold claim.
Being able to search the web allows it to deal with recent information: you can ask it to limit its search to the API documentation for the library you're working with.
I hope so. Oh how I hope so.
Once they catch-up their censors will have a super power and people will have their writings censored before they hit submit.
Will be an interesting decade.
Does China innovate in this way? I think software is not a linear function of money in, value out. Inventing new programs and techniques is interesting as I’m sure what the spark is, and it certainly takes money, but that’s not the most important part.
I remember reading in Masters of Doom about how John Carmack came up with some of the innovations id software used and was amazed that he, alone, came up with stuff that large, well-funded teams could not.
I expect that China could have invested its entire GDP into stem and AI for the past 10 years and would not have came up with LLMs and ChatGPT. Or perhaps they did, but kept it secret and would never release it as a product to the public.
But I believe the former based on the few software companies and few software innovations coming out of China in the past 20 years.
Time will name the winner.
Much of the LLM capabilities have to do with the generality baked into language. Pairing that with the well known proof that GNNs are dynamic programmers, you can get some very nice properties directly from the setup.
No unfiltered training data, and severe penalties if the AI hallucinates something that is against the party line.
Heh, sounds like a novel form of torture. The author probably means 48 hours total over a (much) longer time, and it had all been an enjoyable ride of turbocharged learning and discovery, but that's not how it reads to my eyes.
I feel strongly that I want an in-IDE pair-programming assistant, but so far I've had at least one or more blocking issues with many of the currently available open source options.
NeoAI is great - for example - I've had it working well on multiple machines before - but today after a Neovim / Astronvim update I'm getting errors about my quotas (which are fine) back from the plugin - and I don't really have time to debug that because I need to get some work done :/
- https://www.raycast.com/ - https://www.raycast.com/abielzulio/chatgpt
I have it set up to open on CMD + Space
Yes.
I have recently annotated my Pydantic models and fields with the explicit intention to use the resulting JSONSchema to inform GPT how to structure some information (in effect, writing a one-off client for an internal API I'm creating).
As a happy side effect, this is now better document (information about semantics of the data structure elements is closer to the definition of the structure itself, not in some external Markdown text file or in some walled-off wiki).
For example, I've given a prompt akin to: "Can you create for me a plan for organizing my email? It should be a list of tasks to be completed in 15-30 minutes. It should follow the S.M.A.R.T. format."
Then I gave it prompts to split all the tasks into single line sentences with a new line in between.
You can copy paste this into a card and Trello will ask if you'd like to split it up into multiple cards!
Well, this very concept applies to you too, dear solo captain. Nobody is going to pay you any money for your podcast search app that you prompted together in record time.
As you get better at this, sure enough you might create something tangible and substantial that otherwise would have taken a small team or take 10 times as long.
But guess what? These super powers aren't exclusive. Anybody will be able to do it. So the execution becomes irrelevant and value is based on the idea being unique, and even if that, it will be instantly copied.
Even an idea being unique doesn't have to translate in success. We don't exactly have a shortage of software or content, we're already drowning in it and can't even keep up with tools. How would you be even be noticed in an abundance of ideas?
But I am having existential dread over my pay decreasing by a large margin over the next decade. Not sure what I’ll do next. Maybe general contracting.
Unfortunately I feel like I'm hitting a wall here. I've gotten pretty good at learning new things and stamping out prototypes - I still appreciate the help from LLMs a lot. But a big part of my work is people stuff: Follow up with X, make sure Y does Z, find a consensus, and so on. GPT does nothing there, maybe except for helping me formulate a mail.
And I'm also not sure it helps with architectural questions. GPT will build you a game, but there are 100s of ways to do it, and it will pick one at random that might be not optimal down the line.
ChatGPT is a website that lets you do chat completion [1] against LLM models, and it exposes some extra functions like plug-ins if you are lucky enough to be white listed for them.
GPT 3.5 and GPT 4 are the actual models.
Someone telling you that they did something cool with ChatGPT probably means GPT 3.5
The confusion is that ChatGPT is using GPT-3.5 by default, but if you pay the $20/month subscription price, you can switch it over to GPT-4 (with query limits). Usually, when someone is telling you they did something really cool with ChatGPT, they're actually using GPT-4.
An extra layer of confusion is the API access: GPT-3.5-turbo and GPT-4 models are both optimized to be used in chat, which is somewhat different than earlier text completion models. Because of it, people using GPT-3.5 or GPT-4 via API access (possibly with one of the "alternative ChatGPT frontends"), will often also say they're using "ChatGPT". This is almost, but not completely accurate - the actual ChatGPT contains a bunch of hidden "features" (hidden prompt, extra moderation), that are mostly detrimental to the output/experience you get.
Also people usually call out when they use GPT-4, but in the end you can only assume and be wrong 50% of time.
[1] https://help.openai.com/en/articles/6825453-chatgpt-release-...
The default model is "text-davinci-002-render-sha"
The legacy one is "text-davinci-002-render-paid"
GPT-4 is just "GPT-4"
One other useful tell if someone is showing you a screenshot of chatGPT is that GPT-4 uses a black logo avatar, where 3.5 uses a green one.
> Someone telling you that they did something cool with ChatGPT probably means GPT 3.
This seems like an incorrect assumption. 3 is very old at this point, 3.5 is free and the best demos are based on 4 which is a huge improvement compared to the previous versions.
Typo fixed.
>>> Copying and pasting documentation and APIs to GPT-4, asking it to write interfaces based on them.
Sounds very interesting but I cant quite work out how to phrase the prompt
I left my job at big tech a few months ago and started using ChatGPT (and now GPT 4) shortly after for personal projects.
100% stand by the author's statement. The ability to iterate and execute on my ideas in a way I've never been able to do before—combined with not having to worry about whether I'm infringing on my previous employer's intellectual property rights clause—feels so incredibly freeing.
> If you are an individual developer, the leverage it provides might be 10 times greater, but when you work for a company, that number might be only 2.
Where do these numbers come from? Did ChatGPT hallucinate them? I don't understand why both can't be true. Why can't I have 10x leverage in my job and use that productive to unlock more time and then further leverage myself as a personal developer? Very strange sentiment here and also a baseless claim IMO.
The big question here feels like: how should AI do retrieval? 'Generate an interface to hit existing DB' is probably one of the answers, I suspect this use case will grow.
Separate question, should it take a few hundred lines of html + js to provide this? Can low-boilerplate DSLs make humans and LLM codegen better at delivering on these asks
But trivial code is the only level of code GPT can really write.
As another commenter wrote: "if you want to go fast, go alone; if you need to go far, go together".
(It ran out of context window and started forgetting the design; if I'd started each message with the design and class layout it would have probably worked the first time!)
Specifically I asked it for a design, then a main class, then for each of the other class files. (This process could probably be automated.)
See the result here : ) https://dndexamplehn.vercel.app/
It's incredibly empowering to be able to easily spin up little proofs-of-concepts or bootstrapping larger projects. I think all the naysayers have not experienced its power yet.
1. Go on Twitter and find a famous account (for visibility). Maybe they say something like, "The data shows..."
2. Pop into ChatGPT and create a data viz.
3. Deploy to Vercel.
4. Go back to Twitter, post the link, enhance the convo, naturally gain followers in exchange for providing that value.
When it works it is great. When it doesn’t gap can be large.
When you ask it to correct itself it will make new mistakes and keep alternating between different mistakes and omissions.
I haven’t tried it yet on a real codebase like say a database. Is it even possible to give it that context?
When they compare it to regular ChatGPT they are comparing GPT-4 to GPT-3.5 turbo.
I can imagine documentation becoming ChatGPT plugin aware. Like, the automatically generated stuff that comes out of Swagger and the like. Maybe a killer feature for a new API documentation startup?
AI is the new Linux
No single entity can own it or control it
This will impact everything in tech
This reminds of all these web programming courses that build a todo list or simple insta clone.