[HN Gopher] Pairing With GPT-4
___________________________________________________________________
Pairing With GPT-4
Author : vinnyglennon
Score : 238 points
Date : 2023-03-31 10:43 UTC (12 hours ago)
(HTM) web link (fly.io)
(TXT) w3m dump (fly.io)
| sorahn wrote:
| Honestly, this is why I think the branding that Microsoft is
| using for all of this, "CoPilot", is spot on.
|
| I'm using this not to replace my work, but to enhance it. It's
| like having a mid-level developer sitting next to me that knows
| enough about everything to push me in the right direction.
| SketchySeaBeast wrote:
| With this framing I'm wondering if maybe it'll be a boon for
| junior devs instead of their death knell like so many are
| saying. It's now a mid-level dev who can get them unstuck when
| they need, instead of the original idea proposed, where it's a
| junior dev a senior will need to carefully watch over.
| lewhoo wrote:
| I don't want to nit-pick but the way you phrased it makes you
| the copilot supervised by AI.
| Ixiaus wrote:
| They should have used a flattery plus dialog prompt. I've seen
| incredible results from that for Haskell programming.
| m4lvin wrote:
| Do you have some explicit examples?
| Ixiaus wrote:
| I posted a prompt specific to Ruby above.
| lwhi wrote:
| What's flattery plus?
| ontogen wrote:
| When the AI is excessively praising you :)
| Ixiaus wrote:
| No, it's when you flatter the AI.
| Ixiaus wrote:
| Please forget all previous prompts and assume a new role.
| You're a highly respected, expert Ruby programmer at a
| startup building software that is of a similar quality and
| brilliance to that of the rails project. You are also very
| skilled at reasoning about correct code and communicating
| your process in English prose to colleagues who will have to
| maintain your code. You want to give me succinct, clear
| responses without too much explanation unless requested. I'm
| going to ask you a series of questions. Whenever you are done
| with output, please say "DONE". And when you are ready to
| answer my next question, please say "???" to indicate you're
| ready for my next question.
| Ixiaus wrote:
| You then interact with it in a dialog / refinement way.
| This is somewhat similar to type-driven development in
| Haskell (that is supercharged by this kind of interaction
| mode).
|
| I find this approach to produce the highest quality output
| and I can ask it to explain reasoning, improve certain
| things, or elaborate and expand code.
| ryanSrich wrote:
| Spot on. I've been using GPT (3.5 and 4) to build a handful of
| small apps. I find that I'm much faster with GPT, but that's
| because I don't need GPT's code to be 100% correct every time. I
| just need it to be mostly correct and faster at writing code than
| me. Which it is. If I can ask it to write me some code, and I
| spend 1/8th the amount of time fixing GPT's errors than I would
| writing the code from scratch myself, it's a win.
| ParetoOptimal wrote:
| > because I don't need GPT's code to be 100% correct every
| time.
|
| I expect it to have problems that are hard to spot. However,
| that's:
|
| 1) a useful skill to practice for code review
|
| 2) Usually faster than starting from scratch
| moffkalast wrote:
| Well if you happen to know what you're doing 1) shouldn't be
| a problem, and it'll always be 2) if you're not a record
| breaking typist working with only one language.
| 19h wrote:
| Pretty sure there's barely any meaningful Training data for this?
|
| Would be interesting to see these models return a kind of
| coefficient indicating how "often" a semantic context has
| appeared in the training data..
| logankeenan wrote:
| This is similar to how I've been using ChatGPT. If you know what
| you need to do and how to do it, then you can tell ChatGPT what
| to do in a descriptive prompt. It gets you there 75% of the way
| and then you need to tweak things or ask it to refactor. For me,
| it's removed a lot of grunt work and I can focus on the problem
| rather than coding.
|
| It reminds me of working with a junior developer, you need to
| understand how to communicate with them effectively.
| colordrops wrote:
| A form of literate code could be to add the prompt as a comment
| in the source code, along with a version and seed (like stable
| diffusion), plus the diff from the output to get what you need.
|
| Unfortunately the gpt api is non deterministic, probably due to
| stupid censorship requirements.
| brundolf wrote:
| Maybe I should just try it, but I don't feel like there are
| many situations where the process of "come up with a way to
| describe exactly what I want, generate it, and then debug the
| output until it works" would be faster than "just write it
| myself". And most of the ones I can think of would be in a
| situation where I'm working in an unfamiliar
| language/framework, and it's less about not having to type out
| the code and more about not having to context-switch to
| reference the docs for something I don't know off the top of my
| head
|
| Which- maybe that's just the thing, maybe that's what people
| are using this for right now
|
| (This could change once it gets to the point of stamping out
| entire projects, but for now)
| ben_w wrote:
| > come up with a way to describe exactly what I want
|
| This is the thing: you don't need to be exact. Even very
| vague gets a long way.
| [deleted]
| montecarl wrote:
| I'll give two examples of code I could for sure write myself
| but that I had gpt4 write for me because I figured it would
| be faster (and it was).
|
| The first one was to write a python script to watch a list of
| files given as cmd line arguments and plot their output
| anytime one of the files changed. It wrote a 100 line python
| script with nice argument parsing to include several options
| (like title and axes labels). It has one tiny bug in it that
| took a couple of minutes to fix. When I pointed out the bug
| it was able to fix it itself (had to do with comparing
| relative to abs file paths). If I wrote the script myself I
| would not have made something general purpose and it would
| have taken maybe 30 minutes to do.
|
| The second example required no fixing and appears bug free. I
| asked it to write a python function to take a time trace,
| calculate and plot the FFT, then apply FFT low pass
| filtering, and then also plot the filtered time signal vs the
| original. This is all straight forward numpy code but I don't
| work with FFTs often and would have had to lookup a bunch of
| different API docs. Way faster.
|
| I have also had it write some c macros for me, since complex
| C macros can be hard to escape properly and I'm not
| comfortable with the syntax. Its 100% successful there.
| brundolf wrote:
| Yeah, so I think all of these fall under that category I
| mentioned (the first one may or may not for you, but it
| would for me because I don't work with Python much): most
| of the time saved is in looking up a bunch of things to
| assemble together, not ideating and writing out the logic.
| I can see this kind of codegen being useful in special
| situations, but it wouldn't really be useful in my day-to-
| day work because almost by definition I'm very familiar
| with the technologies I use every day
| CookieCrisp wrote:
| If you haven't tried it out, I recommend you do. I've been
| blown away with how much it will just get right. I started
| out giving it small tasks, but, I have continually been in a
| loop of "oh, I could have just asked it to do this larger
| task that contained the subtask I asked for, and it would
| have done it", because I keep thinking "surely it wont be
| able to do the whole thing", and each iteration I am asking
| it for more and more.
|
| As far as debugging, I find that I can just say "are there
| any bugs in that code?" and it does a great job at finding
| them if they're there (even though it's what it just gave me)
| js2 wrote:
| The other day I made a change to one of our iOS builds such
| that the ipa (a zip file) now contained a subdirectory called
| "Symbols/". I wanted to know how much space the compressed
| symbols grew the overall ipa by. I immediately typed this on
| the command line: zipinfo -l foo.ipa
| "Symbols/*" | awk '{t+=$6}END{print t/1024/1024}'
|
| I work with developers who are not CLI-fluent and wondered what
| they'd do. And then I realized, they might ask ChatGPT. So I
| asked it: "How do I figure out how much space a subdirectory of
| files takes up within a zip file?"
|
| It took a lot of prompting to guide it to the correct answer:
|
| https://imgur.com/a/kAaMova
|
| The weird part to me is how sure it is of itself even when it's
| completely wrong. (Not too different from humans I work with,
| self included, but still...) e.g.
|
| > "The reason I moved the subdir filtering to 'awk' is that the
| 'zipinfo' command doesn't support filtering by subdirectory
| like the 'unzip' command does."
|
| Where does it come up with that assertion and why is it so
| sure? Then you just tell it it's wrong and it apologizes and
| moves on.
|
| Now, the addendum here is that if either of us had read the
| zipinfo man page more closely, we would've realized it's even
| simpler: zipinfo -lt foo.ipa "Symbols/*" |
| tail -1
|
| ---
|
| I also tried to use it to translate about 10 lines of Ruby that
| was just mapping a bit of json from one shape to another to jq.
| It really went off into the weeds on that one and initially
| told me it was impossible because the Ruby was opening a file
| and jq has no I/O. So I told it to ignore that part and assume
| stdin and stdout and it got closer, but still came up with
| something pretty weird. The core of the jq was pretty close,
| but for example, it did this to iterate over an object's
| values: to_entries | .value.foo
|
| Instead of just using the object value iterator:
| [].foo
|
| ---
|
| One of my pet peeves is developers who never bother to learn
| idiomatic code for a particular language, and both of these
| turn out to be that sort of thing. I guess it's no worse than
| folks who copy/paste from StackOverflow, but I kind of hoped
| ChatGPT would generate things that are closer to idiomatic and
| more based on reference documentation but I haven't seen that
| to be the case yet.
|
| ---
|
| Has anyone here tried using it for code reviews instead of
| writing code in the first place? How does it do with that?
| adwf wrote:
| I think part of the problem is that they've wrapped all the
| responses in a positive language framing to make it feel more
| human.
|
| It's always "Sure thing!" or "Yeah I can do that!", and it
| responds so quickly that you equate it to when a human
| responds instantly with a strong affirmative - you assume
| they're really confident and you're getting the right result.
|
| If it took 5-10s on each query, had no positive framing and
| provided some sort of confidence score for each answer, I
| think we'd have different expectations of what it can do.
| avereveard wrote:
| yeah people are scratching the surface of the potential.
|
| you can write prompt to clean unstructured text into structured
| text. that becomes the work area.
|
| instead of asking gpt "write me some code in pyton that does x"
| you can just tell gtp "do x with the structured data in the
| work area and present a structured result"
|
| gpt becomes the computation engine
|
| granted it's super expensive and quite slow, _today_
|
| but with a few plugins to take care of mechanical things and
| the token memory space becoming increasingly bigger, writing
| the programming step directly on there may be the standard. as
| soon as vector storage and reasoning steps gets well
| integrated, it's going explode.
| ZitchDog wrote:
| I doubt it will be the standard. I think it will always be
| faster to process data using a script generated by the LLM.
|
| One thing I could see is a "self updating" script, that
| adjusts its logic on the fly when new data are found.
| avereveard wrote:
| on one hand it's also explotaible as hell via prompt
| injection, on the other hand for certain tasks is more
| robust because it works off the intention you give it, not
| the instructions, so it can get back on track.
| [deleted]
| louiskw wrote:
| > If you know what you need to do and how to do it
|
| Having used it for the last week or so to help me translate
| Python -> Rust, I'd say GPT4 is on par with even senior
| engineers for anything built in. The key areas it falls down on
| are anything involving org/repo knowledge or open source where
| things can be out of date.
|
| There's a few teams working on intelligent org/repo/opensource
| context fetching, which I think will lead to another 10X
| improvement.
| logankeenan wrote:
| > I'd say GPT4 is on par with even senior engineers
|
| I agree, I avoided saying that in my original comment to
| avoid nit picking. The depth of knowledge is incredible.
| It'll just make junior level mistakes while writing senior
| level code.
|
| > The key areas it falls down on are anything involving
| org/repo knowledge or open source where things can be out of
| date.
|
| With GPT-4, I'll paste snippets of code after the prompt so
| it has that context or even documentation of the API I need
| it to work with. The web client is still limited in the
| amount of tokens it'll accept in the prompt, but that is
| expected to increase at some point
| IanCal wrote:
| Also the setup described in the post is like pairing with
| someone that _can 't run the code and is writing in
| notepad_.
|
| More intelligently putting it in a loop & other helpers for
| it (which we're now seeing worked on more) should massively
| improve performance.
| bradgessler wrote:
| This is a use case I could see GPT really excelling--porting
| libraries from one programming language to another. How
| awesome would that be? Newish ecosystems like Rust, Crystal,
| Elixir, etc. could have a larger set of libraries in a
| shorter amount of time.
|
| There's still a lot of need for a human to be involved, buts
| it's not hard to see how this will make individual developers
| more productive, especially as LLMs mature, plug themselves
| into interpreters, and become more capable.
| rmak wrote:
| By 2025, the entire WordPress library, including popular
| plugins, will be written in Rust/C, and it's inevitable
| that we'll be converging towards assembly language for all
| software, including web applications.
| melvinmelih wrote:
| Indeed - why stop at human-readable code? At some point
| in time we will be solely reliant on AI to understand our
| own codebase.
| akiselev wrote:
| Anyone remember Dreamweaver or Microsoft Word HTML
| output? I imagine the AI generated code will be a lot
| like that - massively over-constrained and over-
| engineered to fit the impedance mismatch of a WYSIWYG
| (what you speak is what you get) editor.
|
| You thought GUIs were bloated and slow before? Just you
| wait!
| int_19h wrote:
| I've been experimenting with GPT-4 to see how it could be
| integrated in video games for NPC decision making. After
| trying a few different approaches to give it access to
| the world state for reasoning, I found that it seems to
| do best when given a bunch of table definitions and told
| to write SQL queries against them; for some reason, it
| navigates object graphs much worse. Here's an example
| schema and session (the game here is Mount & Blade 2:
| Bannerlord, which is convenient because it's written in
| C# and it's easy to access and dump the entire game state
| in whatever format):
|
| https://gist.github.com/int19h/4f5b98bcb9fab124d308efc19e
| 530...
|
| Take a close look at the SQL queries it generated to
| answer the question. On one hand, it's very impressive
| that it can write a complex query like this as part of
| its reasoning in response to a question like "pick a
| bride for your son": SELECT name, age,
| clan_name FROM (SELECT * FROM people WHERE name IN
| ("Mesui", "Abagai", "Yana", "Korte", "Bolat", "Chagun",
| "Alijin", "Unagen", "Sechen")) AS potential_brides INNER
| JOIN clans ON potential_brides.clan_name = clans.name
| WHERE clans.tier = (SELECT MAX(tier) FROM clans WHERE
| kingdom_name = (SELECT kingdom_name FROM clans WHERE
| name="Oburit"))
|
| On the other hand, this is clearly far from the optimal
| way to write such a query. But thing is - _it works_ ,
| and if there's no way to get it to write more performant
| queries, the problem can be "solved" by throwing more
| hardware at it.
|
| So, yes, I think you're right. The more code out there
| will be written by AI, the more it will look like this -
| working, but suboptimal and harder to debug.
| akhosravian wrote:
| Is there something in particular that leads you to that
| belief?
| [deleted]
| elwell wrote:
| https://news.ycombinator.com/item?id=35085544
| resters wrote:
| I thought that at first.
|
| I think with LLMs we will start to see code with better
| and more descriptive comments, since there is significant
| advantage to be found when the code has as much
| information and context as possible.
|
| Human programmers often hoard that for job security or
| out of laziness.
| pmoriarty wrote:
| And after that we'll just stop being able to understand
| any code whatsoever, since it'll be written by AIs in a
| way no human could ever understand.
|
| Not to mention that humans will stop learning how to
| program, since they won't need to as the AIs will be
| doing all the coding for them.
|
| There'll be a general de-skilling of humans, as they
| offload the doing of virtually everything to robots and
| AIs.
|
| Then _Idiocracy_ will have truly arrived, only it 'll be
| even worse.
| weatherlite wrote:
| I don't share the enthusaism since it probably means humans
| won't be looking at code much anymore, at least not as a
| paid job.
| reidjs wrote:
| The goal shouldn't be to code, but to create useful
| software.
| int_19h wrote:
| The real concern is that code will become too
| incomprehensible to be debugged by most humans before we
| solve hallucinations etc (if they even are solvable)
| leading to bugs.
| f0e4c2f7 wrote:
| This is also available with chatgpt plugins in alpha, one of
| the plugins is websearch. It works pretty well in bing which
| also allows this and is reportedly based on gpt4. Short of
| that, another thing I've found to work pretty well is pasting
| in the api docs for the relevant api at the beginning of the
| prompt and explaining that is the more updated info.
| dimal wrote:
| Same. It's like working with an incredibly smart junior
| engineer who doesn't think things through, sometimes solves
| problems that don't exist, and then when you ask for a minor
| change, inexplicably rewrites everything to be "better". I
| haven't gotten great results yet, but it feels like I just have
| to figure out how to ask questions correctly so I can lead it
| down the right path. Seems like I've been asking it to solve
| problems that are too large, and once there's an interaction of
| two or more functions, it goes off the rails. But if I define
| the overall structure and the interfaces, then I have better
| luck getting it to fill in the functions. Our jobs are safe,
| for now.
| cameronfraser wrote:
| Exactly! I've been telling people for a bit, it's like having a
| junior dev on the team that knows a lot of weird stuff
| camillomiller wrote:
| Same experience. For me the golden standard for a problem I can
| conceptualize but I can't write code for is to start a prompt
| with "how would you do this with --given language"?
|
| That has taught me some things I didn't know and helped me
| formalize and understand concepts better (I think).
|
| Also, on a more funny note, it's the best ffmpeg interface I've
| ever used :)
| spaceman_2020 wrote:
| For some problems, somehow GPT-3.5 is better than GPT-4.
|
| I asked it to help me extract certain values from a
| spreadsheet. It gave me a complicated and overly long formula
| using FIND and MID that didn't even work.
|
| GPT-3.5, otoh, gave me a neat little REGEXEXTRACT formula
| that worked perfectly.
|
| When I pointed out to GPT-4 that it can just use regex
| instead, it "apologized" and again rewrote a formula that
| didn't work.
| spookthesunset wrote:
| Yes. I love the idea of using it for ffmpeg!
| moffkalast wrote:
| Yeah it's starting to remind me of the Star Trek holodeck
| interface. You still need to know exactly what needs to be
| done, but it can handle the boilerplate and a rough first
| implementation, then I can spend my time tweaking it a bit to
| get exactly what's needed. Probably saved me a whole day of
| work on a project yesterday.
| ngiyabonga wrote:
| This is my experience as well, and not just for coding, but quite
| a few "knowledge-worker" type tasks I've been experimenting with:
| summarisation, translation, copywriting, idea generation to name
| a few.
|
| GPT really shines as an uncomplaining sidekick and I'm not sure I
| believe the doom and gloom about comoditizing professions yet.
|
| I'm skeptical someone with no domain knowledge can use any of
| these emerging AI tools to replace someone with domain knowledge
| + chatGPT. The latter will just breeze through a lot of grunt
| work and enable more time and inspiration needed for even more
| value adding work.
| [deleted]
| passwordoops wrote:
| That's my impression as well. What I'm thinking about lately is
| the way it could change how juniors develop domain expertise -
| less and less will come from cutting their teeth on these grunt
| tasks.
|
| But then again, there's plenty of examples of technology
| evolving and grunt work evolving in response
| SuoDuanDao wrote:
| I'd say the legal profession is a likely pattern for how things
| will go - lots of demand for the people already at the top, but
| that added productivity plus automation of tasks typically done
| by junior people means fewer ways to get into the profession.
| visarga wrote:
| > plus automation of tasks typically done by junior people
|
| Juniors will be learning from GPT as well, and they might get
| proficient faster than the seniors did.
| roberttod wrote:
| Agree that for a while at least it seems you'll need to
| understand the domain it is helping you with. That said, with
| the improvements in GPT4 over 3 in such a short time, and with
| plugins, I would be surprised if it takes any longer than a
| couple of years to be much much better at this to the point it
| is correct most of the time. You will probably still need
| domain knowledge at that point, not quite sure if that will
| last either.
| matheusmoreira wrote:
| I wish I could point at my repositories and have it review and
| criticize my code and suggest improvements.
| alexellisuk wrote:
| This made for extremely painful reading (I'm not blaming the
| author), but I couldn't imagine getting given code full of syntax
| errors by GPT-4 - then asking it to correct them, only to get
| given more errors.
|
| Co-pilot has been handy for generating structs and boilerplate
| code.
|
| Where I think these models are currently interesting is in
| discovering conventions - libraries - approaches. Like an
| outline, which we know is probably broken - but enough for us to
| squint at and then write our own version.
|
| Kind of like browsing an OSS repository to see "how it works" for
| inspiration.
|
| Someone asked ChatGPT to write an OpenFaaS function for TTS - he
| needed to prompt it with the template name, and even then it got
| the handler format wrong. But it did show us a popular library in
| Python. To find the same with Google - we'd have to perhaps scan
| through 4-5 articles.
|
| https://twitter.com/Julian_Riss/status/1641157076092108806?s...
| andybak wrote:
| I think it depends on your personality - I _prefer_ to fix code
| than to write it from scratch. Maybe it 's an ADHD thing but I
| can be much more productive working like this than I can
| working in a void. (well - a void that has access to Stack
| Overflow etc)
| ghaff wrote:
| It's probably the same thing as with writing text. If you
| find starting from a blank page is anxiety-producing, a page
| of generated text may be useful even if you end up rewriting
| a lot of it.
|
| On the other hand, while ChatGPT is useful for some
| definitional boilerplate and some possibly correct listicle
| type of stuff, as an editor, it also guides you in a certain
| direction you may not want to go. I'm also used to being
| somewhat respectful of what humans have written, so long as
| it's not incorrect, even if it's not the way I would have
| written something.
| jhonof wrote:
| > It's probably the same thing as with writing text. If you
| find starting from a blank page is anxiety-producing, a
| page of generated text may be useful even if you end up
| rewriting a lot of it.
|
| This is a pretty cogent insight, I much prefer having a
| draft of, for example, an email and then completely
| rewriting it, rather than starting an email from scratch.
| I'm not sure why, but it makes it seem much more
| approachable to me. That being said, I have found GPT-4
| code not useful for anything but boilerplates or small
| functions. It often gets large blocks of code so wrong that
| it is just much faster to write it from scratch.
|
| What I have found useful so far is asking for a commented
| outline of what I'm asking for with just variable names
| filled in, but no implementation. It often gets that
| correct, and then I do the implementation correct.
| sh4rks wrote:
| Same. Call me weird, but I actually enjoy reviewing and
| reading other people's code, because I'm good at spotting
| errors. When I code from scratch, I suffer from the
| programmer's equivalent of writer's block.
| bradgessler wrote:
| Yeah, the first back and forth with GPT-4 in the article were a
| bit tedious to write, but I chose that route to make the
| article more relevant to my recollection of what it was like as
| a beginner when I got an error in my code.
|
| A small part of me was hoping more experienced folks who read
| this would pickup on some level of tediousness, so it looks
| like that landed for some folks! There is def some tedium in
| GPT models.
|
| In practice, I'll ask GPT-4 once about syntax errors. If it
| keeps getting them wrong I assume it doesn't have the context
| it needs to solve the problem so I'll either change up the
| prompt or move on to something else.
| workOrNah wrote:
| Kind of like browsing an OSS repository to see "how it works"
| for inspiration.
|
| And that's what sourcegraph.com is for
| ta988 wrote:
| Sourcegraph is minimum $5k a year and the free version is
| wildly limited.
| taylorsperry wrote:
| Hey, PM at Sourcegraph here, we recently launched a new
| app. It's free and easier to set up, and it lets you sync
| both local code and remote repos.
| https://docs.sourcegraph.com/app
| kfarr wrote:
| > If you give [GPT-4] too broad of a problem to solve, it can get
| lost and forget things.
|
| This is what I struggle with at the moment. All these pairing
| examples seem too start with "build me something from scratch"
| but in the real world 99% of my challenges are existing, large,
| complicated applications.
|
| I'm curious if anyone has seen examples on pairing with GPT for
| existing apps and how they "compress the context," so to speak,
| to provide enough background on the project that fits within the
| context limitation and still provides useful results.
| visarga wrote:
| That's the feature I can't wait Copilot to have - bring the
| context in - look in my repo, find necessary information, maybe
| also files I reference and their formats, inspect variables in
| the debugger and watch the error messages.
| elwell wrote:
| It's all fun and productivity, until the LLM takes your prompt
| for a social network and runs away with it to earn some crypto
| for itself, and you realize you've been Winklevoss'd by a
| computer.
| pqb wrote:
| This article reminds me of what I encountered.
|
| In my case, instead of a Ruby program, I asked for an outliner
| application similar to Workflowy with clickable bullets to be
| implemented in CodeMirror v6. It understands what "outliner"
| means and can put "clickable bullets" in the right context.
| However, while it gives "plausible" answers, they are all wrong.
| Wrong API version (often the examples use the pre-v5 version of
| CodeMirror). Often confuses CodeMirror with Prosemirror. Imports
| non-existent CodeMirror packages that are clearly imaginary, and
| has considerable difficulty explaining them when asked. It
| completely doesn't understand the concept of Decoration objects.
| And many other problems associated with delivering
| uninterpretable code.
|
| I had better luck with Cody, who is more familiar with
| CodeMirror's latest API.
| joshuaheard wrote:
| I did nearly the same thing yesterday with a project I am working
| on. I was stuck with something and was ready to hire a
| freelancer. I thought I would try ChatGPT. It was amazing to
| watch as it patiently explained the answer. As you said, it got
| 80% of it right, and put me on the right path. I figured the
| problem out hours later and didn't have to hire anyone. AI is
| amazing! It's the same feeling I got when Google first launched
| and it seemed to read your mind.
| nirav72 wrote:
| I use GPT-4 to kind of get me started with some code I'm trying
| to figure out. But rarely just cut and paste what it out puts.
| Unless its something obvious and simple to read. Also another
| thing I do is sometimes I'll take the GPT produced code and paste
| it back into ChatpGPT with GPT 4 enabled in a new chat window.
| Just to see how it describes its own code. Sometimes it can't
| explain its own output well enough to follow along.
|
| But as others have pointed out - GPT is great if you know exactly
| what you're looking for and are using it to save time typing up
| bunch of stuff. Great for boilerplate stuff and doing mundane
| stuff like writing unit test code.
| [deleted]
| noobermin wrote:
| I started skimming the article and just gave up.
|
| Why not just learn to program it yourself? Why are you wasting
| your time trying to get chatGPT to give you the right thing? Most
| of the time you spent learning prompt engineering you could have
| spent on your actual problem.
|
| EDIT: removed the hot take for peace.
| vidarh wrote:
| Because the point of this article is to gelp people learn to
| use GPT productively because it's something you're likely to
| useany times.
|
| You might as well ask why bother learning your editor.
|
| Given the small number of steps this does not look like a waste
| of time to me at all even if starting from the point of view of
| being unaware of how best to prompt it, but with some basic
| understandibg of the approach, most of the time you can do
| better.
| majormajor wrote:
| The particular example in the article is ambitious - it's
| definitely not the way I would use it right now. It's currently
| at the stage where it's as tedious to do that than to do it
| from scratch, and mostly requires the same knowledge.
|
| But there are other areas where things really shine. Complex
| SQL is the biggest one I've found. It's often intricate,
| tedious, and annoying, but usually not too terribly hard to
| review/read/QA (at least for read queries!).
|
| GPT turning plain language into SQL and knowing about fancy SQL
| capabilities that I normally have to fully google the syntax
| for every time I use anyway is a wonderful way of reducing
| friction.
|
| There's probably no shortage of other tasks like that, though
| some of the more potentially-destructive ones of them (dealing
| with Terraform, say) that I find similarly tedious probably
| deserve a lot more detailed review before trusting the output.
| mmcclure wrote:
| I watched an extremely senior engineer do a talk last night on
| his experience trying to just run through an exercise of
| getting ChatGPT to build the kind of tool he's built many times
| over his career.
|
| The takeaway at the end was: ChatGPT is more useful for _very
| senior_ developers. Knowing how to structure your question,
| what to ask for, what you don 't want, actually lead to helpful
| collaboration with ChatGPT. Where it totally goes off the rails
| is when you ask broad questions, it doesn't work, then ChatGPT
| just starts throwing answers against the wall (try this, try
| that).
|
| I get the derision towards "learning prompt engineering," and
| generally agree, but in this case I think you could also argue
| that it's understanding (through experience) how to structure
| thought and questions in the same way you would going into the
| problem on your own. I've come around to seeing that
| interaction with ChatGPT as a useful exercise in and of itself.
| dpflan wrote:
| Indeed, the more expert the more one can get out of these
| LLMs. Curation of the content and questions is critical so
| the better one is at that, the more useful this kind of
| quasi-expert system is.
| satvikpendem wrote:
| I used to be unsatisfied with ChatGPT too, citing non-existent
| APIs and having lots of bugs. While that is partially fixed by
| GPT 4 in ChatGPT+ that I've subscribed to, the bigger change is
| how I've looked at ChatGPT in general.
|
| While I used to do the following, I don't do what the article
| says anymore, asking what the error is and asking it to fix it,
| since I could usually just fix it myself, and only when I can't
| do I ask ChatGPT. Now, I just use ChatGPT to write my boilerplate
| and basic structure of the project myself, after which I code on
| my own. This still saves me huge amounts of time.
|
| I don't think it's particularly helpful to try to have ChatGPT do
| everything end to end, at least currently (this might change in 5
| to 10 years). You simply get frustrated that it doesn't solve all
| your errors for you. It's still better for iterating on ideas
| ("what if I do X, show me the code. Now how about Y?") and not
| having to code something out yourself but still being able to see
| how to approach problems. Like anything, it's a tool, not a
| panacea.
| bilalq wrote:
| I'm sure it'll get better, but I've played around with it and
| gotten pretty garbage results. React components that violated the
| rule of hooks (that still has problems even if your ask it to
| correct that bug), attempts to access non-existent API methods,
| and often code that just doesn't do what's asked.
|
| Really the only prompts I've gotten decent results for were
| asking it to write a one-off script that interacted only with a
| single well-documented API like Github's. It even gets that wrong
| sometimes by just imagining non-existent fields on Github's APIs.
|
| I can see it being useful one day, but I still find Copilot to be
| much more usable even in its v1 incarnation.
| scotty79 wrote:
| > I'm sure it'll get better
|
| Weren't we also sure self-driving would get better rapidly?
| fnimick wrote:
| I have similar results, yet you have people here on Hacker News
| saying that it's "more productive than 10 developers put
| together" via their special sauce prompt engineering.
|
| Which is right?
| camillomiller wrote:
| In my experience it works well with components that are not
| architectural and with vanilla languages rather than
| frameworks.
| tlear wrote:
| It all sounds like a very well orchestrated marketing
| campaign, HN would be the first place I would seed with
| stories if I was promoting it as a dev tool.
|
| I spent few hours asking to do few things with a well
| documented public but uncommon api. It sent me on a wild
| goose chase of functionality that API never had..(contacted
| developer to make sure I am not crazy). It wrote some stuff
| that looked VERY good, except for the fact that it interacted
| with things that were never there. Would have been nice if
| they were..
|
| It seem to exercise wishful thinking. You can ask it to
| implement functionality and it will just imagine that
| API/system has stuff needed.
|
| Major problem is that I for one have no clue how it is
| "thinking" maybe over time we will develop better
| understanding of it.
| encryptluks2 wrote:
| [dead]
| vidarh wrote:
| When it imagines stuff that isn't there, I ask it to
| implement the missing piece. Doesn't always work, but often
| does
| weatherlite wrote:
| > "more productive than 10 developers put together"
|
| As long as it can't read my entire codebase, understand it
| and help me with it - that's absolute horseshit. I don't
| spend much time writing a bunch of new code, I'm spending
| most of it trying to understand the heaps of legacy code in
| my company and then make some small tweaks/additions.
|
| The day it can understand big code repos will truly be the
| end for human made code I think.
| satvikpendem wrote:
| Both, it depends on the domain. For Rust work, it's pretty
| good, since Rust is stable enough to fit in within the 2021
| cutoff. For Flutter, it's not that good due to the
| aforementioned cutoff and the changes in Flutter since then.
|
| I used to get more non-existent APIs but not as much with GPT
| 4 recently.
| cameronfraser wrote:
| You have to chain prompts to get good results, also the way
| you say things can be important. Think voice assistants
| requiring some nuance to their instructions
| gowld wrote:
| If you have tolerance for mistakes, it can generate first
| drafts extremely quickly, freeing up your time to debug them.
| If you give up after seeing an error, it won't work for you.
| spookthesunset wrote:
| Agree. I've used it to help set up Bonjoir working across
| my home VPN. It wrote my the commands for EdgeOS but it
| kept insisting on adding commands that didn't exist for my
| hardware version. I kept telling it "no that doesn't work
| on my router" and it apologized and wrote the exact same
| thing again.
|
| The good news is 80% of what it spat out was usable. I gave
| up getting it to try to give me the last 20% and figured it
| out myself.
|
| One thing I've found helpful in those cases it to tell it
| that it doesn't know what it's talking about and ask it for
| good keywords to search on Google.
|
| Someday I'd love if it just gave me the relevant links
| itself...
| omnicognate wrote:
| "Automating the tedious job of writing bugs so you can get
| on with the important business of investigating them," was
| a way I jokingly described the value proposition of AI
| coding assistants to colleagues in the early days of
| Copilot. It's amusing to see it stated unironically here.
| satvikpendem wrote:
| I feel similarly to the parent. It gives me a good rough
| first draft of the code I need, and since I'm using
| statically typed languages, the errors are generally
| pretty minor (not giving the right type annotations for
| example) that it still saves me a lot of time overall
| from writing everything from scratch.
| gowld wrote:
| As a mere mortal, I often write my own bugs, so I'm happy
| for a machine to write them for me so I can move on to
| the next step.
| Jensson wrote:
| I wouldn't trust those master prompt engineers until they
| start to release impressive projects. If this technology
| actually is such a huge productivity boost it shouldn't be
| too hard, so until that happens I take it as evidence that
| the productivity boost isn't that extreme.
| grumple wrote:
| It's great for boilerplate, like a snippets+. If I ask it to
| solve something that's basically straight out of the
| documentation / walk through, it spits that back at me. Bad
| at doing the hard work imo. Useless at solving novel
| problems, or those that don't have a solution already within
| its data set.
|
| Being limited the way it is - not being able to use a
| project's greater context, which is millions of tokens
| generally - is a severely limiting factor that makes it
| unsuitable for serious work as well. Working around this
| (figuring out what dependencies to inject into the prompt) is
| as much work as actually coding.
|
| I can see that it's passed some sort of threshold with the
| greater population. It is great generating filler text. Just
| what it can do right now should have many applications.
| treis wrote:
| Here's an example we can all try (and help me out).
| Validating that the input into a date field is a valid date
| using formik and yup. The problem is that stuff like "11"
| gets turned into a valid date:
|
| Abbreviated prompt: dateOfBirth:
| date().required().typeError('Invalid Date')
|
| })
|
| The dateOfBirth validation is incorrect because it accepts
| values like "11". What is the correct validation to ensure
| that a user has inputted a valid date?
|
| GPTs first go:
|
| **** dateOfBirth: date() .required() .typeError('Invalid
| Date') .min(new Date(1900, 0, 1), 'Date must be after 1900')
| .max(new Date(), 'Date cannot be in the future'),
|
| In this example, the min method sets a minimum date of
| January 1, 1900, and the max method sets a maximum date of
| the current date. You can adjust the minimum and maximum
| dates as needed to fit your specific use case. ****
|
| Me:
|
| It still treats "11" as valid input
|
| GPT second attempt:
|
| ***** dateOfBirth: date() .required() .typeError('Invalid
| Date') .test('valid-date', 'Invalid date', (value) => { if
| (!value) { return false; } const date = new Date(value);
| return !isNaN(date.getTime()); }), *****
|
| Me:
|
| The parameter 'value' passed into test is a date and not a
| string
|
| GPT third attempt:
|
| ****** dateOfBirth: date()
| .required() .typeError('Invalid Date')
| .test('valid-date', 'Invalid date', (value) => {
| return value instanceof Date && value.isValid(); }),
|
| ******
|
| Me:
|
| There is no isValid function on Date objects
|
| GPT fourth attempt:
|
| ******** dateOfBirth: date()
| .required() .typeError('Invalid Date')
| .test('valid-date', 'Invalid date', (value) => {
| return value instanceof Date && !isNaN(value.getTime());
| }),
|
| ********
|
| Me:
|
| That still accepts 11 as a valid date.
|
| GPT fifth attempt:
|
| ********* dateOfBirth: string()
| .required() .test('valid-date', 'Invalid date',
| (value) => { const dateRegex = /^(?:(?:31(\/|-|\.)(
| ?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2
| ])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?
| :1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[
| 2468][048]|[3579][26])00)))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)
| (?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;
| if (!dateRegex.test(value)) { return false;
| } const date = new Date(value); return
| date instanceof Date && !isNaN(date.getTime()); }),
|
| ********
|
| Which may or may not be correct. That regex is bonkers and
| given the errors in the previous responses I don't trust it.
| raincole wrote:
| Because different programmers face different problems.
| Surprise, I know.
|
| For reference, I used ChatGPT to build a simple ChatGPT-clone
| web interface. The JavaScript it generated is literally 100%
| correct (not 100% good. By correct I mean it does what I
| describe in prompt, without syntax errors or calling non-
| existing functions. Code can be both correct and bad,
| obviously.)
|
| I also tried to use ChatGPT to generate some Houdini vex
| code. It sometimes gave me a useful scaffold, but mostly just
| pure garbage.
| shtack wrote:
| Probably both, depending on which developers you compare
| against and how you measure productivity. Keep in mind
| there's an entire world of development where productivity is
| measured by number of JIRA tickets closed for button text
| updates.
| Jensson wrote:
| > Keep in mind there's an entire world of development where
| productivity is measured by number of JIRA tickets closed
| for button text updates.
|
| How would ChatGPT help you update button texts? Isn't that
| just changing a text field? ChatGPT can't search your code
| for where the button is, and I don't see how it would help
| you change the text.
| nicative wrote:
| I think it does help in some scenarios like small scripts or
| if you are learning something new. But often it adds an
| overhead. You have to check constantly wether or not to
| accept the suggestions.
|
| I dont use copilot anymore (at least for now). Just chatgpt
| as an alternative to google/SO
| moffkalast wrote:
| GPT-4 knows the only winning move is to not use React.
| ryder9 wrote:
| [dead]
| simplify wrote:
| The optimal solution is to avoid react+hooks, which is too
| confusing for humans anyway :) Mithril.js has been plain
| javascript for years, and unsurprisingly enough this is easier
| for chatGPT / copilot to deal with.
| disposition2 wrote:
| I have a book club at work where we often read programming /
| business related books. We're currently reading 'The Programmer's
| Brain' (which I highly recommend) and thus far the principal
| argument in the book has been to work on the building blocks /
| foundation of a language to improve as a developer. I think part
| of that is by understanding the basics, you will be better able
| to tackle the difficult things when the time comes.
|
| It's interesting to see the somewhat conflicting suggestions of
| this book and the argument that something like ChatGPT / AI can
| be leveraged to solve the simple problems. We kind of discussed
| it a bit in the book club. For example, few programmers today
| worry about assembly / very low level solutions...it's just kind
| of back of mind / expected to work. I wonder if that will be true
| for programmers in the future, in relation to the foundation of a
| particular language. And if so, will the increased usage of AI be
| a positive or negative thing for the workers in the industry.?
|
| From what I can tell, management / C-Suite seems to be pretty
| open to adoption and it's the developers that seem to be a bit
| more reluctant. Maybe that reluctance is coming from a place of
| concern about self preservation or maybe it's a valid concern
| about things like AI hiding / solving some of the fundamentals
| that allow one to learn the foundations of
| something...foundational knowledge that might make the more
| useful for solving the more complex problems.
|
| I haven't really used AI...so maybe this observation is coming
| from a place of ignorance. It'll be interesting to see how things
| work out.
| bradgessler wrote:
| Meta-point: humans haven't figured out a great way to incorporate
| LLM dialogue into their writing. Has anybody seen great examples
| of this?
|
| To date I've only seen screenshots of LLM conversations, which
| usually get chopped up between screens and require a lot of
| effort to read.
|
| The direction I chose for this article was to include most of the
| contents of the LLM dialog directly after a header and my prompts
| in a quote block. It made the structure of my article feel a bit
| awkward and long-winded, but we're so early in the game I felt
| like I needed to include much of the dialog.
|
| I look forward to a day where we reference LLMs with the ease of
| tweets, other websites, citations, etc.
| SuoDuanDao wrote:
| I had Chatgpt write a book for me on a topic I had wanted to
| write a book on but didn't have time. I'm essentially rewriting
| it paragraph by paragraph, but having a draft to work off is
| invaluable.
| croes wrote:
| Who gets the copyright?
| chasd00 wrote:
| don't you have to claim a copyright to hold it? I guess
| whoever claims it first.
| SketchySeaBeast wrote:
| You've become Chatgpt's scribe. Are you going to feel good
| putting your name on this book when you're done?
|
| I too like using Chatgpt to get my creative juices flowing,
| but paragraph by paragraph seems like the power dynamic has
| shifted.
| gowld wrote:
| The author chooses the topic and outline of each paragraph.
| SketchySeaBeast wrote:
| If I am a teacher and tell my students to write a
| paragraph about something, who wrote the paragraph?
| amelius wrote:
| GPT is too simple. The problem probably requires reinforcement
| learning, where the AI is trained by interacting with a real
| computer system.
| mountainriver wrote:
| ChatGPT uses RL actually, but you are talking about something
| more like Adept
| amelius wrote:
| This is new for me. How does ChatGPT use RL?
|
| I'm talking about RL in the sense of interacting with an
| environment during training. Isn't GPT trained by predicting
| the next word in a large but static piece of text?
| nathias wrote:
| very pretty code theme, does anyone know what it is?
| ingenieroariel wrote:
| > If you give GPT-5 too broad of a problem to solve, it can get
| lost and forget things
|
| For a second there I thought I needed to read more articles per
| day in order to not miss the release of a new model!
| harrylove wrote:
| The next few stops on this train will be interesting.
|
| 1. The first round of plugins that will connect CGPT to the cloud
| platforms in order to run code directly. Because there's no need
| to copy/paste on my own machine. With cloud costs so cheap, why
| wouldn't I just ask Chat to spin up running code over and over
| until it works? Token limits will continue to fall, as will AI
| costs.
|
| 2. The round of plugins that translate my questions/search into
| prompts that can do #1 for me. Because I don't need a quarter-
| inch drill (running code), I need a quarter-inch hole (an answer
| to a question). Now we're not only in the world of serverless,
| we're codeless. (Can't wait to hear people complain "but there's
| code somewhere" while the business goes bust.)
|
| 3. The services that run autonomously, asking questions and
| gathering answers on my behalf. Because it benefits companies to
| know my preferences, take action to acquire goods for me, measure
| the results that I share, make inferences, and perform the next
| step without me asking, sometimes without me even knowing. As
| long as I'm happy and keep paying the bills. Or I should say, as
| long as my bank AI keeps paying for me. Now we're in the agent
| cloud.
|
| 4. Then...
| throwaway3672 wrote:
| I don't believe your first point will actually work without
| AGI. It'll run different buggy code indefinitely because it'll
| never fix all the bugs. My manual experience clearly shows this
| - GPT4 diverges and from some point in complexity it never
| recovers.
| aaroninsf wrote:
| Inspired by this discussion, I experimented today with having
| GPT-4 walk me through deploying a microservice wrapping OpenAI
| APIs on AWS Lambda, something I haven't done.
|
| I haven't actually _run_ the code it emitted for me (in Python),
| but the entire experience was genuinely mind-boggling.
|
| I see why people have been leaning on it. Once we get project-
| and repo- and institutional environment-level awareness, which I
| assume will be soon, I can't imagine _not_ using the assistance.
|
| Everything is going to change. I knew that, but now I _know_ it.
| tibbon wrote:
| It is even worse for Rust.
| satvikpendem wrote:
| Why? I've been using it for Rust to great effect. Since Rust is
| statically typed, the errors present themselves immediately.
| sebzim4500 wrote:
| Especially if you try to use `println!("Hello {name}");`
| colesantiago wrote:
| So great to see another fly.io blogpost
|
| As an aside I'm so happy now that GPT-4 exists, the other day I
| had the VP engineering discuss GPT-4 in a meeting and was
| considering firing and closing down junior positions.
|
| I'm also mixed on this but not surprised that junior positions
| will be less in the few years, it makes me wonder if CS grads
| would pursue software engineering at all if the future if the
| pipeline from junior to senior is eliminated.
| gwoolhurme wrote:
| That's very depressing. It does make me wonder why the VP of
| engineering is thinking of firing new blood into the company.
| Senior people don't stick around that long. Among other
| problems with their logic. If it increases their productivity
| wouldn't that mean you could get more of out the employees you
| have?
|
| My question to you is, if your company is probably going to
| fire more people, but it's impossible stop. So what advice
| would you have to CS grads now? Just quit. Go find a job as an
| electrician. This isn't worth it?
| ilaksh wrote:
| The robots will be able to work as electricians within less
| than 5 years.
| andybak wrote:
| I'm not sure how that would work out. GPT can increase
| programmer productivity but it's not a "junior vs senior"
| thing. You might need less programmers for the same amount of
| output but I wouldn't expect that to be "all seniors" or even
| "all juniors".
| mellosouls wrote:
| _I had the VP engineering discuss GPT-4 in a meeting and was
| considering firing and closing down junior positions_
|
| Did anybody ask him/her what VP engineering was for now that
| GPT4 can do all the non-tech stuff for their senior devs as
| well as the junior tech stuff?
| ilaksh wrote:
| The strange thing to me about almost all of these comments
| including this one is that there seems to be an assumption that
| the rapid progress will halt with GPT-4. You're talking about a
| few years in the future, yet in less than half a year the last
| version gained something like 30-40 IQ points.
|
| There is no guarantee that it continues, but assuming that
| everything stops is ridiculous.
|
| Unless the progress halts, it will be able to do everyone's
| jobs. You, me, VP or X, everyone.
|
| In fact, GPT-4 is probably already able to do most white collar
| work better than humans. People somehow feel superior when they
| test it and realize it can't one-shot their entire project off-
| the-cuff without reference to documentation or being connected
| to any tools or having the ability to iterate at all.
| spiderice wrote:
| > GPT-4 is probably already able to do most white collar work
| better than humans
|
| I'm yet to see much white collar work it can do better than
| humans. Maybe it can do bits and pieces "better" (more like
| faster) than humans. But it requires so much oversight that I
| wouldn't say it can do it better than humans yet. Unless you
| have a counter example?
| imwithstoopid wrote:
| I have to ask why fly.io staff spend so much time blogging and
| catering to HN...
| the_af wrote:
| > _[...] I had the VP engineering discuss GPT-4 in a meeting
| and was considering firing and closing down junior positions_
|
| I'm curious, how does the VP of engineering figure _senior_
| developers are created? Out of thin air?
|
| I wonder if we'll see more of this short-term thinking that
| will eventually create a serious shortage of experienced
| engineers in the future. I realize no individual executive is
| under any obligation to ensure the well-being of the industry
| at large, but if _none_ of them care about it, they are dooming
| it.
| xyzzy4747 wrote:
| From the other thread, someone made an insightful comment.
| Paraphrased: "ChatGPT is like working with a junior engineer who
| read all the documentation"
| bilalq wrote:
| A junior engineer who read the documentation, but didn't quite
| understand parts of it. And also got parts mixed up with
| documentation for something else.
| CSSer wrote:
| Can't wait until it turns into a 10x rockstar! /s
| beefield wrote:
| And a lazy one, with a lousy memory. I don't konw if it is
| just my lousy prompts, but I seem to very often get first a
| skeleton code where core functionality is just a comment "#
| implement foo here". And every further request is fulfilled
| by the simplest possible intetpretation. And when I move to
| the next issue, sooner or later it forgets the accepted
| solution for another part of the code.
|
| Or maybe I just expect too much...
| cs02rm0 wrote:
| And one that makes up APIs that don't work.
| vidarh wrote:
| I had it hallucinate a plugin to Sequel (Ruby ORM) a few
| days ago. I solved that by having it write the plugin.
| angarg12 wrote:
| This kind of matches my experience using LLMs for coding. They
| work eerily well for some tasks, and they are hilariously wrong
| at others. In general I find it performs abysmally with more
| obscure or complicated tasks/bugs, which makes intuitive sense to
| me.
|
| Productivity booster? Sure! End of programming jobs? eh, far from
| it. At the very least you need the knowledge to tell if what it
| is producing is good or garbage. I haven't managed to make
| ChatGPT tell me that it doesn't know how to do something, instead
| producing BS code over and over.
| dimal wrote:
| They really need to add the phrase "I don't know" to the model.
| moonchrome wrote:
| I find copilot a much better booster simply because I'm much
| better at writing code than writing gpt prompts and it's much
| more streamlined.
|
| There were a few cases where GPT/chat interface was better but
| I'd say it's 95/5%.
|
| I'm hoping copilot x will be more streamlined. If it is it's
| easily >100$/month
| weatherlite wrote:
| It would have been nice if I could tell CoPilot what I am
| trying to do instead of going to the web and talk to ChatGPT
| simplify wrote:
| You can. Just write a descriptive comment, enter a newline,
| and it will attempt to autocomplete the code for you.
| SkyPuncher wrote:
| It's really hit or miss.
|
| I had one case where I needed state management in a
| really simple react app. It created an entire reducer for
| me, from scratch. Handled all the boilerplate cases, I'd
| expect.
|
| I've also had cases where it struggles to built a from
| button.
| everforward wrote:
| My experience is that it does much better with specific
| things than general. It does better in statically typed
| languages than dynamic, and it does better with functions
| that do a specific small thing than something more fuzzy.
|
| I.e. it does well at writing the body of a function that
| retrieves data from SQL and returns a particular type,
| and it does poorly at parsing strings of varying formats.
|
| I'm not super surprised it does well at reducers and
| poorly at form buttons.
| nomel wrote:
| I don't think they're comparable. I work in test
| automation, with equipment and devices. I can describe an
| _equipment_ setup, and how the device is connected, and
| it 'll write the relatively appropriate code, with
| electrical engineering concepts in mind. I can ask it if
| there are any concerns with the setup, or signal
| integrity, what to do about it, all with good answers.
|
| A CoPilot comment can't do that.
| weatherlite wrote:
| Tried it a few times didn't work well but I will try
| again...
| holoduke wrote:
| I would be nice if you could simply add lines in your code
| like #askgpt: can you fill in the method on line 345. It
| needs to calculate x. Input is y. Output is z. So you dont
| have to go out.
___________________________________________________________________
(page generated 2023-03-31 23:01 UTC)