note
- Reflection 和 Tool Use 属于比较经典且相对已经广泛使用的方式,Planning 和 Multi-agent 属于比较新颖比较有前景的方式。
文章目录
- note
- 一、四种设计模式
- 1. Reflection
- 2. Tool use
- 3. Planning
- 4. Multi-agent collaboration
- 二、相关代码实践
一、四种设计模式
1. Reflection
- 基于reflection的,纯粹的对结果反思,无外部交互。这是一个非常基础的模式,尽管很简单,但却可以为结果带来挺大的提升。
推荐阅读:
● Self-Refine: Iterative Refinement with Self-Feedback, Madaan et al. (2023)
● Reflexion: Language Agents with Verbal Reinforcement Learning, Shinn et al., (2023)
2. Tool use
- 与工具交互,并对交互结果进行推理。LLM中存储的信息通常不足以准确、有见地地回答问题。这个模式不具备迭代调用。
推荐阅读:
- Gorilla: Large Language Model Connected with Massive APIs, Patil et al. (2023)
- MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action, Yang et al. (2023)
3. Planning
- 有规划模块,能完成任务拆解,任务规划,反思迭代。通过将任务分解为更小、更容易完成的子目标,而不会迷失最终目标。
推荐阅读:
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, Wei et al., (2022)
- HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face, Shen et al. (2023)
4. Multi-agent collaboration
- 多Agent系统,像 crewAI或 AutoGen这样的框架,它们允许创建Multi-Agent 的应用。任务可以划分为由不同角色执行的小任务。
ex:改编自 HuggingGPT 这个论文,我需要生成一个图片,一个女孩在看书,她的姿势要个我给的这个图片中的男孩一样,然后你再用文字描述这个图片:Agent 的做法是,先提取该图片中男孩的姿态(可能是调用的 Huggingface上的模型),然后再找到一个模型生成一张同样姿势的图片,最后再描述好生成的这张图片。
推荐阅读:
- Communicative Agents for Software Development, Qian et al., (2023)
- AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation, Wu et al. (2023)
二、相关代码实践
链接:https://github.com/neural-maze/agentic_patterns/tree/main