查看: 2|回复: 0

Agent智能体/MCP/Skills

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-25
发表于 2026-3-9 15:34:00 | 显示全部楼层 |阅读模式

一、Agent

  Agent是一种能够感知环境、进行决策和执行动作的智能体,是感知->规划->行动的循环,能够以最低限度的配置应对多样化的应用场景;AI Agent = LLM(大脑) + Memory(记忆) + Planning(规划) + Tools(工具)

  1. 系统构成

    A. 感知(Perception):感知是Agent与外部世界互动的桥梁,负责收集和解析环境数据;

    B. 规划(Planning):发挥LLM的逻辑推理能力,通过思维链能力实现任务拆解;

    C. 记忆(Memory):负责存储信息,为模型提供上下文信息的组件,作用于Prompt,有利于实现持续学习和处理长期任务,侧重于以用户信息为中心,分感觉记忆、短期记忆和长期记忆,记忆机制分为基于会话、基于列表、基于图谱与基于用户档案等类型;记忆模块的实现依赖存储结构,如短期记忆用键值对内存数据库,长期记忆用向量数据库或知识图谱;

    D. 工具(Tools):调用各种工具如API接口来执行复杂的任务,是模型连接外部世界的桥梁;

    E. 行动(Action):基于规划和记忆来执行具体的行动;

  2. 关键特征

    A. 自主性:无需人工干预即可运行,独立做出决定;

    B. 反应式与主动式行为:既能应对环境变化,又能主动采取措施以确保目标实现;

    C. 适应性:通过处理新信息和新经验来学习和发展;

    D. 目标导向:努力实现预定目标或优化成果;

    E. 互动性:与其他代理或人类进行交流和合作;

    F. 持久性:持续运行,监控并应对动态环境。

  3. 方式

    A. Function Call:通过将用户指令映射到预定义函数或工具,LLM先识别用户意图,再决定调用哪个函数并提取所需参数,更适合简单、明确的任务,强调直接调用工具的高效性;

    B. ReAct:即推理+动作,LLM首先思考当前状态与目标,然后选择并调用合适的工具,工具的输出结果又将引导LLM进行下一步的思考与行动,如此循环直到解决问题,更适合复杂、多步骤的任务,强调推理过程的灵活性和可解释性。

  4. 架构模式

    A. ReAct:将推理(Reasoning)和行动(Action)紧密结合,形成Thought(分析当前状态,思考下一步行动)—>Action(执行具体操作如工具获取结果)—>Observation(观察行动结果,更新状态)的循环,具有单线程执行、上下文限制和错误积累(一步出错可能导致后续全错)的局限性;

    B. Multi-Agent:靠多智能体分工协作处理复杂任务,效率高但架构较复杂,遵循职责分离(每个Agent复制特定领域)、协作机制(由Agent之间通过消息传递协作)、路由决策(由Router或Orchestrator分配任务)的三原则,注意Sub-Agent是特指某个Agent运行下的子Agent,支持递归嵌套

    C. CodeAct:用代码执行任务,准确性高但对环境要求严;

    D. AgenticRAG:比传统RAG更主动,擅长知识检索与更新;

    E. Self-Reflection:通过自我修正提升输出可靠性,不过耗时略增。

 

二、MCP

  MCP(Model Context Protocol)是由Anthropic于2024年底提出的一种通用模型上下文协议,旨在让大语言模型能够安全、高效、结构化地访问外部工具和服务,用来解决工具碎片化、上下文污染及安全性风险的LLM三大痛点。

  1. MCP Server类型

    A. stdio类型:采用stdio传输协议,

    B. HTTP类型:采用SSE或Streamable HTTP传输协议,适用于本地或远程执行环境。

    2. MCP架构

    MCP基于JSON-RPC 2.0协议,采用客户端-主机-服务器架构

      Host:用户直接交互的应用(Claude Desktop、Cursor、Windsurf);

      Client:Host 应用中管理与特定 Server 通信的组件,模型侧的协议解析器;

      Server:连接外部系统的桥梁(数据库、API、本地文件等),实现MCP协议的服务端。

  3. MCP三个操作

      Resources(资源)—— 应用控制,读取数据

    Tools(工具)—— 模型控制,执行动作  

    Prompts(提示)—— 用户控制,复杂指令

  4. mcp.json

{
    "mcpServers": {
         "服务器名称": {
              // 配置具体的参数
         }
    }
}

    A. 服务器名称:唯一标识符,用于在配置中区分不同的MCP服务器;

    B. type:传输方式,定义客户端与MCP服务器之间的通信协议,可自动推断

        stdio:标准输入输出流通信,适用于本地环境;

        sse:Server-Sent Events,适用于单向数据流;

        http:标准HTTP请求响应,适用于本地或远程执行环境;

        websocket:双向实时通信。

    C. command:要执行的命令或可执行文件路径,当type=stdio时必须,如npx;

      npx:下载到临时缓存位置,可能会被自动清理,常用于一次性执行,默认目录C:\Users\你的用户名\AppData\Local\npm-cache。

    D. args:传递给命令的参数列表;

    E. env:环境变量参数;

    F. disabled:是否禁用此MCP服务器;

    G. url:远程MCP服务器的完整URL地址;

    H. headers:发送到远程服务器的HTTP头部信息;

    I. timeout:工具调用的超时时间,默认30000,单位毫秒;

  5. Playwright MCP

    Playwright是一个浏览器自动化测试框架,验证网页的交互逻辑,提升开发效率。

    5.1 优点

      A. 现代化的架构:采用DevTools Protocol,绕开了WebDriver的性能瓶颈,提供了更快、更可靠的浏览器控制能力;

      B. 与生俱来的稳定性:强大的自动等待机制,是Palywright解决业界普遍存在的测试“脆弱性”问题的关键所在;

      C. 强大的原生工具链:集成的代码生成器、调试器和追踪查看器,极大地提升了测试脚本的编写与调试效率;

      D. 全面的测试能力:原生支持网络请求拦截、移动端设备模拟等复杂场景,无需依赖复杂的第三方库,即可满足现代Web应用的全方位测试要求;

      5.2 参数

      headless:false-浏览器会弹出窗口、true-代表无头模式运行

    5.3 工具列表

工具
作用
start_codegen_session
开始一个新的代码生成会话,用于记录 Playwright 操作。
end_codegen_session
结束代码生成会话并生成测试文件。
get_codegen_session
获取关于代码生成会话的信息。
clear_codegen_session
清除代码生成会话而不生成测试文件。
playwright_navigate
导航到一个 URL。
playwright_screenshot
对当前页面或特定元素进行截图。
playwright_click
点击页面上的元素。
playwright_iframe_click
点击 iframe 中的元素。
playwright_iframe_fill
在页面中的 iframe 里填充某个元素.
playwright_fill
填写输入字段。
playwright_select
使用 Select 标签选择页面上的元素。
playwright_hover
悬停在页面的元素上。
playwright_upload_file
将文件上传到页面中的 input[type="file"] 元素.
playwright_evaluate
在浏览器控制台执行 JavaScript。
playwright_console_logs
检索浏览器的控制台日志(带过滤选项)。
playwright_resize
使用自定义尺寸或设备预设来调整浏览器视口大小。支持 143 种以上的设备预设,包括 iPhone、iPad、各类 Android 设备以及桌面浏览器,并提供正确的 User-Agent 和触控(Touch)模拟。
playwright_close
关闭浏览器并释放所有资源。
playwright_get
执行 HTTP GET 请求。
playwright_post
执行 HTTP POST 请求。
playwright_put
执行 HTTP PUT 请求。
playwright_patch
执行 HTTP PATCH 请求。
playwright_delete
执行 HTTP DELETE 请求。
playwright_expect_response
请求 Playwright 开始等待某个 HTTP 响应。该工具只会启动等待操作,但不会阻塞或等待该操作完成。
playwright_assert_response
等待并校验之前已发起的 HTTP 响应等待操作。
playwright_custom_user_agent
为浏览器设置自定义 User Agent。
playwright_get_visible_text
获取当前页面的可见文本内容。
playwright_get_visible_html
获取当前页面的 HTML 内容。默认情况下,输出结果会移除所有 <script> 标签,除非显式将 removeScripts 设置为 false。
playwright_go_back
在浏览器历史中后退。
playwright_go_forward
在浏览器历史中前进。
playwright_drag
将元素拖动到目标位置。
playwright_press_key
按下键盘键。
playwright_save_as_pdf
将当前页面保存为 PDF 文件。
playwright_click_and_switch_tab
点击一个链接并切换到新打开的标签页。 

    5.5 mcp.json

{
  "mcpServers": {
    "Playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/playwright-mcp-server"
      ],
      "env": {}
    }
  }
}

    5.6 安装

      A. 安装playwright:npm install playwright;

      B. 只安装chrome浏览器:npx playwright install chromium。

  6. 其它MCP

    A. Chrome DevTool MCP:Chrome DevTool是一个页面深度调试与性能分析工具。

    A. MySQL MCP

    B. Draw-io画图:https://github.com/DayuanJiang/next-ai-draw-io;

 

三、Skill

  Skill是一份清晰、严谨、可执行的指令文档,用于明确告诉大模型在什么条件下,按照哪些步骤,产出什么结果。

  1. Skill的结构

    A. 一个技能中必须包含一个SKILL.md文件,还可以根据实际需求添加其他文件,如可参考的示例examples、可参考的脚本scripts、可参考的模板templates等,例如:

     B. SKILL.md文件格式

  2. Skill的特点与使用场景

    A. 特点:具有结构化、大模型可动态按需加载的优点;

    B. 使用场景:用于保证输出结果的一致性与规范性、自动化重复性工作流、总结与共享专业能力。

  3. webapp-testing:网页应用测试

 



来源:https://www.cnblogs.com/ruhuanxingyun/p/19690417
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部