我今天想刷新一下 Datasette 权限系统如何工作的知识。我已经有大量的手写文档,但我认为看看我是否可以从针对代码库运行 LLM 中获得任何见解会很有趣。
o3-mini 的输入限制为 200,000 个代币。我使用LLM和我的files-to-prompt工具生成如下文档:
cd /tmp git 克隆 https://github.com/simonw/datasette CD数据集 要提示的文件 datasette -e py -c | \ llm -m o3-mini -s \ '编写有关权限系统如何工作的大量文档,如 markdown '
files-to-prompt
命令被提供给datasette子目录,该子目录仅包含应用程序的源代码 – 省略测试(在tests/
中)和文档(在docs/
中)。
-e py
选项使其仅包含扩展名为.py
的文件 – 跳过该层次结构中的所有 HTML 和 JavaScript 文件。
-c
选项使其输出 Claude 的 XML-ish 格式 – 这种格式也适用于其他法学硕士。
您可以在此 Gist 中查看该命令的输出。
然后我将该结果输入 LLM,请求o3-mini
OpenAI 模型并传递以下系统提示符:
write extensive documentation for how the permissions system works, as markdown
具体要求 Markdown很重要。
该提示使用了 99,348 个输入标记并产生了 3,118 个输出标记(其中 320 个是不可见的推理标记)。成本为 12.3 美分。
老实说,结果非常棒。我必须仔细检查我是否无意中错误地输入了文档。
(该模型可能会在其训练集中获取有关 Datasette 的附加信息,但我已经从其他较新的库中看到了类似的高质量结果,因此我认为这不是一个重要因素。)
在这种情况下,我已经有了自己的大量书面文档,但这仍然是一个有用的复习,可以帮助确认代码是否符合我对一切工作方式的心理模型。
作为一个类别的项目内部文档因过时而臭名昭著。拥有这样的技巧可以在短短几秒钟内以几美分的成本从现有代码库中获取可用的工作原理文档,这是非常有价值的。
标签: llm 、 openai 、 o3 、 ai 、 llms 、 datasette 、生成式人工智能、文档、人工智能辅助编程