A friend of mine was trying to tell me how much different Ruby 3 was from Ruby 2, he's never even worked with Ruby, and I said that it's not nearly as big as the difference between Python 2 and 3. He sent me this hilariously wrong transcript where the bot tried to claim that Ruby 3 changed the class keyword to something else. Not a single one of the bullet points was anywhere even close to being true.
Do you know which bot he was using? That's the kind of question I would expect to see wild differences between LLMs - ChatGPT 3.5 v.s. ChatGPT 4 for example I would expect to produce very different levels of quality.
That said, it's a bad idea to try to use the output of ANY LLM as a primary source in this kind of conversation. Distrust and verify!
It helps if you ask the bot to note reputable people in the field and reference original sources for anything significantly outside of common knowledge. That gets you leads for further information and also reduces hallucination somewhat too.
People who said the web was untrustworthy were being reductive. IME late 90s high school, they taught us the Internet is like any source, you have to rely on data or at least expert sources and cite them.
> IME late 90s high school, they taught us the Internet is like any source, you have to rely on data or at least expert sources and cite them.
Do you see people doing that now? I don't. People overwhelmingly believe, repeat, or just blithely fabricate nonsense - the latter really is amazing to see. In a recent HN thread someone confidently wrote a few paragraphs explaining some physiology. That sat up there for maybe a day, and it was easy to believe. Then a researcher in the field explained it, and the first person was very wrong (the researcher was very polite).
The important point IMHO isn't about being skeptical, but having the ability to verify the claims, or if not, at least having a good heuristic to detect bullshit (eg. by checking whether it contradicts with something you already know).
Just being skeptical without some way to allow good information to flow through the filter makes one close-minded.
I wouldn't have any of these anecdotes if this friend didn't keep pushing horrible 'bot-takes' on me. My issue isn't with what GPT tools are actually useful or not useful for, they're just tools, but with idiots who think typing in a query to save 5 minutes of Googling and actually reading results to get a quick overview of a topic, especially on a topic that I have some familiarity with. He seems to think the bot is smarter and more useful than actual human knowledge.
Oh and the other problem I have with it is that you have to wade through endless pages of gpt-trash when you do try to use a search engine to get an answer to a question now.
> Oh and the other problem I have with it is that you have to wade through endless pages of gpt-trash when you do try to use a search engine to get an answer to a question now.
True, and most people don't realize how bad it's going to get. We're still in the honeymoon period where most content on the internet is human-created, but machine-generated content will be the vast majority of online content by the end of the decade.
It's also worth pointing out that if an LLM gives you code that works, but you can't understand why it works, asking it to explain what each line is doing is remarkably effective.
But if you don't already understand the code and the concepts, you have no way of knowing if it's actually giving you accurate information or just hallucinating or confabulating. That's my fundamental problem with the entire idea of using llms to Aid with this kind of stuff, it's not easy to check it carefully enough unless you already know enough about the topic that you could have just done what you asked it to do faster if you type fast enough, especially considering the amount of time you'll probably have to spend arguing with it and refining the prompt and clarifying and thinking through the logic in detail anyway.
My ongoing hypothesis is that LLMs are leveraging inherit structure in natural language to cheat.
Apparently if you embed a large enough corpus you can do algebra with the semantic value of words. King - Queen gives you a vector that when applied to Man gives you Woman. Great our language has structure. This makes sense because people are going to want to communicate in a way that mirrors the structure of the problems that we often encounter. Kind of an information theory frequent messages should be short kind of thing.
Then we see all these people trying to crack prompt engineering. And we see some people raving about how they're using LLMs to do so much amazing work and others keep getting back nonsense garbage.
My conclusion is that some people are just more synced with the social ziegiest, which is also embedded into LLMs. By talking to the LLM the right way, they're dumping in additional structure about the problem they want to solve.
Which means I expect non-experts (or experts who don't sufficiently internalize the jargon) to get noticably worse results just because they don't know how to talk "right".
Not only will non-experts be unable to interpret results. But they also can't formulate questions or requests that the LLM will be able to give good results to in the first place. [I would love to see some one run a study on this.]
Also, not every problem we face has a structure amendable to natural language. Or they're too niche to have a sufficiently large corpus of natural language and jargon for LLMs to consume. It would be really interesting to see if we can sort problems in this way. But I suspect disappointment from people trying to use LLMs on certain problems even if they are experts who can talk the talk.
As a counterexample of one, I would consider myself pretty much an "expert" in some sense at programming, and I've internalized the jargon of software engineering and computer science to the degree that my conversation is sometimes nigh incomprehensible to even other people conversational with programming, even when I'm intentionally trying not to use jargon. I'm also typically someone who writes in an extremely careful and information-dense wa designed to specify what I mean as precisely as possible and hedge out any possible misinterpretations, even to the point of writing entirely too much. And yet, even when I combine all those factors with having a fairly simple task using common technologies in mind, I typically can't get large language models to produce anything I would consider good that I couldn't have written myself just as quickly as it took me to input the prompt and get the result. I also find translating programming ideas into words instead of code an impedance barrier when code is what I have in my head. Moreover, obviously it never does things how I want them done, which is very frustrating because every choice I make about how I write my code, down to the smallest detail, is 100% intentional and conscious, and so it just feels frustrating and disappointing to use code that a large language model has generated for me, because it's not what I wanted written in the first place. And if I had given enough specification about how to go about things to the model for it to produce exactly what I wanted, I might as well have written it myself, because the translation of my thoughts and intentions into code is largely effortless as it is. The only thing that typically slows me down noticeably is referencing APIs and extremely obscure bugs typically caused by a gotcha in whatever system I'm working on — but it would take just as much time to prompt, wait for, and then read the output of a model as it would to just tab over to the docs I already have open, click on a link for a function that seems likely, and read the description of the function or method, and as for obscure bugs, I doubt a large language model could help me debug them in the first place when I can't find anything on stack overflow or anywhere else on the internet about them. I very rarely have the sort of problems or produce the sort of bugs that would be easily helped by a large language model.
> But if you don't already understand the code and the concepts, you have no way of knowing if it's actually giving you accurate information or just hallucinating or confabulating.
That's the issue right there, I would also argue. And this epistemology thing is at the heart of the whole (AI) post-truth phenomenon.
You know, people often belittle philosophy as a useless field, and for some fields and subjects they are very right in that (witness all the arguments over finitism or existential inertia), but I think there are a few fields of philosophy that are actually really important. Not because they give answers, but because they give you a larger, richer, and consequently more nuanced tool set with which to approach certain categories of problems that are otherwise difficult to think about, or even notice as problems in the first place, by giving you access to a whole history of thought. In this respect I think philosophy of mind, epistemology, language, semiotics, and to a lesser extent ethics have crucial bearing on the things we see happening nowadays, including the advent of large language models. It's frustrating as someone who's really interested in philosophy to see people discuss these things where long history of philosophical thought is relevant without any real respect for or experience in those fields. It leaves their arguments often reductionist and/or bereft of strong argument and clear reasoning, full of implicit assumptions and ignored details, even when they're right.
> In this respect I think philosophy of mind, epistemology, language, semiotics, and to a lesser extent ethics have crucial bearing on the things we see happening nowadays
Whenever I hit that brushes up against these, I always find myself wishing that introductions to these topics were more easily found. I’m not saying they don’t exist, just that there’s no clear entry point to start learning about the philosophy of mind (or others). It’s like in Math, where you have books like Lang’s “Algebra” which are titled in the most literal way possible. It is simultaneously exactly what’s in the book, but woefully inappropriate for people who don’t already know what it is.
Unfortunately I'm in the rather unhelpful position (which I suspect is the position most philosophers also find themselves in, hence producing the problem you've so astutely pointed out) of not really remembering how I got into philosophy. I took a few college courses, read the textbooks, then started Googling the names of philosophers that seemed interesting and reading primary or secondary sources about their ideas. So all I can really offer is the sort of textbooks I began with, because I do think I found their format uniquely helpful for getting me into the thick of interesting things quickly: namely, primary source anthology textbooks!!! These are great :D I love them to pieces and always intend to read more.
Basically, try to find books that are composed entirely of the juicy sections of primary sources on a given subject from all sorts of different points of view, preferably with some footnotes and introductions to give proper context. Not handbooks or something where it's content by many authors, but written for the occasion — stuff made of primary sources. Things like this[0], although I haven't read that particular specimen since most of the ones I read to get into philosophy were bespoke ones made by my professors. Also, the Stanford Encyclopedia of Philosophy is indispensable for getting a real sense for the philosophical debate about any given topic — the arguments back and forth in all their minutae. Also have Wikipedia handy for definitions of technical jargon (always read the "criticism" or "responses" sections! and also remember Wikipedia is often incomplete).
In my opinion then the general point is that to become familiar with, and even good at thinking and arguing about, even rather deep philosophy, you don't necessarily need to sit down and munch through a dense and possibly dull primary source or didactic textbook from cover to cover unless you want to. Engaging with primary sources is good, but doing so when and where it seems interesting, on your own terms, in bite sized chunks, with secondary sources to supplement and broaden your horizons, is more likely to avoid burnout and help you digest things, so it's better in the end.
Also, I highly recommend Philosophical Investigations, it's very good and reasonably accessible from what I've read of it.
> The historical claim is that in the last decades, we have seen an overreach of the logic of markets, with markets being defended precisely for their capacity to deal with decentralized knowledge.
Phew, I never really drew the parallel between the current bane of my existence (the trust in the almighty algorithm and the perceived objectiveness of anything with numbers in it regardless of their ability to actually describe the supposed phenomena; okay parenthetical rant stopping early) and the “trust in the market.” But I’ll be damned if I’m ever going to not make it now. I really want to talk at length about how we (machine learning practitioners) have made our own beds with people jumping to conclusions about higher order reasoning and the ability to recall anything used in a training set by being militant about that separation as individuals but failing miserably as communities; and I want to talk about how that has created this perception of exactly what she’s referring to: over-leveraged trust in diffuse, “decentralized” knowledge. But… I won’t. At least not yet.
I’m going to check this book out. Thanks for the recommendation!
> I’m going to check this book out. Thanks for the recommendation!
No problem. I think it is quite brilliant in many ways, although, of course, not in everything. As for us technologists and engineers, see particularly Section 8, although there are plenty of relevant bits and pieces elsewhere too.
I see this argument pretty often - the idea that if it hallucinates and you have to check everything it does for you it would be faster to just do it yourself.
It's still faster to use an LLM. I don't know how to make a convincing argument about this - I just know that I've been using these tools on an almost daily basis for over a year and they absolutely help me work faster even though I'm very aware of hallucinations and mistakes and constantly look out for them.
At that point it seems faster to just learn how to write the logic yourself. Or get your answer from StackOverflow.
To me this seems like we're trying to re-invent SQL in a weird way, where you can "write code like how you write naturally!" - except you still need to logically piece your code together.
Programming is more like plumbing than it is like writing context independent functions.
I am a pretty 'mid' software developer generally, have been working as a PM for the last 3 years so have gotten rusty. Got laid off in December.
In about 60 hours of work, I've built a MVP React webapp that is hosted on githubpages, uses firebase for a serverless backend, and integrates with OpenAI APIs to turn user requests into structured JSON that serves as a starting point for the users without having to code the complex logic manually.
Just used ChatGPT4 to figure out how to get a domain working with my githubpages hosting (turns out I skipped a step when I read the docs - and DNS issues can be confusing).
Each of those steps had me running into frustrating bugs that I could have spun my wheels on for hours - with ChatGPT4, it didn't always identify the fix immediately, but I was able to debug so much faster, usually resolving the issue in about 30 minutes. More than the time savings, I really appreaciate the effect it has on morale for me: I hate being stuck on a problem and not knowing what to try next. It feels like I have a senior engineer who I can slack a question and get a thoughtful response inhumanly fast at any time of day (even when coding at 2AM).
ChatGPT 4 has been a lot more helpful to me that Copilot, but I might just not know how to get the most out of copilot yet. Copilot is really nice for jumping past writing boilerplate, but ChatGPT 4 can synthesize entire solutions that span multiple files, which I haven't had success getting from copilot.
What's even cooler is that I had never even touched React before 3 weeks ago, and now feel like I'm moderately fluent in the general design principles. If I was doing self-directed study of React starting from the docs, I probably would still be playing with toy hello world problems, but instead I've gotten the project I was hoping to build to a viable prototype.
One source of delight is using AI to synthesize dictionary data. I have a bunch of ingredients that users choose from and being able to "autocomplete" a solid initial draft for new dict entries feels like magic.
---
If you want to see what I built, or are in the Seattle area and want to try out AI-powered natural skincare formulation, here's my shameless plug: https://skincremental.com/
The core is all working and good enough, but probably have another week to get it to where I think it'll be ready to start doing some marketing.
Good advice, I've been doing a similar thing with good results.
One thing I have done is to start more manually to establish the patterns I want to use for things like parameter validation, log lines, etc and Copilot seems to do a very good job mimicking those.
Yeah, I've used that to good effect. My main quibble with copilot vs chatGPT is that chatgpt will remind me of side effect changes I need to make elsewhere in the file, which I haven't figured out how to make copilot do.
I actually find that copilots new chat feature which is integrated as part of the copilot plug-in (VS code as well as jet brains IDEs) is incredibly useful since it's generally pretty intelligent about augmenting your question with the related respective code files.
Id recommend chatGPT plus unless you really want to use it purely within an ide. It's a little tedious copy-pasting code into chatGPT, but it gives more verbose responses and has wider breadth of functionality.
I have found myself using chatGPT more than Google now that I have pro. It's nice to just ask a question and get a thorough response without having to read the results myself.
This is the sweet spot for coding AI - scaffolding when building out greenfield on well-known existing frameworks, and novice-level API usage and procedures.
Nothing wrong with that, we're all novices when picking up something new. I think there's substantial utility here.
I've found the quality of code is often poor though, lacking in safe input handling and error cases. It's basically like Stack Overflow answer code (typically happy path focused), or GitHub projects where someone has uploaded their equivalent of Hello World in a new framework. You can get into a trap, where you try to adjust prompts for more improvement, which may be less efficient than just hacking the code into shape - but you want to try one more prompt, because you might just hit the jackpot.
Other times, the early exchanges strongly bias the rest of the conversation, so sometimes you need to restart to get onto a different track. Auto-regression and context window starts working against you, and the early exchanges look just like few-shot examples to the LLM.
When you have a concrete issue with e.g. a library, and you're trying to achieve something specific enough not to have an example on the internet, you start seeing either hallucinations - convenient methods being invented - or vague suggestions that X or Y can help solve the problem (LLMs love positive language) but the specifics don't work. You've wandered out of the training data distribution and the AI starts looking really limited.
I still use it for learning, seeding initial code for scripts or boilerplate, etc. but I'm not too bullish on AI being able to substantially help the job of a maintenance programmer, not in its current form and interaction style.
Yeah I absolutely agree. I wanted to do something reasonably bespoke using IndexedDb in a web browser a few months ago. The documentation for indexeddb is frankly a confusing mess.
ChatGPT helped me get started. I asked it to write the code I wanted, and with a bit of back and forth it produced code that barely worked, was overly verbose and had no unit tests. However, it made great use of the indexeddb API. I used that code as a starting point and ended up with something robust and half as long that works great.
ChatGPT has read all the documentation and example code so I don’t have to. But I’m still much better at programming. For problems like this, we make a good team.
I've been grinding Leetcode lately and I've discovered that AI can oftentimes give a better explanation of a solution than Leetcode does. I can also followup questions without scanning through forum posts in hope someone was as confused as I was.
I'm not asking LLMs to write code for me in this scenario -- I need to get by in interviews without AI assistance. But as a personal tutor it is turning out to be helpful.
How do you know the AI explanation is accurate? 'Plausible' and 'accurate' can be very different - the GPTs are built for plausibility, to say what everyone else is saying (statistically).
I work with students learning to code, some of whom use AI in various ways. I can definitely see AI becoming a valuable tool for them in the future, but most students are currently ill-equipped to take advantage of it.
The most common error I observe from students is not providing sufficient information to get useful results. They'll omit what language or libraries they're intending to use, or restrictions on the set of language features they are or are not familiar with. Because of this, they'll get confident, often correct, responses, which are entirely unhelpful for the work they're doing.
The other issue they'll run into is over- or underestimating the capabilities of tools like ChatGPT. The first time they run into a problem which it isn't immediately able to solve they often give up on using AI as a tool entirely.
I do think AI has value for learners, primarily in an "explainer" role. Allowing students to take a piece of code and ask "what does this do" to get a plain English explanation is extremely powerful. It also can act as a substitute for documentation, as new learners are often disinclined to parse through official documentation, which is rarely beginner-friendly.
The mechanisms in improving LLM code output do not correlate to better understanding of systems or even LLMs for that matter. For language I think you're more correct in your view for sure.
I've been using AI for a LOT of work, from coding to image generation.
Some thoughts:
1. Midjourney v6 is absolutely fantastic for creating editorial images and brand images. Better than A-tier. Some of the output you can get from it beats the top agency talent I've worked with. You will have to prompt multiple times and it's not magic, but given the cost and time of quality photography and graphic work, it's very cheap and efficient.
2. ALL text generation is B or C-tier at best. It's fine if you want filler content, but I would never trust any AI tool to actually write on my behalf.
3. BUT, this cookie cutter writing style is perfect for most dull corporate speak - press releases, corny tweets, boring videos. It's also perfect for customer support. I expect practically all corporate social media accounts, press releases, etc. to be written by AI.
4. Coding is good until you run into performance or security issues. That said, you can get a MASSIVE productivity boost. It's also great for prototypes and stuff that doesn't need to immediately scale or be heavily performant.
5. Video is a long, long way off from anything close to production
At present, Midjourney is far ahead of the pack when it comes to image generation. If you haven't seen it yourself, please sign up for a basic subscription and check out their /explore tab. Even if you see it as an art feed, it's incredible work.
For coding, the best I've seen is a combination of a custom GPT like Grimoire on the chatGPT store, plus an IDE with a built-in AI prompt, like Cursor.
> 1. Midjourney v6 is absolutely fantastic for creating editorial images and brand images.
And I believe they're all currently uncopyrightable.
I'm unsure if that means they're automatically public-domain, but I guess if you see something you like that someone else has generated, you can use it yourself!
That might be a slightly over-simplistic explanation.
"The Copyright Office agreed that the parts of the painting that Allen had altered with Adobe constituted original work. However, it maintained that other parts generated by AI could not be copyrighted. In other words: Allen could copyright parts of the painting, but not the whole thing."
Why do you conclude that? It was a human that wrote the prompt that generated the particular image, and a human that selected the image out of several candidates, and iteratively adjusted the prompt to get a desired output, as well as selected the particular model/tool to use. Why would the output of this process not be copyrightable?
And what makes it materially different from setting up a plugin in an audio software, input a few MIDI notes and set a few synth parameters. I am pretty sure the audio output from that process is copyrightable/copyrighted?
I think the demand for A tier players will skyrocket.
And you will see more demand for people with taste and intuition.
Like AI can generate images, but if you have someone without taste directing it, the results are going to be poor.
Personally, feel very excited. I have a vivid imagination but I always focused on writing instead of learning to draw or paint. I can finally use the skills I know (writing) to recreate the ideas I have in my mind.
Even for brand content, feels incredible that I can think “this landing page will probably look good if we have an abstract geometric shape here”, and then just…create it.
>Some of the output you can get from it beats the top agency talent I've worked with
>I would never trust any AI tool to actually write on my behalf
That's because AI is unreliable. Algorithms are deterministic, but AI is probabilistic. You can trust the algorithm will always do its job, but AI will only "probably" do its job. The best thing we can say about AI is that it will probably fail less than a human.
AI is like rolling a die. Sometimes you get a 10. Other times you get an 1. And other times you get a 20.
That's why the best uses of AI, in my opinion, have been in areas where the AI only needs to go beyond a human capability once, rather than in areas where you need a constant reliable output. For example, when AI is used to designed a sorting algorithm faster than what humans have ever created, or when it's used to design structures for space rockets. In these cases it doesn't matter that the AI fails at its job 99.99999999% of the times. It only needs to surpass human ingenuity once and we can use that design forever.
When I hear about using AI as a replacement for search results for example, or in this case for a textbook or tutorial, what enters my mind is... just read an actual written by a real human. If this is unfeasible because search engines suck or because the articles are written in a very confusing way, maybe we should try fixing how we search for humanly-written articles and how we write articles, rather than using AI to generate the text of the articles and then AI to digest the content of articles for you.
AI is pretty nice for search right now (compared to the incumbents) because nobody has figured out how to jam ads in all over the place and they are not yet victim to SEO that results in garbage listicles for every query.
It's great because it has no reputation to blemish and it knows you will read it, so it can do things like:
>What is python?
"Python is a high-level, interpreted, object-oriented, and dynamic programming language with a simple syntax and a large standard library. Buy Coca-Cola®. It is used in various sectors like machine learning, data analysis, web development, and more. Yvan eht Nioj. Python’s simple, easy-to-learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Cybertrucks are great."
Kind of. Midjourney V6 has certainly improved image coherence by a fair margin, but for complex prompts where accuracy is important, DALL-E 3 still has the edge.
I will update with v6 later this evening. Unfortunately OpenAI is the most censored, though in my tests, the DALL-3 API is less restrictive than using DALL-E via the ChatGPT interface.
One of my dogs is white with black spots over her body, with very curious facial features. Her right eye is surrounded by a big black spot, her right ear is heavily spotted but still quite white. Her left ear has a black spot centered on its base that covers the whole ear, her right eye has white all around.
I've not managed to make Dall-E to draw her.
I wanted it to draw 2 people with certain characteristics with two generic dogs with certain colours (nothing complex on the dog side). Up to the two people and a dog it more or less managed. Adding the last dog and the location made it mangle everything.
Most notable failure is that it got the left/right POV wrong.
If you are still using DALL-E, that's probably not the latest model, and if you're using the free chat interface it definitely isn't. Try using ChatGPT4 directly.
I wrote it wrong here, but I used the right wording there.
What I was exemplifying was that it had limits on the complexities in the instructions. And that anything with directions (left right...) can be hard for it.
These are not minor issues to evaluate the end result. It's good, but still lacking on some fronts.
BTW the level for witchcraft is too low for me, but to each their own.
Text generation is only B tier if you try to give it a vague prompt and let it run on. There is a process to text gen, GPT4 can generate very good text if you tell it to generate a short summary given guard rails, coach it and then tell it to expand the text, then tell it to expand previously generated sections of text.
Maybe I judge it harshly because dealing with copy was my day job for a long time. I can tell good copy from great copy instantly, and all the AI examples I’ve seen haven’t come close to “great”.
I would imagine a great programmer would feel the same way about AI generated code.
I've found that ChatGPT is very good at fine grained generation - you can get it to rewrite sentences and paragraphs with some examples and a general statement of style and it can produce extremely high quality output. Likewise, it can produce very high quality output when given a summary and asked to expand it into a short article, particularly when given areas to emphasize or things to note as it rewrites the content. The key is to prompt carefully and provide concrete examples in addition to referencing the style you want. That combined with keeping the bot on a fairly short leash can produce fantastic writing, you just need to inject the wit and unusually clever ideas yourself.
For a little more than text to image I would add Stable Diffusion with complex workflow tools like ComfyUI. The amount of different loras, controlnets and image to image or video to image is becoming very useful for various industries. Much more so than simple prompting. Think of upscaling, faceswapping, animation, rotoscoping and much more.
SD is very, very good with a great workflow, but for ordinary folks, and even for the quality of images, I’ve found Midjourney v6 to be absolutely incredible. The combination of prompt adherence and ease of use is hard to beat. Once there is a web app, it would be even easier
I've been using it to counter disappointing performance reviews in a professional way that aligns with policy to "further develop the employee". I've use it to create first drafts of proposals for changing business processes (saved me hours of time just outlining an argument). I've uploaded most of our PDFs and had it do some "fuzzing" in a sense to find logic errors, or slightly diverging interpretations of policy terms. This has been used to feedback to our policy and planning folks to cover a hole, or clarify some random document. I've definitely used AI to respond to a bad coworker or supervisor when I'm depressed I have to suffer under/around them. I still proofread the mistakes, but I make more mistakes when I'm trying to sound professional and just depressed about the work. Took this to a dark place, but there's more success than papering over BS. I've helped get 4 new benefits for our employee type with my proposals and the supporting "evidence" the LLM can drag up and justify in an opening brief. The type of employee I am is expected to receive 22% higher pay this year.
I used to think I don't have the bandwidth or headspace for understanding our collection of policy documents. There are rare experts. LLMs have lowered the barrier to entry for m e to contribute. I wish I could be specific, but I helped uncover that certain benefits were not available to the type of employee I am, and how previous pay comparisons were done assuming something about total compensation. Well, my employee doesn't have benefits so the numbers they were comparing against were not representative of us. Got a proposal in there, an got a few executives to say "ohh".
Can we please say "written _with_ AI" (or using), instead of "by AI" when describing these things? It is a human in the driver seat, triggering and controlling via prompts. I think the distinction is important because a lot of people out there are thinking of "AI" as autonomous agents (and making arguments and conclusions based on that). And generative text and image model generally has no such autonomy.
90 comments
[ 4.0 ms ] story [ 166 ms ] threadThat said, it's a bad idea to try to use the output of ANY LLM as a primary source in this kind of conversation. Distrust and verify!
People used to say the same thing about the web. It seems like people are unfortunately very bad at being skeptical right now.
Do you see people doing that now? I don't. People overwhelmingly believe, repeat, or just blithely fabricate nonsense - the latter really is amazing to see. In a recent HN thread someone confidently wrote a few paragraphs explaining some physiology. That sat up there for maybe a day, and it was easy to believe. Then a researcher in the field explained it, and the first person was very wrong (the researcher was very polite).
Just being skeptical without some way to allow good information to flow through the filter makes one close-minded.
Personally, I worry that this is a cut-off-your-nose-to-spite-your-face response, and that he'll be unhirable sooner than he expects.
Oh and the other problem I have with it is that you have to wade through endless pages of gpt-trash when you do try to use a search engine to get an answer to a question now.
True, and most people don't realize how bad it's going to get. We're still in the honeymoon period where most content on the internet is human-created, but machine-generated content will be the vast majority of online content by the end of the decade.
Apparently if you embed a large enough corpus you can do algebra with the semantic value of words. King - Queen gives you a vector that when applied to Man gives you Woman. Great our language has structure. This makes sense because people are going to want to communicate in a way that mirrors the structure of the problems that we often encounter. Kind of an information theory frequent messages should be short kind of thing.
Then we see all these people trying to crack prompt engineering. And we see some people raving about how they're using LLMs to do so much amazing work and others keep getting back nonsense garbage.
My conclusion is that some people are just more synced with the social ziegiest, which is also embedded into LLMs. By talking to the LLM the right way, they're dumping in additional structure about the problem they want to solve.
Which means I expect non-experts (or experts who don't sufficiently internalize the jargon) to get noticably worse results just because they don't know how to talk "right".
Not only will non-experts be unable to interpret results. But they also can't formulate questions or requests that the LLM will be able to give good results to in the first place. [I would love to see some one run a study on this.]
Also, not every problem we face has a structure amendable to natural language. Or they're too niche to have a sufficiently large corpus of natural language and jargon for LLMs to consume. It would be really interesting to see if we can sort problems in this way. But I suspect disappointment from people trying to use LLMs on certain problems even if they are experts who can talk the talk.
That's the issue right there, I would also argue. And this epistemology thing is at the heart of the whole (AI) post-truth phenomenon.
You know, people often belittle philosophy as a useless field, and for some fields and subjects they are very right in that (witness all the arguments over finitism or existential inertia), but I think there are a few fields of philosophy that are actually really important. Not because they give answers, but because they give you a larger, richer, and consequently more nuanced tool set with which to approach certain categories of problems that are otherwise difficult to think about, or even notice as problems in the first place, by giving you access to a whole history of thought. In this respect I think philosophy of mind, epistemology, language, semiotics, and to a lesser extent ethics have crucial bearing on the things we see happening nowadays, including the advent of large language models. It's frustrating as someone who's really interested in philosophy to see people discuss these things where long history of philosophical thought is relevant without any real respect for or experience in those fields. It leaves their arguments often reductionist and/or bereft of strong argument and clear reasoning, full of implicit assumptions and ignored details, even when they're right.
Whenever I hit that brushes up against these, I always find myself wishing that introductions to these topics were more easily found. I’m not saying they don’t exist, just that there’s no clear entry point to start learning about the philosophy of mind (or others). It’s like in Math, where you have books like Lang’s “Algebra” which are titled in the most literal way possible. It is simultaneously exactly what’s in the book, but woefully inappropriate for people who don’t already know what it is.
Do you have any recommendations?
Basically, try to find books that are composed entirely of the juicy sections of primary sources on a given subject from all sorts of different points of view, preferably with some footnotes and introductions to give proper context. Not handbooks or something where it's content by many authors, but written for the occasion — stuff made of primary sources. Things like this[0], although I haven't read that particular specimen since most of the ones I read to get into philosophy were bespoke ones made by my professors. Also, the Stanford Encyclopedia of Philosophy is indispensable for getting a real sense for the philosophical debate about any given topic — the arguments back and forth in all their minutae. Also have Wikipedia handy for definitions of technical jargon (always read the "criticism" or "responses" sections! and also remember Wikipedia is often incomplete).
In my opinion then the general point is that to become familiar with, and even good at thinking and arguing about, even rather deep philosophy, you don't necessarily need to sit down and munch through a dense and possibly dull primary source or didactic textbook from cover to cover unless you want to. Engaging with primary sources is good, but doing so when and where it seems interesting, on your own terms, in bite sized chunks, with secondary sources to supplement and broaden your horizons, is more likely to avoid burnout and help you digest things, so it's better in the end.
Also, I highly recommend Philosophical Investigations, it's very good and reasonably accessible from what I've read of it.
[0]: https://www.amazon.com/Analytic-Philosophy-Anthology-P-Marti...
Plenty, but it's complicated. I've been thinking about these ideas a lot:
https://news.ycombinator.com/item?id=38427055
> The historical claim is that in the last decades, we have seen an overreach of the logic of markets, with markets being defended precisely for their capacity to deal with decentralized knowledge.
Phew, I never really drew the parallel between the current bane of my existence (the trust in the almighty algorithm and the perceived objectiveness of anything with numbers in it regardless of their ability to actually describe the supposed phenomena; okay parenthetical rant stopping early) and the “trust in the market.” But I’ll be damned if I’m ever going to not make it now. I really want to talk at length about how we (machine learning practitioners) have made our own beds with people jumping to conclusions about higher order reasoning and the ability to recall anything used in a training set by being militant about that separation as individuals but failing miserably as communities; and I want to talk about how that has created this perception of exactly what she’s referring to: over-leveraged trust in diffuse, “decentralized” knowledge. But… I won’t. At least not yet.
I’m going to check this book out. Thanks for the recommendation!
No problem. I think it is quite brilliant in many ways, although, of course, not in everything. As for us technologists and engineers, see particularly Section 8, although there are plenty of relevant bits and pieces elsewhere too.
It's still faster to use an LLM. I don't know how to make a convincing argument about this - I just know that I've been using these tools on an almost daily basis for over a year and they absolutely help me work faster even though I'm very aware of hallucinations and mistakes and constantly look out for them.
To me this seems like we're trying to re-invent SQL in a weird way, where you can "write code like how you write naturally!" - except you still need to logically piece your code together.
Programming is more like plumbing than it is like writing context independent functions.
I am a pretty 'mid' software developer generally, have been working as a PM for the last 3 years so have gotten rusty. Got laid off in December.
In about 60 hours of work, I've built a MVP React webapp that is hosted on githubpages, uses firebase for a serverless backend, and integrates with OpenAI APIs to turn user requests into structured JSON that serves as a starting point for the users without having to code the complex logic manually.
Just used ChatGPT4 to figure out how to get a domain working with my githubpages hosting (turns out I skipped a step when I read the docs - and DNS issues can be confusing).
Each of those steps had me running into frustrating bugs that I could have spun my wheels on for hours - with ChatGPT4, it didn't always identify the fix immediately, but I was able to debug so much faster, usually resolving the issue in about 30 minutes. More than the time savings, I really appreaciate the effect it has on morale for me: I hate being stuck on a problem and not knowing what to try next. It feels like I have a senior engineer who I can slack a question and get a thoughtful response inhumanly fast at any time of day (even when coding at 2AM).
ChatGPT 4 has been a lot more helpful to me that Copilot, but I might just not know how to get the most out of copilot yet. Copilot is really nice for jumping past writing boilerplate, but ChatGPT 4 can synthesize entire solutions that span multiple files, which I haven't had success getting from copilot.
What's even cooler is that I had never even touched React before 3 weeks ago, and now feel like I'm moderately fluent in the general design principles. If I was doing self-directed study of React starting from the docs, I probably would still be playing with toy hello world problems, but instead I've gotten the project I was hoping to build to a viable prototype.
One source of delight is using AI to synthesize dictionary data. I have a bunch of ingredients that users choose from and being able to "autocomplete" a solid initial draft for new dict entries feels like magic.
---
If you want to see what I built, or are in the Seattle area and want to try out AI-powered natural skincare formulation, here's my shameless plug: https://skincremental.com/
The core is all working and good enough, but probably have another week to get it to where I think it'll be ready to start doing some marketing.
”// a function takes an array of numbers and returns the array with negative numbers removed ”
In my experience this can match GPT-4 in many cases while saving the roundtrip.
One thing I have done is to start more manually to establish the patterns I want to use for things like parameter validation, log lines, etc and Copilot seems to do a very good job mimicking those.
I have found myself using chatGPT more than Google now that I have pro. It's nice to just ask a question and get a thorough response without having to read the results myself.
Nothing wrong with that, we're all novices when picking up something new. I think there's substantial utility here.
I've found the quality of code is often poor though, lacking in safe input handling and error cases. It's basically like Stack Overflow answer code (typically happy path focused), or GitHub projects where someone has uploaded their equivalent of Hello World in a new framework. You can get into a trap, where you try to adjust prompts for more improvement, which may be less efficient than just hacking the code into shape - but you want to try one more prompt, because you might just hit the jackpot.
Other times, the early exchanges strongly bias the rest of the conversation, so sometimes you need to restart to get onto a different track. Auto-regression and context window starts working against you, and the early exchanges look just like few-shot examples to the LLM.
When you have a concrete issue with e.g. a library, and you're trying to achieve something specific enough not to have an example on the internet, you start seeing either hallucinations - convenient methods being invented - or vague suggestions that X or Y can help solve the problem (LLMs love positive language) but the specifics don't work. You've wandered out of the training data distribution and the AI starts looking really limited.
I still use it for learning, seeding initial code for scripts or boilerplate, etc. but I'm not too bullish on AI being able to substantially help the job of a maintenance programmer, not in its current form and interaction style.
ChatGPT helped me get started. I asked it to write the code I wanted, and with a bit of back and forth it produced code that barely worked, was overly verbose and had no unit tests. However, it made great use of the indexeddb API. I used that code as a starting point and ended up with something robust and half as long that works great.
ChatGPT has read all the documentation and example code so I don’t have to. But I’m still much better at programming. For problems like this, we make a good team.
I'm not asking LLMs to write code for me in this scenario -- I need to get by in interviews without AI assistance. But as a personal tutor it is turning out to be helpful.
Asking about the grammar in a sentence, for example, or how concepts relate to each other. Somehow it works really well.
The most common error I observe from students is not providing sufficient information to get useful results. They'll omit what language or libraries they're intending to use, or restrictions on the set of language features they are or are not familiar with. Because of this, they'll get confident, often correct, responses, which are entirely unhelpful for the work they're doing.
The other issue they'll run into is over- or underestimating the capabilities of tools like ChatGPT. The first time they run into a problem which it isn't immediately able to solve they often give up on using AI as a tool entirely.
I do think AI has value for learners, primarily in an "explainer" role. Allowing students to take a piece of code and ask "what does this do" to get a plain English explanation is extremely powerful. It also can act as a substitute for documentation, as new learners are often disinclined to parse through official documentation, which is rarely beginner-friendly.
Some thoughts:
1. Midjourney v6 is absolutely fantastic for creating editorial images and brand images. Better than A-tier. Some of the output you can get from it beats the top agency talent I've worked with. You will have to prompt multiple times and it's not magic, but given the cost and time of quality photography and graphic work, it's very cheap and efficient.
2. ALL text generation is B or C-tier at best. It's fine if you want filler content, but I would never trust any AI tool to actually write on my behalf.
3. BUT, this cookie cutter writing style is perfect for most dull corporate speak - press releases, corny tweets, boring videos. It's also perfect for customer support. I expect practically all corporate social media accounts, press releases, etc. to be written by AI.
4. Coding is good until you run into performance or security issues. That said, you can get a MASSIVE productivity boost. It's also great for prototypes and stuff that doesn't need to immediately scale or be heavily performant.
5. Video is a long, long way off from anything close to production
At present, Midjourney is far ahead of the pack when it comes to image generation. If you haven't seen it yourself, please sign up for a basic subscription and check out their /explore tab. Even if you see it as an art feed, it's incredible work.
For coding, the best I've seen is a combination of a custom GPT like Grimoire on the chatGPT store, plus an IDE with a built-in AI prompt, like Cursor.
Often convoluted, rarely easy to read. Sometimes it’s not even valid.
Copilot is pretty good at predicting what I was about to type thought. It’s great for configs or repeating data structures
Grimoire has been excellent for me. But then again, my stack likely has more training data than anything out there (Javascript)
>It’s great for configs or repeating data structures
It saves me a lot of time adding logging statements too. Unfortunately, it's pretty hit or miss with doc comments.
And I believe they're all currently uncopyrightable.
I'm unsure if that means they're automatically public-domain, but I guess if you see something you like that someone else has generated, you can use it yourself!
Any 'de minimis' changes will probably lead to rejection.
"The Copyright Office agreed that the parts of the painting that Allen had altered with Adobe constituted original work. However, it maintained that other parts generated by AI could not be copyrighted. In other words: Allen could copyright parts of the painting, but not the whole thing."
https://www.wired.com/story/ai-art-copyright-matthew-allen/
For now, it seems the issue is still being disputed
So to the degree one is in those unknown areas right now it is improtant.
And you will see more demand for people with taste and intuition.
Like AI can generate images, but if you have someone without taste directing it, the results are going to be poor.
Personally, feel very excited. I have a vivid imagination but I always focused on writing instead of learning to draw or paint. I can finally use the skills I know (writing) to recreate the ideas I have in my mind.
Even for brand content, feels incredible that I can think “this landing page will probably look good if we have an abstract geometric shape here”, and then just…create it.
That's because AI is unreliable. Algorithms are deterministic, but AI is probabilistic. You can trust the algorithm will always do its job, but AI will only "probably" do its job. The best thing we can say about AI is that it will probably fail less than a human.
AI is like rolling a die. Sometimes you get a 10. Other times you get an 1. And other times you get a 20.
That's why the best uses of AI, in my opinion, have been in areas where the AI only needs to go beyond a human capability once, rather than in areas where you need a constant reliable output. For example, when AI is used to designed a sorting algorithm faster than what humans have ever created, or when it's used to design structures for space rockets. In these cases it doesn't matter that the AI fails at its job 99.99999999% of the times. It only needs to surpass human ingenuity once and we can use that design forever.
When I hear about using AI as a replacement for search results for example, or in this case for a textbook or tutorial, what enters my mind is... just read an actual written by a real human. If this is unfeasible because search engines suck or because the articles are written in a very confusing way, maybe we should try fixing how we search for humanly-written articles and how we write articles, rather than using AI to generate the text of the articles and then AI to digest the content of articles for you.
>What is python?
"Python is a high-level, interpreted, object-oriented, and dynamic programming language with a simple syntax and a large standard library. Buy Coca-Cola®. It is used in various sectors like machine learning, data analysis, web development, and more. Yvan eht Nioj. Python’s simple, easy-to-learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Cybertrucks are great."
Comparisons I made a while ago: https://imgur.com/a/2GTRjfK
I will update with v6 later this evening. Unfortunately OpenAI is the most censored, though in my tests, the DALL-3 API is less restrictive than using DALL-E via the ChatGPT interface.
I've not managed to make Dall-E to draw her.
I wanted it to draw 2 people with certain characteristics with two generic dogs with certain colours (nothing complex on the dog side). Up to the two people and a dog it more or less managed. Adding the last dog and the location made it mangle everything.
All through the chat interface.
For me it's still lacking on some things.
https://i.imgur.com/arj2h1K.png
Most notable failure is that it got the left/right POV wrong.
If you are still using DALL-E, that's probably not the latest model, and if you're using the free chat interface it definitely isn't. Try using ChatGPT4 directly.
In any case, I'm reluctant to complain too much about minor issues with something that would gotten its creators burned as witches 500^H^H years ago.
What I was exemplifying was that it had limits on the complexities in the instructions. And that anything with directions (left right...) can be hard for it.
These are not minor issues to evaluate the end result. It's good, but still lacking on some fronts.
BTW the level for witchcraft is too low for me, but to each their own.
I would imagine a great programmer would feel the same way about AI generated code.
I've been using it to counter disappointing performance reviews in a professional way that aligns with policy to "further develop the employee". I've use it to create first drafts of proposals for changing business processes (saved me hours of time just outlining an argument). I've uploaded most of our PDFs and had it do some "fuzzing" in a sense to find logic errors, or slightly diverging interpretations of policy terms. This has been used to feedback to our policy and planning folks to cover a hole, or clarify some random document. I've definitely used AI to respond to a bad coworker or supervisor when I'm depressed I have to suffer under/around them. I still proofread the mistakes, but I make more mistakes when I'm trying to sound professional and just depressed about the work. Took this to a dark place, but there's more success than papering over BS. I've helped get 4 new benefits for our employee type with my proposals and the supporting "evidence" the LLM can drag up and justify in an opening brief. The type of employee I am is expected to receive 22% higher pay this year.
I used to think I don't have the bandwidth or headspace for understanding our collection of policy documents. There are rare experts. LLMs have lowered the barrier to entry for m e to contribute. I wish I could be specific, but I helped uncover that certain benefits were not available to the type of employee I am, and how previous pay comparisons were done assuming something about total compensation. Well, my employee doesn't have benefits so the numbers they were comparing against were not representative of us. Got a proposal in there, an got a few executives to say "ohh".
It's been fun.
I'm 25-50% more productive now. ChatGPT 3.5 did nothing for me (too much bad code) but newer models made the difference. GPT-5+ will be incredbile.