分类目录归档:AgentAI

AAR (行动后复盘) 和Agentic AI 技术的有效结合

一、After Action Review(AAR)概述

After Action Review(AAR,即行动后点评/复盘/审查)是一种系统性、结构化的反思和学习过程,旨在通过对已完成的活动、项目或任务进行回顾和分析,识别成功经验和失败教训,从而提升未来的表现和决策质量。AAR最初由美国军方开发,用于战后总结和战术改进,后来逐渐被广泛应用于商业、政府、非营利组织等多个领域。

二、AAR的核心原则

  1. 客观性:AAR强调以事实为依据,避免主观臆断和指责。
  2. 参与性:鼓励所有参与者的积极参与,确保多角度的反馈。
  3. 及时性:AAR应在活动结束后尽快进行,以保持信息的鲜活和准确。
  4. 实用性:AAR的目的是为了改进未来行动,因此应注重实用性和可操作性。

三、AAR的基本步骤

  1. 准备阶段
  • 确定主题:明确AAR的对象和范围,如某个具体项目、活动或事件。
  • 收集数据:收集与主题相关的所有数据,包括文档、记录、反馈等。
  1. 实施阶段
  • 召开会议:组织相关参与者进行AAR会议。
  • 回顾目标:明确活动或项目的初始目标和预期结果。
  • 事实回顾:客观描述实际发生的情况,避免主观评价。
  • 分析差异:对比预期和实际结果,找出差异和原因。
  • 总结经验教训:提炼出成功经验和失败教训。
  1. 后续行动
  • 制定改进措施:根据总结的经验教训,制定具体的改进措施。
  • 分享和记录:将AAR的结果分享给相关人员,并记录在案。
  • 跟踪落实:对改进措施的实施情况进行跟踪和评估。

四、AAR的应用场景

  1. 项目管理:在项目结束后进行AAR,总结项目管理和执行的得失。
  2. 会议评估:对重要会议进行AAR,提高会议效率和效果。
  3. 危机处理:在危机事件后进行AAR,提升应急响应能力。
  4. 培训评估:对培训活动进行AAR,优化培训内容和方式。

五、Agentic AI技术概述

Agentic AI是指具备自主决策和执行能力的智能系统,能够在特定环境下独立完成任务。其核心特点是能够理解和解释环境信息,制定并执行行动计划,并根据反馈进行自我调整。

六、AAR与Agentic AI技术的结合应用

  1. 自动化数据收集与分析

应用方向:利用Agentic AI技术自动收集和分析AAR所需的数据,提高数据处理的效率和准确性。

案例举例
制造企业在项目结束后进行AAR,采用Agentic AI系统自动收集项目过程中的生产数据、质量记录和员工反馈。系统通过自然语言处理(NLP)技术分析文本数据,识别出关键问题和潜在风险,为AAR会议提供详尽的数据支持。

  1. 智能化经验教训总结

应用方向:借助Agentic AI的机器学习和深度学习算法,自动总结经验教训,提供个性化的改进建议。

案例举例
科技公司利用Agentic AI系统对多个项目的AAR报告进行深度分析,系统通过模式识别和聚类分析,提炼出共性问题和高频教训,并基于项目团队的特点和需求,生成个性化的改进建议报告。

  1. 实时反馈与动态调整

应用方向:在AAR过程中,利用Agentic AI技术提供实时反馈,并根据实际情况动态调整改进措施。

案例举例
零售企业在实施新的营销策略后进行AAR,Agentic AI系统实时监测市场反馈和销售数据,发现某些区域的营销效果不佳。系统立即分析原因,并提出针对性的调整建议,帮助企业迅速优化策略,提升营销效果。

  1. 知识管理与共享

应用方向:利用Agentic AI技术构建知识管理系统,将AAR的经验教训转化为组织知识,实现知识的存储、检索和共享。

案例举例
咨询公司采用Agentic AI技术构建知识图谱,将历次AAR的经验教训进行结构化存储。员工可以通过智能搜索功能快速找到相关经验,系统还能根据员工的查询历史和项目需求,主动推荐相关知识点,提升知识利用效率。

  1. 模拟与预测

应用方向:利用Agentic AI的模拟和预测能力,基于AAR的数据和经验,预测未来可能出现的问题和挑战,提前制定应对策略。

案例举例
金融公司在进行风险项目AAR后,利用Agentic AI系统对市场趋势和风险因素进行模拟预测。系统基于历史数据和AAR总结的经验,预测出未来可能出现的风险点,并生成风险预警报告,帮助公司提前制定应对措施。

七、结合应用的挑战与对策

  1. 数据质量与完整性

挑战:AAR所需的数据可能存在质量不高、不完整等问题,影响Agentic AI的分析效果。

对策:建立完善的数据收集和管理机制,确保数据的准确性和完整性。同时,采用数据清洗和预处理技术,提升数据质量。

  1. 算法模型的适应性

挑战:Agentic AI的算法模型可能无法完全适应不同领域和场景的AAR需求。

对策:开发通用性和可定制性强的算法模型,根据具体需求进行参数调整和优化。同时,持续更新和迭代模型,提升其适应性和准确性。

  1. 人机协作与信任

挑战:员工可能对Agentic AI系统的决策和建议缺乏信任,影响AAR的效果。

对策:加强人机协作培训,提升员工对AI技术的理解和信任。同时,建立透明和可解释的AI决策机制,增强系统的可信度。

八、未来展望

随着人工智能技术的不断发展和应用场景的不断拓展,AAR与Agentic AI技术的结合将更加紧密和深入。未来,AAR将更加智能化、自动化和个性化,为组织提供更强大的决策支持和持续改进能力。

九、总结

After Action Review(AAR)作为一种有效的经验总结和学习方法,在组织发展中具有重要意义。结合Agentic AI技术,AAR的应用将更加高效和智能,为组织提供更精准的决策支持和持续改进动力。通过不断探索和实践,AAR与Agentic AI技术的结合将助力组织在复杂多变的环境中保持竞争优势,实现可持续发展。

参考

https://en.wikipedia.org/wiki/After-action_review

如何在阿里云部署Dify

购买阿里ECS服务

Dify推荐配置

  • CPU >= 2 Core

  • RAM >= 4 GiB

经测试后,推荐配置 2核(vCPU) 4 GiB 3MB带宽即可 ,响应速度能满足日常使用要求

操作系统推荐 CentOS或Ubuntu

配置 Docker

参考官方文档

https://help.aliyun.com/zh/ecs/use-cases/install-and-use-docker-on-a-linux-ecs-instance#8dca4cfa3dn0e

以Centos系统为例,操作命令如下

ShellScript

## 更新您的包管理工具。
sudo yum -y update

## 添加阿里云源到您的实例中,这个源包含Docker软件包,方便您使用命令来安装和更新Docker。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

## 安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件。
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

## 启动Docker并设置Docker守护进程在系统启动时自动启动,这样可以确保每次系统启动时,Docker服务也会自动启动。

sudo systemctl start docker
sudo systemctl enable docker

## 通过查看Docker版本命令,验证Docker是否安装成功。

sudo docker -v

配置Docker镜像源

创建并编辑/etc/docker/daemon.json文件

ShellScript
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "max-concurrent-downloads": 2,
  "max-concurrent-uploads": 2,
  "max-download-attempts": 15,
  "registry-mirrors": [
    "https://docker.m.daocloud.io/",
    "https://huecker.io/",
    "https://dockerhub.timeweb.cloud",
    "https://noohub.ru/",
    "https://dockerproxy.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn",
    "https://xx4bwyg2.mirror.aliyuncs.com",
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

安装Git环境

ShellScript
## 安装以来
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
yum install gcc-c++ perl-ExtUtils-MakeMaker

## 安装并验证git
yum install git 
git --version

安装Dify

克隆 Dify 代码仓库,克隆 Dify 源代码至本地环境。

git clone https://github.com/langgenius/dify.git

启动 Dify

  1. 进入 Dify 源代码的 Docker 目录

    cd dify/docker
  2. 复制环境配置文件

    cp .env.example .env
  3. 启动 Docker 容器

    docker compose up -d

运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

ShellScript
[+] Running 11/11
  Network docker_ssrf_proxy_network  Created                                                                 0.1s 
  Network docker_default             Created                                                                 0.0s 
  Container docker-redis-1           Started                                                                 2.4s 
  Container docker-ssrf_proxy-1      Started                                                                 2.8s 
  Container docker-sandbox-1         Started                                                                 2.7s 
  Container docker-web-1             Started                                                                 2.7s 
  Container docker-weaviate-1        Started                                                                 2.4s 
  Container docker-db-1              Started                                                                 2.7s 
  Container docker-api-1             Started                                                                 6.5s 
  Container docker-worker-1          Started                                                                 6.4s 
  Container docker-nginx-1           Started                                                                 7.1s

最后检查是否所有容器都正常运行:

ShellScript
docker compose ps

在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox

ShellScript
NAME                  IMAGE                              COMMAND                   SERVICE      CREATED              STATUS                        PORTS
docker-api-1          langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   api          About a minute ago   Up About a minute             5001/tcp
docker-db-1           postgres:15-alpine                 "docker-entrypoint.s…"   db           About a minute ago   Up About a minute (healthy)   5432/tcp
docker-nginx-1        nginx:latest                       "sh -c 'cp /docker-e…"   nginx        About a minute ago   Up About a minute             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1        redis:6-alpine                     "docker-entrypoint.s…"   redis        About a minute ago   Up About a minute (healthy)   6379/tcp
docker-sandbox-1      langgenius/dify-sandbox:0.2.1      "/main"                   sandbox      About a minute ago   Up About a minute             
docker-ssrf_proxy-1   ubuntu/squid:latest                "sh -c 'cp /docker-e…"   ssrf_proxy   About a minute ago   Up About a minute             3128/tcp
docker-weaviate-1     semitechnologies/weaviate:1.19.0   "/bin/weaviate --hos…"   weaviate     About a minute ago   Up About a minute             
docker-web-1          langgenius/dify-web:0.6.13         "/bin/sh ./entrypoin…"   web          About a minute ago   Up About a minute             3000/tcp
docker-worker-1       langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   worker       About a minute ago   Up About a minute             5001/tcp

通过这些步骤,你应该可以成功在阿里云服务器安装 Dify。

后续,可以通过配置域名关联该服务器外网IP,通过域名访问此Dify服务。

AutoGen项目解读

基本信息

出品公司: 微软
官网: https://microsoft.github.io/autogen/
开源网址: https://github.com/microsoft/autogen
官方示例:https://microsoft.github.io/autogen/0.2/docs/Examples
讨论组: https://github.com/microsoft/autogen/discussions
https://aka.ms/autogen-discord
支持语言: Python ,C# (截止20241217)

项目介绍

An Open-Source Programming Framework for Agentic AI(代理型AI开源编程框架)

  • 提供了多代理会话框架作为一个高级抽象。有了这个框架,人们可以方便地构建LLM工作流。
  • 提供了一系列工作系统,涵盖了各种领域和广泛的复杂应用。
  • 支持增强LLM推理API,可用于提高推理性能并降低成本。

AutoGen是一个开源编程框架,用于构建AI代理并促进多个代理之间的合作以解决任务。AutoGen旨在提供一个易于使用和灵活的框架,以加速对AI智能体的开发和研究,如PyTorch之于深度学习。它提供了一些功能,例如可以与其他代理进行交谈的代理,LLM和工具支持,自主和有人干预工作流程以及多代理对话模式等。


注释: 可对话代理、代理定制化、多代理间对话、灵活的对话模式

核心能力

  • AutoGen使得基于多智能体对话构建下一代LLM应用程序变得轻而易举。它简化了复杂LLM工作流程的协调、自动化和优化。它最大化了LLM模型的性能,并克服了其弱点。

  • 支持多种对话模式以应对复杂的工作流程。通过可定制和可交谈的智能体,开发者可以利用AutoGen构建各种与对话自主性、多智能体和智能体对话拓扑相关的对话模式。

  • 提供了一系列不同复杂性的工作系统。这些系统涵盖了来自各种领域和复杂性范围的广泛应用。这展示了AutoGen如何轻松应对多样的对话模式。

  • 异步消息传递:代理通过异步消息进行通信,支持事件驱动和请求/响应交互模式。

  • 全面的类型支持:在所有接口中使用类型,并在构建时强制进行类型检查,注重质量和一致性。

  • 可扩展和分布式:设计复杂的、可跨组织边界操作的分布式代理网络。

  • 模块化和可扩展:通过可插拔组件自定义您的系统:自定义代理、工具、内存和模型。跨语言支持:在不同编程语言之间互操作代理。目前支持 Python 和 .NET,更多语言即将推出。

  • 可观察性与调试:内置功能和工具用于跟踪、追踪和调试代理交互与工作流,包括对行业标准可观察性的支持,如使用 OpenTelemetry。

路线图

  • AutoGen 0.2 – 这是当前稳定版本的 AutoGen。将继续接受对该版本的错误修复和小幅改进。
  • AutoGen 0.4 – AutoGen的全面重写,旨在创建一个更强大、可扩展、易于使用的跨语言库来构建人工智能代理。该版本仍处于预览阶段(很大概念近期-24年底-可能发版)。将重点关注接口的稳定性、文档、教程、示例以及您可以使用的一系列内置代理。以下是一些主要的计划项目:
    • 更多编程语言(例如,TypeScript)
    • 更多内置代理和多代理工作流程
    • 分布式代理的部署
    • AutoGen Studio的重新实现/迁移
    • 与其他代理框架和数据源的集成
    • 高级RAG技术和记忆服务

安装测试

Python
## 安装依赖包

pip install 'autogen-agentchat==0.4.0.dev11' 'autogen-ext[openai]==0.4.0.dev11'

## 通过openai获取天气信息的代理

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient

# Define a tool
async def get_weather(city: str) -> str:
    return f"The weather in {city} is 73 degrees and Sunny."

async def main() -> None:
    # Define an agent
    weather_agent = AssistantAgent(
        name="weather_agent",
        model_client=OpenAIChatCompletionClient(
            model="gpt-4o-2024-08-06",
            # api_key="YOUR_API_KEY",
        ),
        tools=[get_weather],
    )

    # Define termination condition
    termination = TextMentionTermination("TERMINATE")

    # Define a team
    agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)

    # Run the team and stream messages to the console
    stream = agent_team.run_stream(task="What is the weather in New York?")
    await Console(stream)

asyncio.run(main())



示例(截止0.2.40版本)

https://microsoft.github.io/autogen/0.2/docs/notebooks

自动化多智能体聊天

AutoGen提供由大型语言模型(LLM)、工具或人类驱动的可对话智能体,这些智能体可通过自动化聊天共同执行任务。该框架允许通过多智能体对话来使用工具以及人类参与其中。

请在此处[https://microsoft.github.io/autogen/0.2/docs/Use-Cases/agent_chat]查看关于此功能的文档。

笔记本示例链接:

代码生成、执行与调试

  • 借助代码生成、执行和调试自动解决任务 – 代码
  • 利用检索增强智能体进行自动化代码生成与问答 – 代码
  • 基于Qdrant的检索增强智能体进行自动化代码生成与问答 – 代码

多智能体协作(超过3个智能体)

  • 通过群聊自动解决任务(含3个群成员智能体和1个管理者智能体) – 代码
  • 通过群聊自动进行数据可视化(含3个群成员智能体和1个管理者智能体) – 代码
  • 通过群聊自动解决复杂任务(含6个群成员智能体和1个管理者智能体) – 代码
  • 借助编码与规划智能体自动解决任务 – 代码
  • 依据图中指定的转移路径自动解决任务 – 代码
  • 通过“思维社会智能体”(SocietyOfMindAgent)将群聊作为内心独白来运行 – 代码
  • 使用自定义发言者选择功能运行群聊 – 代码

顺序多智能体聊天

  • 由单个智能体发起的一系列聊天中解决多个任务 – 代码
  • 由单个智能体发起的一系列聊天中异步解决多个任务 – 代码
  • 由不同智能体发起的一系列聊天中解决多个任务 – 代码

嵌套聊天

  • 利用嵌套聊天解决复杂任务 – 代码
  • 利用一系列嵌套聊天解决复杂任务 – 代码
  • 借助编码智能体和安全防护智能体通过嵌套聊天解决供应链优化问题的OptiGuide – 代码
  • 结合嵌套聊天与工具使用的对话式国际象棋 – 代码

应用

  • 从新数据中自动持续学习 – 代码
  • OptiGuide – 用于供应链优化的编码、工具使用、安全防护及问答功能
  • AutoAnny – 使用AutoGen构建的Discord机器人

工具使用

  • 网络搜索:解决需要网络信息的任务 – 代码
  • 将提供的工具用作函数 – 代码
  • 通过同步和异步函数调用使用工具 – 代码
  • 将Langchain提供的工具作为函数来解决任务 – 代码
  • 检索增强生成(RAG):含5个群成员智能体和1个管理者智能体的群聊 – 代码
  • 函数起始:使AutoGen智能体能够在对话期间更新/删除函数 – 代码
  • 结合Whisper的智能体聊天 – 代码
  • 通过引导生成受限响应 – 代码
  • 借助智能体浏览网页 – 代码
  • SQL:使用Spider文本到SQL基准将自然语言文本转换为SQL查询 – 代码
  • 网络抓取:使用Apify进行网络抓取 – 代码
  • 网络爬取:使用Spider API爬取整个域名 – 代码
  • 借助专门设计的函数逐个任务编写软件应用程序代码

人类参与

  • ChatGPT风格的简单示例 查看示例
  • 自动代码生成、执行、调试以及人类反馈代码
  • 结合GPT-4和多个人类用户自动解决任务 – 代码
  • 结合异步人类输入的智能体聊天 – 代码

智能体教学与学习

  • 通过自动化聊天教授智能体新技能并重复利用 – 代码
  • 教授智能体新事实、用户偏好以及编码之外的技能 – 代码
  • 通过GPTAssistantAgent教授OpenAI助手 – 代码
  • 智能体优化器:以智能体方式训练智能体 – 代码

包含OpenAI助手的多智能体聊天

  • AutoGen中与OpenAI助手的“Hello-World”聊天 – 代码
  • 使用函数调用与OpenAI助手聊天 – 代码
  • 结合代码解释器与OpenAI助手聊天 – 代码
  • 结合检索增强与OpenAI助手聊天 – 代码
  • OpenAI助手参与群聊 – 代码
  • 基于GPTAssistantAgent的多智能体工具使用 – 代码

非OpenAI模型

  • 使用非OpenAI模型的对话式国际象棋 – 代码

多模态智能体

  • 结合DALLE和GPT-4V的多模态智能体聊天 – 代码
  • 结合Llava的多模态智能体聊天 – 代码
  • 结合GPT-4V的多模态智能体聊天 – 代码

长文本语境处理

  • 长文本语境处理作为一项能力 – 代码

评估与测评

  • AgentEval:一个用于评估大型语言模型驱动应用程序效用的多智能体系统 – 代码

智能体自动构建

  • 使用智能体构建器(AgentBuilder)自动构建多智能体系统 – 代码
  • 从智能体库自动构建多智能体系统 – 代码

可观测性

  • 使用AgentOps跟踪大型语言模型调用、工具使用、操作以及错误 – 代码

增强推理

实用工具

推理超参数调优

AutoGen提供了一种具有成本效益的超参数优化技术EcoOptiGen,用于对大型语言模型进行调优。研究发现,调优超参数能够显著提升这些模型的效用。

请在此处[/docs/Use-Cases/enhanced_inference]查看关于此功能的文档。

笔记本示例链接: