开源AI Agent生态盘点:2024年最值得关注的10个Agent项目
弿ºAI Agentçæçç¹ï¼2024å¹´æå¼å¾å ³æ³¨ç10个Agent项ç®
2024å¹´ï¼AI Agent仿¦å¿µéªè¯èµ°åå·¥ç¨è½å°ï¼å¼æºçæåç°ç¾å®¶äºé¸£ä¹å¿ãä»ä¸å¤ç红çAutoGPTå°ä¼ä¸çº§å¤Agentå使¡æ¶CrewAIï¼åå°å¯è§åç¼æå¹³å°Difyï¼å¼åè æ£ç¨ä»£ç éæ°å®ä¹"æºè½"çè¾¹çãæ¬æçç¹10个æå ·å½±ååç弿ºAgent项ç®ï¼ä»æ¶æãè½åãåºæ¯ç维度深度对æ¯ï¼å¸®å©ææ¯éåã
ä¸ãAutoGPTï¼Agentæ¦å¿µçå¼çè
é¡¹ç®æ¦è§
- GitHub Stars: 160k+
- 馿¬¡åå¸: 2023å¹´3æ
- æ ¸å¿å®ä½: èªä¸»ä»»å¡æ§è¡çéç¨AI Agent
- ææ¯æ : Python, OpenAI API
AutoGPTæ¯AI Agentæ¦å¿µåºåçæ å¿æ§é¡¹ç®ãå®è®©GPT-4"èªæé©±å¨"ââç»å®ç®æ åèªä¸»å解任å¡ãæç´¢ãæ§è¡ãè¯ä¼°ï¼ç´å°å®ææé¢ç®èå°½ã
æ ¸å¿æ¶æ
# AutoGPT æ ¸å¿å¾ªç¯ç®å示æ class AutoGPTAgent: def __init__(self, ai_name, ai_role, api_budget): self.ai_name = ai_name self.ai_role = ai_role self.api_budget = api_budget self.memory = LocalCache() # åéåå¨è®°å¿ self.full_message_history = [] def run(self, goals: List[str]): """主循ç¯ï¼æè -> è¡å¨ -> è§å¯ -> è¯ä¼°""" while self.api_budget > 0: # 1. ä»è®°å¿åè§å¯ä¸æå»ºä¸ä¸æ current_context = self._build_context(goals) # 2. LLMæèä¸ä¸æ¥è¡å¨ thoughts = self.llm.think(current_context) # 3. è§£æè¡å¨å½ä»¤ command = self._parse_command(thoughts) # 4. æ§è¡è¡å¨ï¼æç´¢ãæµè§ãåæä»¶ãæ§è¡ä»£ç çï¼ result = self._execute_command(command) # 5. åå¨å°è®°å¿ self.memory.add(f"Action: {command}\nResult: {result}") # 6. æ£æ¥æ¯å¦å®æç®æ if self._is_goal_achieved(goals): breakå ³é®ç¹æ§
| 维度 | 详æ | |------|------| | èªä¸»æ§ | é«ï¼å®å ¨èªä¸»å¾ªç¯ï¼æ éäººå·¥å¹²é¢ | | è®°å¿æºå¶ | åéæ°æ®åº + æ¬å°ç¼å | | å·¥å ·è½å | ç½ç»æç´¢ãæä»¶æä½ãä»£ç æ§è¡ãå¾ççæ | | 坿©å±æ§ | éè¿æä»¶æºå¶æ©å± |
éç¨åºæ¯ä¸å±é
éåï¼æ¦å¿µéªè¯ãèªå¨åç ç©¶ãåææ¢ç´¢å±éï¼Tokenæ¶èé«ã容æé·å ¥å¾ªç¯ãç产å¯é æ§ä¸è¶³ã缺ä¹å¤Agentåä½
äºãLangChainï¼Agentç¼æçäºå®æ å
é¡¹ç®æ¦è§
- GitHub Stars: 90k+
- 馿¬¡åå¸: 2022å¹´10æ
- æ ¸å¿å®ä½: LLMåºç¨å¼åæ¡æ¶ï¼Agentç¼æåºç¡è®¾æ½
- ææ¯æ : Python/TypeScript, 夿¨¡åå端
LangChain䏿¯åä¸Agentï¼èæ¯Agentçæåºç¡è®¾æ½ï¼æä¾chainsãagentsãtoolsãmemoryãretrievalçæ¨¡ååç»ä»¶ï¼è®©å¼åè åæç§¯æ¨ä¸æ ·æå»ºåºç¨ã
æ ¸å¿ä»£ç 示ä¾
from langchain import OpenAI, LLMMathChain, SerpAPIWrapper from langchain.agents import initialize_agent, Tool, AgentType from langchain.memory import ConversationBufferMemory tools = [ Tool(name="Search", func=SerpAPIWrapper().run, description="æç´¢å¼æ"), Tool(name="Calculator", func=LLMMathChain(llm=OpenAI()).run, description="计ç®å¨") ] memory = ConversationBufferMemory(memory_key="chat_history") agent = initialize_agent( tools, OpenAI(temperature=0), agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION, memory=memory, verbose=True ) agent.run("202