SDK AI 辅助开发
本文档介绍如何使用 AI Agent 辅助工具进行 Tina Linux SDK 开发、配置和问题排查。
核心能力概览
V861 SDK 部署了完整的 AI 辅助开发能力,远超传统的问答式 AI 工具:
- 丰富的 Skills 知识库:涵盖 SDK 构建、设备配置、BSP 驱动、RTOS、多媒体等全栈技术领域
- 方便的 MCP 配置服务:支持多种 AI Agent(Claude Code、Cursor、Cline 等)快速接入
- quick_config 配置联动:AI 可直接调用 MCP 工具执行工具链切换、架构切换等配置操作
- 强大的配置执行能力:支持内核配置、设备树修改、板级配置、环境变量管理等大量配置操 作
SDK AI 联动模块架构:
┌────────────────────────────────────────────────────────────────────┐
│ AI Agent Layer │
│ Claude Code │ Cursor │ Cline │ MCP Compatible Agents │
└───────────────────────────────┬────────────────────────────────────┘
│ MCP Protocol / AGENT.md
┌───────────────────────────────┴────────────────────────────────────┐
│ SDK AI Integration Layer │
│ ┌───────────── ────────────┐ ┌─────────────────────────────────┐ │
│ │ Skills Knowledge Base │ │ MCP Tools Suite │ │
│ │ - SDK Build Skills │ │ - SDK MCP Config Tool │ │
│ │ - Device Config │ │ - File Operations │ │
│ │ - BSP Driver Skills │ │ - Shell Execution │ │
│ │ - RTOS/MPP Skills │ │ - Code Search │ │
│ │ - Other Skills │ │ - SDK info MCP Server │ │
│ └─────────────────────────┘ └─────────────────────────────────┘ │
└───────────────────────────────┬────────────────────────────────────┘
│
┌───────────────────────────────┴────────────────────────────────────┐
│ SDK Configuration Layer │
│ Kernel Config │ Device Tree │ U-Boot │ BoardConfig │ OpenWRT │
└───────────────────────────────┬────────────────────────────────────┘
│
┌───────────────────────────────┴────────────────────────────────────┐
│ Build & Output Layer │
│ Kernel Image │ Rootfs │ Firmware Image │
└────────────────────────────────────────────────────────────────────┘
支持的 AI Agent
| Agent | 说明 | 特点 |
|---|---|---|
| Claude Code | Anthropic 官方 CLI Agent | 原生支持 Skills,MCP |
| OpenCode | 开源 CLI Agent | 原生支持 Skills,MCP |
| Codex | OpenAI 官方 CLI Agent | 原生支持 Skills,MCP |
| Cursor | AI 代码编辑器 | 支持 MCP 协议,可接入 Skills |
| Cline | VSCode AI 插件 | 支持自定义指令,兼容 Skills |
| 其他 MCP 兼容 Agent | 支持 MCP 协议的任意 Agent | 可通过 MCP Server 接入 |
AI 开发能力矩阵
| 能力类别 | 具体功能 | 说明 |
|---|---|---|
| 代码编译 | 执行构建命令 | AI 可以直接执行 m -j8、mkernel、pack 等编译命令 |
| 代码编写 | 编写/修改代码 | AI 可以直接编辑源文件、设备树、配置文件等 |
| 应用设计 | 设计应用架构 | 帮助设计应用程序结构、驱动框架、系统集成方案 |
| 问题诊断 | 分析日志/崩溃 | 智能分析串口日志、kernel panic、coredump 等 |
| 配置管理 | 修改配置文件 | 自动修改 Makefile、Kconfig、设备树等 |
Skills 知识库
SDK 内置了丰富的 Skills 知识库,为 AI Agent 提供专业的技术支撑:
| 类别 | 覆盖领域 |
|---|---|
| SDK 构建 | 编译命令、快速配置、环境管理 |
| 设备配置 | 设备树、GPIO、引脚复用 |
| BSP 驱动 | UART、SPI、I2C、网络、存储、多媒体 |
| RTOS | Melis 调试、驱动移植、编译系统 |
| 多媒体 | MPP 框架、摄像头、编码器 |
| ······ | ······ |
关键特性:
- 可执行命令:AI 不仅能给出建议,还能直接执行 shell 命令、编译代码
- 文件操作:支持读取、创建、编辑项目中的任意文件
- 多文件协作:可以同时操作多个相关文件,保持代码一致性
- 上下文理解:理解整个 SDK 的目录结构、构建系统、代码风格
- Skills 增强:通过 Skills 知识库,AI 获得专业的 SDK 开发能力
什么 是 AI SDK
Tina Linux AI SDK 是将 AI 辅助开发能力集成到 Tina Linux SDK 中的完整解决方案。通过 AI Agent 工具,开发者可以:
- 智能问答:询问 SDK 使用方法、配置选项、驱动接口等
- 代码分析:理解复杂驱动代码、内核配置、设备树结构
- 问题诊断:分析串口日志、崩溃信息、编译错误
- 配置指导:获取设备树、内核配置、板级配置的正确写法
- 代码生成:自动生成驱动代码、应用框架、配置文件
系统架构
Tina Linux SDK
├── AGENT.md # SDK 全局指令(构建命令、目录结构等)
├── skills/ # Skills 技能文档库(支持多 Agent)
│ ├── sdk/ # SDK 构建和配置技能
│ ├── device/ # 芯片和设备配置技能
│ ├── bsp/ # BSP 驱动开发技能
│ ├── melis/ # Melis RTOS 技能
│ ├── eyesee-mpp/ # 多媒体中间件技能
│ └── docs/ # 文档工具技能
├── .cursor/ # Cursor 配置目录(可选)
├── .vscode/ # VSCode/Cline 配置(可选)
└── docs/ # 文档目录
.... # SDK 其余文件
工作原理
- AGENT.md 提供全局上下文,定义 SDK 基本命令和结构
- Skills 系统 提供专项技术文档,AI Agent 根据指令检索相关技能
- Memory 系统 保存用户偏好和历史经验,持续学习改进
- 多 Agent 支持 通过标准化接口(AGENT.md、MCP)支持多种 AI Agent
Skills 系统介绍
目录结构
skills/
├── README.md # Skills 主索引相关 SKills
├── sdk/ # SDK 构建与配置相关 SKills
├── device/ # 芯片设备配置相关 SKills
│ └── v861/
│ ├── dts/ # 设备树配置相关 SKills
│ ├── gpio/ # GPIO 引脚配置相关 SKills
│ ... # 其他设备相关 Skills
├── bsp/ # BSP 驱动开发相关 SKills
│ ├── bsp_intro/ # BSP 介绍相关 SKills
│ ... # 其他 BSP 相关 Skills
├── melis/ # Melis RTOS 相关 SKills
└── eyesee-mpp/ # 多媒体中间件相关 SKills
└── middleware/ # MPP 组件技能相关 SKills
SKILL.md 文件格式
每个 Skill 使用 YAML front matter 格式:
---
name: skill-name
description: 简短描述该技能的用途和使用场景
---
# 技能标题
详细的技术文档内容...
## 源码位置
## 配置方法
## 使用示例
## 调试方法
## 相关文件
关键元素:
name: 技能唯一标识符description: 用于 AI 自动匹配用户问题
Skills 使用方式
为了兼容多个 AI 平台,默认提供的Skills 不会自动被触发。SKILL.md 文件是普通 Markdown 文档,在使用的时候 Agent 不会自动扫描或匹配它们。要让 Agent 使用 Skills,需要在 AGENT.md 中添加明确的检索指令。
配置方法
在 AGENT.md 中添加 Skills 检索指令:
## Skills System
**IMPORTANT: You MUST proactively search and read relevant skills when handling user requests.**
········
为什么需要这样配置?
- 没有自动索引机制 - YAML front matter 中的
description只是文档内容,不会被自动匹配 - 需要显式指令 - Agent 必须被告知去搜索 skills 目录
- 上下文限制 - 无法将所有 skills 加载到上下文中,需要按需检索
检索流程
用户问题: "如何配置 UART1?"
↓
Agent 根据 AGENT.md 指令执行:
↓
Glob skills/**/SKILL.md (找到所有 skills)
↓
Grep "uart" skills/ (搜索关键词)
↓
Read skills/bsp/drivers/uart/SKILL.md (读取相关 skill)
↓
基于 skill 内容回答用户
基本使用流程
1. 询问构建相关问题
用户: 如何编译整个 SDK?

2. 询问驱动配置问题
用户: 如何配置 UART1 串口?
