Live data from Hacker News

What will LLM-powered software look like in the medium-term future?

vishnumenon.com

71–80 of 219 posts

Re: What will LLM-powered software look like in the medium-term future?

#71
post #53

Earlier quoted context omitted.

Bit of an aside, but I wonder if the rise of LLMs will lead to new programming languages being much slower to be adopted. Like you said, you might have given up on F# without ChatGPT assistance, and the main way ChatGPT is able to help with F# is because of all of the example code it's been trained on. If developers rely more and more on LLM aid, then a new language without strong LLM support might be a dealbreaker t…

I've also wondered this - including if we might see a breed of 'higher level' languages (i.e. much higher level than Python) which can then be 'AI compiled' into highly efficient low level code. i.e. the advantages of an even-higher-level python that's almost like pseudo-code with assembly-level speed and rust-level safety, where some complexity can be abstracted out to the LLM.

[deleted]

Re: What will LLM-powered software look like in the medium-term future?

#72
post #42

I was hoping for some clever ideas about direction of software / UIs, and new use-cases for LLMs / AI, since for now I'm still struggling and have a lack of vision, it seems. For example, I work on developing a logistics management and route optimization platform. If I try to envision new features that could be unlocked through AI or just LLMs, I basically get nothing back from my feeble brain, that I would fit into…

Try asking chatgpt for some ideas.

Re: What will LLM-powered software look like in the medium-term future?

#73

Earlier quoted context omitted.

that's the right link :) would be great to chat on discord https://discord.gg/JsVe9ZuZCn (updated discord link)

The discord link seems to be not working. Just a heads up. The YOLO example on your Github page is super interesting. We are finding it easier to get LLMs to write functions with a more constrained function interface in EvaDB. Here is an example of an YOLO function in EvaDB: https://github.com/georgia-tech-db/evadb/blob/staging/evadb/... . Once the function is loaded, it can be used in queries in this way: SELECT id,…

I'm actually doing a lot of work with databases and LLMs.

I enjoyed postgresml and evadb has been on my radar to try next. Would love to connect.

(updated discord link)

Re: What will LLM-powered software look like in the medium-term future?

#74
post #55

Earlier quoted context omitted.

Don't beat yourself up. As a mathematically-oriented software engineer I also have little to no interest in using LLMs to help with coding. It feels like the people that do are the builders, i.e. interested in quickly knocking up something that works most of the time. Which is great from a business perspective. I can't help but see my programming output as an artistic expression of my thought, and therefore find it d…

Mathematically oriented software engineers have the most to benefit off of software assistance due to algebraic designs. As one myself LLMs don't feel like giving up control it feels like collaboration. You probably don't like collaboration.

Could you expand on the comment about "algebraic designs"?

When I interact with an LLM it feels like I'm speaking to someone who lacks inherent conceptual understanding, but is doing their utmost best to bullshit me. This is problematic when it comes to algorithmic thinking.

I sometimes need to solve problems that involve tweaking existing algorithms in somewhat novel ways. For example "k-medoid clustering but with various capacity constraints on clusters", or "contraction heirarchies but accounting for varying vehicle dimension restrictions".

I love collaborating with smart colleagues to come up with ideas to solve these problems. Seeing chat-gpt fail to solve very simple traveling salesman type problems gives me little confidence that it can do novel conceptual tihnking.

EDIT

To test my own claims, I just tried asking Chat-GPT to make this modification to k-means clustering. It produced something that will give a result but will likely not be very optimal. When prompted to refine the solution, it failed to understand the issue and instead proposed the exact same solution just with a bit more implementation detail.

User

Suggest a modification to the k-means algorithm where the number of elements assigned to each cluster is limited to a pre-defined maximum value.

ChatGPT

To modify the traditional k-means algorithm to limit the number of elements assigned to each cluster to a pre-defined maximum value, you can create a variation of k-means called "k-means with cluster size constraints." This modification ensures that no cluster exceeds the specified maximum size while still optimizing cluster centroids based on the sum of squared distances. Here's a high-level overview of the modified algorithm:

1 Initialize centroids: Start by randomly selecting K initial centroids, where K is the desired number of clusters.

2 Assign data points to clusters: Assign each data point to the nearest centroid based on Euclidean distance, just like in the traditional k-means algorithm.

3 Update centroids: Recalculate the centroids of each cluster by taking the mean of all the data points assigned to that cluster.

4 Check cluster sizes: After updating the centroids, check the size of each cluster. If any cluster exceeds the pre-defined maximum size, proceed to reassign some data points from that cluster to other clusters. Here's how you can do this: Identify the cluster(s) that exceed the maximum size. For each over-sized cluster: Sort the data points in that cluster by their distance to the cluster centroid in ascending order. Start reassigning the farthest data points to other clusters (the ones with the smallest distances) until the cluster size constraint is satisfied. Update the centroids of the affected clusters accordingly.

5 Repeat steps 2 and 3: Continue iterating between data point assignment and centroid updating until convergence, or until a predefined number of iterations have been reached.

6 Termination: The algorithm terminates when either the cluster assignments do not change significantly between iterations or after a fixed number of iterations.

Here are a few things to consider when implementing this modification:

    You will need to experiment with the order in which you reassign data points from over-sized clusters to minimize the impact on the overall clustering quality.

    You should set an appropriate stopping criterion to prevent the algorithm from running indefinitely.

    Be prepared to handle situations where it is impossible to meet the cluster size constraint while maintaining good cluster quality. In such cases, you may need to relax the constraint or consider alternative clustering methods.
This modified k-means algorithm with cluster size constraints allows you to control cluster sizes while still finding meaningful clusters in your data.

User

Your proposed solution has an issue that points might be reassigned even if there are clearly no other suitable clusters. Please tweak the solution to avoid this issue.

ChatGPT

To address the issue of potentially reassigning points even when there are no other suitable clusters, we can modify the approach by introducing a priority queue or heap data structure to efficiently manage the reassignment process. Here's an improved version of the k-means algorithm with cluster size constraints:

1 Initialize centroids: Start by randomly selecting K initial centroids, where K is the desired number of clusters.

2 Assign data points to clusters: Assign each data point to the nearest centroid based on Euclidean distance, just like in the traditional k-means algorithm.

3 Update centroids: Recalculate the centroids of each cluster by taking the mean of all the data points assigned to that cluster.

4 Check cluster sizes: After updating the centroids, check the size of each cluster. If any cluster exceeds the pre-defined maximum size, proceed to reassign data points from that cluster to other clusters. Here's how you can do this: Identify the cluster(s) that exceed the maximum size. For each over-sized cluster: Create a priority queue (or heap) to store the data points in the cluster, ordered by their distance to the cluster centroid in ascending order. Start reassigning the farthest data points to other clusters (the ones with the smallest distances) until the cluster size constraint is satisfied. Update the centroids of the affected clusters accordingly. Continue this process until either the cluster size constraint is met or there are no more suitable clusters to reassign points to.

5 Repeat steps 2 and 3: Continue iterating between data point assignment and centroid updating until convergence, or until a predefined number of iterations have been reached.

6 Termination: The algorithm terminates when either the cluster assignments do not change significantly between iterations or after a fixed number of iterations.

This modified approach ensures that points are only reassigned to clusters that are suitable and have room to accommodate additional points while maintaining the overall quality of the clustering solution. The use of a priority queue helps prioritize the reassignment of points to clusters with the least impact on their quality.

Additionally, you should set an appropriate stopping criterion to prevent the algorithm from running indefinitely, and you may need to handle situations where it is impossible to meet the cluster size constraint while maintaining good cluster quality by relaxing the constraint or considering alternative clustering methods.

Re: What will LLM-powered software look like in the medium-term future?

#75

> I don’t believe that natural language is an adequate medium for conveying instructions with the precision required for many applications. Not clear to me if the author actually uses LLMs to do meaningful work, or is speculating about how they might be used. I've written about 2500 lines of F# for the first time in the past 1.5 weeks using ChatGPT-4 to guide me. It has been an constant back and forth, iterative proc…

To this day i am still wondering what kind of code people write that chatgpt can possibly help with. All my attempts lead to garbage and i would spend more time fixing the output of the chat bot than writing the actual code. It does help with some documentation. But even that has glitches.

Are you using 3.5 or 4?

Re: What will LLM-powered software look like in the medium-term future?

#76

Earlier quoted context omitted.

To this day i am still wondering what kind of code people write that chatgpt can possibly help with. All my attempts lead to garbage and i would spend more time fixing the output of the chat bot than writing the actual code. It does help with some documentation. But even that has glitches.

No one uses it to generate code. Really. Talk to people who actually use it and listen to what they say… they use it to help them write code. If you try to generate code, you’ll find it underwhelming, and frankly, quite rubbish. However, if you want an example of what I’ve seen multiple people do: 1) open your code in window a 2) open chatgpt in window b (side by side) 3) you write code. 4) when you get stuck, have a…

That matches my experience. It's a sort of shortcut to the old process of googling for examples and sifting through the results. And those results, I didn't typically cut and paste from them, or if I did, it was mostly as a sort of a scaffold to build from, including deleting a fair amount of what was there.

Many times it works really well, and it surfaces the kind of example I need. Sometimes it works badly. Usually when it's bad, going to the google/sift method has similar results. Which I guess makes sense, it couldn't find much to train on, so that's why it's answer wasn't great.

One area it works really well for me is 3rd party apis where their documentation is mostly just class/function/etc. ChatGPT generally does a good job of producing an orchestrated example with relevant comments that helps me see the bigger picture.

Re: What will LLM-powered software look like in the medium-term future?

#77

> I don’t believe that natural language is an adequate medium for conveying instructions with the precision required for many applications. Not clear to me if the author actually uses LLMs to do meaningful work, or is speculating about how they might be used. I've written about 2500 lines of F# for the first time in the past 1.5 weeks using ChatGPT-4 to guide me. It has been an constant back and forth, iterative proc…

Bit of an aside, but I wonder if the rise of LLMs will lead to new programming languages being much slower to be adopted. Like you said, you might have given up on F# without ChatGPT assistance, and the main way ChatGPT is able to help with F# is because of all of the example code it's been trained on. If developers rely more and more on LLM aid, then a new language without strong LLM support might be a dealbreaker t…

It could go the other way. LLMs might make porting code from one language to another easier which would speed the adoption of newer and more niche languages. And the future of documentation and tutorials might be fine-tuning an LLM.

Re: What will LLM-powered software look like in the medium-term future?

#78
post #51

> I don’t believe that natural language is an adequate medium for conveying instructions with the precision required for many applications. Not clear to me if the author actually uses LLMs to do meaningful work, or is speculating about how they might be used. I've written about 2500 lines of F# for the first time in the past 1.5 weeks using ChatGPT-4 to guide me. It has been an constant back and forth, iterative proc…

I feel like such a jerk for not wanting to use chatgpt for all that. It's not just mild paranoia about feeding it input I prefer be kept private but I just don't enjoy having someone else do half the thinking for me I guess. I mean, I don't like intellisense either (but simple autocomplete is fine). Perhaps it is because I only code to help with my job, I don't get paid to have a lot of good quality code output.

I think I would have felt this way when I was younger. But after writing code for over twenty years, I'm very happy to let computers do the boring half of the thinking, so that I can think about more interesting things.

It is not intellectually stimulating for me to think about what the syntax for a dict comprehension is, or what exactly I'm supposed to do to map over the values of an array in javascript without screwing it up, or any of a million other kinds of minutia. Computers know the answers to these uninteresting questions.

Re: What will LLM-powered software look like in the medium-term future?

#79

> I don’t believe that natural language is an adequate medium for conveying instructions with the precision required for many applications. Not clear to me if the author actually uses LLMs to do meaningful work, or is speculating about how they might be used. I've written about 2500 lines of F# for the first time in the past 1.5 weeks using ChatGPT-4 to guide me. It has been an constant back and forth, iterative proc…

To this day i am still wondering what kind of code people write that chatgpt can possibly help with. All my attempts lead to garbage and i would spend more time fixing the output of the chat bot than writing the actual code. It does help with some documentation. But even that has glitches.

[deleted]

Re: What will LLM-powered software look like in the medium-term future?

#80

I feel like us not being in that future right now means we won‘t get there so fast. What‘s missing to get all of this now? What recolutionary research, product development that hasn‘t happened yet will happen in the coming year? To me it looks like LLM tech is stagnating, after the hype peak we are close to the trough of disillusionment.

Part of the problem is that GPT-4 inference is too expensive to roll out at scale with current GPU availability and cost, so even basic features aren't generally available (e.g. your word processor writing for you) or if they are the model used is cheaper and not as good.

Partly it just takes time - it will overall take (I think, based on previous similar changes like the web) 20 years before the ideas from the current generation of LLMs are built out and integrated into products and made into new products and it is all done. People and organisations take time to change.

Post reply on HN