AI Agent最近两三年异常火热,下面👇是某头部公司的AI Agent开发岗的JD:

岗位职责

1、负责大模型应用开发范式及一站式研发平台的设计、开发及应用,支持公司内部大模型的应用的快速落地

2、负责大模型产品的整体技术解决方案,并支持技术研发和效果优化等工作,推动产品持续增长

3、保障大模型应用系统架构的稳定、高效运行,帮助业务优化性能和改善系统稳定性

职位描述

1、计算机或相关专业本科及以上学历,2年以上工作经验,熟练掌握Python,或至少一门主流开发语言。

2、有Agent平台/应用开发经验者优先,熟悉coze,dify,langflow等开发平台,了解RAG、Agent机制,使用过langchain等开源系统,有prompt工程业务优化经验者优先。

3、有比较敏锐的产品意识和数据分析能力。

4、有优秀的架构设计能力,了解包括检索引擎、kv存储、在线应用框架、批流处理等中间件系统,有承担过千万级以上产品应用架构设计者优先。

从上面的JD可以提取的信息:

  • 开发语言:Python(C++、Golang需求也较多)
  • 框架:dify、langflow等
  • 原理:RAG、Agent工作原理
  • 后端基础组件

AI Agent

AI Agent(也称人工智能代理、智能体)是一种能够感知环境、进行决策和执行动作的智能实体。智能体像人一样,它有记忆、有逻辑分析能力、有任务的拆解能力、问题的拆解能力和最后综合回来统一解决问题的能力。

Agent

智能体的组成:

  • I:输入,也就是上图中的感知Perception,包括文本、图片、视频、音频等
  • O:输出,即上图中的行动Action,包括输出文本及调用工具
  • B:大脑Brain,基于LLM,具有知识、记忆、推理、规划等功能

智能体的形式:

  • 单Agent:单个Agent完成任务
  • 多Agent:多个Agent配合完成任务

RAG

检索增强生成(Retrieval Augmented Generation),简称 RAG。

为什么会有RAG?

  • 解决知识缺失问题:大模型的知识固定在训练的数据上,无法获取最新资讯。
  • 解决快问乱答问题:大模型有幻觉问题,超出范围的答案不靠谱。
  • 解决数据安全问题:企业专有资料,不能丢给通用大模型去训练。

实现路径:

RAG **

  • 将知识向量化:知识通过embedding存储在向量数据库
  • 客户检索:问题embedding,检索向量数据库,生成提示词
  • 投喂LLM:将上面生成的提示词喂给LLM生成最终的答案

MCP

Model Context Protocol(模型上下文协议)是 Anthropic 在推出的用于 LLM 应用和外部数据源(Resources)或工具(Tools)通信的标准协议,遵循 JSON-RPC 2.0 的基础消息格式。

MCP ARCH

MCP遵循CS架构,应用包括client,client负责和server通信。

核心概念:

  • 资源:MCP 服务器希望提供给客户端的任何类型的数据
  • 提示词:MCP 服务器能够定义可重用的提示模板和工作流
  • 工具:使服务器能够向客户端公开可执行功能。通过工具,LLM 可以与外部系统交互,执行计算,并在真实的世界中采取行动。
  • 采样:服务器通过客户端请求 LLM
  • 根:定义了服务器可以操作的边界

详细文档请参考官方文档

A2A

A2A(Agent2Agent)协议是由 Google Cloud 发起的开放协议,旨在促进不同 AI Agent 之间的互操作性。

整体架构类似MCP,遵循CS架构。

核心概念:

  • AgentCard: 描述 Agent 功能的 JSON 文件,通常托管在 /. well-known/agent.json 路径中,使客户端可以轻松发现和理解 Agent。
  • 任务: 一个有状态的实体,代表客户端和远程代理之间的协作过程,以实现特定的结果。任务包含状态、历史和生成的工件。
  • 工件: 由Agent生成的不可变输出,作为任务的最终结果,可以包含多个 Part。
  • 消息: 用于在客户端和代理之间传递非工件内容,如指令、上下文、思维过程、状态更新等。
  • Part: 消息或工件中内容的原子单元,具有特定的内容类型(例如,文本、文件、表单)。

详细文档请参考官方文档