Skip to main content

agent-definition-guide

创建、修改、删除或排查 DeterminFlow Agent Definition 时必须加载此技能;也适用于选择 agent_type、最小工具权限、Prompt 模板绑定、模型覆盖、Skill/Rule 可见分组、子会话可用性与 Workflow Agent 节点配置。

来源信息

仓库
alikon-art/DeterminFlow
最近来源活动
2026年8月9日 14:58
检测到的 SKILL.md 语言
中文
星标
875
分支
131

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
agent-definition-guide
description
创建、修改、删除或排查 DeterminFlow Agent Definition 时必须加载此技能;也适用于选择 agent_type、最小工具权限、Prompt 模板绑定、模型覆盖、Skill/Rule 可见分组、子会话可用性与 Workflow Agent 节点配置。
metadata
{"display_name":"agent-definition-guide","version":"1.0.1","author":"system","category":"general","priority":50,"workflow_only":false}
# Agent Definition 指南 ## 先区分三个概念 - Agent Definition 定义一种可复用 Agent 类型,事实源是 `config/agents_config.json`。 - Prompt Template 定义该类型使用的系统提示词 sections,事实源是 `config/prompts_config.json`。 - Workflow Agent 节点只是引用 `agent_type`,不会复制 Agent Definition。 修改 Prompt 时加载 `prompt-template-guide`;修改 Workflow 节点时加载 `workflow-guide`。 ## 修改前检查 1. 用 `list_agent_types` 或 `GET /api/agent-definitions/config` 读取当前定义。 2. 用 `GET /api/tools` 获取真实工具名,不根据文档或旧配置猜测。 3. 用 `GET /api/prompt-templates` 确认 `prompt_template` 存在。 4. 搜索 Workflow、Cron 与调用方对目标 `agent_type` 的引用,评估删除或改名影响。 5. 先决定最小职责,再分配最小工具白名单;不要从 `['*']` 开始缩减。 ## 核心字段 | 字段 | 说明 | |---|---| | `description` | 明确何时选择此类型,供主 Agent 和 UI 判断 | | `prompt_template` | `prompts_config.json` 中的模板 key | | `tools` | `null` 表示仅通信工具,`['*']` 表示全部可用工具,数组表示白名单 | | `disallowed_tools` | 在白名单基础上继续剔除 | | `model` | 可选模型覆盖;空值继承父 Agent | | `model_params` | thinking、reasoning、temperature、top_p、stream timeout 等覆盖 | | `max_turns` | 最大工具轮次,不是质量目标 | | `system_prompt_template` | 追加到基础 Prompt 的类型级指令 | | `include_skills` / `include_rules` | 是否注入运行时 Skills / Rules | | `visible_skill_group_ids` / `visible_rule_group_ids` | 限制可见资源组 | | `copy_main_workspace` | `null` 继承全局设置,布尔值显式覆盖 | | `available_for_sub_session` | 是否允许用户或主 Agent 创建该类型的子会话 | | `extension_options` | Plugin 提供的扩展配置;必须符合对应 Plugin 契约 | 所有 Sub Agent 都会先应用全局禁用列表。目前 `create_sub_session`、 `check_sub_progress` 与 `delete_session` 不会因 `tools=['*']` 而重新获得。 ## 操作面 | 操作 | API | |---|---| | 读取配置 | `GET /api/agent-definitions/config` | | 新建 | `POST /api/agent-definitions` | | 更新 | `PUT /api/agent-definitions/{agent_type}` | | 删除 | `DELETE /api/agent-definitions/{agent_type}` | | 重载 | `POST /api/agent-definitions/reload` | 优先使用 Web 或 API。只有 API 未暴露目标字段且任务明确要求修改项目配置时,才编辑 `config/agents_config.json`,随后调用 reload。不要在运行时绕过配置管理器写内存对象。 新增 API 支持 `agent_type`、`description`、`tools`、`disallowed_tools`、`model`、 `max_turns`、`system_prompt_template`、`copy_main_workspace`、`extension_options` 与 `model_params`。更新 API 还支持可见 Skill/Rule 分组和 `prompt_template`。未暴露字段需要 项目配置变更和对应测试,不能假装 API 已支持。 ## 权限设计 按照一个职责一个类型设计: 1. 列出完成职责所必需的读工具。 2. 仅在任务确实需要修改状态时加入写工具。 3. 对命令执行、外部网络、资源管理等高影响工具单独论证。 4. 用 `disallowed_tools` 表达临时或环境级额外禁用,不用它掩盖过宽白名单。 5. Workflow 节点若需要 `complete_node_task` 或 `reject_upstream`,由节点开关控制, 不把它们错误地当作普通 Agent Definition 白名单。 ## Prompt 与模型绑定 - `prompt_template` 必须存在;删除模板前先迁移全部 Agent Definition 引用。 - `system_prompt_template` 只放该 Agent 类型特有的短指令;通用结构放 Prompt Template。 - `model` 和 `model_params` 是覆盖层。没有明确原因时继承默认值,避免配置漂移。 - `model` 始终使用 `provider_id:model_name`;不要在 Agent Definition 中写 `provider_type`。Provider Adapter 会按该实例的类型领取 `model_params` 中支持的字段。 - `max_turns` 太低会截断任务,太高会放大循环成本;根据工具步骤设置并通过真实任务验证。 ## 验收清单 - reload 成功,`list_agent_types` 能看到预期定义。 - `prompt_template` 与工具名全部存在。 - 最小工具集能完成代表性任务,越权工具不可见。 - `available_for_sub_session=false` 的内部类型不会出现在可创建类型中。 - 新建子会话验证 Prompt、workspace、Skill/Rule 可见性和模型配置;已有会话不作为验证对象。 - 删除或改名后不存在 Workflow、Cron、Prompt 或测试中的悬空引用。 ## 常见错误 - `tools=[]` 与 `tools=null` 语义不同:空数组没有普通工具,`null` 保留通信工具语义。 - `tools=['*']` 仍受全局禁用列表约束。 - 只创建 Agent Definition、不创建同名 Prompt Template:使用显式已有模板即可;二者不要求同名。 - 修改配置后只看文件:必须 reload 并创建新会话验证。 - 删除内置或被引用类型:先迁移引用,再删除,最后做启动交叉校验。
在 GitHub 查看