zachdaniel

zachdaniel

Creator of Ash

LLMS & Elixir: Windfall or Deathblow?

How the Elixir community can survive — and thrive — in an age of LLMs.

Most Liked

zachdaniel

zachdaniel

Creator of Ash

I’ll tell you what my real experience is, using LLMs has allowed me to write more well tested code, as well as more well documented code. For example, we’ve been having discussions about some issues w/ Ash’s documentation.

  1. the search results didn’t seem ordered by the most helpful stuff
  2. there is so much content that “cross referencing” is important, i.e putting links to things you were probably looking for if you got here and its not what you want.

I spent about 2 hours w/ Claude working on our four most commonly used modules, Ash, Ash.Changeset, Ash.Query and Ash.ActionInput. We have a solid usage rules file and other things that helped guide its output. I tasked it with expanding the docs on the most common functions (and many of the less common ones) ensuring that we have example usage, cross links to other relevant guides, and typespecs. It wasn’t “vibe coding”, i.e I reviewed all of the work, made many tweaks of my own, etc. But it turned a multi-day project into a 2-3 hour project. And when we have other docs issues in the future I will likely feed it into Claude and have it generate some nicely formatted output. i.e “this user had trouble with X, please look at the current docs for Y and produce something that would have prevented this confusion”. It also figured out why the search results were suboptimal before I could figure it out myself. The order of modules in the sidebar controls to some degree the order of modules in the search. We reordered the sidebar, and search got that much better :partying_face:

If you’re familiar with the issues around Ash docs, the improvement to this module is effectively night and day: Ash — ash v3.5.13

To me, it’s not a replacement for my brain, it’s just a way for me to exert more leverage than I would have before. When you know how to use it, it can make you faster, help you automate the boring stuff so you can focus on the important stuff, and get you past the blank-page problem.

18
Post #4
lawik

lawik

Nerves Core Team

Having spoken to Zach at ElixirConf EU and heard some of the challenges he has seen with supporting users that have completely fictional code. Coupled with his general skepticism of the AI hype. I am glad he wrote something up.

This is a pragmatic take on what we can usefully do around adoption, and being on a slimmer end of the bell curve when people start using bell-curve-machines for information and code generation.

Without trying to go to the moon or saying the cost of programming will go to zero. That stuff is speculative. This is mostly addressing current reality, whether you like the situation or not. I don’t love dealing with LLMs but I don’t particularly want to close my eyes because I don’t think it will entirely blow past.

13
Post #2
adamu

adamu

treat them as if they are only capable of doing things like summarization and pattern transformation

They are not even capable of this, only of giving the appearance of being so. It’s on the prompter to check the accuracy.

I think the biggest direct risk for most users of LLMs are that the LLM companies are aiming to become gatekeepers. All these efforts to integrate with LLMs are free work for these companies, who will increase the rents once they get enough people dependent on them.

sodapopcan

sodapopcan

I’ve only just started using AI and I have yet to use an agent. I’ve also never really chat as there is something something I find so off-putting out it. This article has some nice tips and some good insights that I hadn’t thought of. I particularly like the tip of asking it to first find the docs. This is something many people clearly take for granted.

Ultimately you should not be relying on an LLM as a source of “knowledge”.

I’ve seen several questions here, on reddit, and watching people IRL where they simply refuse to use anything other than a chatbot to figure things out. When they give up they don’t look to the docs, they ask someone. I know I’m not the only one wondering this but I haven’t seen too many satisfactory answers: what happens when people stop writing documentation? Are we going to start seeing libraries where the authors haven’t looked at a line of code? If people are producing software like this, how do the LLMs learn to use it? They’d have to start analyzing the code, of course, but how is that not going to degrade the slop even further?

Not trying to be a doomer just wondering, and wondering is all we can do.

Best case AFAIC is that we get flooded with so many quick-to-market apps that carefully crafted software with performance and security as first class citizens becomes cool again. And by “cool” I mean every day users will feel a noticeable difference.

zachdaniel

zachdaniel

Creator of Ash

Ask Claude for a TLDR :melting_face:

Where Next?

Popular in Blog Posts Top

axelson
I talk about how I really like to use runtime configuration and discuss some common pitfalls of configuration in Elixir.
New
zachdaniel
In this post I explore the silos that exist in the Elixir ecosystem, the pros and cons, and what we can improve.
New
New
rrrene
In this series, we take a look at the different ways to organize, structure and execute a good “flow” in our Elixir programs. The latest...
New
adolfont
Hi, You all probably know that José Valim is Brazilian and that his native language is Portuguese. I, Herminio Torres, Matheus Pesanha a...
New
bemesa21
Add drag-and-drop functionality to your Phoenix LiveView app with SortableJS and LiveView Hooks! This posts shows you how to create an in...
New
AstonJ
Just finished doing a clean install of macOS (which I highly recommend btw!) and have updated my macOS Ruby & Elixir/Erlang dev env s...
New
Paradox
Testing is an important part of any modern piece of software. But writing tests can quickly become an exercise in frustration, with tons ...
New
gaggle
This post explores different ways to do test automation in Elixir, focusing on how to handle dependency injection — covering patterns, li...
New
alvises
Just published the first part of series of articles aimed to explain the architecture behind a kv-store engine written in Elixir and impl...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement