Prompt engineering is honestly not long for this world. It's not hard to build an agent that can iteratively optimize a prompt given an objective function, and it's not hard to make that agent general purpose. DSPy already does some prompt optimization via multi-shot learning/chain of thought, I'm quite certain we'll see an optimizer that can actually rewrite the base prompt as well.
Building reliable systems out of unreliable agents
41–50 of 56 posts
Re: Building reliable systems out of unreliable agents
#42On the topic of wrappers, as someone that's forced to use GPT-3.5 (or the like) for cost reasons, anything that starts modifying the prompt without explicitly showing me how is an instant no-go. It makes things really hard to debug. Maybe I'm the equivalent of that idiot fighting against JS frameworks back when they first came out it but it feels pretty simple to just use individual clients and have pydantic load/val…
It's not really the authors' faults, it's just a weird new problem with lots of unknowns. It's hard to get the design and abstractions correct. I've had the benefit of a lot of time at work to build my own wrapper (solely for NLP problems) and that's still an ongoing process.
Re: Building reliable systems out of unreliable agents
#43Earlier quoted context omitted.
Oh this is fun! So you basically define personalities by picking well-known people that are probably represented in the training data and ask them (their LLM-imagined doppelganger) to vote?
In the research literature, this process is done not by "agent" voting but by taking a similarity score between answers, and choosing the answer that is most representative. Another approach is to use multiple agents to generate a distribution over predictions, in sort of like bayesian estimation.
Re: Building reliable systems out of unreliable agents
#44Prompt engineering is honestly not long for this world. It's not hard to build an agent that can iteratively optimize a prompt given an objective function, and it's not hard to make that agent general purpose. DSPy already does some prompt optimization via multi-shot learning/chain of thought, I'm quite certain we'll see an optimizer that can actually rewrite the base prompt as well.
I hear you and am planning to try DSPy because it seems attractive, but I'm also hearing people with a lot of experience being cautions about this https://x.com/HamelHusain/status/1777131374803402769 so I wouldn't make this a high-conviction bet.
The real proof though is that most "prompt engineers" already use chatgpt/claude to take their outline prompt and reword it for succinctness and relevance to LLMs, have it suggest revisions and so forth. Not only is the process amenable to automation, but people are already doing hybrid processes leveraging the AI anyhow.
Re: Building reliable systems out of unreliable agents
#45If you’re using Elixir, I thought I’d point out how great this library is: https://github.com/thmsmlr/instructor_ex It piggybacks on Ecto schemas and works really well (if instructed correctly).
Re: Building reliable systems out of unreliable agents
#46Earlier quoted context omitted.
Oh this is fun! So you basically define personalities by picking well-known people that are probably represented in the training data and ask them (their LLM-imagined doppelganger) to vote?
In the research literature, this process is done not by "agent" voting but by taking a similarity score between answers, and choosing the answer that is most representative. Another approach is to use multiple agents to generate a distribution over predictions, in sort of like bayesian estimation.
Re: Building reliable systems out of unreliable agents
#47Earlier quoted context omitted.
In the research literature, this process is done not by "agent" voting but by taking a similarity score between answers, and choosing the answer that is most representative. Another approach is to use multiple agents to generate a distribution over predictions, in sort of like bayesian estimation.
Any chance you could expand on both of these, even enough to assist in digging deeper into them? TIA.
Re: Building reliable systems out of unreliable agents
#48Earlier quoted context omitted.
Oh this is fun! So you basically define personalities by picking well-known people that are probably represented in the training data and ask them (their LLM-imagined doppelganger) to vote?
In the research literature, this process is done not by "agent" voting but by taking a similarity score between answers, and choosing the answer that is most representative. Another approach is to use multiple agents to generate a distribution over predictions, in sort of like bayesian estimation.
In this approach, I'm looking for the diamond in the rough. It's often dissimilar from the others. With this approach, the diamond can still get a high number of votes.
Re: Building reliable systems out of unreliable agents
#49This is a great write up! I nodded my head thru the whole post. Very much aligns with our experience over the past year. I wrote a simple example (overkiLLM) on getting reliable output from many unreliable outputs here[0]. This doesn't employ agents, just an approach I was interested in trying. I choose writing an H1 as the task, but a similar approach would work for writing any short blob of text. The script generat…
I'd be curious to see some examples and maybe intermediate results?
this one scored high:
Pinned Down - Powerful Analytics Without the Need for Engineering or SQL
this one scored low:
Analytics Made Accessible for Everyone.
Each time I've compared the top scoring results to those at the bottom, I've always preferred the top scoring variations.
0 - https://docs.google.com/spreadsheets/d/1hdu2BlhLcLZ9sruVW8a_...
Re: Building reliable systems out of unreliable agents
#50Earlier quoted context omitted.
In the research literature, this process is done not by "agent" voting but by taking a similarity score between answers, and choosing the answer that is most representative. Another approach is to use multiple agents to generate a distribution over predictions, in sort of like bayesian estimation.
for my use case (generating an interesting H1), using a similarity score would defeat the purpose. In this approach, I'm looking for the diamond in the rough. It's often dissimilar from the others. With this approach, the diamond can still get a high number of votes.