Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

Guia para a criação de sistemas multiagentes com base na CrewAI

1. introdução

No campo da Inteligência Artificial, o sistema Multi Agent está se tornando gradualmente uma tecnologia fundamental para resolver problemas complexos e obter uma colaboração eficiente. O CrewAI, como uma poderosa ferramenta de colaboração Multi Agent, oferece aos desenvolvedores uma maneira conveniente de criar sistemas de colaboração inteligentes. Neste artigo, apresentaremos como criar um sistema de colaboração inteligente baseado em CrewAI Criar o sistema Multi Agent.

2. conceitos centrais da CrewAI em detalhes

2.1 Agente

2.1.1 Definição e função do agente

Os agentes são unidades autônomas na CrewAI com a capacidade de executar tarefas, tomar decisões e se comunicar com outros agentes. Eles atuam como membros de uma equipe, cada um assumindo uma função específica, como pesquisador, escritor ou suporte ao cliente, e trabalhando juntos para contribuir com as metas da equipe.

2.1.2 Propriedades do proxy

  • Função Esclareça a posição funcional do agente na equipe e determine os tipos de tarefas que ele está mais apto a realizar. Por exemplo, um agente na função de pesquisador se destaca na coleta e análise de informações, enquanto um agente na função de escritor se concentra na criação de conteúdo.
  • Meta O processo de tomada de decisão que orienta um agente é uma meta individual que o agente se esforça para atingir. Por exemplo, a meta de um agente analista de dados pode ser extrair insights acionáveis para apoiar decisões comerciais.
  • História de fundo Informações contextuais: Melhore a dinâmica da interação e da colaboração fornecendo informações contextuais detalhadas sobre a função e os objetivos do agente. No caso de um analista de dados, por exemplo, a história de fundo poderia ser "Você é um analista de dados em uma grande empresa. Você é responsável por analisar dados e fornecer insights para a empresa. Atualmente, você está trabalhando em um projeto para analisar o desempenho de nossas campanhas de marketing."
  • LLM (opcional) Modelo de idioma: Indica o modelo de idioma para a execução do agente. Se não for especificado, o padrão é executar o agente a partir do modelo de idioma OPENAI_MODEL_NAME Obtenha o nome do modelo na variável de ambiente, caso contrário, o padrão é "gpt-4". Os desenvolvedores podem escolher o modelo de linguagem apropriado para atender aos requisitos de processamento de diferentes tarefas.
  • Ferramentas (opcional) Conjunto de recursos ou conjuntos de recursos disponíveis para um agente, geralmente instâncias de classes personalizadas compatíveis com o ambiente de execução, com uma lista vazia de valores padrão. Essas ferramentas podem ampliar os recursos de um agente para permitir que ele execute operações como pesquisa na Web, análise de dados e assim por diante.
  • LLM para função de chamada (opcional) Modelo de linguagem: Especifica o modelo de linguagem que lida com essa chamada de ferramenta de agente, substitui a chamada de função de equipe LLM se for passada, o padrão é None. Ao configurar essa propriedade de forma flexível, o desenvolvedor pode controlar com mais precisão o comportamento de invocação da ferramenta do agente.
  • Número máximo de iterações (opcional) Número máximo de iterações que o agente pode executar antes de ser forçado a dar a melhor resposta; o valor padrão é 25. A definição adequada desse parâmetro ajuda a controlar a profundidade e a eficiência da execução da tarefa.
  • Número máximo de solicitações (opcional) Número máximo de solicitações por minuto que o proxy pode executar, usado para evitar a limitação da taxa; o valor padrão é None. O desenvolvedor pode fazer configurações de acordo com a situação real para garantir a operação estável do sistema.
  • Tempo máximo de execução (opcional) Duração máxima de tempo que o agente pode executar uma tarefa; o valor padrão é Noneindica que não há limite máximo de tempo de execução. Esse atributo pode ser usado para controlar o período de execução de uma tarefa para evitar que ela ocupe recursos por muito tempo.
  • Modo detalhado (opcional) : Defina-o como True O registrador interno configurável fornece registros de execução detalhados para depuração e monitoramento; o valor padrão é False. Durante o desenvolvimento e a otimização, a ativação do modo detalhado ajuda a localizar problemas rapidamente.
  • Permissão para delegar (opcional) Agentes podem delegar tarefas ou problemas uns aos outros, garantindo que as tarefas sejam tratadas pelo agente mais adequado, com um valor padrão de True. Esse recurso promove a colaboração flexível dentro da equipe e melhora a precisão e a eficiência do processamento de tarefas.
  • Retorno de chamada da etapa (opcional) Funções chamadas após cada etapa do agente, que podem ser usadas para registrar operações ou executar outras operações, substituirão as funções da equipe step_callback. Os desenvolvedores podem implementar monitoramento personalizado e lógica de processamento usando essa função de retorno de chamada.
  • Cache (opcional) Cache de uso de ferramentas: indica se o proxy usa o cache de uso de ferramentas, com um valor padrão de True. O mecanismo de cache ajuda a aumentar a eficiência da execução da tarefa e a reduzir os cálculos duplicados.

2.1.3 Criação de agentes

Os agentes podem interagir uns com os outros usando os mecanismos de delegação e comunicação incorporados do CrewAI. Isso permite o gerenciamento dinâmico de tarefas e a solução de problemas dentro das equipes.

Para criar um proxy, é comum inicializá-lo com as propriedades necessárias Agent instância da classe. A seguir, um exemplo de um conceito com todos os atributos:

from crewai import Agent
agent = Agent(
role="数据分析师",
goal="提取可操作的见解",
backstory="""您是一家大公司的数据分析师。
您负责分析数据并为业务提供见解。
您目前正在进行一个项目,分析我们营销活动的表现。""",
tools=[my_tool1, my_tool2],  # 可选,默认为空列表
llm=my_llm,  # 可选
function_calling_llm=my_llm,  # 可选
max_iter=15,  # 可选
max_rpm=None,  # 可选
verbose=True,  # 可选
allow_delegation=True,  # 可选
step_callback=my_intermediate_step_callback,  # 可选
cache=True  # 可选
)

2.2 Tarefas

2.2.1 Definição de tarefas e colaboração

Na estrutura do CrewAI, uma tarefa é um trabalho específico que um agente precisa concluir, contendo vários detalhes necessários para a execução, como uma descrição clara, o agente responsável pela execução e as ferramentas necessárias. As tarefas podem ser colaborativas, permitindo que vários agentes trabalhem juntos por meio do gerenciamento de atributos e da orquestração de processos para aumentar a eficiência do trabalho em equipe.

2.2.2 Atributos das tarefas

  • Descrição Declaração clara e concisa do conteúdo da tarefa para que o agente saiba exatamente o que precisa ser feito. Por exemplo, "Encontre e resuma as notícias mais recentes e relevantes sobre IA".
  • Agente Agentes: os agentes responsáveis pela execução da tarefa podem ser especificados diretamente ou atribuídos pelos processos da tripulação com base em funções, disponibilidade e outros fatores. Isso garante que as tarefas encontrem o executor certo.
  • Resultado esperado Descrição da tarefa: Uma descrição detalhada da tarefa depois de concluída, para que o agente tenha clareza sobre as metas e os resultados desejados da tarefa. Por exemplo, "Um resumo em forma de lista com marcadores das 5 notícias mais importantes sobre IA".
  • Ferramentas (opcional) Funções ou recursos usados pelos agentes para executar tarefas podem melhorar o desempenho da tarefa e a interação do agente. Ao escolher as ferramentas certas, os agentes podem concluir as tarefas com mais eficiência.
  • Execução assíncrona (opcional) Tarefas: As tarefas serão executadas de forma assíncrona quando definidas, permitindo que outras tarefas continuem avançando sem esperar pela conclusão, para tarefas que demoram muito ou têm pouco impacto na execução de tarefas subsequentes.
  • Contexto (opcional) Especificar as tarefas cujo resultado deve ser usado como contexto para essa tarefa, esclarecer as dependências entre as tarefas e permitir o fornecimento e a utilização eficazes do resultado da tarefa.
  • Configuração (opcional) Detalhes adicionais de configuração do agente usado para executar a tarefa oferecem a flexibilidade necessária para personalizar ainda mais a execução da tarefa.
  • Saída JSON (opcional) Para gerar objetos JSON, é necessária a API OpenAI e somente um formato de saída pode ser definido. Essa propriedade facilita a interação e a integração de dados com outros sistemas.
  • Saída Pydantic (opcional) Para gerar objetos do modelo Pydantic, a API OpenAI também é necessária, e somente um formato de saída pode ser definido. Os desenvolvedores podem escolher o formato de saída apropriado de acordo com suas necessidades reais.
  • Arquivo de saída (opcional) Salva a saída da tarefa em um arquivo, se comparada com o valor de 输出 JSON talvez 输出 Pydantic Usados em conjunto, você pode especificar como a saída é salva. Isso facilita a persistência dos dados e a análise posterior.
  • Callback (opcional) Função chamável do Python: Uma função chamável do Python que é executada após a conclusão de uma tarefa e pode ser usada para acionar ações ou notificações com base nos resultados da tarefa, como o envio de um e-mail.
  • Entrada manual (opcional) Indicação: Indica se a tarefa requer feedback manual eventual, útil para tarefas que exigem supervisão manual para garantir a precisão e a confiabilidade dos resultados da tarefa.

2.2.3 Uso de ferramentas para criar tarefas

Depois de entender as propriedades básicas de uma tarefa, vamos explorar mais a fundo como criar uma tarefa usando a ferramenta. Veja abaixo um exemplo:

import os
os.environ["OPENAI_API_KEY"] = "Your Key"
os.environ["SERPER_API_KEY"] = "Your Key"  # serper.dev API key
from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool
research_agent = Agent(
role="研究员",
goal="查找并总结最新的人工智能新闻",
backstory="""您是一家大公司的研究员。
您负责分析数据并为业务提供见解。""",
verbose=True
)
search_tool = SerperDevTool()
task = Task(
description="查找并总结最新的人工智能新闻",
expected_output="对前 5 条最重要的人工智能新闻进行项目符号列表总结",
agent=research_agent,
tools=[search_tool]
)
crew = Crew(
agents=[research_agent],
tasks=[task],
verbose=2
)
result = crew.kickoff()
print(result)

2.2.4 Criação de tarefas

A criação de uma tarefa envolve a definição de seu escopo, do agente responsável e de quaisquer atributos adicionais para flexibilidade:

from crewai import Task
task = Task(
description="查找并总结有关人工智能的最新和最相关新闻",
agent=sales_agent
)

As atribuições de tarefas podem ser atribuídas diretamente, especificando um 代理Ou deixe 分层 do processo CrewAI é determinado pela função, disponibilidade, etc.

2.2.5 Dependências de tarefas

No CrewAI, a saída de uma tarefa é automaticamente passada para a próxima, o que pode ser útil quando há uma tarefa que depende da saída de outra tarefa, mas não é executada imediatamente após ela. Isso é feito por meio da função 上下文 Conclusão do atributo:

research_ai_task = Task(
description="查找并总结最新的人工智能新闻",
expected_output="对前 5 条最重要的人工智能新闻进行项目符号列表总结",
async_execution=True,
agent=research_agent,
tools=[search_tool]
)
research_ops_task = Task(
description="查找并总结最新的人工智能运营新闻",
expected_output="对前 5 条最重要的人工智能运营新闻进行项目符号列表总结",
async_execution=True,
agent=research_agent,
tools=[search_tool]
)
write_blog_task = Task(
description="撰写一篇关于人工智能重要性及其最新新闻的完整博客文章",
expected_output="4 段长的完整博客文章",
agent=writer_agent,
context=[research_ai_task, research_ops_task]
)

2.2.6 Execução assíncrona

As tarefas são executadas de forma assíncrona, o que significa que o Crew não espera que elas sejam concluídas antes de passar para a próxima tarefa. Isso é útil para tarefas que levam muito tempo para serem concluídas ou que não são essenciais para a execução da próxima tarefa. Você pode usar a função 上下文 for definido em uma tarefa futura, ele deverá aguardar a conclusão da saída da tarefa assíncrona.

list_ideas = Task(
description="探索有关人工智能文章的 5 个有趣想法。",
expected_output="一份包含 5 个文章想法的项目符号列表。",
agent=researcher,
async_execution=True  # 将以异步方式执行
)
list_important_history = Task(
description="研究人工智能的历史,并告诉我 5 个最重要的事件。",
expected_output="包含 5 个重要事件的项目符号列表。",
agent=researcher,
async_execution=True  # 将以异步方式执行
)
write_article = Task(
description="撰写一篇关于人工智能、其历史和有趣想法的文章。",
expected_output="一篇关于人工智能的 4 段文章。",
agent=writer,
context=[list_ideas, list_important_history]  # 将等待两个任务的输出完成
)

2.2.7 Mecanismos de retorno de chamada

Executa uma função de retorno de chamada após a conclusão da tarefa, permitindo que ações ou notificações sejam acionadas com base nos resultados da tarefa.

def callback_function(output: TaskOutput):
# 任务完成后执行某些操作
# 例如:向经理发送电子邮件
print(f"""
任务完成!
任务:{output.description}
输出:{output.raw_output}
""")
research_task = Task(
description="查找并总结最新的人工智能新闻",
expected_output="对前 5 条最重要的人工智能新闻进行项目符号列表总结",
agent=research_agent,
tools=[search_tool],
callback=callback_function
)

2.2.8 Acesso à saída específica da tarefa

Depois que um grupo de Crews for executado, você poderá executá-los usando a função output acessa a saída de uma tarefa específica:

task1 = Task(
description="查找并总结最新的人工智能新闻",
expected_output="对前 5 条最重要的人工智能新闻进行项目符号列表总结",
agent=research_agent,
tools=[search_tool]
)
crew = Crew(
agents=[research_agent],
tasks=[task1, task2, task3],
verbose=2
)
result = crew.kickoff()
print(f"""
任务完成!
任务:{task1.output.description}
输出:{task1.output.raw_output}
""")

2.2.9 Mecanismos de substituição de ferramentas

A especificação de ferramentas em uma tarefa permite o ajuste dinâmico dos recursos do agente, destacando a flexibilidade da CrewAI.

2.2.10 Mecanismos de validação e tratamento de erros

Existem mecanismos de validação para garantir a robustez e a confiabilidade dos atributos da tarefa ao criar e executar tarefas. Essas validações incluem, mas não estão limitadas a:

  • Certifique-se de que apenas um tipo de saída seja definido por tarefa para manter claras as expectativas de saída.
  • Prevenção da distribuição manual id para manter a integridade do sistema de identificador exclusivo.

Essas validações ajudam a manter a consistência e a confiabilidade da execução de tarefas na estrutura da CrewAI.

2.3 Ferramentas

2.3.1 Função e tipos de ferramentas

A ferramenta CrewAI capacita os agentes com uma variedade de recursos, incluindo pesquisa na Web, análise de dados, geração de conteúdo e delegação de tarefas, permitindo que os agentes realizem uma variedade de operações complexas que saltam de simples pesquisas para interações complexas e trabalho em equipe eficaz.

2.3.2 Principais recursos da ferramenta

  • Utilidade Desenvolvido para a tarefa, ele abrange os requisitos funcionais de várias áreas, como pesquisa na Web, análise de dados, geração de conteúdo etc., para atender às necessidades dos agentes que trabalham em diferentes cenários.
  • Integração Capacidade de se integrar perfeitamente aos fluxos de trabalho e trabalhar em conjunto com agentes e tarefas para aprimorar os recursos gerais dos agentes e permitir uma colaboração eficiente.
  • Personalização Ferramentas de configuração: fornece a flexibilidade para que os desenvolvedores desenvolvam ferramentas sob medida para atender a necessidades específicas ou usem ferramentas existentes para personalizar a configuração de acordo com as necessidades reais do agente.
  • Tratamento de erros Mecanismo avançado de tratamento de erros: um mecanismo avançado de tratamento de erros garante que a ferramenta trate as exceções de forma elegante quando elas forem encontradas durante a operação, assegurando o bom funcionamento do sistema.
  • Mecanismo de cache Cache inteligente: apresenta cache inteligente para otimizar o desempenho e reduzir operações redundantes. Os desenvolvedores também podem usar o cache_function oferece um controle mais refinado sobre o mecanismo de cache, melhorando ainda mais a eficiência.

2.3.3 Uso da ferramenta CrewAI

Para aprimorar os recursos do agente com a ferramenta CrewAI, você precisa instalar primeiro o kit de ferramentas adicional:

pip install 'crewai[tools]'

Abaixo está um caso de uso:

import os
from crewai import Agent, Task, Crew
# 导入 CrewAI 工具
from crewai_tools import (
DirectoryReadTool,
FileReadTool,
SerperDevTool,
WebsiteSearchTool
)
# 设置 API 密钥
os.environ["SERPER_API_KEY"] = "Your Key"  # serper.dev API 密钥
os.environ["OPENAI_API_KEY"] = "Your Key"
# 实例化工具
docs_tool = DirectoryReadTool(directory='./blog-posts')
file_tool = FileReadTool()
search_tool = SerperDevTool()
web_rag_tool = WebsiteSearchTool()
# 创建代理
researcher = Agent(
role="市场研究分析师",
goal="提供关于人工智能行业最新市场分析",
backstory="一位对市场趋势敏锐的专家分析师。",
tools=[search_tool, web_rag_tool],
verbose=True
)
writer = Agent(
role="内容撰写人员",
goal="撰写有关人工智能行业的引人入胜的博客文章",
backstory="一位对技术充满激情的熟练撰稿人。",
tools=[docs_tool, file_tool],
verbose=True
)
# 定义任务
research = Task(
description="研究人工智能行业的最新趋势并提供摘要。",
expected_output="关于人工智能行业前三个热门发展的摘要,并对其重要性提供独特视角。",
agent=researcher
)
write = Task(
description="根据研究分析师的摘要撰写一篇引人入胜的博客文章。从目录中最新的博客文章中汲取灵感。",
expected_output="一篇以 markdown 格式排版的四段博客文章,内容引人入胜、信息丰富且易懂,避免使用复杂术语。",
agent=writer,
output_file='blog-posts/new_post.md'  # 最终的博客文章将保存在此处
)
# 组建团队
crew = Crew(
agents=[researcher, writer],
tasks=[research, write],
verbose=2
)
# 执行任务
crew.kickoff()

2.3.4 Criação de suas próprias ferramentas

O kit de ferramentas precisa ser instalado primeiro:

pip install 'crewai[tools]'
  • subclassificação BaseTool : por herança BaseTool os desenvolvedores podem criar ferramentas personalizadas. Você precisa definir o nome e a descrição da ferramenta e implementar a classe _run para definir a lógica funcional específica da ferramenta. Exemplo:
from crewai_tools import BaseTool
class MyCustomTool(BaseTool):
name: str = "我的工具名称"
description: str = "清晰描述此工具用于什么,您的代理将需要这些信息来使用它。"
def _run(self, argument: str) -> str:
# 实现在这里
return "自定义工具的结果"
  • Utilizar tool decorador : Uso tool Os decoradores permitem a criação mais limpa de ferramentas personalizadas. Basta definir a função, adicionar a tag @tool e fornecer apenas o nome e a descrição da ferramenta. Exemplo:
from crewai_tools import tool
@tool("我的工具名称")
def my_tool(question: str) -> str:
"""清晰描述此工具用于什么,您的代理将需要这些信息来使用它。"""
# 函数逻辑在这里
return "您的自定义工具的结果"
  • Mecanismos de cache personalizados A ferramenta tem a opção de realizar cache_function para ajustar o comportamento do cache. A determinação de quando armazenar em cache os resultados com base em condições específicas oferece controle refinado sobre a lógica de cache. Exemplo:
from crewai_tools import tool
@tool
def multiplication_tool(first_number: int, second_number: int) -> str:
"""当您需要将两个数字相乘时有用。"""
return first_number * second_number
def cache_func(args, result):
# 在这种情况下,仅在结果是 2 的倍数时才缓存结果
cache = result % 2 == 0
return cache
multiplication_tool.cache_function = cache_func

2.3.5 Uso da ferramenta LangChain

O CrewAI se integra perfeitamente ao kit de ferramentas da LangChain, permitindo que os desenvolvedores aproveitem as ferramentas internas fornecidas pela LangChain, como GoogleSerperAPIWrapper etc., ampliam os recursos do agente integrando-o ao sistema CrewAI por meio de uma configuração simples. Exemplo:

from crewai import Agent
from langchain.agents import Tool
from langchain.utilities import GoogleSerperAPIWrapper
# 设置 API 密钥
os.environ["SERPER_API_KEY"] = "Your Key"
search = GoogleSerperAPIWrapper()
# 创建并将搜索工具分配给代理
serper_tool = Tool(
name="中级答案",
func=search.run,
description="用于基于搜索的查询的工具"
)
agent = Agent(
role="研究分析师",
goal="提供最新的市场分析",
backstory="一位对市场趋势敏锐的专家分析师。",
tools=[serper_tool]
)

2.4 Processo

2.4.1 Realização do processo

  • Sequencial Tarefas: As tarefas são executadas sequencialmente em uma ordem predefinida, com o resultado de uma tarefa servindo como contexto para a próxima, garantindo a execução ordenada e coerente da tarefa.
  • Hierárquico Organize tarefas em níveis de gerenciamento especificando o modelo de linguagem de gerenciamento (manager_llm) para habilitar o processo. O agente gerente é responsável por supervisionar a execução da tarefa, incluindo o planejamento, a delegação e a validação de tarefas, que são atribuídas com base nos recursos do agente, e não pré-atribuídas.
  • Processo de consenso (planejado) Gerenciamento de tarefas: visa permitir a tomada de decisões colaborativa entre agentes na execução de tarefas e introduzir uma abordagem democrática ao gerenciamento de tarefas, ainda não implementada na base de código, mas que reflete a busca da CrewAI por desenvolvimento e inovação contínuos.

2.4.2 A função do processo no trabalho em equipe

Os processos permitem que os agentes individuais funcionem como um todo coeso, simplificando os esforços de colaboração para atingir objetivos comuns de forma eficiente e coordenada. Por meio de um projeto de processo sólido, as equipes são mais capazes de lidar com tarefas complexas e aumentar a produtividade geral.

2.4.3 Atribuição de processos ao gerente

Ao criar um Manager, o desenvolvedor pode especificar o tipo de processo para definir a política de execução. Para processos hierárquicos, você deve definir para o agente gerente o tipo de processo manager_llm. Exemplo:

from crewai import Crew, Process
from langchain_openai import ChatOpenAI
# 顺序流程
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.sequential
)
# 分级流程,确保提供 manager_llm
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4")
)

2.4.4 Características adicionais da tarefa

  • Execução assíncrona (Execução assíncrona) Execução de tarefas: permite que as tarefas sejam executadas de forma assíncrona, possibilitando o processamento paralelo e melhorando a produtividade geral da equipe. Os desenvolvedores podem escolher com flexibilidade métodos de execução síncronos ou assíncronos de acordo com as características da tarefa.
  • Revisão de insumos humanos (HIR) Revisão manual opcional dos resultados da tarefa para garantir a qualidade e a precisão antes de finalizar os resultados da tarefa, introduzindo uma camada adicional de supervisão para garantir a confiabilidade da execução da tarefa.
  • Personalização de saída A tarefa suporta uma variedade de formatos de saída, como JSON (output_json), o modelo Pydantic (output_pydantic) e saída de arquivo (output_file) para atender a diferentes necessidades e facilitar o processamento e a utilização dos dados.

2,5 Equipes

2.5.1 Atributos da equipe

  • Tarefas Lista de tarefas atribuídas à equipe que especifica o que a equipe precisa realizar.
  • Agentes Agente: Uma lista de agentes pertencentes à equipe, definindo a composição dos membros da equipe, cada um com suas funções e capacidades exclusivas.
  • Processo (opcional) Processo hierárquico: O tipo de processo que a equipe segue, como um processo sequencial ou hierárquico, determina a ordem e a maneira pela qual as tarefas são executadas.
  • Nível de detalhe (opcional) Nível de detalhe do registro em log durante a execução, facilitando para os desenvolvedores a obtenção de informações suficientes para depuração e monitoramento.
  • Manager LLM (opcional, necessário para o processo escalonado) Modelo de linguagem usado por agentes gerentes em um processo hierárquico para gerenciar o processo de execução de tarefas.
  • Chamada de função LLM (opcional) Se for repassado, a equipe usará esse LLM para fazer chamadas de recursos para a ferramenta para todos os agentes, que podem ser configurados de forma flexível pelo desenvolvedor, conforme necessário.
  • Configuração (opcional) Definições de configuração opcionais para as equipes Json talvez Dict[str, Any] O formato é fornecido para personalizar ainda mais o comportamento da equipe.
  • RPM máximo (opcional) Número máximo de solicitações que podem ser executadas por minuto durante a execução da equipe para evitar limitação de taxa; pode substituir as solicitações de agentes individuais max_rpm Configuração.
  • Idioma (opcional) Idioma: O idioma usado pela equipe, que é o inglês por padrão, pode ser ajustado de acordo com as necessidades reais.
  • Arquivos de idiomas (opcional) Caminhos de arquivo de idioma para equipes para facilitar o suporte a vários idiomas.
  • Memória (opcional) Memória executiva: Usada para armazenar memórias executivas (memórias físicas, de curto e longo prazo) para aumentar a capacidade de execução e aprendizado da equipe.
  • Cache (opcional) Cache: especifique se deve ou não usar o cache para armazenar os resultados da execução da ferramenta para melhorar a eficiência do processo.
  • Embedder (opcional) Configuração do incorporador: A configuração do incorporador usada pela equipe, principalmente para funções na memória, afeta a forma como os dados são incorporados e recuperados.
  • Saída total (opcional) Resultado final: Decida se a equipe retorna um resultado completo contendo todos os resultados da tarefa ou apenas o resultado final, para satisfazer diferentes necessidades de aquisição de resultados.
  • Retorno de chamada da etapa (opcional) Função chamada após cada etapa de cada agente para registrar operações ou executar outras operações que não substituem as específicas do agente step_callback.
  • Retornos de chamada de tarefa (opcional) Função de monitoramento: Uma função chamada após a conclusão de cada tarefa para monitorar ou executar outras ações após a tarefa.
  • Equipe compartilhada (opcional) Se as informações completas da equipe e a implementação são compartilhadas com a equipe do CrewAI para aprimorar a biblioteca e permitir o treinamento de modelos.
  • Arquivo de registro de saída (opcional) Se deve ou não criar um arquivo contendo a saída e a execução da equipe completa, é possível especificar o caminho e o nome do arquivo.

2.5.2 Exemplo de criação de uma equipe

Abaixo está um exemplo de uma equipe sendo montada, mostrando como agentes com funções e ferramentas complementares podem ser reunidos, tarefas atribuídas e processos selecionados:

from crewai import Crew, Agent, Task, Process
from langchain_community.tools import DuckDuckGoSearchRun
# 定义具有特定角色和工具的代理
researcher = Agent(
role="高级研究分析师",
goal="发现创新的人工智能技术",
tools=[DuckDuckGoSearchRun()]
)
writer = Agent(
role="内容撰稿人",
goal="撰写有关人工智能发现的引人入胜的文章",
verbose=True
)
# 为代理创建任务
research_task = Task(
description="识别突破性人工智能技术",
agent=researcher
)
write_article_task = Task(
description="撰写关于最新人工智能技术的文章",
agent=writer
)
# 使用顺序流程组装团队
my_crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_article_task],
process=Process.sequential,
full_output=True,
verbose=True,
)

2.5.3 Processo de execução da equipe

  • Sequencial Tarefas: As tarefas são executadas sequencialmente e o trabalho flui linearmente, o que é simples e intuitivo, e é adequado para cenários em que há uma sequência clara entre as tarefas.
  • Hierárquico O Agente Gerente coordena a equipe, delega tarefas e valida os resultados antes de prosseguir. Esse processo exige manager_llmEle é adequado para o gerenciamento e a atribuição de tarefas complexas, garantindo a execução eficiente de tarefas e o controle de qualidade.
  • Equipe de lançamento : Uso kickoff() inicia um fluxo de trabalho da equipe, começa a executar a tarefa de acordo com o processo definido e obtém os resultados da execução da tarefa. Exemplo:
# 启动团队的任务执行
result = my_crew.kickoff()
print(result)

2.6 Memória

2.6.1 Componentes do sistema de memória

  • Memória de curto prazo (Short-term Memory) Armazenamento temporário de interações e resultados recentes: o armazenamento temporário de interações e resultados recentes permite que o agente recupere e use rapidamente as informações que estão intimamente relacionadas ao contexto atual, mantendo assim a coerência em um diálogo ou em uma sequência de tarefas e tomando decisões e respostas mais relevantes do ponto de vista contextual.
  • Memória de longo prazo (Long-term Memory) É um repositório de conhecimento que retém percepções e aprendizados valiosos de desempenhos anteriores. Com o passar do tempo, os agentes podem aprender com essa experiência e, gradualmente, construir e aprimorar seu sistema de conhecimento, o que, por sua vez, melhora suas capacidades futuras de tomada de decisão e solução de problemas para lidar melhor com cenários de tarefas complexas e variáveis.
  • Memória da entidade Informações sobre entidades: concentra-se na captura e na organização de informações sobre vários tipos de entidades encontradas no decorrer da execução da tarefa, abrangendo pessoas, lugares, conceitos e assim por diante. Isso ajuda o agente a compreender profundamente as conexões intrínsecas entre informações complexas, processar e integrar o conhecimento relevante de forma mais eficiente por meio do mapeamento preciso das relações entre entidades e fornecer uma perspectiva mais abrangente e aprofundada para a solução de problemas.
  • Memória de contexto O que é um agente: trabalha para manter as informações contextuais durante as interações, garantindo que o agente seja capaz de responder de forma consistente com coerência e relevância em uma série de tarefas ou diálogos sucessivos. Mesmo durante longas interações, o contexto e a intenção da tarefa podem ser compreendidos com precisão, evitando desconexões de informações ou mal-entendidos e, portanto, fornecendo resultados mais precisos e razoáveis.

2.6.2 Como os sistemas de memória capacitam os agentes

  • Aumento da conscientização contextual A sinergia da memória de curto prazo e da memória contextual permite que o agente mantenha uma compreensão firme do contexto durante a evolução de um diálogo ou de uma tarefa. Seja a correlação de informações em um diálogo de várias rodadas ou a continuação lógica em uma sequência de tarefas, o agente pode gerar respostas mais coerentes, consistentes e contextuais com base nas informações contextuais armazenadas, o que aumenta muito a fluência e a lógica da experiência de interação.
  • Criação de experiência e aceleração do aprendizado Memória de longo prazo: A memória de longo prazo oferece uma plataforma para o crescimento e a evolução dos agentes. Ao armazenar e revisar ações e resultados passados, os agentes podem extrair lições deles, descobrir padrões e normas e, em seguida, otimizar continuamente suas estratégias de tomada de decisão e métodos de solução de problemas. Esse processo de acumulação de experiência permite que o agente tome decisões mais inteligentes e eficientes quando confrontado com problemas semelhantes, melhorando significativamente a eficiência e a qualidade do trabalho.
  • Compreensão da entidade e otimização do processamento de informações Memória de entidade: A memória de entidade dá ao agente a capacidade de identificar e lembrar entidades importantes, permitindo que ele se concentre rapidamente nos pontos principais e esclareça as inter-relações entre as informações ao processar informações complexas. Isso não só ajuda o agente a entender os requisitos da tarefa com mais precisão, mas também permite que ele filtre rapidamente o conteúdo valioso e melhore a velocidade e a precisão do processamento de informações diante de grandes quantidades de informações, de modo a lidar com tarefas complexas e cenários de problemas diversificados com mais eficiência.

2.6.3 Implementação da memória em equipes

Ao configurar uma equipe, os desenvolvedores têm a flexibilidade de ativar e personalizar cada componente de memória com base nos objetivos da equipe e na natureza da tarefa. Por padrão, o sistema de memória é desativado, definindo a configuração da equipe na seção memory=TrueSe você tiver uma equipe de desenvolvimento, poderá ativar o recurso de memórias para fornecer à sua equipe recursos avançados de memória. O Memory usa o OpenAI Embeddings por padrão, mas os desenvolvedores também podem ajustar o embedder defina-o como outro modelo, como Google AI, Azure OpenAI, GPT4ALL, Vertex AI ou Coesão etc. para atender às necessidades de diferentes cenários. Exemplo:

from crewai import Crew, Agent, Task, Process
# 使用具有记忆功能的团队,采用默认的 OpenAI Embeddings
my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True
)
# 使用具有记忆功能的团队,切换为 Google AI 嵌入
my_crew = Crew(
agents=[...],
tasks=[...],
process=Process.sequential,
memory=True,
verbose=True,
embedder={
"provider": "google",
"config": {
"model": "models/embedding-001",
"task_type": "retrieval_document",
"title": "Embeddings for Embedchain"
}
}
)

2.6.4 Benefícios do uso do sistema de memória da CrewAI

  • Aprendizagem adaptativa e otimização contínua Com o passar do tempo e a execução contínua de tarefas, a equipe é capaz de se adaptar gradualmente a novas informações e requisitos de tarefas e melhorar continuamente os métodos e as estratégias para lidar com as tarefas. O sistema de memória permite que os agentes aprendam com experiências passadas e ajustem automaticamente seus padrões de comportamento para que se sintam mais confortáveis ao enfrentar novas situações, e a eficiência geral da equipe continuará a melhorar com a experiência.
  • Aprimoramento da experiência personalizada A função de memória permite que o agente registre e identifique as preferências do usuário, o histórico de interações e outras informações, de modo a oferecer aos usuários serviços e experiências mais personalizados. Seja em termos de recomendação de conteúdo, resposta a perguntas ou interação, o agente é capaz de responder com precisão de acordo com as características personalizadas do usuário, atender às necessidades específicas do usuário e aumentar a aderência e a satisfação entre o usuário e o sistema.
  • Aprimoramento das habilidades de resolução de problemas Os repositórios de memória rica fornecem aos agentes uma sólida base de conhecimento, permitindo que eles aproveitem totalmente o aprendizado anterior e as informações contextuais ao resolver problemas. Ao recuperar e aproveitar rapidamente a experiência relevante, os agentes podem analisar os problemas de forma mais abrangente, identificar possíveis soluções e tomar decisões mais inteligentes e precisas, melhorando efetivamente sua capacidade de resolver problemas complexos e fornecendo um forte suporte para operações de equipe bem-sucedidas.

3. etapas práticas para a criação de um sistema multiagente baseado na CrewAI

3.1 Preparativos

3.1.1 Configuração do ambiente

Certifique-se de que seu sistema atenda aos requisitos de instalação do CrewAI e das dependências relacionadas. Dependendo do sistema operacional, talvez seja necessário instalar pacotes específicos ou configurar variáveis de ambiente. Por exemplo, em alguns sistemas, talvez seja necessário instalar o ambiente Python, as bibliotecas relacionadas e configurar as chaves de API.

3.1.2 Instalação do CrewAI e do Ollama (opcional)

Siga as instruções da documentação oficial para instalar o CrewAI e o Ollama (se você precisar usar o Ollama). Talvez você precise estar ciente da compatibilidade de versões, dependências e outros problemas durante o processo de instalação para garantir que a instalação seja concluída com êxito. Por exemplo, use o comando pip para instalar o CrewAI e seu kit de ferramentas:pip install crewai[tools]e de acordo com Ollama O guia de instalação do

3.1.3 Configuração do modelo

No arquivo de configuração do CrewAI, defina o Modelo de Linguagem (LLM) para o modelo desejado, como Llama3, etc. Essa etapa garante que o agente possa usar o modelo de linguagem apropriado para raciocinar e tomar decisões ao executar tarefas.

3.2 Criação de agentes

3.2.1 Definição das funções e metas do agente

Defina as funções e as metas de cada agente com base nos requisitos da tarefa. Por exemplo, para criar um agente responsável pela coleta de informações, sua função pode ser definida como "coletor de informações", com o objetivo de "coletar informações relevantes em um domínio específico"; ou, para criar um agente com foco na análise de dados, a função é "analista de dados", com o objetivo de "conduzir uma análise aprofundada dos dados coletados e extrair insights valiosos".

3.2.2 Configuração das propriedades do agente

De acordo com a função do agente e as características da tarefa, é razoável configurar os atributos do agente, como escolher o modelo de linguagem apropriado, adicionar as ferramentas necessárias, definir o número máximo de iterações e a estratégia de armazenamento em cache. Tomando o agente coletor de informações como exemplo, ele pode ser configurado com uma ferramenta de pesquisa na Web, definir um número máximo maior de solicitações para aumentar a eficiência da aquisição de informações e ativar o armazenamento em cache para reduzir as pesquisas repetitivas; já o agente analista de dados pode precisar se conectar a uma ferramenta de banco de dados específica e ajustar atributos como o número máximo de iterações de acordo com a complexidade da tarefa de análise.

3.2.3 Desenvolver a história do agente (opcional, mas recomendado)

Escrever uma história detalhada para o agente, embora seja uma etapa opcional, pode fornecer um contexto mais rico para os comportamentos e decisões do agente, aprimorar os recursos antropomórficos do agente e ajudar a melhorar a interatividade e a interpretabilidade do sistema. Por exemplo, para escrever uma história de fundo para um coletor de informações: "Você é um coletor de informações profissional que é bom em examinar rapidamente a enorme quantidade de informações na Web para encontrar conteúdo valioso. Você está envolvido na coleta de dados há muito tempo, conhece bem uma variedade de fontes de informação e é hábil em várias técnicas e ferramentas de pesquisa. Esta tarefa é ajudar a equipe a obter as informações mais recentes sobre [área específica], fornecendo um forte suporte para análises e tomadas de decisão subsequentes."

3.3 Definição de tarefas

3.3.1 Esclarecimento das descrições de tarefas

Forneça uma descrição clara e precisa de cada tarefa para garantir que os agentes entendam claramente os requisitos específicos da tarefa. Por exemplo, "Analisar o feedback do usuário sobre [nome do produto] nas mídias sociais no último mês e extrair os principais comentários e sugestões", "Prever tendências em [nome do setor] nos próximos três meses com base em dados de mercado", etc.

3.3.2 Atribuição de agentes de tarefas

Atribuir tarefas razoavelmente aos agentes apropriados com base em suas funções e capacidades. Você pode especificar diretamente o agente responsável pela execução da tarefa ou pode usar o mecanismo de processo do CrewAI para permitir que o sistema atribua tarefas automaticamente com base na disponibilidade, na experiência e em outros fatores do agente. Por exemplo, atribua tarefas de coleta de informações a agentes coletores de informações e tarefas de análise de dados a agentes analistas de dados.

3.3.3 Configuração das propriedades da tarefa

De acordo com os requisitos da tarefa, defina outros atributos da tarefa, como o formato de saída esperado (JSON, modelo ou arquivo Pydantic etc.), se a execução assíncrona é necessária, se a revisão manual de entrada é necessária e defina o contexto da tarefa. Por exemplo, para tarefas com altos requisitos de tempo real, elas podem ser definidas como execução assíncrona para melhorar a velocidade geral de resposta do sistema; para tarefas importantes de tomada de decisão, a revisão manual de entrada pode ser ativada para garantir a precisão dos resultados.

3.4 Ferramentas de integração

3.4.1 Escolhendo a ferramenta certa

Escolha a ferramenta certa para a tarefa na rica biblioteca de ferramentas fornecidas pela CrewAI, como as de pesquisa na Web WebsiteSearchTool, para leitura de arquivos FileReadToolA seguir, alguns exemplos das análises de dados usadas na CSVSearchTool etc. Ferramentas personalizadas também podem ser criadas conforme necessário para atender aos requisitos exclusivos de tarefas específicas.

3.4.2 Integração de ferramentas com agentes e tarefas

Atribua as ferramentas selecionadas aos agentes apropriados para que eles possam invocá-las ao executar as tarefas. Ao definir uma tarefa, especifique explicitamente as ferramentas a serem usadas para a tarefa a fim de garantir que as ferramentas sejam totalmente integradas à tarefa e trabalhem juntas. Por exemplo, em uma tarefa de coleta de informações, equipe o agente coletor de informações com a ferramenta WebsiteSearchTool responder cantando DirectorySearchToolpara permitir que ele acesse informações de páginas da Web e catálogos locais.

3.5 Formação da equipe

3.5.1 Agentes combinados

Combine agentes com diferentes funções e competências para formar uma equipe colaborativa. Certifique-se de que os membros da equipe tenham funções complementares e sejam capazes de trabalhar juntos em tarefas complexas. Por exemplo, uma equipe pode incluir agentes com diferentes funções, como coletores de informações, analistas de dados, criadores de conteúdo etc., cada um com sua própria experiência, trabalhando juntos para atingir as metas do projeto.

3.5.2 Definição dos processos da equipe

Dependendo das características e dos requisitos das tarefas, escolha um processo de equipe adequado, como um processo sequencial ou um processo hierárquico. Os processos sequenciais são adequados para cenários em que há uma ordem clara de precedência entre as tarefas, e os agentes executam as tarefas sequencialmente em uma ordem predeterminada; os processos hierárquicos são adequados para tarefas complexas que exigem gerenciamento e coordenação, e as tarefas são atribuídas e supervisionadas por agentes gerenciais.

3.5.3 Configuração das propriedades da equipe

De acordo com as necessidades da equipe, defina vários atributos da equipe, como o nível de detalhes de registro, a taxa máxima de solicitações, as configurações de idioma, a configuração da memória e do cache e a possibilidade de compartilhar informações da equipe. Uma configuração razoável dos atributos da equipe pode otimizar a eficiência operacional da equipe e atender às necessidades de diferentes cenários.

3.6 Execução de tarefas e monitoramento

3.6.1 Iniciar a tarefa da equipe

fazer uso de kickoff() inicia o processo de execução de tarefas da equipe, e o sistema fará com que o agente comece a trabalhar de acordo com o processo definido e a atribuição de tarefas. Durante o processo de execução da tarefa, o progresso da tarefa pode ser monitorado em tempo real por meio de registro e saída do console.

3.6.2 Monitoramento da execução da tarefa

Usando a função de registro e as ferramentas de monitoramento relacionadas fornecidas pelo CrewAI, prestamos muita atenção ao status de execução das tarefas, às etapas de operação dos agentes, aos resultados de saída e a outras informações. Por meio do monitoramento detalhado, os problemas que podem ocorrer durante a execução da tarefa, como erro de execução do agente, tempo limite da tarefa, consumo excessivo de recursos, etc., podem ser descobertos a tempo.

3.6.3 Processamento dos resultados da execução da tarefa

Após a conclusão da execução da tarefa, a saída da tarefa é capturada e processada. Com base no formato de saída esperado da tarefa, os resultados são analisados e analisados para extrair informações valiosas para a tomada de decisões subsequentes ou para o processamento posterior. Ao mesmo tempo, com base nos resultados da execução da tarefa e nos problemas encontrados durante o monitoramento, faça os ajustes e as otimizações necessárias na configuração do agente, da tarefa ou da equipe para melhorar o desempenho e a precisão do sistema.

4. estudo de caso: aplicação da CrewAI em um projeto real

4.1 Sistema inteligente de atendimento ao cliente

4.1.1 Arquitetura do sistema e funções do agente

No sistema inteligente de atendimento ao cliente, vários agentes são construídos para simular o fluxo de trabalho do atendimento humano ao cliente. Eles incluem o agente de recebimento de perguntas do usuário, o agente de classificação de perguntas, o agente de consulta de informações, o agente de geração de respostas e o agente de revisão de respostas. O agente de recebimento de problemas do usuário é responsável por receber o problema de consulta do usuário e passá-lo ao agente de classificação de problemas; o agente de classificação de problemas atribui o problema ao agente de consulta de informações correspondente, de acordo com o tipo de problema; o agente de consulta de informações usa várias ferramentas (como a ferramenta de consulta à base de conhecimento, a ferramenta de pesquisa de banco de dados etc.) para encontrar as informações relevantes; o agente de geração de respostas gera a resposta preliminar de acordo com as informações consultadas; o agente de auditoria de respostas audita e otimiza a resposta gerada para garantir que a resposta não seja um problema. O agente de geração de respostas gera respostas preliminares com base nas informações consultadas; o agente de revisão de respostas analisa e otimiza as respostas geradas para garantir a precisão e a qualidade das respostas.

4.1.2 Fluxo de tarefas e colaboração

Quando um usuário faz uma pergunta, o agente de recebimento de perguntas do usuário registra a pergunta e a passa para o agente de classificação de perguntas. O agente de classificação de problemas classifica o problema em diferentes tipos, como problemas comuns, problemas técnicos, problemas pós-venda etc., por meio de análise de palavras-chave, compreensão semântica e outras técnicas. Em seguida, com base no resultado da classificação, o problema é atribuído ao agente de consulta de informações correspondente. O agente de consulta de informações procura informações relevantes na base de conhecimento, no banco de dados ou em recursos externos de acordo com o tipo de problema. Por exemplo, para problemas comuns, as respostas são recuperadas diretamente da base de conhecimento; para problemas técnicos, pode ser necessário consultar documentos técnicos ou interagir com sistemas técnicos especializados. Com base nas informações consultadas, o agente de geração de respostas usa técnicas de geração de linguagem natural para transformar as informações em respostas claras e compreensíveis. Por fim, o agente de revisão de respostas realiza a verificação gramatical, a revisão lógica e a avaliação da polidez da resposta, além de otimização e modificação adicionais, se necessário. Durante todo o processo, os agentes trabalham juntos de forma eficiente por meio do mecanismo de comunicação e dos recursos de agendamento de tarefas do CrewAI para fornecer aos usuários respostas rápidas e precisas.

4.2 Assistente de criação de conteúdo inteligente

4.2.1 Funções do agente e divisão do trabalho

O assistente de criação de conteúdo inteligente consiste em vários agentes trabalhando juntos, incluindo o agente de planejamento de tema, o agente de coleta de material, o agente de geração de conteúdo e o agente de embelezamento de conteúdo. O agente de planejamento de temas é responsável por determinar o tema de criação com base nas necessidades do usuário ou nas tendências do mercado; o agente de coleta de materiais coleta materiais relevantes, como artigos, imagens, dados etc., usando ferramentas de pesquisa na Web e ferramentas de consulta a bancos de dados; o agente de geração de conteúdo cria o primeiro rascunho com base no tema e nos materiais usando algoritmos de geração de linguagem natural; e o agente de retoque de conteúdo realiza a otimização gramatical, o ajuste de estilo e a combinação lógica do primeiro rascunho, de modo a atender melhor aos requisitos e às expectativas dos usuários. O agente de retoque de conteúdo otimizará a gramática, o estilo e a lógica do primeiro rascunho para torná-lo mais alinhado com os requisitos e as expectativas dos usuários.

4.2.2 Processos criativos e mecanismos sinérgicos

Quando um usuário faz uma solicitação de criação (por exemplo, para escrever um artigo sobre [um tópico específico]), o agente de planejamento de tópicos primeiro analisa e planeja o tópico e determina a estrutura geral e o conteúdo principal do artigo. Em seguida, o agente de coleta de material procura artigos relevantes, relatórios de pesquisa, casos e outros materiais na Internet de acordo com o tema, organiza-os e os passa para o agente de geração de conteúdo. O agente de geração de conteúdo gera o primeiro rascunho do artigo com base na estrutura do tópico e nos materiais coletados, usando modelos de aprendizagem profunda. Por exemplo, ele pode gerar conteúdo de parágrafo e organizar a estrutura do artigo com base nas ideias e nos dados do material. Por fim, o agente de retoque de conteúdo realiza um retoque abrangente do primeiro rascunho, verificando se há erros gramaticais, otimizando a seleção de vocabulário e ajustando a estrutura da frase para tornar o artigo mais fluente, suave e atraente. Durante todo o processo de criação, os agentes compartilham informações e feedback em tempo real por meio dos mecanismos de comunicação e colaboração da CrewAI para garantir o bom andamento do trabalho de criação.

4.3 Sistemas inteligentes de tomada de decisões de investimento

4.3.1 Composição do sistema e responsabilidades do agente

O sistema inteligente de tomada de decisões de investimento consiste em um agente de coleta de dados de mercado, um agente de análise de dados, um agente de avaliação de risco, um agente de recomendação de estratégia de investimento e um agente de otimização de portfólio. O agente de coleta de dados de mercado é responsável por coletar dados de mercado em tempo real de várias fontes de dados financeiros (por exemplo, bolsas de valores, sites de notícias financeiras, bancos de dados financeiros etc.), incluindo preços de ações, volume de negócios, indicadores macroeconômicos etc.; o agente de análise de dados limpa, organiza e analisa os dados coletados para extrair informações valiosas, como tendências de mercado, dinâmica do setor, condições financeiras da empresa etc.; o agente de avaliação de risco avalia o nível de risco do alvo de investimento usando um modelo de avaliação de risco com base nos resultados da análise de dados; o agente de recomendação de estratégia de investimento avalia o nível de risco do alvo de investimento usando um modelo de avaliação de risco; e o agente de recomendação de estratégia de investimento avalia o nível de risco do alvo de investimento com base nos resultados da análise de dados. Com base nos resultados da análise de dados, o agente de avaliação de risco aplica o modelo de avaliação de risco para avaliar o nível de risco das metas de investimento; o agente de recomendação de estratégia de investimento recomenda estratégias de investimento adequadas, como investimento de longo prazo, especulação de curto prazo, investimento diversificado etc., com base nas condições de mercado e nas preferências de risco dos investidores; o agente de otimização de portfólio otimiza o portfólio de investimento com base nas estratégias de investimento recomendadas e determina o índice ideal de alocação de ativos.

4.3.2 Processos de tomada de decisão e modos de colaboração

Os agentes de coleta de dados de mercado coletam continuamente dados de mercado atualizados e os repassam aos agentes de análise de dados. O agente de análise de dados realiza uma análise aprofundada dos dados, como a previsão de movimentos de preços de ações por meio de métodos de análise técnica e a avaliação do valor intrínseco das empresas por meio de análise fundamental. O agente de avaliação de risco avalia o nível de risco de diferentes metas de investimento com base nos resultados da análise de dados, combinados com dados históricos e modelos de risco. O agente de recomendação de estratégia de investimento recomenda estratégias de investimento personalizadas para os investidores, levando em conta as tendências do mercado, os resultados da avaliação de risco e o apetite de risco dos investidores. Por exemplo, para investidores com maior apetite de risco, ele pode recomendar uma proporção maior de investimento em ações; para investidores conservadores, ele pode recomendar um portfólio mais robusto de investimentos em títulos e fundos. Por fim, o agente de otimização de portfólio aplica um algoritmo de otimização matemática com base nas estratégias de investimento recomendadas para determinar a alocação ideal do portfólio para maximizar os retornos e minimizar os riscos. Durante todo o processo de tomada de decisão, cada agente trabalha em conjunto para obter um fluxo de dados eficiente e uma tomada de decisão científica por meio do mecanismo de comunicação e orquestração de processos da CrewAI.


Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Guia para a criação de sistemas multiagentes com base na CrewAI
pt_BRPortuguês do Brasil