📍 无忆研习社 › 开源解码 › 腾讯CodeBuddy完全实战指南:CLI命令、Skills技能包与企业级Agent开发从入门到精通

腾讯CodeBuddy完全实战指南:CLI命令、Skills技能包与企业级Agent开发从入门到精通

摘要:本篇文章系统拆解腾讯CodeBuddy三种形态(插件/IDE/CLI),详细讲解CLI核心命令、Memory记忆配置、Agent Skills技能包三层渐进式加载机制,并通过会议纪要Skills完整实战案例,手把手带你搭建可落地的企业级AI编程工作流。
字号 100%
行距 2.05
当前可见 60% 的内容
本文由 莫潇羽@无忆研习社(www.wuyi.wiki)撰写,转载请注明出处。

快速摘要

如果你只有两分钟,看这里:

CodeBuddy 是腾讯推出的 AI 编程工具矩阵,涵盖 IDE 插件、独立 IDE 和 CLI 命令行三种形态,可以理解为腾讯版的 AI 编程全家桶。 其中 CodeBuddy Code(CLI 版)于 2025 年 9 月正式发布,在命令行里实现自然语言驱动的全流程开发,支持多模型切换(包括混元、DeepSeek 等国内模型)。

在 CLI 工具背后,还有一套叫做 Agent Skills(技能包) 的新型工程范式。它不是 Prompt,不是 MCP,而是介于两者之间的"标准化 SOP 工具包":把提示词、脚本、知识库三合一,通过渐进式三层加载机制(L1 元数据→L2 核心指令→L3 资源文件)大幅降低 Token 消耗、提升复杂任务的执行质量。

本文核心内容:

  • CodeBuddy 三种形态对比及安装上手
  • CLI 核心命令逐一拆解(-p 无头模式、-r 会话恢复、/model 模型切换、yolo 权限模式……)
  • Memory 记忆与规则(Rules)配置方法
  • Agent Skills 底层原理与三层加载机制详解
  • 从零搭建一个企业级技能包(以会议纪要自动同步为例)
  • Skills 在 CodeBuddy / Trae / 扣子中的跨平台使用
  • MCP 服务配置与自定义开发

想看完整拆解,往下翻。


一、CodeBuddy 到底是什么,跟其他 AI 编程工具有何不同

市面上 AI 编程工具越来越多,开发者容易被各种新名词搞乱。我自己折腾了一段时间,把 CodeBuddy 放在整个 AI 编程工具的大背景里看,它最大的特点是三形态合一:

  • CodeBuddy 插件:装在 VS Code 或 JetBrains 里的补全助手,主打日常编码提速,Craft 模式可生成多文件项目,是国内首批支持 MCP 的代码助手之一。
  • CodeBuddy IDE:独立的桌面 IDE,集成了从产品设计到部署的全流程,强调"无需一行代码,自然语言对话即可开发应用",国际版整合了多个主流大模型,国内版支持腾讯混元、DeepSeek 等。
  • CodeBuddy Code(CLI):2025 年 9 月发布的命令行工具,面向习惯终端作业的专业开发者,逻辑跟 Claude Code 非常接近,但对国内开发环境更友好,支持国内模型,安装不需要额外操作。

三者共用额度,可以按场景自由切换。

┌─────────────────────────────────────────────────────────┐
│                   CodeBuddy 三形态对比                    │
├───────────────┬─────────────┬────────────┬──────────────┤
│               │  插件形态    │ IDE 形态   │  CLI 形态    │
├───────────────┼─────────────┼────────────┼──────────────┤
│ 适用人群      │ 专业开发者  │ 非技术背景 │ 专业/高级开发│
│ 安装方式      │ 插件市场    │ 独立安装包 │ npm 一行命令 │
│ 核心场景      │ 补全/Craft  │ 自然语言建 │ 终端+管道+CI │
│ 模型支持      │ 混元/DS等   │ 国内外均有 │ 国内外均有   │
│ MCP 支持      │ ✅          │ ✅         │ ✅           │
└───────────────┴─────────────┴────────────┴──────────────┘

根据腾讯公开的数据,腾讯内部已有超过 90% 的工程师在用 CodeBuddy,编码时间平均缩短 40% 以上,AI 生成代码占比超过一半。这个数据不管怎么看,说明它在真实的大规模工程场景里经过了验证。

值得一提的是,这套工具在能力设计上对齐了当前主流 AI 编程工具的通用范式,比如自定义 Agents、Skills 技能包、MCP 集成等——这些都是眼下 AI 编程工具的标配方向,不是某一家独有的。这意味着学会了 CodeBuddy 的核心用法,迁移到其他工具的成本很低;同样,如果你之前用过其他 AI CLI 工具,上手 CodeBuddy 也不会有太大障碍。

对于个人开发者来说,CLI 形态是学习成本最低、上限最高的入口。接下来我会重点拆解这块。


二、安装与快速上手

2.1 前置依赖:Node.js

CodeBuddy Code 基于 npm 分发,所以第一步是装 Node.js。去官网下 LTS 版本,Windows 记得勾选"Add to PATH",装完验证一下:

node -v
npm -v

两个命令都有输出,说明环境 OK。

2.2 安装 CodeBuddy Code

npm install -g @tencent-ai/codebuddy-code

国内网络下 npm 有时候慢,可以先切到腾讯源加速:

npm config set registry https://mirrors.cloud.tencent.com/npm/

装完之后执行下面的命令验证:

codebuddy --version
# 或者简写
cbc --version

看到版本号就说明安装成功了。CodeBuddy Code 有个简写叫 cbc,跟 codebuddy 效果完全一样,打起来省事。

2.3 登录授权

首次运行 codebuddy 会弹出浏览器做登录授权,支持腾讯云账号登录。国际版可以用 Google/GitHub 账号。登录成功后终端会显示一个类似下面的交互界面:

╔══════════════════════════════════════╗
║         CodeBuddy Code CLI           ║
║   AI-powered terminal development    ║
╚══════════════════════════════════════╝

> 

进到这个界面,就可以开始用了。最直接的用法就是自然语言提需求,比如"帮我分析一下当前目录的项目结构",它会自动扫描文件、分析后给出回答。


三、CLI 核心命令全拆解

这是 CodeBuddy Code 的精华所在。我把用得到的命令按场景归类,逐一讲清楚。

3.1 两种交互模式

交互模式(默认):直接运行 codebuddy,进入类似聊天的对话界面,支持多轮问答,AI 会记住上下文。

无头模式(-p 参数):适合单次任务或与 Shell 脚本配合,结果直接输出到终端,不需要人参与交互。

# 无头模式:让 AI 分析当前目录
codebuddy -p "请分析当前项目结构,列出主要模块" --dangerously-skip-permissions

# 结合管道:抓取 git 日志交给 AI 分析
git log --oneline -20 | codebuddy -p "分析这些提交,找出可能引入 bug 的变更" --dangerously-skip-permissions

--dangerously-skip-permissions 这个参数后面会专门解释,现在只需要知道:加上它,AI 可以自动执行命令,不需要每次手动确认。

这两种模式的区别,简单说就是:交互模式适合探索性工作("我还不确定要做什么,边聊边想"),无头模式适合明确任务("我知道要干嘛,给我结果就行")。

3.2 会话管理:-r 和 -c

# 恢复上次会话
codebuddy -r

# 列出历史会话,选择恢复
cbc -r

这个功能特别实用。比如你同时在跑两个项目,一个写前端一个写后端,分别开了两个 codebuddy 会话。第二天回来想继续某个任务,用 -r 能看到会话列表,选一个恢复,上下文全在。

# 连接到 IDE(自动检测当前 IDE 并关联)
codebuddy --ide

这个命令会让 CLI 和 CodeBuddy IDE 建立连接,方便在终端和图形界面之间切换。

3.3 模型切换:/model

在交互模式下,输入 /model 可以看到可用模型列表并切换:

/model

会显示类似这样的列表(国内版):

模型名称

速度倍率

适用场景

腾讯混元(默认)

1x

日常开发、代码补全

DeepSeek-V3

0.8x

长代码生成、复杂逻辑

DeepSeek-V3.1

1.2x

需要更快响应时

速度倍率越高,Token 消耗越大,但出结果越快。我的习惯是平时用默认模型,处理复杂架构设计时切到能力更强的版本。

也可以在启动时直接指定模型:

codebuddy --model deepseek-v3 -p "帮我设计一个微服务架构"
# 设置回退模型:主模型超载时自动降级
codebuddy --model deepseek-v3 --fallback-model hunyuan -p "复杂任务"

3.4 权限控制:从标准模式到 yolo 模式

这是很多人踩坑的地方,要单独说清楚。

默认权限模式:每当 AI 要执行一个"有副作用"的操作(创建文件、运行命令、删除内容……),都会弹出确认提示,需要用户选 yes/no。安全,但效率低。

yolo 模式(--dangerously-skip-permissions):跳过所有权限验证,AI 想执行什么就执行什么,无需确认。效率极高,但风险也大——AI 搞错了你也不会被提醒,有可能误删文件。

# 启用 yolo 模式
codebuddy -p "帮我重构这个文件" --dangerously-skip-permissions

# 或者在交互模式下通过 Shift+Tab 循环切换权限模式

我自己的做法是:在沙盒环境(Docker 容器、虚拟机)里用 yolo 模式跑复杂任务,本地生产代码库一律用标准模式。这样既不损失效率,也不会付出代价。

还有一种细粒度控制,通过 --allowedTools 参数指定允许执行哪些工具类型:

# 只允许读取和编辑,不允许执行命令
codebuddy --allowedTools "Read Edit" -p "分析代码质量"

3.5 输出格式控制

# JSON 格式输出,方便程序处理
codebuddy -p "分析这个函数的性能" --output-format json | jq '.response'

# 流式输出(打字机效果),适合生成长内容
codebuddy -p "帮我写一个完整的技术方案文档" --output-format stream-json

3.6 调试与诊断

# 开启 debug 模式,查看详细日志
codebuddy --debug -p "测试某个功能"

# 详细输出模式
codebuddy --verbose -p "需要更多信息的任务"

3.7 常用快捷键汇总

在交互模式里,下面这些快捷键会经常用到:

↑ / ↓      查看历史命令
Tab         自动补全命令
Ctrl+C      退出当前会话
Shift+Tab   循环切换权限模式(标准 → 自动接受 → 计划 → yolo)
/clear      清空当前对话上下文
/cost       查看当前会话 Token 消耗
/memory     管理记忆文件(后面详讲)
\help       列出所有斜杠命令

3.8 结合 Linux 命令的高效玩法

CLI 模式最有价值的地方,是能把 AI 能力和已有的 Shell 命令无缝接管。这是图形化 IDE 做不到的。

场景一:分析线上错误日志

以前分析日志,要人工 tail -f 盯着看,效率很低。现在可以这样:

# 抓取最近 100 行错误日志,交给 AI 分析
tail -n 100 /var/log/app/error.log | codebuddy -p "分析这些错误日志,找出最频繁的错误类型,给出可能的根因" --dangerously-skip-permissions

AI 会帮你扫描日志、归类错误、推断可能的原因,通常几秒钟能给出一个结构化的分析报告,比人工翻日志快得多。

场景二:分析 Git 提交历史

# 分析过去两周的提交,找出可能引入性能问题的变更
git log --since="2 weeks ago" --oneline --stat | codebuddy -p "分析这些 git 提交,哪些变更可能引入了性能问题?重点关注数据库查询相关的改动" --dangerously-skip-permissions

场景三:批量处理脚本

如果你要批量生成多份文档,或者对一批文件做相同的处理,可以写一个 Shell 循环,在循环里调用 codebuddy:

# 批量为目录下的每个 Python 文件生成单元测试
for file in src/*.py; do
  codebuddy -p "为以下文件生成单元测试,遵循 pytest 规范:$(cat $file)" \
    --output-format json \
    --dangerously-skip-permissions > "tests/test_$(basename $file .py).py"
done

这三个场景用起来,CodeBuddy CLI 就从"聊天工具"变成了真正的"开发自动化引擎"。

CodeBuddy Code 的配置有三个层级,从低到高优先级依次是:用户级 < 项目级 < 本地个人级。

~/.codebuddy/settings.json        ← 用户级(所有项目通用)
  └── 当前项目/.codebuddy/
        ├── settings.json         ← 项目级(提交到 Git,团队共享)
        └── settings.local.json   ← 本地个人级(加入 .gitignore)

用户级配置:当前电脑上所有项目都会读取,适合写一些个人偏好,比如默认模型、常用的 API Key。

项目级配置:提交到代码仓库,团队里所有人共享一套规范,适合团队统一的权限策略、默认模型、MCP 配置。

本地个人级:加到 .gitignore,只对自己生效,不影响别人,适合一些个人习惯设置。

一个典型的项目级配置文件长这样:

{
  "model": "deepseek-v3",
  "permissions": {
    "allow": ["Read", "Edit", "Bash(git:*)"],
    "deny": ["Bash(rm:*)"]
  },
  "env": {
    "NODE_ENV": "development"
  }
}

这里的权限规则语法支持到命令级别——比如允许所有 git 命令,但明确禁止 rm 删除操作。团队协作时,建议把这套权限策略写进项目级配置,防止 AI 在执行任务时误操作生产数据。


五、Memory 记忆功能:让 AI 记住你的项目

每次新开一个 codebuddy 对话,AI 默认对你的项目一无所知。Memory 功能就是用来解决这个问题的——把项目规范、技术栈、约定俗成的东西写进一个 Markdown 文件,让 AI 每次都能"预加载"这些背景知识。

5.1 创建记忆文件

在交互模式下输入:

/memory

会出现两个选项:项目级记忆 or 用户级记忆。

  • 项目级:放在 .codebuddy/CODEBUDDY.md,只对当前项目生效,可以提交到 Git。
  • 用户级:放在 ~/.codebuddy/CODEBUDDY.md,对这台机器上所有项目生效。

选项目级更常见,点确认后工具会帮你自动打开这个文件。

5.2 写什么进去

这个文件就是你的"项目说明书",内容随便写,AI 每次启动都会读取。一个写得好的项目记忆文件大概是这个结构:

# 项目背景
本项目是一个面向中小企业的 CRM 系统,前端用 Vue 3 + TypeScript,后端用 Java Spring Boot。

# 技术规范
- Python 脚本统一用 3.10+,不用 f-string 以外的格式化方式
- 前端组件命名用 PascalCase,文件名用 kebab-case
- 提交信息格式:feat/fix/docs/chore: 简短描述

# 测试覆盖率要求
单元测试覆盖率 > 80%,核心业务逻辑 > 95%

# 默认模型
团队统一使用 deepseek-v3,复杂架构分析用 deepseek-v3.1

莫潇羽@无忆研习社 有个小技巧:把常见的"踩坑点"也写进去,比如"本项目的 config.js 里 API_BASE_URL 不要直接用 localhost,要用 process.env 变量"。这样 AI 生成代码时会自动规避这些问题。

5.3 自定义斜杠命令

除了记忆文件,你还可以在 .codebuddy/commands/ 目录下创建自定义命令。每个命令是一个 Markdown 文件:

---
description: 自动提交代码并推送到远端
---

# 自动提交

1. 执行 `git add -A`
2. 根据变更内容自动生成符合规范的 commit message
3. 执行 `git commit -m "<生成的message>"`
4. 执行 `git push origin HEAD`

保存为 .codebuddy/commands/auto-commit.md 之后,在对话里输入 /auto-commit,AI 就会按这个流程帮你执行。省去反复敲相同操作的麻烦。


六、Agents 子代理:给 AI 分配专属角色

随着任务越来越复杂,单一的对话模式已经不够用了。CodeBuddy Code 支持创建"子代理(Agents)"——把特定的角色、流程、工具组合封装成一个可复用的智能体。

6.1 创建一个 Agent

在交互模式下:

/agents

选择"创建新 Agent",输入描述,工具会自动生成一个 Agent 配置文件,放在 .codebuddy/agents/ 目录下。

一个典型的代码审查 Agent 配置文件大概长这样:

# .codebuddy/agents/code-reviewer.md
---
name: code-reviewer
description: 专注代码质量审查,检查安全漏洞、性能问题和最佳实践
model: deepseek-v3.1
tools:
  - Read
  - Grep
  - Glob
---

# 代码审查专家

你是一名资深代码审查专家,负责对提交的代码变更进行系统性审查。

## 审查维度
1. 安全性:XSS、SQL 注入、敏感信息泄露等
2. 性能:N+1 查询、内存泄漏、不必要的重复计算
3. 可维护性:命名规范、函数复杂度、注释质量
4. 测试覆盖:关键路径是否有单测

## 输出格式
按优先级(P0/P1/P2)列出问题,每条问题给出:
- 问题描述
- 所在文件及行号
- 修改建议

创建完之后,在对话里可以直接召唤这个 Agent:

请用 code-reviewer 审查一下我刚提交的这次 PR 变更

AI 会自动找到并激活这个 Agent,按它定义的流程和工具执行审查。

Agents 和普通对话的区别:普通对话是通用的,Agents 是专业化的。把重复、高频、有固定流程的任务封装成 Agent,既能保证执行质量,也省去每次重新解释需求的成本。

还有一点值得提:Agents 的工具列表要谨慎配置。如果你的 Agent 只需要读取文件和执行搜索,就只给它 Read 和 Grep 权限,不要给 Bash 这样的宽泛权限。权限越精准,执行越可控,出问题的概率越低。这和最小权限原则在传统系统设计里的地位是一样的——安全永远比便利更重要。


七、为什么需要 Agent Skills?单靠提示词有什么问题

说完 CLI 和 Agents,到了这篇文章最核心的部分——Agent Skills(技能包)。

我自己也踩过这个坑:花了很多时间写了一个几百行的系统提示词,测试时 AI 表现挺好,但一旦进入真实的复杂业务流程,问题就冒出来了。解决了第一个问题,第二个问题又出现。把提示词改得更详细,它又开始忽略其他细节……

这不是偶发现象,背后有结构性原因:

第一,上下文越长,注意力越散。 大模型底层的 Transformer 注意力机制在长文本场景下会出现衰减,排在上下文中间的内容往往被忽略,这就是常说的"Lost in the Middle"问题。你写了 500 行提示词,AI 真正"认真读"的可能只有开头和结尾。

第二,提示词一旦复杂,步骤容易混乱。 一个大任务如果没有合理拆分,AI 执行时很容易把顺序搞错,或者漏掉某些步骤。就像你交代一个人同时做十件事,结果他做了六件忘了四件。

第三,工具定义占 Token,还容易被误调用。 如果你在系统提示词里堆了很多工具定义,AI 在判断用哪个工具时容易出错,而且这些定义本身就要消耗大量 Token。

Agent Skills 就是针对这三个问题设计的解决方案。不过在说它是什么之前,我想先多聊两句"为什么单靠堆提示词行不通"——这个问题比很多人想得要深。

提示词的本质困境是线性与并发之间的矛盾。我们写提示词,是在把复杂的、网状的业务逻辑,硬压成一段线性文本。文本里每一条规则都要跟其他规则争夺模型的注意力。规则越多,相互干扰越严重。你加了第 20 条规则去约束 AI 的输出格式,它可能就开始忘记第 5 条规则里你定义的数据结构。这不是模型"变傻了",是注意力资源被稀释了。

做过 AI Agent 开发的人可能都有这个体验:某个提示词在简单场景下表现很好,一旦任务链条拉长、工具调用次数变多,结果就开始漂移。今天输出是 JSON,明天可能变成 Markdown;今天会主动问澄清性问题,明天可能就直接猜了。这种不稳定性,在生产环境里会让人非常头疼。

再加上一个现实问题:知识文档的体量往往超过上下文窗口的承载能力。一个企业的内部文档体系,技术规范、产品手册、财务制度、合规要求……加在一起轻松上百份文件、几十兆内容。不可能每次对话都把这些全塞进去,但如果不塞,AI 在生成内容时又缺少必要的背景知识,容易出错。

这就是为什么需要一套"按需、分级、可组合"的知识调度机制,而不是一个越写越长的大提示词。

7.1 Skills 不等于提示词,也不等于 MCP

这两个区别值得说清楚,我见过很多人把它们混淆。

Skills vs 提示词(Prompt):提示词是线性文本,一次性全部载入上下文;Skills 是结构化的技能包,按需分级加载,用多少加载多少。提示词没有文件系统结构,Skills 有标准的目录规范和引用机制。

Skills vs MCP:MCP(模型上下文协议)解决的是"AI 如何连接外部工具和数据源"的问题,可以类比为"AI 时代的 USB-C 接口"——只要实现了 MCP 协议,各种外部服务都能接入。而 Skills 解决的是"AI 如何按标准流程执行复杂任务"的问题,更像是"菜谱"——告诉 AI 做这件事的完整步骤、注意事项、需要参考的资料。

一句话记忆:MCP 给 AI 装了"手"(能碰到外部世界),Skills 给 AI 装了"技能书"(知道怎么做某件事)。 两者配合使用才是完整的方案。


八、Skills 核心原理:三层渐进式加载机制

这是 Skills 设计里最精妙、也最关键的部分。

传统方式(比如直接把所有资料塞进提示词)的问题是:你有 50 个知识文档,每次对话都要把这 50 个文档全部加载进上下文,不管这次任务用不用得到。上下文窗口撑爆了,Token 成本也炸了。

Skills 的解法叫渐进式加载(Progressive Disclosure),按三个层级逐步展开:

L1 元数据层(始终加载)
 ↓ AI 判断当前任务匹配
L2 核心指令层(按需加载)
 ↓ 执行过程中需要额外资源
L3 资源文件层(深度按需)

L1:元数据(永远只加载这一部分)

L1 只包含技能的名称和描述,大概几十到一百个 Token,每次对话都会载入。AI 用它来做"意图匹配"——判断当前任务跟这个 Skill 是否相关。

---
name: meeting-minutes
description: 会议纪要生成与文档同步助手。用于对会议内容进行智能提炼,生成标准格式的会议纪要,并可选同步到公司内网服务器。
---

就这么几行,这是 L1 的全部内容。

L2:核心指令(匹配后才加载)

只有 AI 判断"当前任务跟这个 Skill 相关"之后,才会加载 SKILL.md 的正文部分,获取详细的执行指南。这部分通常在 5000 Token 以内。

L3:资源文件(执行时按需调用)

到了真正执行任务,需要调用知识库或者运行脚本时,才触发 L3 加载。比如会议里提到了"预算审批",AI 才去加载财务手册;会议纪要需要上传服务器,才去执行上传脚本。

这个机制在实际工程中意味着什么? 假设你的项目里有 30 个 Skills,每个 Skills 的 references 目录里平均有 500KB 的知识文档。传统做法把这些全塞进提示词,上下文直接爆炸。用 Skills 的渐进式加载,每次对话通常只激活 1-2 个 Skill,L3 资源也是按触发条件精准加载,实际消耗的 Token 可能只有传统方式的 5%-10%。

┌─────────────────────────────────────────────────────┐
│              三层加载机制 Token 消耗对比              │
├────────────┬───────────┬────────────────────────────┤
│ 加载层级   │ Token 量  │ 触发条件                   │
├────────────┼───────────┼────────────────────────────┤
│ L1 元数据  │ ~100 个   │ 始终加载                   │
│ L2 核心指令│ <5000 个  │ AI 判断任务相关时           │
│ L3 资源文件│ 按需变化  │ 执行中需要特定资料/脚本时   │
└────────────┴───────────┴────────────────────────────┘

九、Skills 文件结构与编写规范

知道了原理,下面说怎么写。

9.1 目录结构

一个标准的 Skill 目录长这样:

.codebuddy/skills/
└── meeting-minutes/        ← 技能包名称(英文)
    ├── SKILL.md            ← 必须,核心说明文件
    ├── scripts/            ← 可选,可执行脚本
    │   └── upload.py       ← 上传脚本示例
    ├── references/         ← 可选,知识库文档
    │   └── finance-manual.md
    └── assets/             ← 可选,模板/静态资源
        └── minutes-template.md

SKILL.md 是唯一必须的文件,其他三个目录按需创建。

9.2 SKILL.md 格式详解

SKILL.md 文件的开头必须有 YAML frontmatter(用两个 --- 包裹),这就是 L1 元数据:

---
name: meeting-minutes
description: 会议纪要生成与文档同步助手。用于对会议内容进行智能提炼,生成标准格式的会议纪要,并可选同步到公司内网。适用场景:技术周会、项目复盘、客户沟通会等。
---

description 写得越清晰,AI 的意图匹配越准确。建议用一两句话描述"这个技能做什么事"以及"适用什么场景"。

frontmatter 后面就是 L2 的核心指令,格式自由,普通 Markdown 即可:

# 会议纪要助手

## 角色定位
你是一名专业的会议纪要整理专员,擅长从非结构化的会议对话中提炼关键信息。

## 总结规则
对会议内容按以下维度进行提炼,每个维度用 2-3 句话概括:

1. 参会人员:列出所有发言人
2. 议题清单:本次会议讨论了哪些主题
3. 决策事项:形成了哪些明确决定
4. 行动项:谁负责什么事情,截止时间是什么

> 当会议内容涉及预算、采购、资金成本等财务相关关键词时,
> 自动触发参考 references/finance-manual.md,并在纪要末尾
> 添加"财务提醒"章节。

## 上传规则
当用户提到"上传"、"同步"、"推送到服务器"时,
调用 scripts/upload.py 脚本,将纪要内容同步到公司内网。

## 输出格式示例

输入(会议对话片段):
> 张三:用户模块已完成,今天提测。
> 李四:接口文档周五前给出来。

期望输出:

会议纪要

=======

参会人员:张三、李四

议题:模块进展同步

决策:接口文档周五交付

行动项:李四 - 接口文档,deadline 周五

 

9.3 references 目录

references 里放的是知识库文档,纯文本格式最佳(Markdown、txt 均可)。写 SKILL.md 时用条件语句描述"什么时候读这个文档",就能实现 L3 的精准触发。

比如 references/finance-manual.md 里放公司的财务报销制度,只有当会议内容提到财务相关词汇时,AI 才会去读取这份文件——而不是每次都把整份文件塞进上下文。

9.4 scripts 目录

scripts 里放的是可执行脚本,支持 Python、Bash 等。需要调用外部服务、上传文件、查询数据库时,就把对应逻辑写成脚本放这里,然后在 SKILL.md 里描述触发条件。

一个模拟上传的 Python 脚本大概长这样:

#!/usr/bin/env python3
# scripts/upload.py
import sys
import json
import time
import hashlib

def upload_minutes(content: str) -> dict:
    """将会议纪要上传到公司内网(示例,实际替换为真实 API)"""
    # 数据校验
    if not content or len(content) < 10:
        raise ValueError("会议纪要内容不能为空")

    # 生成文档 ID
    doc_id = hashlib.md5(content.encode()).hexdigest()[:8].upper()
    timestamp = int(time.time())

    # TODO: 替换为实际的内网 API 调用
    # response = requests.post("http://intranet.company.com/api/docs", ...)

    # 模拟返回结果
    return {
        "status": "success",
        "doc_id": f"MTG-{doc_id}",
        "url": f"http://intranet.company.com/docs/MTG-{doc_id}",
        "created_at": timestamp
    }

if __name__ == "__main__":
    content = sys.argv[1] if len(sys.argv) > 1 else ""
    result = upload_minutes(content)
    print(json.dumps(result, ensure_ascii=False, indent=2))
    print(f"\n✅ 上传成功 | 文档 ID: {result['doc_id']}")
    print(f"   访问地址: {result['url']}")

十、从零实战:搭建企业级会议纪要 Skills

说了这么多理论,现在来走一遍完整的搭建流程。以"会议纪要自动生成与同步"为例,这个场景是我自己觉得最有代表性的——它同时涉及 L1/L2/L3 三层加载,还包含知识库引用和脚本调用两种机制。

10.1 第一步:建目录

在项目根目录下:

mkdir -p .codebuddy/skills/meeting-minutes/scripts
mkdir -p .codebuddy/skills/meeting-minutes/references

10.2 第二步:写 SKILL.md

参考上面的格式规范,把 L1 元数据和 L2 核心指令写好。关键点:

  • description 要精准,帮助 AI 做意图匹配
  • 条件触发语句要明确("当……时,参考……")
  • 提供清晰的输入输出示例

10.3 第三步:放知识库文档

把公司财务手册(或者任何相关的参考文档)放进 references/ 目录,命名有意义,在 SKILL.md 里精确引用:

> 当对话涉及以下关键词时触发本文档:预算、采购、报销、资金成本、审批
> 参考文件:references/finance-manual.md(公司财务手册 v2.3)

10.4 第四步:写上传脚本

把上面示例的 upload.py 放到 scripts/ 目录下,实际使用时替换成真实的内网 API 地址。

10.5 第五步:测试三个场景

场景一:基础会议总结(只触发 L1+L2)

使用会议纪要助手总结以下内容:

张三:用户模块已完成,明天提测。
李四:接口文档我来写,周五前给。
王五:测试环境的问题找运维小陈。

正常输出参会人员、议题、决策、行动项,不会触发财务手册。

场景二:涉及财务的会议(触发 L1+L2+L3知识库)

使用会议纪要助手总结以下内容:

张三:Q3 营销活动预算申请 8 万元以内。
李四:采购物料需要提前走审批流程。
王五:按公司财务规定来,没问题。

这次 AI 会发现"预算""采购""审批"这些关键词,主动读取 references/finance-manual.md,在纪要末尾生成"财务提醒"章节,引用手册里对应条款。

场景三:纪要生成后同步服务器(触发 L1+L2+L3脚本)

使用会议纪要助手总结以下会议内容,完成后上传到公司服务器:
<会议内容同上>

AI 识别到"上传"关键词,完成总结后自动调用 scripts/upload.py,返回文档 ID 和访问链接。

这三个场景,分别验证了 Skills 的三层加载机制——对于没用到的资源,一个字都不会加载到上下文里。

10.6 实战中的调试技巧

搭建 Skills 的过程不会一帆风顺,这里分享几个我自己踩坑后总结出来的调试方法。

技巧一:从 L1 开始验证。搭好目录和 SKILL.md 之后,先不用测试复杂场景,直接问 AI:"你现在有哪些技能?"看它能不能正确识别出你的 Skill,以及描述对不对。如果这一步都不对,后续加载肯定也不对,先排查 SKILL.md 的 frontmatter 格式是否有误。

技巧二:用关键词显式触发。L2 和 L3 的加载依赖意图识别,初期测试时可以在提问里加上明确的关键词,比如"请使用 meeting-minutes 技能帮我……",这样绕过意图判断,强制触发指定 Skill,更容易定位问题出在哪个层。

技巧三:观察 AI 是否读取了参考文档。L3 加载是否触发,可以从 AI 的回答里侧面判断——它在回答里有没有引用 references 里特定文档的内容?如果你的财务手册里写了"14个工作日走OA流程",而 AI 的回答里提到了这个数字,说明 L3 触发成功了;如果没有,再检查 SKILL.md 里的触发条件描述是否足够精准。

技巧四:脚本先单独测试。scripts 里的脚本在被 AI 调用之前,先在命令行里手动执行一次,确认它能正常运行、输入输出格式正确。很多时候 AI 调脚本报错,根本原因是脚本本身有 bug,跟 AI 无关。

# 手动测试上传脚本
python3 .codebuddy/skills/meeting-minutes/scripts/upload.py "这里是会议纪要测试内容"

技巧五:善用 /cost 命令追踪消耗。每次跑完一个 Skills 场景,用 /cost 看看这次对话的 Token 消耗,跟预期比对。如果消耗明显偏高,检查有没有不必要的 L3 触发,或者某个 references 文件太大需要精简。


十一、在不同工具中使用 Skills

Skills 最大的优势之一是跨平台可移植。你写好一个 Skill,可以在 CodeBuddy、Trae、Claude Code 等支持 Agent Skills 标准的工具里直接使用,效果基本一致。

11.1 在 CodeBuddy IDE 中使用

打开 CodeBuddy IDE 右上角的"设置"→"技能",可以看到两个标签:用户技能(所有项目共用)和项目技能(仅当前项目)。

方法一:直接把技能目录放到 .codebuddy/skills/ 下,IDE 会自动扫描并加载。

方法二:点击"导入技能",选择已有的技能包目录导入。

导入成功后,在对话框里直接描述需求,IDE 会自动匹配并激活对应的 Skill。也可以用 @技能名称 的方式显式召唤。

CodeBuddy 官方还提供了技能市场,里面有官方整理的常用技能,涵盖 AI 开发工具、效率提升、数据分析、内容创作等类别,可以直接下载安装:

在技能设置页面 → 浏览技能市场 → 点击"安装"

11.2 在 Trae(字节

🔒
该内容仅对更高等级社区用户开放
请谨慎解锁时效性强且发布日期较早的文章
单篇解锁后若未显示全文请刷新页面
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布0 篇
文章总数1107 篇
昨日发布1 篇
本月发布31 篇
建站时间456 天
🔍 搜索
站长微语

联系站长

QQ:2805463528
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术应用社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长QQ二维码
AI交流群
AI交流群
仍在路上

那些寒夜里追赶过的方向

那些冷眼下没放弃的理想

一篇一篇写到现在

仍在路上

"不羁放纵爱自由"

—— 致敬 Beyond
持续创作中 莫潇羽 · 无忆研习社
▲