AI 问答优化
在使用 AI 助手(如 Claude Code、ChatGPT、Cursor 等)提问关于 xmake 的问题时,通过一些技巧可以帮助 AI 更好地理解上下文,提供更准确、更高质量的回答。
使用 Xmake Agent Skills(推荐)
对于支持 Agent Skills 的 AI 编程助手(例如 Claude Code),最省心的方式是直接安装 xmake-skills。
它提供了一套按任务组织的 skill 集合,覆盖工程配置、工具链、交叉编译、包管理、测试、打包、脚本扩展、性能优化、故障排查,以及各语言(Rust、Go、Swift、CUDA、Objective-C、D、Fortran 等)的支持。
安装
Claude Code 中直接从 GitHub 安装:
claude plugins install xmake-io/xmake-skills或者先添加为插件市场,再安装:
# 在 Claude Code 交互会话中执行
/plugin marketplace add xmake-io/xmake-skills
/plugin install xmake-skills其他 Agent 平台可以手动克隆仓库,然后参考对应平台的文档,将 skills/ 目录中的 skill 安装启用:
git clone https://github.com/xmake-io/xmake-skills.git为什么推荐这种方式
- 按需加载,节省 token:所有 skill 的触发描述加起来只有约 4k tokens,始终常驻上下文,而 skill 的完整内容只有在任务匹配时才会被加载。相比之下,
llms-full.txt整个文档接近 150 万 token,塞进对话不仅装不下,还会挤掉真正重要的上下文。 - 基于 xmake 的真实行为编写:每个 skill 都描述了 何时 应被加载,这样 AI 助手能自动拉取与当前任务相关的文档,避免编造 API 或使用过时的参数。
- 无需每次粘贴提示词:安装一次之后,正常提问即可,助手会自己决定加载哪些文档。
在终端里使用 xmake ai
xmake-harness 是一个完全用 xmake lua 编写的 Agent 框架。 以 addon 的方式安装后,它提供 xmake ai —— 一个就在你工程里、并且会构建这个工程的终端编码助手。
xmake addon --install xmake-harness
xmake ai --setup # 选服务商、填 api key、选模型
xmake ai # 交互式界面
xmake ai --print "这个工程构建出什么?" # 非交互模式,适合脚本和 CI因为它本身就是 xmake addon,所以可以直接执行构建、读取工程配置,也能加载和 Claude Code 相同的 xmake-skills:
/skills install xmake提示
配置分层、支持的服务商、权限模式、斜杠命令(/xmake、/skills、/context 等)以及 skill 管理, 详见 xmake-harness。
让 AI 按需查阅文档
如果你使用的是普通对话式 AI 助手(不支持 Agent Skills),但它具备联网抓取能力,推荐让它按需检索文档,而不是一次性读取完整文档:
- 文档索引:https://xmake.io/llms.txt —— 包含所有文档页面的标题和链接
- 每个文档页面都有对应的 Markdown 原文,只需在页面路径后加上
.md,例如 https://xmake.io/zh/guide/basic-commands/build-targets.md
对应的提示词:
请基于 xmake 官方文档回答,不要凭记忆猜测 API:
1. 先获取文档索引 https://xmake.io/llms.txt
2. 从中挑选 1~3 个最相关的页面,抓取其 Markdown 原文
3. 只依据文档内容作答,文档中没有说明的地方请直接指出
我的问题:如何配置一个使用 C++20 模块的目标?关于 llms-full.txt
https://xmake.io/llms-full.txt 包含了全部文档的完整内容,接近 5 MB、约 150 万 token。它更适合用于离线索引、RAG 构建等场景,不建议直接在对话中让 AI 读取,否则会大量消耗 token,也容易导致 AI 抓不住重点。
提供完整的上下文信息
在提问时,尽量提供完整的上下文信息,包括:
- 项目类型:是 C/C++ 项目、Swift 项目还是其他语言
- 目标平台:Windows、Linux、macOS、Android、iOS 等
- 编译器:使用的工具链(gcc、clang、msvc 等)
- 具体需求:想要实现什么功能或解决什么问题
- 错误信息:如果遇到问题,提供完整的错误信息
示例:
项目类型:C++ 项目
平台:Linux
编译器:gcc-12
问题:我想在 xmake.lua 中配置一个使用 C++20 模块的目标,但不知道如何设置。
当前的 xmake.lua 内容:
[粘贴你的 xmake.lua 内容]引用具体的 API 文档
如果问题涉及特定的 API,可以直接给出对应文档页面的链接,这比让 AI 自己去翻找更精准:
请参考 https://xmake.io/zh/api/description/project-target.md,帮我配置:
1. 如何设置目标的编译模式(debug/release)
2. 如何添加预编译头文件支持提供代码示例
在提问时,如果可能,提供你当前的代码或配置:
帮我优化以下 xmake.lua 配置:
target("mytarget")
set_kind("binary")
add_files("src/*.cpp")
我想添加以下功能:
- 启用 C++20 标准
- 添加预编译头文件
- 配置 debug 和 release 模式的不同优化选项明确问题类型
在提问时,明确说明问题的类型:
- 配置问题:如何配置某个功能
- 编译问题:编译时遇到的错误
- 性能问题:构建速度优化
- 最佳实践:如何更好地使用某个特性
示例:
这是一个配置问题:
我想在 xmake 中配置 CUDA 项目的编译,需要:
1. 指定 CUDA SDK 版本
2. 设置 GPU 架构
3. 配置编译选项分步骤提问
对于复杂的问题,可以分步骤提问:
请分步骤帮我配置:
第一步:如何创建一个基本的 C++ 目标
第二步:如何添加依赖包
第三步:如何配置交叉编译验证回答的准确性
AI 的回答可能不完全准确,建议:
示例:完整的提问模板
请基于 xmake 官方文档回答,不要凭记忆猜测 API:
先获取文档索引 https://xmake.io/llms.txt,从中挑选最相关的页面抓取其 Markdown 原文后再作答。
项目信息:
- 类型:C++ 项目
- 平台:Linux
- 编译器:clang-15
- 标准:C++20
当前问题:
我想配置一个使用 C++20 模块的目标,但遇到了编译错误。
当前配置:
target("mymodule")
set_kind("binary")
set_languages("c++20")
add_files("src/*.cpp")
错误信息:
[粘贴错误信息]
请帮我:
1. 分析问题原因
2. 提供正确的配置方法
3. 给出完整的示例代码通过以上方式,可以帮助 AI 更好地理解你的需求,提供更准确、更有用的回答。