OpenCodeの社内導入:TrueFoundryでの安全なツール利用

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
ChatGPTのコードインタープリター(現在は「高度なデータ分析」)を使ったことがある人なら、誰もが経験したことがあるでしょう。整理されていないCSVをアップロードし、「日付を修正してトレンドをプロットして」と指示すると、リアルタイムでPythonコードを記述・実行する様子に驚嘆する、あの瞬間です。
それは生産性を飛躍的に向上させる強力なツールです。しかし、機密データを扱っている場合、それは大きなセキュリティホールにもなり得ます。
そのCSVをアップロードした瞬間、データはあなたの管理範囲を離れてしまいます。私たちのチームの目標は、データ流出のリスクなしに、LLMエージェントにコードの記述と実行能力を与える、この「OpenCode」機能を再現することでした。私たちが求めていたのは「ブラックボックス」なAPIではありません。必要だったのは、 プライベートコードインタープリター であり、データ処理がデータのすぐそばで行われるものです。
TrueFoundryのインフラストラクチャコンポーネントを使用して、安全なツール利用とコード実行をどのように実装したかをご紹介します。
プライベートコードインタープリターのアーキテクチャ
「OpenCode」は、Pythonを記述できるモデルがあるだけでは実現しません。3つの異なるコンポーネントが連携して機能する必要があります。
- 頭脳(LLM): 推論と関数呼び出しが可能なモデル(例:Llama 3、DeepSeek-Coder、またはGateway経由のGPT-4o)。
- 手(サンドボックス): 隔離された一時的な環境で、実際にコードが実行される場所。
- 接着剤(Gateway): モデルの意図を解析し、実行リクエストをルーティングするミドルウェア。
多くの人が「手(サンドボックス)」の部分でつまずきます。LLMに本番環境のクラスターでos.system('rm -rf /')を実行させるわけにはいきません。サンドボックスが必要です。
TrueFoundryは、私たちが 一時的な実行環境 (サービスまたはジョブ)をサンドボックスとして展開できるようにすることで、この問題を解決します。LLMゲートウェイがツール利用の定義を処理し、実際の実行はVPC内のロックダウンされたコンテナで行われます。
ユーザーのリクエストが安全なコード実行に変換されるまでのワークフローは以下の通りです。

図1: OpenCode実行ループのワークフロー
サンドボックスの問題:「手」の管理
これを最初に構築しようとした際、私たちは実行環境の複雑さを過小評価していました。標準的なSaaSコードインタープリターAPIを使用すると、データが相手側に送信されます。ローカルで実行すると、ホストを危険にさらすリスクがあります。
私たちはTrueFoundry サービス を利用して、カスタムの「コード実行エージェント」をホストしています。これは基本的に、以下の機能を備えたDockerコンテナにラップされたPython FastAPIサービスです。
- ネットワークアクセス制限: 特定の内部PyPIミラーを除き、インターネットアクセスはありません。
- リソース制限: RAMとCPUに厳格な上限を設定し(TrueFoundryのリソーストグルで設定)、while(true)ループによるノードの過負荷を防ぎます。
- エフェメラルストレージ: リクエストごとにファイルシステムが消去されます。
TrueFoundryが基盤となるKubernetesマニフェストを管理しているため、これらのセキュリティ制約(SecurityContext、NetworkPolicies)をデプロイUIまたはTerraformから直接注入でき、サンドボックスが真にサンドボックスとして機能することを保証します。
比較:公開ツールとプライベートツールの利用
トレードオフは常に利便性と制御の間にありました。TrueFoundryを活用して「OpenCode」パターンをオーケストレーションすることで、このバランスを変化させます。データリスクなしで、マネージドデプロイメントの利便性を享受できます。
表1: ゲートウェイとサンドボックスの比較例
ツールの利用と「なるほど」の瞬間
真の力は、 ツールの利用を組み合わせることで解き放たれます。 社内APIと連携します。
TrueFoundry LLM Gatewayを設定し、「Pythonインタープリター」ツールだけでなく、社内データレイク用のツール(例:get_user_churn_metrics(user_id))も公開しました。
LLMがGatewayを経由し、Gatewayが当社のプライベートサービスに接続されているため、モデルは現在、次のことが可能です。
- クエリ 社内SQLデータベースを(ツールを介して)。
- 取り込み そのデータをPythonサンドボックスに。
- 分析 それを「OpenCode」パターンを使用して。
- 返却 その回答をユーザーに。
これらすべては、顧客データが1バイトたりとも当社のプライベートサブネットから流出することなく実行されます。
本番環境対応
「OpenCode」の実装は、もはや単なる楽しいハッカソンプロジェクトではなく、現代のAIエージェントにとって必須要件です。しかし、LangChainで適当に組み合わせて、うまくいくことを願うだけではいけません。
当社では、コードインタープリターを 基幹インフラ。当社では、TrueFoundryのオブザーバビリティスタックを使用して監視しており、LLMトークンだけでなく、サンドボックス内のCPUスパイクや実行遅延も追跡しています。ユーザーが50GBのRAMを割り当てようとするスクリプトを作成した場合、TrueFoundryはクラスターに影響を与える前にポッドを強制終了し、ユーザーには丁寧なエラーメッセージが表示されます。
それがデモとプラットフォームの違いです。
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.














.webp)
.webp)


.png)

.png)














