HN 日本語サマリー

← 一覧へ戻る
Web開発

VSCodeのSSHエージェントは驚くほど強力だ

VSCode's SSH Agent Is Bananas (fly.io)

80 pointsby Rapzid60 コメント

要約

この記事は、VSCodeのリモートSSH機能がEmacsのTrampと比較して、より侵略的なアプローチを取っていると指摘しています。VSCodeのエージェントはバイナリをダウンロードし、WebSocket接続を確立するため、LLMによるコード生成との連携においてセキュリティ上の懸念があることを論じています。しかし、Fly Machineとの連携においてはこれらの懸念は無関係であるとも述べています。

全文翻訳

VSCodeのSSHエージェントは驚くほど強力だ 私たちは、VSCodeがSSH経由のリモート編集を行う際のフローに統合されることに興味があります。なぜなら、今や誰もがVSCodeを使用しており、特にLLMでコードを生成するVSCodeのフォークを使用しているからです。「幻覚」とは、LLMがコードを間違えることを指し、「エンジニアリング」とは、人間がそれを行うことを指します。LLM生成コードは、一般的には自分で何をしているか分かっている場合に役立ちます。しかし、LLMと実行環境(「エージェント」設定付き)との間のループを閉じることができれば、それは非常に役立ちます。これについては多くのことを言うべきですが、今のところ:それは幻覚に対する半ば効果的な解毒剤です。LLMがコードを生成し、エージェントの足場がコードを実行し、コードがエラーを生成し、エージェントがそれをLLMにフィードバックし、プロセスが繰り返されます。したがって、明らかに、この問題は、LLMには境界問題があり、Gitプロジェクトでシステム構成を喜んで反復処理するため、この反復開発プロセスを開発用ラップトップで行いたくないということです。本当にやりたいこと:クリーンなLinuxインスタンス上で、LLMのために、閉じたループのエージェント的な(「エージェント的」?今そう言うのか)構成を実行すること。それは瞬時に起動し、決してあなたを台無しにしないものです。どこに向かっているか分かりますね。とにかく!私は懸念を表明したいと思います。Emacsはリモート編集システムの精神的な祖先、つまり非常に便利なElispの塊である「Tramp」をホストしています。Trampを、Bourneシェルコマンドを実行できるあらゆる種類の対話型環境(通常はSSHセッション)に接続できれば、Emacsをその環境に拡張できます。つまり、VSCodeにはTrampのような機能があります。それは素晴らしいですよね?Trampを取り、少し単純化し、ElispをTypeScriptに切り替えることができると思うでしょう。あなたは間違っていると思います!Trampとは異なり、リモート接続で「土地を生き残る」のに対し、VSCodeは本格的な侵略を実行します。Bashスニペットステージャーを実行し、Nodeのバイナリインストールを含むエージェントをダウンロードします。これがソースコードだと思いますか?エージェントはポートフォワーディングされたSSH上で実行されます。実行中のVSCodeフロントエンドへのWebSockets接続を確立します。その接続の基盤となるプロトコルは次のことができます:ファイルシステムを探索する任意のファイルを編集する独自のシェルPTYプロセスを起動する自身を永続化するセキュリティの世界では、このように機能するツールには名前があります。VSCodeに失礼なので声に出しませんが、その名前はムラドリ(murid)の性質であると言っておきましょう。開発サーバーでVSCodeリモート編集を許可することには少し神経質になり、本番環境のインシデント中にそれが起こった場合は激怒するでしょう。Fly Machineへのカスタム接続をVSCodeで機能させるために、これらすべてを気にする必要はないことが判明しました。そのため、深い意味ではどれも重要ではありませんが:私たちは再びブログになることにしました。そのため:これを学ぶ必要があり、今ではあなたも学ぶ必要があります。次の投稿↑ Semgrepはもっと面白くなったのか?前の投稿↓ AI GPUクラスター、ラップトップから、Livebookで