有人用过 Skill_Seekers 吗? 我自己捣鼓了一下发现这个东西根本没有任何用处啊?使用使用姿势不对吗?有用过觉得好用的人吗?
https://github.com/yusufkaraaslan/Skill_Seekers
比如我用 trae 写 python,加入 Skill_Seekers 用什么好处吗?
比如用 ai+python+peewee 的时候,对 peewee 的幻觉很严重,怎么用 Skill_Seekers 解决对 peewee 这个包的幻觉?
有人用过 Skill_Seekers 吗? 我自己捣鼓了一下发现这个东西根本没有任何用处啊?使用使用姿势不对吗?有用过觉得好用的人吗?
https://github.com/yusufkaraaslan/Skill_Seekers
比如我用 trae 写 python,加入 Skill_Seekers 用什么好处吗?
比如用 ai+python+peewee 的时候,对 peewee 的幻觉很严重,怎么用 Skill_Seekers 解决对 peewee 这个包的幻觉?
根据你的问题,我将分两部分解答:Skill_Seekers 与 trae 的结合方式,以及如何用 Skill_Seekers 解决 peewee 的幻觉问题。
核心思路:
Skill_Seekers 是一个文档检索与代码上下文增强工具(类似私有化的小型 Copilot),而 trae 是代码生成/补全工具。结合后,Skill_Seekers 为 trae 提供实时、准确的库文档支持,减少幻觉。
具体步骤:
配置 Skill_Seekers:
# 安装 Skill_Seekers
pip install skill-seekers
# 为 peewee 生成技能库(从文档/源码提取)
skill_seekers index --library peewee --source "peewee_docs_or_source_path"这会生成一个 peewee_skills.json 文件,包含所有 API 的签名、参数和示例。
集成到 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)create_table() 这种不存在的方法)。问题根源:
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])关键优势:
peewee.Model 继承、事务处理等易错点优先索引官方文档:
skill_seekers index --library peewee --url "http://docs.peewee-orm.com/en/latest/"比从源码提取更准确(peewee 的文档质量较高)。
在 AI 提示中强制约束:
prompt = """
[Skill_Seekers 约束:只允许使用以下 peewee API]
{peewee_skills}
生成代码...
"""常见幻觉场景:
Model.create_table() → ✅ db.create_tables([Model])model.save(update=True) → ✅ model.save().where().order_by().limit()(正确,但参数易错)建议尝试:
用官方示例测试工作流:
from skill_seekers import SkillQuery
print(SkillQuery("peewee").search("Model.select"))
# 应返回 select 方法的真实参数和示例11 回答1.3k 阅读
3 回答965 阅读✓ 已解决
2 回答961 阅读✓ 已解决
3 回答950 阅读✓ 已解决
2 回答649 阅读
3 回答973 阅读
3 回答971 阅读
首先得看Trae是不是支持了Skills功能。 我看最新的更新是说支持了 skills,但是不知道 skill-seekers 对应生成的Skills的目录在哪里是不是能被读取到。

按照现在的情况,每一家都是以自己的模型名称作为第一级目录名的,比如说
.claude/skill-name/SKILL.md和.cursor/skill-name/SKILL.md,并不一定是通用的。可以看一下规则和技能面板中,是否读取到了生成的SKILL。然后通过LLM分析生成出来的SKILL也并不一定好用,一般是用于“经验”类型的知识库。所以按照你说的幻觉问题,其实可能考虑把 peewee 的 README 或者文档库使用 文档集 这个功能导入进来,在需要的时候告知AI会更合适一些?