Linux Swap 分区大小修改指南 什么是 Swap Swap(交换空间)是 Linux 系统的一种虚拟内存技术。当物理内存不足时,系统会将不活跃的内存页面移动到 Swap 空间中,从而释放物理内存供活跃进程使用。
Swap 的作用:
扩展可用内存容量 防止内存耗尽导致系统崩溃 支持内存休眠(suspend to disk) 在内存压力时提供缓冲 修改 Swap 大小的三种方法 方法一:使用 swapfile(推荐) 这种方法最灵活,不需要重新分区。
步骤 1:查看当前 Swap 状态 1 2 3 4 5 6 7 8 # 查看当前 Swap 使用情况 free -h # 查看 Swap 文件位置 swapon --show # 查看磁盘空间 df -h 步骤 2:禁用现有 Swap 1 2 3 4 5 # 关闭 Swap sudo swapoff -a # 如果有多个 Swap,指定关闭特定文件 sudo swapoff /swapfile 注意: 关闭 Swap 前确保有足够的物理内存,否则可能导致程序崩溃。最好在系统负载低时操作。
OpenSpec:让 AI 编程助手遵循规范而非猜测 背景简介 AI 编程助手最常见的问题不是它们不会写代码,而是它们写出的代码与你的预期不符。你说"添加深色模式",它却重写了 CSS 变量、添加了切换按钮、还重构了布局——而你只是想改变颜色变量。下一次对话时,上下文丢失了,AI 又从零开始猜测你的意图。
OpenSpec 解决了这个问题:在 AI 开始写代码之前先生成规范文档。双方先对齐"要做什么"和"怎么做",然后再按照规范实现。
截至目前,OpenSpec 在 GitHub 上已获得超过 36000 个 Star,成为 AI 驱动开发领域的标杆框架。
核心架构 OpenSpec 将项目知识分为两个部分:
1 2 3 4 5 6 7 8 9 openspec/ ├── specs/ ← 真实来源(当前行为) │ ├── auth/ │ │ └── spec.md │ └── payments/ │ └── spec.md └── changes/ ← 进行中的修改(每个变更一个文件夹) ├── add-dark-mode/ └── archive/ ← 已完成的变更归档 Specs 描述系统的当前行为,Changes 是提出的修改。分开管理,多个变更可以并行进行而不会冲突。
思维导图:OpenSpec 整体架构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ┌─────────────────────────────────────────┐ │ OpenSpec 框架 │ │ 规范驱动开发 (Spec-Driven Dev) │ └─────────────────────────────────────────┘ │ ┌─────────────────────────────────┼─────────────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ 真实来源 │ │ 变更管理 │ │ 工作流程 │ │ (Specs) │ │ (Changes) │ │ (Workflow) │ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │ │ │ ├─系统当前行为 ├─proposal(提议) ├─propose ├─增量更新 ├─specs(增量规范) ├─apply └─版本历史 ├─design(设计) ├─archive └─tasks(任务清单) └─explore │ ├─ADDED(新增) ├─MODIFIED(修改) └─REMOVED(删除) ▼ ┌─────────────────────────────────┐ │ 四类产出物 │ ├─────────────────────────────────┤ │ • proposal.
OpenCode Skill Creator 使用指南 什么是 Skill Creator Skill Creator 是 Anthropic 官方提供的 Skill 开发助手,帮助开发者创建、优化和打包技能。它是 Claude Code 生态中用于扩展 Agent 能力的重要机制。
在 Claude Code / OpenCode 中,Skill(技能) 是一种可复用的能力扩展包,本质上是一个模块化知识包,可以给 AI 添加:
专业领域知识 固定工作流程 API / 工具使用方式 模板和脚本 简单理解:Skill = 给 AI 写的一份操作说明书
核心价值:
将工作流程固化为可复用的技能 让 AI 助手具备领域专业知识 提高团队协作效率 标准化工作流程 思维导图:Skill Creator 整体架构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ┌─────────────────────────────────────────┐ │ Skill Creator 框架 │ │ AI 技能开发与评估工具链 │ └─────────────────────────────────────────┘ │ ┌─────────────────────────────────┼─────────────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ 技能结构 │ │ 工作流程 │ │ 核心工具 │ │ (File Structure) │ │ (Workflow) │ │ (Tools) │ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │ │ │ ├─SKILL.
RAG检索增强生成分类详解 背景 随着大语言模型(LLM)的快速发展,如何让AI在生成内容时准确引用最新、最相关的信息成为一个核心挑战。检索增强生成(Retrieval-Augmented Generation,简称RAG)技术应运而生,它通过结合检索系统和生成模型的优势,显著提升了AI输出的准确性和可信度。本文将详细介绍RAG的分类体系,帮助读者根据不同场景选择合适的RAG方案。
RAG基本工作原理 RAG的核心思想是将用户查询与外部知识库相结合,其工作流程主要包括以下几个环节:
文档处理:将原始文档切分为Chunks(文本块),每个chunk经过Embedding模型转换为向量 向量存储:将向量存入向量数据库(如Milvus、Pinecone、Chroma等) 语义检索:用户查询同样被转换为向量,在向量数据库中检索最相关的Top-K个chunks 增强生成:将检索到的相关文档作为上下文,连同用户问题一起发送给LLM生成回答 1 用户问题 → 向量化 → 向量数据库检索 → 上下文组装 → LLM生成 → 回答输出 RAG分类体系 根据技术复杂度和应用场景,RAG可以分为以下几类:
1. 简单RAG(Naive RAG) 简单RAG是最基础的实现方式,采用"检索-拼接-生成"的直线路径。
工作流程:
用户输入查询 一次性从向量数据库检索Top-K相关文档 将检索结果与查询拼接后发送给LLM 优点:架构简单、实现成本低、延迟低
缺点:当检索结果不准确或包含噪声时,生成质量会明显下降;无法处理复杂的多跳推理问题
适用场景:文档问答、知识库查询、结构简单的FAQ系统
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # 简单RAG实现示例 from langchain_ollama import OllamaLLM from langchain_chroma import Chroma from langchain_ollama import OllamaEmbeddings # 初始化组件 llm = OllamaLLM(model="qwen2.
Superpowers:让 AI Agent 获得专家级能力的技能框架 背景简介 在 AI 辅助软件开发领域,如何让 AI Agent 像人类专家一样工作一直是核心挑战。传统的 AI 编程工具虽然功能强大,但在处理复杂任务时往往缺乏系统性方法——它们可能会直接开始编码,而不是先理解需求、规划方案。
Superpowers 是由 Keyboardio 联合创始人 Jesse Vincent 开发的一个 AI Agent 技能框架和软件开发方法论。该项目在 GitHub 上已获得超过 134000 个 Star,成为 AI 编程工作流领域的标杆工具。
什么是 Superpowers Superpowers 是一个为 AI 编程 Agent 设计的技能框架和工作流工具集。它的核心理念是:将人类专家的开发习惯和工作流程传授给 AI Agent,让 AI 能够系统性地处理复杂任务,而不是盲目跳入编码。
核心设计理念 Superpowers 基于一个关键洞察:AI Agent 在处理复杂代码时经常失败,但通过特定的技能(Skills)引导,AI 可以表现得像人类专家一样。这些技能封装了:
系统性思考:先理解需求,再制定计划 质量控制:在实现前先验证,在修改后确认 工具使用:正确使用调试、测试、审查等工具 迭代优化:持续改进而非一次完成 技能(Skills)机制 Superpowers 的技能系统受 Simon Willison 提出的 Claude Skills 概念启发。每个技能是一个独立的指令集,可以被 AI Agent 按需加载和使用。技能的核心文件是 SKILL.md,其中包含:
技能的用途说明 使用场景和触发条件 具体的工作流程和步骤 工具映射说明 思维导图:Superpowers 整体架构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ┌─────────────────────────────────────────┐ │ Superpowers 框架 │ └─────────────────────────────────────────┘ │ ┌─────────────────────────────────┼─────────────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ 核心概念 │ │ 主要技能 │ │ 工具集成 │ │ │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │ │ │ ├─技能框架(Skills) ├─brainstorming ├─OpenCode ├─Agent工作流 ├─verification-before-completion ├─Claude Code ├─工具映射 ├─receiving-code-review ├─Codex └─Bootstrap机制 ├─requesting-code-review └─MCP Servers ├─test-driven-development ├─systematic-debugging └─.
OpenAI Tokenizer 在线工具详解 什么是 Tokenizer 在深入了解 OpenAI Tokenizer 工具之前,我们首先需要理解什么是 Token(词元)。
Token 是 OpenAI 模型处理文本的基本单位。它们可以是短至单个字符,也可以长至整个单词,具体取决于语言和编码方式。对于英文文本,大约 4 个字符等于 1 个 Token;对于中文文本,通常 1-2 个汉字等于 1 个 Token。
理解 Token 的概念对于使用 OpenAI API 至关重要,因为:
API 计费:OpenAI 按 Token 数量计费,了解 Token 数量可以帮助估算成本 上下文窗口:每个模型有固定的上下文窗口限制(通常是 4K、8K、16K、32K、128K 等),Token 数决定了能输入多少内容 优化提示:了解 Token 计数可以帮助优化提示词,提高效率 OpenAI Tokenizer 工具概述 OpenAI Tokenizer 是官方提供的在线工具,访问地址为:https://platform.openai.com/tokenizer
这个工具允许开发者直观地看到任意文本被如何分词(Tokenize),以及对应的 Token 数量。这对于以下场景特别有用:
学习 Token 概念 估算 API 调用成本 优化提示词长度 调试 Token 相关问题 工具界面与功能 主要功能区域 OpenAI Tokenizer 工具界面主要包含以下几个部分:
1. 文本输入区