Not long ago, Stanford University Professor Andrew Ng mentioned the huge potential of intelligent agents in his speech, which also caused a lot of discussion. Among them, Ng Enda said that the agent workflow built based on GPT-3.5 performs better in applications than GPT-4. This shows that it is not necessarily advisable to limit one's sights to large models, and that the agent may be better than the base model it uses.
In the field of software development, these agents have demonstrated their unique ability to collaborate efficiently, handle complex problems in programming, and even perform automatic code generation. The latest technology trends show that AI smart communication shows great potential in software development. Remember Devin? Known as the world's first AI software engineer, it amazed us when it appeared. One agent can bring us such an experience. If multiple agents cooperate, can the experience value be directly maximized?
Imagine a team of multiple agents, each member specializing in a specific task, such as code review, error detection, or new feature implementation. These intelligent entities can complement each other's capabilities and jointly promote the progress of software projects. Wouldn't this free up the hands of programmers and no longer have to worry about tenosynovitis?
Wu Enda wrote an article that takes us deep into this field and explores the latest developments in intelligent systems. It is against this background that tools such as AutoGen and LangGraph mentioned in the article came into being. These tools are designed to help developers more easily deploy and manage AI agents to realize their full potential. With their power, even people without a strong programming background can leverage AI agents to optimize and automate software development processes. The following is the compilation and translation of "Heart of the Machine" without changing the original meaning.
Original link: https://www.deeplearning.ai/the-batch/issue-245/
Agent collaboration is the last of the four key AI agent design patterns I have described in recent letters. For complex tasks like writing software, a multi-agent approach breaks the task into subtasks performed by different roles (such as software engineers, product managers, designers, QA engineers, etc.) and lets different agents complete different tasks. Subtasks.
Different agents can be built by providing an LLM (or multiple LLMs) to perform different tasks. For example, to build a software engineer agent, we could provide the LLM: "You are an expert at writing clear, efficient code. Please write code to perform tasks...".
We call the same large language model (LLM) multiple times, but we adopt a multi-agent programming abstraction approach. This may seem counterintuitive, but there are several reasons to support it:
In many companies, managers often decide which roles to hire for and then how to integrate complex projects—such as writing a large software or preparing research reports – break it down into smaller tasks and assign them to employees with different expertise. Using multiple agents works similarly. Each agent implements its own workflow and has its own memory (which itself is a rapidly growing area in agent technology: how an agent remembers enough past interactions to perform better on future tasks) , and possibly request help from other agents. Agents can also plan and use tools. This will generate a large number of LLM calls and information transfer between agents, which may form a very complex workflow.
While managing people is difficult, it is something we are very familiar with, and it provides a mental framework for how we “hire” and assign tasks to our AI agents. Fortunately, the damage of mismanaging an AI agent is much less than mismanaging a human being!
Emerging frameworks like AutoGen, Crew AI, and LangGraph provide rich multi-agent solutions to solve problems. If you're interested in playing with fun multi-agent systems, check out ChatDev, an open source implementation of a collection of agents that runs virtual software companies. You can check out their GitHub repo, maybe clone the repo and run the system yourself. While it may not always produce the results you want, you might be surprised by how well it performs.
Like planning this design pattern, I find that the quality of the output of multi-agent collaboration is difficult to predict, especially when allowing agents to interact freely and providing them with multiple tools . More mature patterns of reflection and tool use are more reliable. I hope you have fun playing with these agent design patterns and that they give you amazing results! If you are interested in learning more, you can read the following article:
After reading this article, netizens were greatly inspired. However, some netizens also pointed out that the stability and predictability of multi-agent systems when performing the same or similar tasks is still insufficient. To be considered. What do you think are the advantages and disadvantages of multi-agent collaboration?
The above is the detailed content of Andrew Ng: Multi-agent collaboration is the new key, and tasks such as software development will be more efficient. For more information, please follow other related articles on the PHP Chinese website!