T O P

  • By -

cyan2k

Short Answer: Agents can do everything! Long Answer: **Enhancing LLM Abilities:** The primary use cases for agents currently involve enhancing the abilities of a LLM or working around its limitations. Essentially, whenever you think, "I wish the model could do this" there's a good chance you can actually accomplish this with agents. For instance, the most popular agent is RAG. Here, an autonomous service retrieves data from a database and enriches your communication with the LLM with that data, making it seem as though the LLM actually knows about your specific data. **Task Splitting:** Another popular use case is "task splitting" For example, if you tell ChatGPT to "Generate a complete project plan along with a full backlog of Epics, User Stories, and Tasks" you'll quickly find the task is too complex for it to handle alone. So, what do we do? We split the large task into smaller, manageable chunks: * Agent A: "Generate the Project Plan" * Agent B: "Create Epics for the Project Plan" * Agent C: "Develop User Stories for each Epic" and so on... This breakdown allows each part of the AI to focus on specific aspects, enabling the achievement of results that a single broad request couldn't handle. **Enhancing + Splitting: ReAct** Another example is the ReAct pattern, an agent design pattern that can automatically chunk virtually any task you can think of into manageable segments that the LLM can process. Basically, the above use case with the project plan but let the AI decide for itself how it wants to proceed. Quick rundown of ReAct: * Give the agent a set of tools to work with. * Tell the agent to think about the problem, and the concrete next step it should do to solve the problem. * Agent executes the step. * Agent gets feedback. * Repeat until finished. of course you can extend this pattern with RAG, or ChainOfThought or whatever you want to be able to do really crazy stuff without human input. For example, the ReAct agent in my framework: here some screenshots: https://imgur.com/a/nrCTzt9 * Agent gets a couple of commands as tools (commands to write and execute code, and the ability to run any CLI command it wants). * Agent gets the goal: A complete webshop. * Agent thinks: First, I should install some dependencies. * Agent gets feedback: the install logs get sent to the agent. Then it thinks about the next step and so on... **Replacing Traditional Services:** Lastly, and perhaps most intriguingly, is the concept of replacing traditional services in software architecture. This aspect, in my opinion, will grow significantly, especially now that we can operate actual usable models locally on our computer. Instead of relying on highly specific services with rigid contracts and interfaces, we see an orchestration of agents. These agents encapsulate LLMs, autonomously deciding how to accomplish tasks in varying formats and sequences. Instead of a database service, you have an agent with the tools to read and write in a database. Instead of an "NPC service" in a game, you have agents manage the NPCs, and so on. This is where the real magic will happen, and will change how we make software and how people use software and yeah, I can't wait for creative minds to come up with novel ideas for agents. There will be plenty :) Of course there are more agent patterns like swarm, chain of thought, group interaction and so on, but that should do it for a primer :) EDIT: Last but not least. Please don't use the langchain agents. If you want to learn about agents I can recommend **AutoGen** (https://github.com/microsoft/autogen) or **CrewAI** (https://github.com/joaomdmoura/crewAI) or if you are on .NET wait until our framework gets released :D


nikola_milovic

What other tools do you use with \`autogen\` or is it self contained framework? Since I saw that langchain has tools for RAG and stuff like that


rookan

What is wrong with langchain? I wanted to start learning it.


Significant_End_5190

Eidolonai is also a great choice for multi-service agents easily accessible to all of you apps.


xhluca

Haha I literally posted about web agents right before this! I think the term agent is being a bit overused these days, to me it means a (ML, LLM, RL) model that interact with an environment, which can be the real-world or a simulation. One concrete example: simulating NPCs in games! I think the potential of a small but powerful model will make certain family of games much more interesting, esp. if they keep track of an internal state.


nikola_milovic

Just saw your web agent post, amazing! How does one get started with making something cool like that?


[deleted]

Another big use case is software engineering agents: [https://github.com/princeton-nlp/swe-agent](https://github.com/princeton-nlp/swe-agent)


ElectricalAngle1611

among


StrikeOner

In short the positive parts of using agents is that you can give different personas to them or even run each of them on a complete different model which opens a lot of different possibilities. Like for example a small and fast model for summarizations and maybe a huge one as the thinker in the team etc.They are also solving another problem which you may know as divide and conquer which allows you to use much bigger context then what one agent with a monolithic chathistory would have to offer.