【生成式AI时代下的机器学习(2025)】第九讲:谈谈有关大型语言模型评估的几件事

本文档讨论了大型语言模型的评估,重点关注其推理能力记忆效应。文档展示了不同的基准测试结果,例如DeepSeekOpenAI模型在推理任务上的表现,以及模型回答可能来自“记忆”而非推理的准确性下降情况。此外,还介绍了人工通用智能(ARC-AGI)的抽象推理语料库作为一种评估框架,并探讨了聊天机器人竞技场(Chatbot Arena)及其Elo评分系统,用于衡量和比较不同模型在实际用户互动中的表现,包括情感和风格控制

快捷键大全

类别 列表
操作系统 macOS
Terminal Terminal】 【Tmux&Screen
IDE VSCode】 【Vim
GitHub Copilot GitHub Copilot

常用命令 +--------------------------------------------------------------------------------------------------------------------------+ | 🔥🔥🔥 COMMON COMMANDS (sudo nvim /etc/motd) 📝 | |==========================================================================================================================| | 🏠 wjj.com(http://127.0.0.1:4000/) | mogrify [-resize 50%] [-path jpg_path] -format jpg png_path/*.png | | ⬛️ ssh.cpu[1234] ssh.gpu1 ssh.

MCPHub:MCP 服务器聚合平台(智能路由)

本文档介绍了 MCPHub 平台的核心功能——智能路由。智能路由通过将 MCP 工具的名称和描述转换为高维语义向量,并对用户任务请求进行向量化处理,从而实现语义相似度匹配,有效识别并返回最相关的工具列表。这种方法显著减少了 AI 模型的认知负荷降低了 token 消耗达 70-90%,并提升了工具调用的准确率。文中还提供了 MCPHub 的部署指南,包括 Docker Compose 配置和 PostgreSQL 数据库设置,并展示了如何通过 DeepChat 客户端与智能路由功能进行交互,以获取如 GitHub 议题或当前时间等信息。最后,文档通过序列图和日志展示了客户端、MCPHubMCP 服务器之间的工作流程。

什么是智能路由

智能路由是 MCPHub 的核心功能之一。

技术原理

它将每个 MCP 工具的名称和描述嵌入为高维语义向量。当用户发起自然语言任务请求时,系统会将该请求也转换为向量,通过计算相似度,快速返回最相关的工具列表。

这一过程摒弃了传统的关键词匹配,具备更强的语义理解能力,能够处理自然语言的模糊性和多样性。

核心组件

  • 向量嵌入引擎:支持如 text-embedding-3-smallbge-m3 等主流模型,将文本描述转为语义向量。
  • PostgreSQL + pgvector:使用开源向量数据库方案,支持高效的向量索引和搜索。
  • 两步工作流分离
    • search_tools:负责语义工具发现
    • call_tool:执行实际工具调用逻辑

SmolAgents 概念指南:Agent 介绍

本文档探讨了人工智能代理(AI Agent)的概念,将其定义为LLM(大型语言模型)输出控制工作流程的程序代理能力是一个连续的谱系,取决于LLM对程序流程的控制程度,从简单的输出处理到控制迭代和启动其他代理。文中强调了在需要灵活工作流程时使用代理的优势,特别是多步代理通过循环推理和行动解决复杂任务的能力。此外,文档详细介绍了smolagents框架的必要性,它提供了管理工具调用、记忆和错误处理的抽象层,并提出代码代理是一种更具可组合性、通用性和在LLM训练数据中表现更好的代理实现方式。

🤔 什么是 Agent?

任何使用 AI 的高效系统都需要为大型语言模型(LLM)提供某种与现实世界交互的能力:例如,调用搜索工具以获取外部信息,或对某些程序执行操作以解决任务。换句话说,LLM 应该具有代理能力(agency)。Agent 程序是 LLM 通向外部世界的门户。

AI Agent 是LLM 输出控制工作流程的程序

任何利用 LLM 的系统都会将 LLM 的输出集成到代码中。LLM 的输入对代码工作流程的影响程度就是 LLM 在系统中的代理能力水平。

请注意,根据这个定义,“agent”不是一个离散的、非0即1的定义:相反,“代理能力”在一个连续的谱系上演变,这取决于您赋予 LLM 对工作流程的权力大小。

下表展示了代理能力在不同系统中的变化:

macOS 图像拼接工具(Automator)

本文档介绍了如何利用 macOS 的 Automator 工具创建一个自动化脚本,以实现多张图片的水平或垂直拼接。它通过将 Shell 脚本集成到“快速操作”中,使得用户可以在 Finder 中直接选中图片并进行拼接。整个过程涵盖了从 Automator 设置、Shell 脚本的配置(包括 ImageMagick 依赖和拼接逻辑)到最终的使用方法和效果展示,旨在为 macOS 用户提供一个便捷高效的图像拼接解决方案。

macOS 图像拼接工具使用说明

本工具是一个专为 macOS 设计的自动化脚本,它能帮助您将多张图片水平或垂直拼接成一张图片。

该工具设计为通过 macOS 的“快速操作”或 Automator 工作流程来调用,从而实现便捷的图形化操作。

  • 作为“快速操作”使用:
    • 设置“快速操作”: 您需要将提供的脚本保存为 Automator 工作流程的“快速操作”。
      • 打开 Automator 应用(在“应用程序” -> “实用工具”中)。
      • 选择 “文件”>“新建”
      • 选择 “快速操作” 并点击“选取”。
      • 在左侧的库中,搜索并拖动 “运行 Shell 脚本” 到右侧的工作流程区域。
      • 在“运行 Shell 脚本”模块中,将“传递输入”设置为 “作为自变量”
      • 将本工具的完整代码粘贴到“运行 Shell 脚本”的文本框中。
      • 选择 “文件”>“存储”,为您的快速操作命名,例如“图像拼接”。
    • 使用方法:
      • 打开 Finder,导航到您要拼接的图片所在的文件夹。
      • 选中您希望拼接的所有图片(请确保至少选择两张)。
      • 右键点击选中的图片,或者点击 Finder 窗口顶部的“服务”菜单。
      • 在上下文菜单中,找到并点击您刚才创建的“快速操作”名称,例如 “图像拼接”
      • 一个对话框会弹出,询问您希望“垂直拼接”还是“水平拼接”。选择您的偏好。
      • 工具将自动处理图片,并将拼接后的新图片保存在您选中的第一张图片所在的相同文件夹中。新文件的名称会包含拼接方式和时间戳,例如“垂直拼接_2024-05-20 10.30.00.png”。

GitHub Copilot for VSCode v1.100

本文档介绍了 Copilot 的三种主要模式——询问 (Ask)编辑 (Edit)代理 (Agent),并列举了 Copilot 可访问的各种工具,例如 搜索用法 (#usages)获取网页信息 (#fetch)搜索 Marketplace 扩展 (#extensions)搜索 GitHub 仓库代码 (#githubRepo),以增强模型上下文。还详细描述了 提示文件 (Prompt files)指令文件 (Instructions files) 的目的和使用,并展示了如何通过这些文件管理和定制 AI 模型的行为。

  • 提问:这与之前的“聊天”视图相同。您可以就您的工作区或一般编码问题向任何模型提问。使用 @ 符号可以调用内置的聊天参与者或已安装的扩展。使用 # 符号可以手动附加任何类型的上下文。
  • 代理:启动一个代理编码流程,其中包含一套工具,使其能够自主收集上下文、运行终端命令或执行其他操作来完成任务。代理模式已为所有 VS Code Insiders 用户启用,并且我们正在向更多 VS Code Stable 用户推出。
  • 编辑:在编辑模式下,模型可以对多个文件进行定向编辑。附加 #codebase 可以让它自动查找要编辑的文件。但它不会运行终端命令或自动执行任何其他操作。

LeRobot:通过端到端学习让机器人人工智能更易实现

LeRobot

尖端机器学习,赋能真实世界机器人

🤗 LeRobot 致力于在 PyTorch 中为真实世界的机器人提供模型、数据集和工具。其目标是降低机器人技术的入门门槛,让每个人都能通过共享数据集和预训练模型来做出贡献并从中受益。

🤗 LeRobot 包含已被证明可应用于真实世界的尖端方法,重点关注模仿学习和强化学习:github.com/huggingface/lerobot

🤗 LeRobot 已提供一系列预训练模型、包含人类收集演示的数据集以及模拟环境,让每个人都能轻松上手。在未来几周,该项目计划为市面上最经济实惠且功能强大的机器人添加越来越多的真实世界机器人支持。

🤗 LeRobot 在 HuggingFace 社区页面上托管预训练模型和数据集:huggingface.co/lerobot

MCPHub:MCP 服务器聚合平台

本文档介绍了 MCPHub,一个用于管理和扩展 Model Context Protocol (MCP) 服务器的聚合平台。它通过将多个 MCP 服务器组织成灵活的流式 HTTP (SSE) 端点来简化操作,并支持按需访问单个或分组服务器。MCPHub 提供了包括广泛服务器兼容性、集中式管理控制台、热插拔配置以及基于 JWTbcrypt 的安全认证机制等核心功能,并且支持 Docker 部署以实现快速启动。用户可以通过其直观的 Web UI 监控服务器状态,管理访问权限,并配置 GitHubGitLab 等特定服务。此外,文档还详细说明了各种可流式传输的 HTTP 和 SSE 端点,以及如何在 MCP 客户端(例如 Cline)中配置和使用 MCPHub。

MCPHub 简介

MCPHub 通过将多个 MCP(Model Context Protocol)服务器组织为灵活的流式 HTTP(SSE)端点,简化了管理与扩展工作。系统支持按需访问全部服务器、单个服务器或按场景分组的服务器集合。

🚀 功能亮点

  • 广泛的 MCP 服务器支持:无缝集成任何 MCP 服务器,配置简单。
  • 集中式管理控制台:在一个简洁的 Web UI 中实时监控所有服务器的状态和性能指标。
  • 灵活的协议兼容:完全支持 stdio 和 SSE 两种 MCP 协议。
  • 热插拔式配置:在运行时动态添加、移除或更新服务器配置,无需停机。
  • 基于分组的访问控制:自定义分组并管理服务器访问权限。
  • 安全认证机制:内置用户管理,基于 JWT 和 bcrypt,实现角色权限控制。
  • Docker 就绪:提供容器化镜像,快速部署。

Anthropic: 构建有效的AI智能体

Anthropic 构建有效的AI智能体(总结)

🤯 最近看了Anthropic关于如何构建高效AI智能体的文章,简直是醍醐灌顶!💡 原来最成功的秘诀不是堆砌复杂技术,而是简单可组合的模式!

Anthropic的大佬们和超多团队合作后发现,很多时候我们并不需要“全自动”的智能体,理解不同模式的适用场景超重要!

👇 先搞清楚俩概念:

  • 工作流 (Workflow): 就像搭积木🧱,是预设好的、一步步执行的LLM和工具协调流程。适合任务清晰固定的场景。
  • 智能体 (Agent): 像有个聪明的小脑袋🧠,LLM自己决定怎么走、用什么工具、怎么完成任务。适合需要灵活应变、动态决策的复杂场景。

🌟 什么时候用,什么时候不用?

别一上来就想搞个超级Agent! Anthropic建议从最简单的方案开始:优化单个LLM调用 + 检索/上下文就够了!只有简单方案搞不定时,才考虑更复杂的系统。简单工作流提供稳定可预测性,而智能体提供灵活性,但要权衡成本和速度哦!

⚠️ 框架迷思!

市面上框架一大堆(LangChain, Bedrock Agents...),能帮你快速入门。但Anthropic提醒:它们可能增加抽象层,让调试变难,还可能诱惑你过度设计!💥 划重点: 建议直接用LLM API开始,很多模式几行代码就能实现!用框架也要搞懂底层原理,别被绕晕!

🧱 AI智能体的构建模块:

鲁软慧码提示工程实战手册

鲁软慧码 - 提示工程实战手册

欢迎开启智能编码新纪元!

鲁软慧码旨在成为您编程旅程中的得力伙伴,加速开发、提升代码质量、激发创新灵感。

要充分释放鲁软慧码的潜力,关键在于掌握有效的提示(Prompting)。这份手册将为您揭示编写高效提示的秘诀和实用技巧,并通过丰富的示例,助您快速从入门到精通。

为什么精通提示如此重要?

  • 精准结果: 清晰的提示 = 更符合预期的代码或解决方案。
    • 效率提升: 减少反复沟通和修改的时间,直达目标。
    • 解锁潜能: 探索助手的更多高级功能,应对复杂挑战。

一、编写高效提示的核心原则

掌握以下原则,让您与鲁软慧码的沟通事半功倍:

  1. 🎯 目标明确,意图清晰 (Be Clear & Specific)
  • 要做什么? 直接说明您想实现的功能、解决的问题或获得的信息。避免模糊不清的指令。 * 坏例子: 帮我处理下数据。 * 好例子: 帮我用 Python Pandas 读取名为 'sales_data.csv' 的文件,并计算 'amount' 列的总和。
  1. 🧩 提供充足上下文 (Provide Context)
  • 背景信息: 告知助手您正在使用的编程语言、框架、库、项目目标或特定约束。 * 坏例子: 修复这个 bug。 (未提供代码和错误信息) * 好例子: 我在使用 React 和 Ant Design 开发一个表单。提交时,控制台报 'TypeError: Cannot read properties of undefined (reading 'validateFields')' 错误。这是相关的代码片段:[代码片段]。请分析原因并提供修复建议。

Cline 概览 - Cline 扩展架构和开发指南

Cline 扩展架构和开发指南

项目概述

Cline 是一个 VSCode 扩展,通过核心扩展后端和基于 React 的 webview 前端的组合提供 AI 辅助功能。该扩展使用 TypeScript 构建,遵循模块化架构模式。

架构概述

定义

  • 核心扩展:src 文件夹内的所有内容,按模块化组件组织
  • 核心扩展状态:由 index.ts 中的 Controller 类管理,作为扩展状态的唯一真实来源。它管理多种类型的持久存储(全局状态、工作区状态和密钥),处理状态在核心扩展和 webview 组件之间的分发,并协调多个扩展实例之间的状态。这包括管理 API 配置、任务历史、设置和 MCP 配置。
  • Webview:webview-ui 内的所有内容。所有用户可见的 react 或视图以及用户交互组件
  • Webview 状态:由 ExtensionStateContext.tsx 中的 ExtensionStateContext 管理,通过上下文提供者模式为 React 组件提供对扩展状态的访问。它维护 UI 组件的本地状态,通过消息事件处理实时更新,管理部分消息更新,并提供状态修改方法。上下文包括扩展版本、消息、任务历史、主题、API 配置、MCP 服务器、市场目录和工作区文件路径。它通过 VSCode 的消息传递系统与核心扩展同步,并通过自定义钩子(useExtensionState)提供类型安全的状态访问。

Cline Documentation

Cline 文档目录

欢迎阅读 Cline 文档 - 这是一份全面的指南,帮助您使用和扩展 Cline 的功能。在这里,您可以找到帮助您入门、提升技能和为项目做出贡献的资源。

入门指南

  • 编程新手? 我们为您准备了温和的入门指南:
    • 编程新手入门指南

提升提示工程技能

  • 想要更有效地与 Cline 沟通? 请探索:
    • 提示工程指南
    • Cline 记忆库

探索 Cline 的工具

为 Cline 做贡献

  • 有兴趣做出贡献? 我们欢迎您的参与:
    • 欢迎提交拉取请求
    • 贡献指南

其他资源

我们一直在努力改进这份文档。如果您有建议或发现需要改进的地方,请告诉我们。您的反馈有助于让 Cline 变得更好。

Cline 入门指南 | 新手程序员

欢迎使用 Cline!本指南将帮助你完成设置并开始使用 Cline 构建你的第一个项目。

你需要准备的东西

在开始之前,请确保你具备以下条件:

  • VS Code: 一个免费且功能强大的代码编辑器。
  • 开发工具: 基础的编程软件(Homebrew、Node.js、Git 等)。
    • 在完成这里的设置后,请参考我们的安装基本开发工具指南,通过 Cline 的帮助来完成这些设置
    • Cline 将指导你安装所需的一切
  • Cline 项目文件夹: 一个专门存放所有 Cline 项目的文件夹。
    • macOS:在你的文档文件夹中创建一个名为 "Cline" 的文件夹
      • 路径:/Users/[你的用户名]/Documents/Cline
    • Windows:在你的文档文件夹中创建一个名为 "Cline" 的文件夹
      • 路径:C:\Users\[你的用户名]\Documents\Cline
    • 在这个 Cline 文件夹内,为每个项目创建单独的文件夹
      • 示例:Documents/Cline/workout-app 用于健身追踪应用
      • 示例:Documents/Cline/portfolio-website 用于个人作品集
  • VS Code 中的 Cline 扩展: 在 VS Code 中安装 Cline 扩展。

MCP 服务器开发协议

开发协议

有效的 MCP 服务器开发的核心是遵循结构化的协议。该协议通过位于 MCP 工作目录根目录(/Users/your-name/Documents/Cline/MCP)中的 .clinerules 文件实现。

使用 .clinerules 文件

.clinerules 文件是一个特殊的配置文件,Cline 会在放置该文件的目录中工作时自动读取。这些文件:

  • 配置 Cline 的行为并执行最佳实践
  • 将 Cline 切换到专门的 MCP 开发模式
  • 提供构建服务器的分步协议
  • 实施安全措施,如防止过早完成
  • 指导您完成规划、实施和测试阶段

以下是应放置在 .clinerules 文件中的完整 MCP 服务器开发协议:

MCP 快速入门指南

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

可以把 MCP 服务器想象成给 Cline 提供额外功能的特殊助手!它们让 Cline 能够完成像获取网页或处理文件这样的酷炫功能。

⚠️ 重要提示:系统要求

停一下!在继续之前,你必须验证以下要求:

必需软件

  • ✅ 最新版本的 Node.js (v18 或更新版本)
  • ✅ 最新版本的 Python (v3.8 或更新版本)
  • ✅ UV 包管理器
    • 安装 Python 后,运行:pip install uv
    • 使用以下命令验证:uv --version

❗ 如果以上任何命令失败或显示较旧的版本,请在继续之前进行安装/更新!

⚠️ 如果遇到其他错误,请参见下方的"故障排除"部分。

🎯 快速步骤(仅在满足要求后执行!)

1. 🛠️ 安装你的第一个 MCP 服务器

  1. 在 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP 服务器面板
  1. MCP 设置文件应该会在 VS Code 中显示。
  2. 将文件内容替换为以下代码:

Windows 系统: