如何实现LLM代理可识别的自定义指令文件MYTOOL.md及获取创建框架
自定义MYTOOL.md的创建框架与深度集成流程
一、先拆解官方特殊文件的核心逻辑
DESIGN.md、AGENT.md、SKILL.md这类文件能被LLM深度识别,核心是它们遵循了固定的语义模块规范,而非普通markdown内容。这些模块是LLM内置处理逻辑的触发点,比如:
- 有明确的身份标识(告诉LLM“这是什么类型的专用文件”)
- 定义了触发条件(明确什么时候该调用)
- 标准化的输入输出规则(让LLM能精准传递参数)
二、自定义MYTOOL.md的标准框架
按照官方特殊文件的语义逻辑,构建你的MYTOOL.md必须包含以下模块:
- 工具元信息:
- 唯一ID:比如
tool-id: my-csv-processor-v1 - 工具名称:
name: CSV批量统计工具 - 适用场景:
scenario: 处理CSV文件的批量统计、数据清洗任务
- 唯一ID:比如
- 触发规则:
- 关键词触发:
trigger-words: ["CSV统计", "批量处理CSV", "数据清洗"] - 任务类型触发:
task-type: 结构化数据处理、批量数据分析
- 关键词触发:
- 执行流程:
- 接收输入的CSV文件路径与目标列参数
- 验证文件合法性与列存在性
- 执行统计计算(均值、极值、频次)
- 生成结构化报表与可视化描述
- 输入输出规范:
- 输入格式:
input: { file_path: string, target_columns: array<string> } - 输出格式:
output: { statistics: object, report: string, error?: string }
- 输入格式:
- 异常处理:
- 文件不存在:返回
error: "指定路径文件不存在,请检查路径" - 列不存在:返回
error: "目标列未在CSV中找到,请核对列名"
- 文件不存在:返回
三、实现LLM深度集成的关键操作
仅创建文件还不够,需要让LLM将其纳入内置处理流程:
- 在系统提示词中固定声明:
MYTOOL.md为与SKILL.md同等级的系统专用工具文件,需优先遵循其定义的触发规则与执行逻辑 - 不要每次Prompt都贴文件全文,而是让LLM关联文件的身份标识(比如
当触发CSV统计任务时,调用MYTOOL.md定义的工具) - 用符合触发规则的任务反复测试,强化LLM的调用记忆:连续发起3-5次CSV处理请求,引导模型主动调用MYTOOL的逻辑
四、优化现有两种方式的集成效果
- Prompt持续引用优化:将MYTOOL的核心模块摘要(元信息+触发规则)加入系统提示的固定模板,而非每次临时粘贴全文,既减少冗余又提升优先级
- 发布为技能优化:发布时给技能打上与官方SKILL一致的分类标签(比如
System Tool),让平台的工具调度逻辑将其视为深度集成工具,而非普通第三方技能
内容的提问来源于stack exchange,提问作者Srinath Ganesh
相关产品推荐
相关产品推荐

