基于 LangChain 与 CAMEL 框架开发智能 Agent 实战
Prompt Engineering(提示词工程)是解锁大语言模型(LLM)潜力的关键。如果提示词设计得当,并能将其技巧与具体工作场景深度结合,将极大提升效率。本文将深入探讨如何优化 Prompt 设计、管理 Prompt Template,并介绍 CAMEL 框架在构建多 Agent 协作系统中的应用。
LLM Prompt 与 Agent 协作
是否可以让 LLM 为了某个任务尝试自己组装 Prompt Template,优化 Prompt 过程呢?CAMEL 框架提供了一种基于'角色扮演'的 LLM 交流方式,让不同的 AI Agent 扮演不同角色,通过相互聊天完成任务。
CAMEL 概述
CAMEL 是 Communicate Agents for Mind Exploration of Large Scale Language Model Society 的首字母缩写。它包含五个核心概念:
- Communicate (沟通): 强调代理之间的对话机制。
- Agent (代理): 自主执行任务的实体。
- Mind (心智): 模拟人类思维过程的推理能力。
- Exploration (探索): 在复杂任务空间中的自我迭代。
- LLM (大模型): 底层驱动技术。
1. 聊天式代理
每一次与大模型交互都是成长的机会。起初是用户与 Agent 的交流,用户需求通过 Prompt 清晰传达给 AI Agent。随后,该用户代理与其他 AI Agents 交流,交换信息、解决问题,最后汇报给用户。这种模式模拟了和谐的团队协作场景。
2. 角色扮演 (Role-Playing)
AI 应用开发在 CAMEL 的设计模式下,转变为开发各种具有特定角色的 Agent。不同角色各司其职,所有角色的 Agents 到齐后,通过聊天式协作完成工作。例如,一个项目可能需要 Python 工程师、财务分析师和项目经理三种角色的 Agent 协同。
3. 启示式提示 (Inception Prompting)
为了让不同角色的 Agent 完成工作,我们需要为每个 Agent 提供清晰的初始提示(Prompt)。这个 Prompt 即 Agent 聊天的内容,除最初用户的交待外,其余由 Agent 自己生成,通过聊天的方式传递给其它 Agent。这种方法被称为 Inception Prompting。
CAMEL 架构详解
股票交易案例
CAMEL 论文中提出了一个经典的股票交易例子来演示其工作原理。
- 场景: 股票交易自动化。
- 角色:
- 用户: 有开发股票交易软件的需求,但不知道具体实现路径。
- 任务指定代理 (Task Specifier Agent): 负责将模糊的用户需求细化为具体的任务描述。
- AI 工程师助手: 负责编写 Python 代码。
- AI 证券师: 负责分析市场数据和执行交易逻辑。
任务指定代理会生成类似以下的提示:
开发一个股票交易 robot,收集社交媒体上特定股票的信息,并根据情感分析执行交易。
这样,其他 Agents 就得到了清晰的任务,可以开始执行。它们之间经过多轮对话,直到任务完成,无需人工介入。
Inception Prompting 机制
当 CAMEL 框架运行时,Prompt Engineering 变得更为重要。Prompt 设计主要在角色扮演的最初阶段进行,用于明确任务和分配角色。之后,AI Agents 间会自动地相互提示。
Inception Prompting 包含以下三部分:
- 明确的任务提示: 定义最终目标。


