智能体
智能体(Agent)是面向多样化开发场景的编程助手。码道CLI内置了多款开箱即用的智能体,这些智能体无需手动创建,即拿即用,旨在为多种开发场景提供高效的编程辅助。除了内置智能体,还支持自定义智能体功能。
内置智能体
内置智能体分为主智能体和子智能体。主智能体是您直接交互的主要助手,可以使用Tab键来循环切换,这些主智能体处理您的主要对话。子代理是主代理可以调用来执行特定任务的专业助手,可以通过在消息中@子智能体来手动调用。
| 分类 | 创建者 | 说明 |
|---|---|---|
| 主智能体 | 系统内置 | 码道CLI内置了两个核心主智能体Build和Plan,分别承担开发与规划职责。 |
| 子智能体 | 系统内置 | 子智能体是主智能体可以调用来执行特定任务的专业助手,您可以通过在消息中@子智能体来手动调用。 说明: 您可以通过如下命令,查看系统内置的子智能体:
|
自定义智能体
除了系统内置的智能体外,码道CLI还支持自定义智能体功能。存在同名的项目级和个人级智能体时,项目级智能体优先级高于个人级智能体。
| 分类 | 作用域 | 说明 |
|---|---|---|
| 自定义主智能体 自定义子智能体 | 项目级 | 仅针对当前项目的智能体,随代码库分发,存于本地。 存储位置:项目根目录/.codeartsdoer/agents |
| 个人级 | 个人习惯或特定偏好的智能体,仅对本用户下的所有项目生效。 存储位置:~/.codeartsdoer/agents “~”表示当前用户的主目录,Windows下等同于“C:\Users\用户名\”,macOS下等同于“/Users/用户名/”,Linux下等同于/home/用户名/ |
通过Markdown文件创建智能体
码道CLI支持通过新建Markdown文件,配置本地项目级或本地个人级智能体。存在同名的项目级和个人级智能体时,项目级智能体优先级高于个人级智能体。
自定义智能体文件格式
自定义智能体采用Markdown文件格式编写,文件头部配置YAML Frontmatter元信息,主体承载提示词角色指令。
--- description: Agent desc # 智能体功能描述 mode: subagent # 智能体描述信息 model: provider/model #如果参照此格式配置模型,将覆盖默认模型 tools: # 工具权限配置 tool1: true # 允许使用tool1 tool2: false # 禁止使用tool2 --- # 提示词 这里是智能体的系统提示词内容
上述自定义智能体各参数填写规范如下表所示:
| 参数 | 是否必选 | 参数类型 | 默认值 | 描述 |
|---|---|---|---|---|
| description | 是 | 字符串 | 不涉及 | 自定义智能体的描述。 |
| mode | 是 | 字符串 | subagent | 设置智能体的角色。
|
| model | 否 | 字符串 | 不涉及 | 格式为:provider/model |
| tools | 否 | 不涉及 | 控制智能体可使用的工具权限,码道CLI支持的工具如表5,您也可以使用“*”匹配所有工具。 示例: tools: "*":false #表示禁止所有工具 | |
| hidden | 否 | 布尔值 | 不涉及 | 可见性控制。 设为“true”时,从@自动补全菜单中隐藏。适用于仅供编程调用的内部代理。 |
| disable | 否 | 布尔值 | 不涉及 | 开关控制。
|
| 提示词 | 是 | 字符串 | 不涉及 | 自定义智能体的系统提示词。 |
自定义智能体示例
本示例以Windows系统下配置个人级子智能体为例。
- 进入“~/.codeartsdoer/agents”目录下,创建“test.md”文件,写入如下内容。 “~”表示当前用户的主目录,Windows下等同于“C:\Users\用户名\”,macOS下等同于“/Users/用户名/”,Linux下等同于/home/用户名/
--- # ========== 必填项 ========== description: 智能体的功能及使用场景描述(必填,主智能体据此判断调用时机) mode: subagent # 枚举值:subagent子智能体 / primary主智能体 / all两者通用 # ========== 模型配置 ========== model: provider/model-id # 自定义模型,格式规范:provider/model-id,执行“/models”可查看支持的模型 # ========== 行为控制 ========== hidden: false # true:隐藏@联想菜单,仅程序内部调用 disable: false # true:停用当前代理 # ========== 工具权限 ========== tools: write: false # 文件写入权限 edit: false # 文件编辑权限 bash: false # 系统命令执行权限 read: false # 文件读取权限 # 系统提示词(支持多行Markdown格式) 你是一名资深代码审查专家。请重点关注: -代码质量与最佳实践 -潜在Bug和边界情况 -性能影响 -安全隐患 提供建设性反馈,不要直接修改代码。
- 配置后,进入任意代码项目下,执行如下命令。
@test 分析代码
下发命令后,AI会指定自定义子智能体进行代码分析。
图1 调用test子智能体分析代码