LLM Agent Paper List(github.com)
github.com
LLM Agent Paper List
https://github.com/WooooDyy/LLM-Agent-Paper-List
28 comments
This is not a valid Show HN. Please see https://news.ycombinator.com/showhn.html.
I've taken "Show HN" out of the title now.
I've taken "Show HN" out of the title now.
Having spent the last three months with Agents I’m starting to develop a saying: “Any sufficiently advanced agent is indistinguishable from a DSL”
I’m becoming convinced Agents are mostly novelty. They aren’t Turing complete. They’re fun to implement, but any algorithm they run to solve a task can’t be inspected and can go awry with complex logic. You can accomplish the same thing by asking the LLM to write code in whatever language, and it’s more reliable. There is more reluctance to do that though, because the idea of a BE environment that runs user generated scripts is scary.
I’m becoming convinced Agents are mostly novelty. They aren’t Turing complete. They’re fun to implement, but any algorithm they run to solve a task can’t be inspected and can go awry with complex logic. You can accomplish the same thing by asking the LLM to write code in whatever language, and it’s more reliable. There is more reluctance to do that though, because the idea of a BE environment that runs user generated scripts is scary.
What have you been trying to use agents for?
I think most of the actual value created short/medium-term with agents will be in entertainment where things going awry is OK and no action they take can really be catastrophic.
Some people are already spending a ton of time on character.ai (https://beta.character.ai). There are sims-like games like ai-town (https://www.convex.dev/ai-town). My friend and I made an open-source murder mystery novella with agents (https://gron.games).
We found that a lot of the actions they take are pretty low stakes, so the correctness issues are much less important (in ai-town, they just talk with each other, in our game, they just beat you or run away if you interrogate them poorly).
I think most of the actual value created short/medium-term with agents will be in entertainment where things going awry is OK and no action they take can really be catastrophic.
Some people are already spending a ton of time on character.ai (https://beta.character.ai). There are sims-like games like ai-town (https://www.convex.dev/ai-town). My friend and I made an open-source murder mystery novella with agents (https://gron.games).
We found that a lot of the actions they take are pretty low stakes, so the correctness issues are much less important (in ai-town, they just talk with each other, in our game, they just beat you or run away if you interrogate them poorly).
My current work is using LLMs in fintech, but my background is in entertainment and has been where most of side projects have gone. LLMs are great generative tools, but Agents are reasoning tools. They implicitly execute an algorithm and interpret the results. An agent will never reason as well as imperative code.
I think this is why agents appear suited to entertainment, but this is almost a different topic that I could rant about for hours. There’s a whimsical element of randomness in what the character may do that the programmer does not need to explicitly design. However, I think that whimsy has limited reach, so while the developer may be more amused by their own creation it has limited appeal.
I think this is why agents appear suited to entertainment, but this is almost a different topic that I could rant about for hours. There’s a whimsical element of randomness in what the character may do that the programmer does not need to explicitly design. However, I think that whimsy has limited reach, so while the developer may be more amused by their own creation it has limited appeal.
Curious how you went with this approach.
I too have been playing with agents. But I’ve explicitly biased away from having them do things that can achieved directly with code.
Stringing together tool selection into steps with reasoning imo is the crucial brain layer. Code is one of the tools. I’ve also gone with a kind of preemptive memory, where the brain gets injected with relevant memory automatically, instead of it requesting for it. Same for retrieval from the internet.
But wanted to understand how you’re thinking about.
I too have been playing with agents. But I’ve explicitly biased away from having them do things that can achieved directly with code.
Stringing together tool selection into steps with reasoning imo is the crucial brain layer. Code is one of the tools. I’ve also gone with a kind of preemptive memory, where the brain gets injected with relevant memory automatically, instead of it requesting for it. Same for retrieval from the internet.
But wanted to understand how you’re thinking about.
You can string tools together in code as well, and have an LLM reinterpret the final results in text if you want. There’s the middle bit when you ask the Agent to reason that works better if you just ask it to write code and give it functions to call instead of tools.
Can people ELI5 what an LLM or AI "Agent" is? Sometimes when I see the term used, it makes sense, and other times there seems to be nothing concrete behind it.
[not a comment on OP post]
[not a comment on OP post]
I think about agents as being an entity that you can collaborate with. Among other things, it needs 1/ memory, 2/ ability to create and execute long-term plans. One of the best papers that I have read on this topic is the Generative Agents paper by Park [1]
Today's LLMs are kind of like Dory from Finding Nemo - you have to recreate the context every time you do a slightly different task, or when the context window for the LLM is no longer sufficient to remember previous turns in a conversation.
An agent can sit on the other side of a piece of collaborative software that was designed for human collaboration. This is why chatbots are the current "killer app" for AI, we already understand how to collaborate with other people via chat.
Now imagine what we can do with more sophisticated pieces of software like Figma or Excel. Disclosure: I work on the Python in Excel feature and we just announced Copilot for Excel a couple of days ago. [2] Other modalities that excite me are tools like Vision Pro which will be an interesting test bed for multi-modal generative agents.
[1] https://arxiv.org/abs/2304.03442
[2] https://twitter.com/john_lam/status/1704886164753363261
Today's LLMs are kind of like Dory from Finding Nemo - you have to recreate the context every time you do a slightly different task, or when the context window for the LLM is no longer sufficient to remember previous turns in a conversation.
An agent can sit on the other side of a piece of collaborative software that was designed for human collaboration. This is why chatbots are the current "killer app" for AI, we already understand how to collaborate with other people via chat.
Now imagine what we can do with more sophisticated pieces of software like Figma or Excel. Disclosure: I work on the Python in Excel feature and we just announced Copilot for Excel a couple of days ago. [2] Other modalities that excite me are tools like Vision Pro which will be an interesting test bed for multi-modal generative agents.
[1] https://arxiv.org/abs/2304.03442
[2] https://twitter.com/john_lam/status/1704886164753363261
LLM has no long term memory(limited by context size or you have to do fine tuning which isnt efficient) and can't interact with the outside world.
You can augment it with retrieval systems(vector store, graph db, sql db + lexical/semantic/graph search) and give it access to tools like api, search engine and code interpreter. Then it becomes an agent.
You can augment it with retrieval systems(vector store, graph db, sql db + lexical/semantic/graph search) and give it access to tools like api, search engine and code interpreter. Then it becomes an agent.
Its a fancy term for s piece of code that has some context(memory) and can communicate with other AI APIs(aka lang chain) including itself. It can retrieve certain information from other sources(called vector stores).
What makes it different from other programs is that Agents can do probabilistic inference on the closure natural language, i.e. they can predict(P(Y|X) as well as generate(P(X, y)). Both of these are very hard to do with any one previous model and hence with any service that could combine software API + Classic ML Model(pre Generative+Discriminative models like llm).
What makes it different from other programs is that Agents can do probabilistic inference on the closure natural language, i.e. they can predict(P(Y|X) as well as generate(P(X, y)). Both of these are very hard to do with any one previous model and hence with any service that could combine software API + Classic ML Model(pre Generative+Discriminative models like llm).
Agents have agency: they do stuff. The way the do it is by calling code or writing code and then executing it. They need some retrieval system too (often called memory) that selects the relevant possible actions for a current context.
I wrote this article recently that outlines what a system needs to run agents: https://github.com/lukebuehler/agent-os/blob/main/docs/artic...
I wrote this article recently that outlines what a system needs to run agents: https://github.com/lukebuehler/agent-os/blob/main/docs/artic...
I would characterize an LLM Agent to be "a software application of LLM" that is typically used to solve a problem that requires multiple steps.
The application uses an LLM to breakdown the problem into pieces and asks the LLM to choose a tool that is suited to handle each piece. The application then invokes the tool to solve that piece of the problem. This is iteratively done until the original problem is solved or determined to be unsolvable.
There are many agent variations, depending on whether you breakdown the problem once at the beginning, or understand what to do next based on the outcome of the previous step, or constantly evaluate and reprioritize which piece of the problem to solve next.
Because you rely on an LLM to understand the problem, if you chose an LLM that exhibits good world understanding, and designed the LLM Agent well enough, then you can use it to solve problems that traditionally required deterministic code.
The application uses an LLM to breakdown the problem into pieces and asks the LLM to choose a tool that is suited to handle each piece. The application then invokes the tool to solve that piece of the problem. This is iteratively done until the original problem is solved or determined to be unsolvable.
There are many agent variations, depending on whether you breakdown the problem once at the beginning, or understand what to do next based on the outcome of the previous step, or constantly evaluate and reprioritize which piece of the problem to solve next.
Because you rely on an LLM to understand the problem, if you chose an LLM that exhibits good world understanding, and designed the LLM Agent well enough, then you can use it to solve problems that traditionally required deterministic code.
From my understanding, an agent is a collection of tools that can be navigated by an LLM. It follows an approach called reason-action (react) or thought-action-observation.
Spit balling here, thought means getting a prompt and having a response to it (i.e., run particular action). An action executes (e.g., executing code in python repl, using a search a api, pulling info from wikipedia). The LLM receives some feedback (observation) and the process starts over.
An agent is a style of prompt that lets LLMs act as reasoning engines. It's also known as the ReAct pattern (which engineers are avoiding using for namespace collision reasions).
You can read a good intro example here: https://github.com/brexhq/prompt-engineering#react
You can read a good intro example here: https://github.com/brexhq/prompt-engineering#react
The Encyclopedia Autonomica defines Agent as a software that is capable of reasoning, using memory, plan its actions, and using tools.
Or in short:
Agent= Reasoning + Memory + Planning + Tools
Agent= Reasoning + Memory + Planning + Tools
there’s plenty online, but basically an LLM is a model trained on an expansive corpus of data (unstructured, text) and basically trained to mimic human language. It can answers questions using probabilistic logic.
People have been thinking of a way to make LLMs perform actions in the real world, by giving these LLMs “tools”.
An LLM with tools that can perform tasks would be an AI Agent
People have been thinking of a way to make LLMs perform actions in the real world, by giving these LLMs “tools”.
An LLM with tools that can perform tasks would be an AI Agent
It is frameworks vs libraries. An agent decides when to call your code, or possibly someone else’s code.
here- try to my buggy, unfinished demo, you’ll probably understand it: https://waggledance.ai
source is available if you tap the GH icon in the footer.
source is available if you tap the GH icon in the footer.
Does anybody know a good forum for discussing AI agent design? I have a bunch of questions, but too specific for the general LLM application communities.
Forum, no, but there's a Langchain Discord[1] that would probably receive it well.
1. Yeah, I know HN's feeling about discord and posted this anyway.
1. Yeah, I know HN's feeling about discord and posted this anyway.
Autogpt subreddit and discord, and the babyagi discord
May I humbly request an MVP list? I’m into this stuff but there are like 60+ papers here.
Your comment got me curious, so I made it into a spreadsheet.
There are 265 papers currently.
If you're curious, there's a reason it feels overwhelming. Here's a plot of the age of the papers relative to now. Its a bit of a wall/tsunami.
https://i.imgur.com/Om7udZR.png
Edit: Because of the shock like character I also postulate several hypotheses:
- It will rapidly expand like a fireball, consuming all of the "air" of possible nearby topics.
- Cause many humans to effectively "reflect" due to its impenetrability, effectively rendering those humans permanently downhill as consumers.
There are 265 papers currently.
If you're curious, there's a reason it feels overwhelming. Here's a plot of the age of the papers relative to now. Its a bit of a wall/tsunami.
https://i.imgur.com/Om7udZR.png
Edit: Because of the shock like character I also postulate several hypotheses:
- It will rapidly expand like a fireball, consuming all of the "air" of possible nearby topics.
- Possible secondary: Ignition of other topics as possible fuel to extend the publishing "burn."
- Possible secondary: Vacuum implosion when all nearby topic fuel is expended.
- Cause significant destruction (existing wealth, businesses, market segments, ect...)- Cause many humans to effectively "reflect" due to its impenetrability, effectively rendering those humans permanently downhill as consumers.
- Possible secondary: Further shocks as the shock wave bends or reflects off of "currently impenetrable" obstructions (topics that do not immediately turn into fuel).
- Cause significant secondary (mostly unrelated) growth in topics impeded by the current suffocating fuel environment (like an old growth forest that has become choked with debris and oppresses all growth)What do you plan to build ? Based on that can suggest relevant
From the repo - "We start by the general conceptual framework for LLM-based agents: comprising three main components: brain, perception, and action, and the framework can be tailored to suit different applications."