V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
aryu
V2EX  ›  分享创造

OpenAPI -> Skills 转化器,让 Agent 按需精准读取 API 文档

  •  
  •   aryu ·
    Yuyz0112 · 1 月 31 日 · 859 次点击

    之前尝试过各种方法让 Agent 可以更可靠地读取 API 文档,不论是基于它开发客户端代码、做集成测试还是自动化。但复杂一些的 API 文档就会遇到超出上下文大小,即使不超出,也非常浪费上下文空间、多轮对话之后模型就又幻觉了。

    最近又想做个公司产品 API 的 code helper ,但是产品的 API 文档的 OpenAPI JSON 接近 10MB ,又遇到上面的问题。陆续尝试过几种切分的方法,部分奏效,但是复杂度挺高,维护成本也高。

    前几天突然想到 Skills 最擅长按需加载,就做了一个 CLI ,把 OpenAPI 文档转为 Skills 结构,核心是按 API 语义的拆分 + link ,实现按需加载,实际使用效果惊人,顺便加了点模版定制功能,更好用了。

    原本单个 10MB API 文档,拆完之后是 2000+ 小的 md 文件,但是对于具体的 API 任务请求(比如写个 xx 场景运维脚本),Agent 都可以精准地读取所需的片段,探索性特别好,对单个资源的操作需求一般读 5 个片段就能准确写出了,最关键是没幻觉。

    代码开源在这:

    https://github.com/neutree-ai/openapi-to-skills

    感兴趣的小伙伴可以试用一下给点反馈,我也在把更多常用 API 转 skills 。

    5 条回复    2026-02-01 11:41:55 +08:00
    yzld2002
        1
    yzld2002  
       1 月 31 日
    已 start ,拆成小 MD 听上去是个很棒的思路!
    zisen
        2
    zisen  
       1 月 31 日
    api 索引占用多少 tokens
    aryu
        3
    aryu  
    OP
       1 月 31 日
    @zisen 挺少的,SKILL.md 相当于是最上层的索引,里面只提示 resources 、operations 、schemas 三大类的入口位置,Agent 自行去进一步查询。

    而且查询的时候有 grep 之类的方法,可以只获取一部分。
    goinghugh
        4
    goinghugh  
       4 天前
    已 star ,这个思路可以。
    业务上做 agent 也需要类似的能力。几千个 swagger 接口,全通过 MCP 提供效果也不好,尤其是有些接口的作用差不多的时候。用这个思路,貌似不需要 MCP 了
    aryu
        5
    aryu  
    OP
       4 天前
    @goinghugh MCP 毕竟有 runtime 开发工作量,当然能提供的能力也更多。但是如果仅仅是要把 API 变为 tools ,这个思路我觉得泛化性更好,而且搜索的过程比把上千个 tools 提供给 LLM 一次性决策也更稳定高效。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    ♥ Do have faith in what you're doing.