Показать HN: Triieve CLI – цикл агента LLM на базе терминала с инструментом поиска для PDF-файлов ( github.com/devflowinc ) Привет, HN,
Я создал CLI для загрузки документов и запроса их с помощью агента LLM, который использует инструменты поиска, а не запихивает все в контекстное окно. Я записал демо с использованием книги правил CrossFit 2025, которая показывает, как этот подход сравнивается с традиционным RAG и прямой инъекцией контекста[1].
Основная идея заключается в том, что LLM, работающие в циклах с доступом к инструментам, неоправданно эффективны в этом виде задачи поиска знаний[2]. Вместо того, чтобы надеяться, что нужные фрагменты попадут в ваш контекст, агент может итеративно искать, уточнять запросы и рассуждать о том, что он находит.
CLI управляет всем рабочим процессом:
“`баш
загрузить файл ./document.pdf
спросить «Каковы основные выводы?»
“`
Вы можете настроить поведение RAG, проверить статус загрузки и поток ответов обратно с расширяемыми ссылками на источники. Мне очень нравится, что этот рабочий процесс доступен в терминале, и мне интересно, считают ли другие эту парадигму такой же убедительной, как и я.
Рассматриваем возможность добавления дополнительных команд и параметров настройки, если есть интерес. Инструмент бесплатен для фрагментов документов объемом до 1 тыс.
Исходный код находится на GitHub[3] и доступен через npm[4].
Буду рад любым отзывам о подходе или дизайне CLI!
[1]: https://www.youtube.com/watch?v=SAV-esDsRUk [2]: https://news.ycombinator.com/item?id=43998472 [3]: https://github.com/devflowinc/trieve/blob/main/clients/cli/i… [4]: https://www.npmjs.com/package/trieve-cli
Я не совсем понимаю, в чем смысл. Похоже, это очень поверхностная замена беглому просмотру (или, не дай бог, чтению) статьи, без выгоды от самостоятельного усвоения материала.
У меня такая же критика по отношению ко многим инструментам ИИ. Мы заменяем значимые части создания и потребления контента компьютером, чтобы выдать его за то, что мы создали или поняли его сами. Это просто кажется бессмысленным.
Иногда вы просто хотите получить быстрый ответ на вопрос. Я согласен, что такие инструменты не являются тем, что я бы использовал для потребления контента, который мне действительно интересен, или для создания чего-то, что я считаю высококачественным.
Однако я также хочу отметить, что самое замечательное в агентском цикле то, что он не кажется беглым просмотром, поскольку вы можете наблюдать за поиском LLM, оценивать результаты, снова искать, оценивать результаты и повторять до тех пор, пока не получите достаточно информации для фактического ответа.
Ваш комментарий заставил меня задуматься о том, что на самом деле означает понимать что-то. Это просто запоминание фактов или идей? Или это больше о том, чтобы осознавать их? Я посмотрел кучу видео на YouTube и прочитал кучу статей о физике, но спустя несколько недель я не могу вспомнить, как вывести эти уравнения. Поэтому я не чувствую, что действительно их понимаю. Но если у меня есть идея о том, как это сделать, какая часть из них — просто память, а какая — на самом деле понимание концепции? Это вопрос, над которым я размышлял долгое время. Со всеми этими штуками ИИ мы выяснили, как обращаться с частью памяти, поэтому нам не нужно так сильно полагаться на наши собственные воспоминания. Но это все еще оставляет вопрос: что на самом деле означает понимание?

Я много думал об этом в контексте «зачем мне изучать факты, если я могу просто найти их?»
Понимание концепции означает, что вы можете использовать ее в рассуждениях более высокого порядка. Подумайте о механическом упражнении, необходимом для развития интуиции в математике, пока вы не сможете использовать изучаемую концепцию для следующей концепции, которая, в свою очередь, опирается на нее.
Как только интуиция сформирована, наступает понимание.
> Похоже, это очень поверхностная замена скиммингу
На самом деле, я думаю, что у нас все наоборот. Нас учат скиммить, потому что таких инструментов не было. Когда (если!) они станут достаточно надежными, скимминг должен стать мертвым искусством, как стенография.
Надо уметь читать хорошо (в деталях), когда это нужно. Все остальное можно делегировать. Действительно, именно поэтому люди на высоких должностях не просматривают — они могут позволить себе секретарей и подчиненных, которые просматривают за них.
neuml/paperai «индексирует базы данных, ранее созданные с помощью paperetl» и выполняет RAG с помощью txtai; https://github.com/neuml/paperai :
> paperai — это комбинация индекса вложений txtai и базы данных SQLite со статьями. Каждая статья разбирается на предложения и сохраняется в SQLite вместе с метаданными статьи. Вложения строятся по всему корпусу.
paperai имеет схему определения отчета YAML, которая, вероятно, будет полезна для метаанализа.
Paperetl может хранить статьи с SQLite, Elasticsearch, JSON, YAML. Похоже, что markdown из тегированного git-репо пока не поддерживается. Поддерживаемые входные данные включают PDF, XML (arXiv, PubMed, TEI), CSV.
PaperQA2 имеет CLI: https://github.com/Future-House/paper-qa#what-is-paperqa2 :
> PaperQA2 разработан как лучшая агентская модель RAG для работы с научными статьями.
> [ Семантическая академия, CrossRef, ]
paperqa-zotero: https://github.com/lejacobroy/paperqa-zotero
Oracle of Zotero — это форк paper-qa с FAISS и langchain: https://github.com/Frost-group/The-Oracle-of-Zotero
simonw/llm — это CLI для LLM: https://github.com/simonw/llm
`llm –help`: https://llm.datasette.io/en/stable/help.html#llm-help
Каталог плагинов simonw/llm: https://llm.datasette.io/en/stable/plugins/directory.html#pl…
Из https://simonwillison.net/2024/Jun/17/cli-language-models/ :
> Каждый запрос и ответ, пройденный через инструмент LLM, постоянно регистрируется в базе данных SQLite,
Source: news.ycombinator.com