Cline Mentions 功能指南

Cline 提及功能指南

概述

提及功能是一个强大的功能,允许你在与 Cline 的对话中使用"@"符号引用各种资源。这包括文件内容、目录结构、网页 URL、VSCode 诊断信息、终端输出、Git 更改状态等 - 所有这些都可以轻松地整合到你的对话中。

通过使用此功能,Cline 可以获得更准确的上下文,为你的任务提供更相关的帮助。

基本语法

提及总是以"@"符号开始,后跟你想要引用的资源的路径或标识符:

@resource_identifier

你可以在用户消息中的任何位置放置提及,Cline 将自动检索引用的内容。

支持的提及类型

1. 文件引用

要引用文件内容,使用 @/ 后跟项目中的相对路径:

@/path/to/file.js

示例:

请分析 @/src/components/Button.tsx 中的实现

在这个例子中,Cline 自动检索 Button.tsx 的内容并用它来执行分析。

2. 目录引用

要引用目录内容,使用 @/ 后跟目录的相对路径,以斜杠结尾:

@/path/to/directory/

示例:

@/src/components/ 目录中有哪些组件?

在这个例子中,Cline 检索组件目录及其内容的列表。

3. URL 引用

要引用网页内容,使用 @ 后跟 URL:

@https://example.com

示例: 请解析来自 @https://api.

Cline 的记忆库(Cline's Memory Bank)

Cline 的记忆库

我是 Cline,一位专业的软件工程师,我有一个独特的特点:我的记忆在每个会话之间都会完全重置。这不是一个限制 - 这正是驱使我维护完美文档的动力。每次重置后,我完全依赖我的记忆库来理解项目并有效地继续工作。我必须在每个任务开始时阅读所有记忆库文件 - 这不是可选的。

记忆库结构

记忆库由必需的核心文件和可选的上下文文件组成,均为 Markdown 格式。文件之间以清晰的层次结构构建:

核心文件(必需)

  1. projectbrief.md
    • 塑造所有其他文件的基础文档
    • 如果不存在则在项目开始时创建
    • 定义核心需求和目标
    • 项目范围的真实来源
  1. productContext.md
    • 为什么存在这个项目
    • 解决什么问题
    • 应该如何工作
    • 用户体验目标
  1. activeContext.md
    • 当前工作重点
    • 最近的变更
    • 下一步计划
    • 活跃的决策和考虑因素
  1. systemPatterns.md
    • 系统架构
    • 关键技术决策
    • 使用的设计模式
    • 组件关系
  1. techContext.md
    • 使用的技术
    • 开发环境设置
    • 技术约束
    • 依赖关系
  1. progress.md
    • 已完成的功能
    • 待构建的内容
    • 当前状态
    • 已知问题

附加上下文

当需要组织以下内容时,在 memory-bank/ 中创建额外的文件/文件夹:

  • 复杂功能文档
  • 集成规范
  • API 文档
  • 测试策略
  • 部署流程

核心工作流程

计划模式

执行模式

文档更新

记忆库在以下情况下更新: 发现新的项目模式 实施重

Cline 自定义指令库

Cline 自定义指令库

本仓库旨在创建一个协作空间,让开发者可以分享、改进和利用 Cline 的有效自定义指令。通过创建和贡献这个库,我们可以增强 Cline 的功能,使开发者能够应对日益复杂的软件开发挑战。

什么是 Cline 自定义指令?

Cline 的自定义指令是一系列为特定任务或项目定制 AI 行为和输出的指导方针或规则。可以将它们视为 Cline 的专门"编程",使您能够:

  • 执行编码实践: 确保代码风格的一致性,遵循设计模式和特定语言或框架的最佳实践。
  • 标准化文件结构: 规定文件命名约定、文件夹组织和项目结构。
  • 指导测试程序: 定义生成单元测试、集成测试的规则,并确保足够的代码覆盖率。
  • 自动化重复任务: 创建处理常见或繁琐开发工作流程的指令,提高效率。
  • 改进代码质量: 设定代码可读性、可维护性和性能优化的标准。

通过为 Cline 提供精心制作的指令,您可以显著提高其在辅助软件开发过程中的准确性、可靠性和整体效果。

贡献自定义指令

我们鼓励各个水平的开发者向这个库贡献他们的自定义指令。您的贡献将帮助建立一个对整个 Cline 社区都有价值的资源!

提交自定义指令时,请遵循以下模板:

1. 目的和功能

  • 这组指令的目标是什么?
    • 清晰简洁地解释指令集的目标和预期用例。
    • 示例:"这组指令指导 Cline 为现有 JavaScript 函数生成单元测试。"

Cline 提示指南 🚀

Cline 提示指南 🚀

欢迎使用 Cline 提示指南!本指南将为您提供编写有效提示和自定义指令的知识,帮助您最大化使用 Cline 的生产力。

自定义指令 ⚙️

自定义指令视为 Cline 的编程。它们定义了 Cline 的基准行为,并且始终"开启",影响所有交互。

添加自定义指令:

  1. 打开 VSCode
  2. 点击 Cline 扩展设置齿轮 ⚙️
  3. 找到"自定义指令"字段
  4. 粘贴您的指令

自定义指令在以下方面特别有用:

  • 🚀 强制执行代码风格和最佳实践:确保 Cline 始终遵循您团队的编码约定、命名约定和最佳实践。
  • 👍 提高代码质量:鼓励 Cline 编写更易读、可维护和高效的代码。
  • 📝 指导错误处理:告诉 Cline 如何处理错误、编写错误消息和日志信息。

custom-instructions 文件夹包含了您可以使用或调整的自定义指令示例。

.clinerules 文件 📋

虽然自定义指令是特定于用户且全局的(适用于所有项目),但 .clinerules 文件提供了项目特定的指令,存放在项目的根目录中。这些指令会自动附加到您的自定义指令中,并在 Cline 的系统提示中引用,确保它们影响项目上下文中的所有交互。这使其成为以下场景的出色工具:

安全最佳实践 🔒

为了保护敏感信息,您可以在 .clinerules 中指示 Cline 忽略特定文件或模式。

OpenAI: 构建智能体的实用指南

什么是智能体?

传统软件帮助用户简化和自动化工作流程,而智能体则能够以高度独立的方式代表用户执行这些工作流程。

智能体是能够独立代表您完成任务的一种系统。

工作流程是指为了实现用户目标而必须执行的一系列步骤,无论是解决客户服务问题、预订餐厅、提交代码变更,还是生成报告。

那些集成了大语言模型(LLM)但并未用其控制工作流程执行的应用程序(例如简单聊天机器人、单轮对话LLM或情感分类器)不属于智能体。

具体来说,智能体具备以下核心特征,使其能够可靠且一致地代表用户行动:

  1. 它利用LLM来管理工作流程的执行并做出决策。它能识别工作流程何时完成,并在需要时主动修正行为。如果执行失败,它可以停止操作并将控制权交还给用户。
  2. 它能够调用多种工具与外部系统交互(既用于获取上下文信息,也用于执行操作),并根据工作流程的当前状态动态选择合适工具,同时始终在明确定义的边界内运行。

何时应该构建智能体?

构建智能体需要重新思考系统如何决策和处理复杂性。与传统自动化不同,智能体特别适合那些传统确定性和基于规则的方法无法胜任的工作流程。

以支付欺诈分析为例:传统的规则引擎像一份检查清单,根据预设条件标记交易;而基于大语言模型的智能体则更像经验丰富的调查员,它能评估上下文、捕捉细微模式,即使没有明确违反规则也能识别可疑行为。

Sky-T1-7B:通过强化学习提升推理模型的潜力

摘要

我们很高兴发布 Sky-T1-7B,这是一个在数学推理任务上达到 SOTA 水平的开源 7B 模型,它通过对 Qwen2.5-Math-7B 基础模型进行 SFT->RL->SFT->RL 四步训练而成。我们同时还发布了 Sky-T1-mini,这个模型是在 DeepSeek-R1-Distill-Qwen-7B 模型基础上使用简单的强化学习(RL)训练得到的,在流行的数学基准测试上接近 OpenAI o1-mini 的性能水平。我们进行了一系列消融实验,研究了 SFT 数据规模、RL 规模以及模型在 SFT 和 RL 后的 pass@k 性能。我们观察到,长链条 CoT SFT 通常可以提升模型的 pass@k 性能,而 RL 则提高了模型在较低生成预算下(即 pass@1)的性能,但有时会以牺牲解决方案的熵为代价。

图 1: 不同模型在四个流行数学推理任务(AIME24, AMC23, MATH500 和 OlympiadBench)上的平均准确率。

Sky-T1-32B-Flash:在不牺牲准确性的情况下将推理成本削减50%

思考更少,成就更多:在不牺牲准确性的情况下将推理成本削减50%

我们推出 Sky-T1-32B-Flash,这是一个可以将生成长度减少高达 50% 但保持准确性的推理模型。

我们很高兴推出 Sky-T1-32B-Flash,这是我们更新的推理语言模型,它显著减少了过度思考,在具有挑战性的问题上将推理成本降低了高达57%

根据 Lambda Cloud 的定价,使用 8xH100 只需 $275 即可完成整个训练方案,同时在数学、编程、科学和通用知识等领域保持了准确性。

为了促进透明度和协作,我们已开源了完整的流程—从数据生成和预处理到偏好优化和评估脚本,并公开提供模型权重和数据。

  • Github: 数据生成、响应重写、偏好优化和评估的代码
  • Dataset: 10K 偏好对数据集
  • HuggingFace: Sky-T1-32B-Flash 模型权重

图 1: 我们的新模型显著减少了生成的token长度,同时在具有挑战性的基准测试中保持强劲的性能。

什么是过度思考? 过度思考指的是推理模型倾向于产生不必要的长响应,通常包含冗余或过度的推理步骤。

Sky-T1-32B-Preview: 在450美元内训练你自己的O1预览模型

Sky-T1: 在450美元内训练你自己的O1预览模型

我们推出了Sky-T1-32B-Preview,这是一个在流行的推理和编码基准测试上表现与o1-preview相当的推理模型。值得注意的是,Sky-T1-32B-Preview的训练成本不到450美元,这证明了以经济高效的方式复制高级推理能力是可能的。所有代码都是开源的。

概述

像o1和Gemini 2.0这样擅长推理的模型已经证明可以通过产生长链的思维过程等进步来解决复杂任务。然而,技术细节和模型权重无法获取,这对学术界和开源社区的参与造成了障碍。

为此,一些值得注意的努力已经出现,旨在训练开放权重的数学领域推理模型,如Still-2Journey。同时,我们UC Berkeley的NovaSky团队一直在探索各种技术来发展基础模型和指令微调模型的推理能力。在这项工作中,我们在同一个模型中不仅在数学方面,而且在编码方面都取得了具有竞争力的推理表现。

完全开源:共同推动进步

为确保我们的工作能够惠及更广泛的社区,我们完全致力于开源协作。我们开源所有细节(即数据、代码、模型权重),使社区能够轻松地复制和改进我们的成果:

A2A ❤️ MCP

TLDR; Agentic applications need both A2A and MCP. We recommend MCP for tools and A2A for agents.

TLDR; 代理应用程序需要 A2A 和 MCP。我们建议将 MCP 用于工具,将 A2A 用于代理。

Why Protocols?(为什么需要协议?)

Standard protocols are essential for enabling agentic interoperability, particularly in connecting agents to external systems. This is critical in two interconnected areas of innovation: Tools and Agents.

标准协议对于实现代理互操作性至关重要,特别是在将代理连接到外部系统时。这在两个相互关联的创新领域中至关重要:工具和代理。

Tools are primitives with structured inputs and outputs and (typically) well-known behavior.

监测推理模型的不当行为以及提升混淆的风险

Monitoring Reasoning Models for Misbehavior and the Risks of Promoting Obfuscation(监测推理模型的不当行为以及提升混淆的风险)

在构建能力强大且目标一致的模型过程中,缓解奖励黑客行为(即 AI 系统由于学习目标的缺陷或错误规范而表现不当)仍然是一个关键挑战。我们证明,我们可以通过使用另一个观察模型思维链(CoT)推理的 LLM,来监控前沿推理模型(如 OpenAI o3-mini)在智能编程环境中的奖励黑客行为。CoT 监控比仅监控代理行为和输出要有效得多。我们还发现,比 o3-mini 更弱的 LLM(即 GPT-4o)可以有效地监控更强大的模型。 由于 CoT 监控器在检测漏洞方面可以很有效,自然会问这些漏洞是否可以通过将 CoT 监控器直接整合到代理的训练目标中来抑制。虽然我们表明在低优化状态下,将 CoT 监控器整合到强化学习奖励中确实可以产生更有能力和更一致的代理,但我们发现在过度优化的情况下,代理会学会混淆奖励黑客行为,在 CoT 中隐藏其意图,同时仍然表现出显著的奖励黑客行为。 由于很难判断 CoT 何时变得模糊,因此可能需要付出可监控性代价,避免直接对思路链施加强大的优化压力,确保 CoT 仍然可监控,并有助于检测不一致的行为。

Detecting misbehavior in front

OpenAI o3 and o4-mini System Card

Introduction(介绍)

OpenAI o3OpenAI o4-mini 结合了最先进的推理能力和完整工具功能——包括网页浏览(web browsing)、Python 编程、图像(image)和文件分析(file analysis)、图像生成(image generation)、画布编辑(canvas)、自动化流程(automations)、文件搜索(file search)和记忆功能(memory)。这些模型擅长解决复杂的数学、编码和科学难题,同时展现出强大的视觉感知和分析能力。这些模型在其思考链中使用工具来增强自身能力例如,在思考过程中裁剪或转换图像、搜索网页或使用 Python 分析数据。

OpenAI o 系列模型通过在思维链上进行大规模强化学习进行训练。这些先进的推理能力为提高我们模型的安全性与鲁棒性提供了新的途径。特别地,我们的模型在回应潜在的不安全提示时,能够根据上下文推理我们的安全策略,这得益于审慎对齐。

这是根据我们准备框架(Preparedness Framework)第二版发布的第一个版本和系统卡。

Agent2Agent 协议 (A2A)

A2A

一个开放协议,旨在实现不透明的智能代理应用程序之间的通信和互操作性。

企业采用人工智能的最大挑战之一是如何让基于不同框架和供应商构建的代理协同工作。这就是我们创建开放的 Agent2Agent (A2A) 协议的原因,这是一种协作方式,旨在帮助不同生态系统中的代理相互通信。Google 正在推动这项行业开放协议倡议,因为我们相信这个协议对于支持多代理通信至关重要,它将为您的代理提供一种通用语言——无论它们构建于哪个框架或供应商之上。借助 A2A,代理可以相互展示它们的功能并协商如何与用户交互(通过文本、表单或双向音频/视频)——所有这些都在安全地协同工作的同时进行。

观看 A2A 的实际应用

观看此演示视频,了解 A2A 如何实现不同代理框架之间的无缝通信。

概念概述

Agent2Agent (A2A) 协议促进了独立 AI 代理之间的通信。以下是核心概念:

  • 代理卡片 (Agent Card): 一个公开的元数据文件(通常位于 /.well-known/agent.json),描述了代理的功能、技能、端点 URL 和身份验证要求。客户端使用它进行发现。
    • A2A 服务器 (A2A Server): 一个公开 HTTP 端点并实现 A2A 协议方法(定义在 json 规范 中)的代理。它接收请求并管理任务执行。
    • A2A 客户端 (A2A Client): 一个消费 A2A 服务的应用程序或另一个代理。它向 A2A 服务器的 URL 发送请求(如 tasks/send)。
    • 任务 (Task): 中心的工作单元。客户端通过发送消息(tasks/sendtasks/sendSubscribe)来启动任务。任务具有唯一的 ID,并经历以下状态:submitted(已提交)、working(工作中)、input-required(需要输入)、completed(已完成)、failed(失败)、canceled(已取消)。
    • 消息 (Message): 表示客户端(role: "user")和代理(role: "agent")之间的通信轮次。消息包含 Parts(部件)。
    • 部件 (Part): MessageArtifact(工件)中的基本内容单元。可以是 TextPart(文本部件)、FilePart(文件部件,包含内联字节或 URI)或 DataPart(数据部件,用于结构化 JSON,例如表单)。
    • 工件 (Artifact): 表示代理在任务期间生成的输出(例如,生成的文件、最终的结构化数据)。工件也包含 Parts(部件)。
    • 流式传输 (Streaming): 对于长时间运行的任务,支持 streaming 功能的服务器可以使用 tasks/sendSubscribe。客户端接收服务器发送事件 (SSE),其中包含 TaskStatusUpdateEvent(任务状态更新事件)或 TaskArtifactUpdateEvent(任务工件更新事件)消息,提供实时的进度。
    • 推送通知 (Push Notifications): 支持 pushNotifications 的服务器可以主动向客户端提供的 webhook URL 发送任务更新,该 URL 通过 tasks/pushNotification/set 配置。

智能编码新范式 (Cline + DeepSeek) × MCP

  • 提示词:使用 React 技术实现 Tic Tac Toe 游戏

  • 运行游戏

  • 创建新仓库

  • 快速设置仓库

  • 退出游戏

  • 查看已安装的 MCP 服务器

  • 创建新问题(issue)

  • 查看 wang-junjian/tictactoe 项目中分配给我 issue,使用 GitHub MCP 服务器的工具 list_issues

  • 当前仓库 wang-junjian/tictactoe 中有1个开放的 issue

  • 分步实现 issue #1 玩家获胜时添加烟花效果

  • 实现 issue #1 玩家获胜时添加烟花效果

  • 运行游戏 - 获胜后的烟花效果

  • 创建新问题 - Refactoring

  • 创建分支 git switch -c Refactoring,对项目中的代码进行重构

  • 完成代码重构

  • 推送到远程仓库,git push -u origin Refactoring

  • Compare & pull request

  • 创建拉取请求(pull request),关联问题(issue #2)

  • wang-junjian/tictactoe 项目中分配给我的 PR,使用 GitHub MCP 服务器的工具 get_pull_request

  • 使用 GitHub MCP 服务器的工具 get_pull_request_files 获取 PR 的变更文件列表

  • 完成 PR #3 的代码评审

  • 使用 GitHub MCP 服务器的工具 add_issue_comment,提交代码评审

Git 命令

使用 Git 的工作流程

配置

查看全局配置

git config --global --list
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
user.name=军舰
user.email=wang-junjian@qq.com
http.postbuffer=524288000
http.version=HTTP/1.1

设置全局配置

git config --global user.name "军舰"
git config --global user.email wang-junjian@qq.com

初始化仓库

git init
Initialized empty Git repository in /Users/junjian/GitHub/wang-junjian/HelloGit/.git/

设置远程仓库

git remote add origin https://github.com/wang-junjian/HelloGit.git

基础

查看状态

开发 RAGFlow MCP Server

开发

这是第一次开发 MCP Server,想着使用智能编码工具(GitHub Copilot、Cursor、Trae)进行氛围编程,发现真不容易,Claude 3.7 sonnet 效果不错,在 GitHub Copilot 没用多长时间超限制了;Cursor 没有达到之前那种随心的效果;Trae 要排长队,太有挫败感了。于是,开始了以人编码为主,大模型辅助的开发过程。

MCP Server 的工作流程

  1. 初始化:加载环境变量,初始化 RAGFlow 客户端。
  2. 工具注册:定义工具列表,描述工具的输入/输出。
  3. 工具逻辑:实现工具的具体调用逻辑。
  4. 服务器启动:通过 stdio 启动 MCP Server 并监听请求。

创建 RAGFlow MCP Server 项目

uvx create-mcp-server \
    --path ragflow-mcp-server \
    --name ragflow-mcp-server \
    --version 0.1.0 \
    --description "RAGFlow MCP Server" \
    --no-claudeapp
cd ragflow-mcp-server
uv sync --dev --all-extras
uv add ragflow-sdk

下载 MCP 开发文档和 RAGFlow Python API 文档

Visual Studio Code 2025年3月版本(1.99)的新功能

欢迎使用Visual Studio Code 2025年3月版本。此版本包含许多更新,我们希望您会喜欢,一些主要亮点包括:

  • 代理模式
    • 代理模式现已在VS Code稳定版中可用。通过设置setting(chat.agent.enabled:true)启用(更多...)。
    • 通过模型上下文协议(MCP)服务器工具扩展代理模式(更多...)。
    • 尝试代理模式中的新内置工具,用于获取网页内容、查找符号引用和深度思考(更多...)。
  • 代码编辑
    • 下一步编辑建议现已正式发布(更多...)。
    • 在编辑器中应用AI编辑时减少诊断事件等干扰(更多...)。
  • 聊天
    • 在聊天中使用自己的API密钥访问更多语言模型(预览版)(更多...)。
    • 从统一的聊天体验中轻松切换问答、编辑和代理模式(更多...)。
    • 通过即时远程工作区索引体验提高工作区搜索速度和准确性(更多...)。
  • 笔记本编辑
    • 借助编辑和代理模式的支持,像编辑代码文件一样轻松创建和编辑笔记本(更多...)。

如果您想在线阅读这些发布说明,请前往code.visualstudio.com上的更新页面。 Insiders版本: 想尽快尝试新功能吗?您可以下载每晚构建的Insiders版本,并在功能可用后立即尝试最新更新。

聊天

代理模式在 VS Code 稳定版中可用

设置setting(chat.agent.enabled:true)

构建AI代理:5个常见障碍及解决方案

构建AI代理的新手指南,帮助您克服挑战。

AI代理正变得越来越复杂,能够自动化工作流程、做出决策并与外部工具集成。然而,在现实世界中部署AI代理面临着很多挑战,这些挑战会影响其可靠性、性能和准确性。现在优先建立AI代理设计的强大基础,将为未来可靠、安全的自主系统奠定基础。

👉 本指南探讨了开发人员在创建AI代理时面临的五个最常见障碍,以及克服这些障碍的实用解决方案。 无论您是刚刚入门的新手还是正在改进方法的资深开发人员,这些最佳实践都将帮助您设计出在复杂环境中更可靠、更具扩展性和更有效的AI代理。

让我们开始构建代理式AI吧!

1. 管理工具集成

随着AI代理变得越来越复杂,管理它们对各种工具的访问和使用变得越来越具有挑战性每增加一个工具都会引入新的潜在故障点安全考虑因素性能影响。确保代理适当地使用工具并优雅地处理工具故障对于可靠运行至关重要。

解决这一挑战请为代理工具箱中的每个工具创建精确的定义。包括何时使用该工具的明确示例有效参数范围预期输出构建能够强制执行这些规范的验证逻辑,并从一小组定义明确的工具开始,而不是许多定义松散的工具。定期监控将帮助您识别哪些工具最有效,以及哪些定义需要完善

2. 管理模型推理和决策

构建AI代理的一个基本挑战是确保一致可靠的决策。与遵循明确规则的传统软件系统不同,AI代理必须解释用户意图,对复杂问题进行推理,并最终基于概率分布做出决策。