Hacker News new | ask | show | jobs
by aleph_minus_one 849 days ago
> LLMs are insanely helpful if you use them with their limitations in mind.

This depends on your use case. I can honestly tell that all the chat bot AIs don't "get" my kind of thinking about mathematics and programming.

Since some friend who is graduate student in computer science did not believe in my judgement, I verbally presented him some test prompts for programming task where I wanted the AI to help me (these are not the most representative ones for my kind of thinking, but are prompts for which it is rather easy to decide whether the AI is helpful or not).

He had to agree from the description alone that the AIs will have difficulties with these task, despite the fact that these are common, and very well-defined programming problems. He opined that these tasks are simply too complex for the existing AIs, and suggested that if I split these tasks into much smaller subtasks, the AI might be helpful. Let me put it this way: I personally doubt that if I stated the subtasks in a way in which I would organize the respective programs, the AI would be of help. :-)

What was just important for me was to able to convince the my counterpart that whether AIs are helpful or not for programming depends a lot on your kind of thinking about programming and your programming style. :-)

4 comments

I would say that the ability to break a problem down into manageable chunks is the mark of a sr dev. I think of chatGpt as a jr that's read a lot but understands only a little. To crib Kurtzwell you gotta 'run with the machine'
> I would say that the ability to break a problem down into manageable chunks is the mark of a sr dev.

I believe that I am perfectly capable of doing this. But if I have to "babysit" the LLM, its helpfulness decreases.

This is a rather long post, I'm genuinely curious why you did not describe the problem that you want to solve. Is it too complex for even humans to understand?
Any chance you could share the prompt?

I on the otherhand feel like I am completely in sync with Copilot and ChatGPT. It is as if it always knows what I am thinking.

Don't take the following prompts literally, but think into the directions of:

"Create a simple DNS client using C++ running on Windows using IO Completion ports."

"Create a simple DNS client using C++ running on GNU/Linux using epoll."

"Write assembler code running on x86-64 running in ring 0 that sets up a minimal working page table in long mode."

"Write a simple implementation of the PS/2 protocol in C running on the Arduino Uno to handle a mouse|keyboard connected to it."

"Write Python code that solves the equivalence problem of word equivalence in the braid group B_n"

"Write C++|Java|C# code that solves the weighted maximunm matching matching problem in the case of a non-bipartite graph"

...

I experimented with such types of prompts in the past and the results were very disappointing.

All of these are tasks that I am interested in (in my free time), but would take some literature research to get a correct implementation, so some AI could theoretically be of help if it was capable of doing these tasks. But since for each of these tasks, I don't know all the required details from memory, the code that the AI generates has to be "quite correct", otherwise I have to investigate the literature; if I have to do that anyway, the benefit that the AI brings strongly decreases.

I tried the first one, but currently I don't have time to verify what it generated.

But I have done many Arduino/Raspberry PI things lately for the first time in my life and I feel like ChatGPT/Copilot has given me a huge boost even if it doesn't always give 100 percent code out of the box, it will give me a strong starting point where I can keep tweaking myself.

What did happen when you split the question into subtasks? What were those questions?