LLMの会話を自在に操る!編集可能なコンテキストグラフ『ThoughtDAG』を公開しました
Show HN: ThoughtDAG – An editable context graph for LLM conversations
Show HN: ThoughtDAG – An editable context graph for LLM conversations
LLMとのやり取りにおいて、文脈の管理に苦労していませんか?今回公開した『ThoughtDAG』は、LLMの会話履歴をグラフ構造として視覚化し、後から自由に編集可能にするツールです。線形的なチャット履歴にとらわれず、思考の枝分かれや修正を直接グラフ上で操作できるため、複雑なプロンプトエンジニアリングや長時間の対話の整理に革命をもたらします。ぜひ試してみてください。
キャッシュはどうなってる?コンテキストを切り替えるとき、プリフィル(事前充填)のステージがかなり重くならない?
基本的なアイデアは面白いし分かりやすいけど、なぜ独立したアプリにする必要があるのかが疑問。Claude desktopを置き換えるようなものなの?それともClaude CodeやCodex、Piみたいに他のシステムにプラグインとして組み込めるのかな。
スタンドアロンのアプリとして使う気にはあまりならないけど、プラグインなら間違いなく使ってみたい。
すごく興味深いアイデアだね。これまで自分もDESIGN.mdに「1概念・1決定を1行で、ツリー構造で構築」という形式で、後で参照すべき決定事項を記録するという方法を手動でやってきたから、共感するよ。
ThoughtDAGが、普段使っているテキストエディタや計画ツールに組み込まれるのではなく、完全に独立したアプリケーションになっているのはちょっと好みじゃないな。ただ、ローカルモデルの使用を含めて、多くのLLMプロバイダーを統合しているのはすごくいい感じ!
セキュリティの指摘をいくつか。「execSync(pdftoppm -png -r ${dpi} ...)」の呼び出しに深刻な脆弱性があると思うよ。ローカルWebサーバーを127.0.0.1などのローカルIPでリッスンさせていれば問題なかっただろうけど、0.0.0.0でバインドしているせいで全ネットワークインターフェースに公開されている。つまり、このアプリを実行するだけで、誰でも自分のPCでコマンドを自由に実行できるシェルを手に入れてしまうことになるよ。
AppImageについても少し。パブリッシャー情報や署名が欠けているみたい(大きな問題ではないけど確認した方がいい)。あと、「--no-sandbox」オプションを使っているけど、不要じゃないかな。サンドボックス環境下で動かす方がいいし、前述のリモート脆弱性のリスクも下げられるはず。
その脆弱性のせいで、少し様子見するつもり。でも、自分が今やっているASCII Markdownのツリー管理以上に役立つものなのか、すごく気になる。将来的には、ThoughtDAGが他のツールとうまく統合されて、vimやcodexで作業しつつ、裏で読み書きを管理するビューアーみたいな位置づけになると最高だな。
ともかく、共有してくれてありがとう!頑張って!
リポジトリとデモのキャンバスを見たよ。素晴らしい出来だね。特に3段階のセマンティックズームと、織り込み・要約(weave/condense)機能が気に入った。技術に詳しくないユーザーもターゲットにするなら、エッジ削除よりもweaveやcondenseを前面に出した方がいいかも。エッジ削除は強力だけど、例えばうちの母親ならそこで詰まってしまうと思う。ワイヤーを削除することでモデルの見え方が変わるという概念は、直感的じゃないかもしれないしね。
ノードをクリックした時に、サイドバーに(ノードの参照)リストを表示して、そこから「この回答は自分について何を知っているか」といった切り口で再構築できるような削除ボタンを配置するのはどうかな?
パワーユーザーにとってはグラフは最高だけど、説明レイヤーとしてはリスト表示がある方が親切かも。
エージェントが特定の点に固執していると感じたときに、なぜその回答をしたのかを質問することがあるんだけど、会話の「どこが毒になっているのか(原因部分)」をUI上でハイライトしてくれる機能があったら最高だね。
いいね。僕が作った https://Tangents.chat というツールとアプローチが似ていて面白い。特に、デモの右上にある「Context」をクリックして見られる「Context complier」のあたりだね(https://tangents.chat/demo )。
ThoughtDAGについてもこれからもっと詳しく見てみるよ。
参考画像: https://i.ibb.co/NRHSFrg/tangents-context-complier.png
コンセプトは面白いし、価値も感じられる。でも、ダウンロードして試してみたところ、インターフェースが少し不安定だね。コンセプトはいいんだけど、UI/UXが分かりにくくて使いにくい。例えば、キャンバスをパン(スクロール)できないし、右側の会話欄にもコンテキストウィンドウに含まれているはずの過去のメッセージが全部表示されない。
素晴らしいね!実は最近、構造化されたエージェントによるリサーチ作業用のハーネスを試作していて、似たような結論に達したところだよ。
新しいトピックを調査するときに、調査の「深さ」と「幅」のバランスを取るのにすごく役立つ。グラフ構造だとリサーチの盲点を見つけやすいし、有望な代替案を取りこぼしていないという確信が持てる。同時に、サブ疑問の無限ループにはまるのも防げるしね。
試作のときは、粘菌(Physarum slime mold)のイメージを頭に描いていたよ。最初は全方位に枝分かれして、可能性のあるルートを強化しつつ、他の枝を切り捨てていく。最終的に生き残ったパスが結果になるっていうね。
すごく素敵なプロジェクトだね。考えている機能のいくつかは気に入ったよ。新しいコンセプトを考えるとき、自分も似たような自作ツール(https://github.com/Srakai/bushchat )を使っていたけど、ブラウザベースの方が(個人的には)便利かな。今は.mdファイルでのナレッジベース管理に移行したからあまり使っていないけどね。
ブランチ(枝分かれ)機能で一番面白いのは、ソースノードを編集したときにツリーが再構築されるところだと思う。例えばプロジェクトのドラフトを作っているときに前提条件が一つ変わると、その知識に基づいた後続のノードがすべて再計算されるのは強力だよね。
ここ数ヶ月、似たようなプロジェクトに取り組んでいるよ。モデルのコンテキストメモリを増やすだけでハルシネーション(幻覚)を増やす方向性よりも、Co-memory(協働メモリ)のコンテキストを重視する方向に向かっていくんじゃないかな。