介绍
自定义智能体 允许你为特定任务定制 Copilot 的专业知识。
当你提示 Copilot 执行任务时,如果 Copilot 确定智能体的专业知识非常适合执行该任务,则它可能会选择使用你的一个 自定义代理。
由 自定义智能体 执行的工作是使用子智能体完成的,子智能体是为完成任务而启动的临时智能体。 子代理有自己的上下文窗口,可以通过与主代理无关的信息来填充该窗口。 这样,特别是对于较大的任务,可以将部分工作卸载到 自定义代理,而不会使主智能体的上下文窗口变得混乱。 然后,主代理可以专注于更高级别的规划和协调。
有关详细信息,请参阅“关于自定义代理”。
创建 自定义智能体
每个 自定义智能体 都由一个扩展名为 .agent.md 的 Markdown 文件来定义。 可以自行创建这些文件,也可以从 CLI 中添加这些文件,如以下步骤中所述。
-
在交互模式下,输入
/agent。 -
从选项列表中选择 “创建新代理 ”。
-
你可以选择在存储库或主目录中创建 自定义智能体:
-
**项目** (`.github/agents/`) -
**用户** (`~/.config/copilot/agents/`)
注意
如果两个位置都有同名的 自定义代理,则将使用主目录中的文件,而不是使用存储库中的文件。
-
-
选择是获取 Copilot 来创建 自定义智能体 文件,还是自己创建该文件。
**选项 1:使用 Copilot**输入要创建的代理的详细信息。 描述代理的专业知识以及何时应使用代理。 Copilot 将获取你输入的描述,并用它来为你编写智能体配置文件。
例如,可以输入:
I am a security expert. I check code files thoroughly for potential security issues. Use me whenever a security review/check/audit is requested for one or more code files, or when the word "seccheck" is used in a prompt in reference to code files. I will identify potential problems, such as code that: - Exposes secrets or credentials - Allows cross-site scripting - Allows SQL injection - Contains vulnerable dependencies - Allows authentication to be bypassed If any problems are identified, create a single GitHub issue in this repository on GitHub.com with details of problems, giving full details of each issue, including, but not limited to, risk level and recommended fix.Copilot 生成完初始智能体配置文件后,会显示以下选项:
- 继续
- 查看内容
- 重试
- 退出
如果选择查看内容,则会在默认编辑器中打开代理文件。 在 CLI 中继续执行代理创建过程之前,可以根据需要查看和进行更改。
若要完成创建过程,请选择 “继续”。
**选项 2:手动创建代理配置文件**选择自行创建代理文件时,将引导你完成一系列提示,以填写创建代理配置文件所需的信息。
-
输入代理的名称。 输入的名称是列出可用代理时显示的名称。 此版本的版本将用作代理文件的名称,例如,如果输入“安全专家”,代理文件将命名
security-expert.agent.md。提示
为方便以编程方式使用 自定义智能体,建议选择一个仅包含小写字母和连字符的名称。
-
输入说明,说明此代理具有哪些专业知识,以及何时应使用它。
-
输入代理的操作说明,包括任何特定的准则、应执行的操作或应遵循的约束。
-
选择 自定义智能体 应有权访问的工具。
默认情况下,自定义代理 有权访问所有工具。 如果限制代理的访问,代理文件中将添加一个
tools规范。 -
重启 CLI 以加载新的 自定义智能体。
使用 自定义智能体
可以通过以下方法使用 自定义智能体:
-
**斜杠命令**在交互模式下输入
/agent,然后从可用的 自定义代理 列表中进行选择。 然后输入一个提示,将其传递给所选代理。注意
此列表中不包括 CLI 的默认代理。 有关默认代理的详细信息,请参阅 使用 GitHub Copilot CLI。
-
**显式指令**告诉 Copilot 使用特定智能体。 例如:
Use the security-auditor agent on all files in the /src/app directory -
**按推理**使用提示符根据智能体文件中的描述触发特定智能体的使用。 例如:
Check all TypeScript files in or under the src directory for potential security problems或 (其中“seccheck”定义为代理配置文件中的触发词):
seccheck /src/app/validator.goCopilot 将自动推断要使用的智能体。
-
**通过编程**与命令行选项一起指定你要使用的 自定义智能体。 例如:
copilot --agent security-auditor --prompt "Check /src/app/validator.go"其中
security-auditor是 自定义智能体 配置文件的文件名,但没有.agent.md扩展名。 通常(但不一定)这与name代理配置文件中的值相同。
延伸阅读
-
[AUTOTITLE](/copilot/concepts/agents/copilot-cli/comparing-cli-features) -
[AUTOTITLE](/copilot/reference/custom-agents-configuration) -
[AUTOTITLE](/copilot/tutorials/customization-library/custom-agents) — 精选的示例集合