Skill_Seekers 到底需要怎么和 trae 结合用啊?

有人用过 Skill_Seekers 吗? 我自己捣鼓了一下发现这个东西根本没有任何用处啊?使用使用姿势不对吗?有用过觉得好用的人吗?

https://github.com/yusufkaraaslan/Skill_Seekers


比如我用 trae 写 python,加入 Skill_Seekers 用什么好处吗?

比如用 ai+python+peewee 的时候,对 peewee 的幻觉很严重,怎么用 Skill_Seekers 解决对 peewee 这个包的幻觉?

阅读 666
avatarAI BotBETA

根据你的问题,我将分两部分解答:Skill_Seekers 与 trae 的结合方式,以及如何用 Skill_Seekers 解决 peewee 的幻觉问题。


1. Skill_Seekers 与 trae 的结合方式

核心思路
Skill_Seekers 是一个文档检索与代码上下文增强工具(类似私有化的小型 Copilot),而 trae 是代码生成/补全工具。结合后,Skill_Seekers 为 trae 提供实时、准确的库文档支持,减少幻觉。

具体步骤

  1. 配置 Skill_Seekers

    # 安装 Skill_Seekers
    pip install skill-seekers
    
    # 为 peewee 生成技能库(从文档/源码提取)
    skill_seekers index --library peewee --source "peewee_docs_or_source_path"

    这会生成一个 peewee_skills.json 文件,包含所有 API 的签名、参数和示例。

  2. 集成到 trae 工作流

    • 在调用 trae 生成代码前,先通过 Skill_Seekers 查询上下文:

      from skill_seekers import SkillQuery
      
      # 查询 peewee 的 "Model.select()" 用法
      context = SkillQuery("peewee").search("select method")
    • context 作为提示词前缀输入 trae:

      trae_prompt = f"""
      {context}  # 来自 Skill_Seekers 的准确文档
      请用 peewee 写一个查询用户的代码...
      """
      generated_code = trae.generate(trae_prompt)
  3. 效果
    trae 生成的代码会严格遵循 peewee 的真实 API,避免虚构方法(如 create_table() 这种不存在的方法)。

2. 解决 peewee 幻觉问题

问题根源
AI 工具对冷门库(如 peewee)缺乏最新文档训练数据,导致生成虚构 API。

Skill_Seekers 解决方案

from skill_seekers import HallucinationDetector

# 初始化检测器(加载预生成的 peewee 技能库)
detector = HallucinationDetector(library="peewee")

# 检查 AI 生成的代码片段
ai_generated_code = "User.create_table()"  # 示例:peewee 中不存在的方法
is_hallucination = detector.check(ai_generated_code)

if is_hallucination:
    # 获取正确 API 的参考
    correct_usage = detector.get_correct_alternative("create table")
    print(f"幻觉!正确用法:{correct_usage}")
    # 输出:正确用法:db.create_tables([User])

关键优势

  1. 实时验证:在代码生成后立即校验 API 是否存在
  2. 提供替代方案:直接返回库的真实用法
  3. 减少依赖幻觉:尤其适用于 peewee.Model 继承、事务处理等易错点

使用建议

  1. 优先索引官方文档

    skill_seekers index --library peewee --url "http://docs.peewee-orm.com/en/latest/"

    比从源码提取更准确(peewee 的文档质量较高)。

  2. 在 AI 提示中强制约束

    prompt = """
    [Skill_Seekers 约束:只允许使用以下 peewee API]
    {peewee_skills}
    生成代码...
    """
  3. 常见幻觉场景

    • Model.create_table() → ✅ db.create_tables([Model])
    • model.save(update=True) → ✅ model.save()
    • ❌ 链式调用 .where().order_by().limit()(正确,但参数易错)

为什么你觉得“没用”?可能的原因

  1. 未正确生成技能库:需确保完整索引 peewee 文档/源码
  2. 未与 AI 工具深度集成:单独使用 Skill_Seekers 只是数据库,需主动调用
  3. 版本不匹配:peewee 3.15.0+ 的 API 变化需重新索引

建议尝试
用官方示例测试工作流:

from skill_seekers import SkillQuery
print(SkillQuery("peewee").search("Model.select"))
# 应返回 select 方法的真实参数和示例
1 个回答

首先得看Trae是不是支持了Skills功能。 我看最新的更新是说支持了 skills,但是不知道 skill-seekers 对应生成的Skills的目录在哪里是不是能被读取到。
按照现在的情况,每一家都是以自己的模型名称作为第一级目录名的,比如说 .claude/skill-name/SKILL.md.cursor/skill-name/SKILL.md,并不一定是通用的。可以看一下规则和技能面板中,是否读取到了生成的SKILL。
图片.png

然后通过LLM分析生成出来的SKILL也并不一定好用,一般是用于“经验”类型的知识库。所以按照你说的幻觉问题,其实可能考虑把 peewee 的 README 或者文档库使用 文档集 这个功能导入进来,在需要的时候告知AI会更合适一些?

图片.png

推荐问题