top of page

llm 0.37、モデル選択を追加しデフォルトを変更

13 分前
読了時間: 18分

Simon Willisonは11月2日、llm 0.37をリリースした。モデルの選択肢を追加すると同時に、独自の選択をしていないユーザー向けのデフォルトも変更している。この更新は設定の容易さを高める一方で、開発者がどこまでモデル選択の幅を広げれば、既存ワークフローの予測可能性を損なわずに済むのかという実務的な問いを投げかける。

言語モデルへアクセスするためのWillisonのコマンドラインインターフェースおよびPythonライブラリであるLLMは、アプリケーションと利用するモデルの間に位置する。今回のリリースでは、その接続役としての役割がより明確になった。開発者は互換サービスをより簡単に登録できるようになり、埋め込み機能では異なるメディアタイプの扱いも拡張された。

比較対象となるのは、個々のプロバイダーへの直接接続や、Ollamaのようなローカルモデルツールだ。共通インターフェースは、こうした選択肢をまたぐセットアップ作業を減らす。しかし、それぞれの振る舞いまで同一にするわけではない。この違いは、リリースの主要機能、信頼性に関する修正、そしてWillisonがAI支援によるコントリビューションをレビューしてきた経験を結び付けている。

モデル一覧以外でllm 0.37が変えること

このリリースは、ツールを通じて利用できるモデルだけでなく、開発者がモデルを選択し接続する方法も変える。

リリース告知によると、およそ2か月分の作業が蓄積されている。gpt-6.1-solとgpt-6.1-terraを追加し、llm openai endpoint addを導入、フォールバックモデルをgpt-6-lunaへ変更した。このデフォルト変更は、ユーザーが独自のデフォルトを選択していない場合に適用される。

これらは性質の異なる更新だ。名前付きモデルの追加は既存の選択肢を広げる。エンドポイント管理の追加は、開発者がその選択肢を維持する方法を変える。フォールバックの変更は、ユーザーがモデル選択を暗黙のままにしたときの挙動に影響する。

エンドポイントとは、ソフトウェアがモデルへのリクエストを送るサービスのアドレスである。OpenAI互換エンドポイントは、OpenAIのアプリケーション・プログラミング・インターフェース、すなわちAPIに関連する規約を用いてリクエストを受け付ける。互換性があれば、既存のクライアントはまったく別の統合を必要とせず、ほかのサービスへ接続できる。

開発者にとっては、利用可能なモデルと選択済みのモデルの違いに注意する価値がある。新しい選択肢は、誰かが選ぶまで何もしない。一方、フォールバックの変更は、モデルを一度も明示指定していない既存コマンドに影響し得る。

たとえば、明示的にモデルを選択したうえで定期的な要約ジョブを実行する開発者を考えてみよう。その選択は、意図した依存関係を可視化する。対して、同様のコマンドをモデル選択なしで実行する同僚は、環境のデフォルトに依存することになる。

どちらの方法も自動的に誤りというわけではない。デフォルトは、すべての判断を事前に求めることなく利用開始を助ける。明示的な選択は、アップグレードや環境変更の後にワークフローの挙動が変わった理由をチームが説明する助けになる。

このリリースでは、型付き埋め込み添付ファイルのサポートも拡張された。埋め込みとは、意味に基づいてコンテンツを比較するための数値表現である。型付き添付ファイルは、すべてのバイナリ入力を同じように扱うのではなく、そのプロセスに入るコンテンツの種類に関する情報を保持する。

これは、メディアを受け付けるモデルには生のバイト列だけでは不十分なため重要だ。周辺ソフトウェアは、添付ファイルが画像、音声、あるいは別の対応入力を表すものかを伝えなければならない。

より広い変化はアーキテクチャにある。LLMは、モデル選択、サービス設定、入力処理の違いに対応しながら、共通インターフェースを維持している。開発者が同じツールをより多様な作業で使うようになるにつれ、こうした責務はより目に見えるものになる。

したがって、llm 0.37を評価する読者は、アクセスと挙動を分けて考えるべきだ。このリリースはアクセスを拡大し、整理する。特定のワークフローが改善するかどうかは、そのワークフローの入力、出力、要件に委ねられる。

この違いは、なじみのあるモデル追加を含むリリースが、モデル名だけにとどまらない注目に値する理由でもある。設定の選択は、告知への関心が薄れた後も再現性に影響し続ける。

容易なモデル切り替えはワークフロー所有者に責任を移す

モデル切り替えは統合時の摩擦を減らすが、その切り替えの結果には誰かが責任を持たなければならない。

直接的な恩恵を受けるのは、ホスト型サービスとローカルモデルを横断して実験する開発者だ。共通クライアントを使えば、評価ごとに基本的なリクエスト処理を作り直す必要がなくなる。この利便性は、実験が定常ジョブへ変わるときにいっそう重要になる。

プロトタイプでは通常、モデルがタスクを完了できるかが問われる。運用ワークフローでは、その結果が許容できる条件下で、許容できる形式で届くかも問われる。ライブラリが接続を簡単にしても、これらの問いはアプリケーション所有者の責務である。

社内インシデントレポートから要約を生成するエンジニアリングチームを想像してみよう。探索段階では、チームは同じ文書に対して異なるモデルを試す。同僚がその要約に依存するようになれば、一貫性はプロダクトの一部になる。

より読みやすい文章を生成するモデル変更でも、運用上の詳細を省く可能性がある。別の変更では、すべての詳細を保持しながら、下流アプリケーションが受け入れられない形式を導入するかもしれない。どちらの結果も、エンドポイント設定の成功だけでは捉えられない。

そのチームにとっての圧力は、容易な実験と既存の期待が交わることで生じる。求められる対応は、候補モデルを通常の選択肢にする前に、許容可能な挙動を定義することだ。

ここでモデル切り替えは組織的な問題になる。クライアントを設定する人と、要約をレビューする人は同一ではないかもしれない。データアクセスを承認する人には、さらに別の責任がある場合もある。

共通インターフェースでは、環境をまたいでコマンドが似通って見えるため、こうした境界が見えにくくなる。見慣れた構文は、情報をどこへ送るか、出力をどう評価するかについての明示的な判断の代わりにはならない。

LLMの既存のログ制御は、この責任の別の側面を示している。このツールは通常、プロンプトと応答をローカルデータベースに記録する。ユーザーは個別リクエストを含め、ログ記録を無効化できる。

ログは変更後の結果を説明する助けになるが、ワークフロー中に送信された情報の別記録も作る。モデルを評価する開発者は、リモートへのリクエストとローカルの記録の両方を考慮する必要がある。

これは、有用な実験がコピーされたコマンドを通じてチームの慣行になる場合に特に関係する。コマンドは、保持、モデル選択、許容可能なソース資料に関する当初の前提よりも容易に広まるかもしれない。

検索可能なナレッジベースを構築するチームでは、同じ所有責任の問題が最初のモデル呼び出しを超えて広がる。誰かが、ソースのアイデンティティ、アクセスに関する期待、取得された資料と生成回答の関係を維持しなければならない。

これらは実務的な含意であり、このリリースがすべてのユーザーに新たなガバナンス義務を生むという証拠ではない。個人的な実験と共有された本番プロセスでは、必要なものが異なる。

共通する教訓はより限定的だ。設定が容易になるほど、評価を始めるコストは下がる。しかし、それだけで、ほかの人が信頼するワークフローにモデルを組み込むべき時期が決まるわけではない。

共通インターフェースは共通の挙動を保証しない

OpenAI互換性は接続上の規約であり、すべてのバックエンドが同じワークフローをサポートするという約束ではない。

LLMのエンドポイント設定に関するドキュメントは、プラグインと並んで、追加の互換モデルをサポートしていると説明している。プラグインは、メインアプリケーションに機能やプロバイダー統合を追加する拡張機能だ。

これにより、開発者は共通の作業環境へ入る複数の経路を得る。互換エンドポイントは、なじみのあるリクエスト規約を再利用できる。プロバイダー固有の拡張機能は、それらの規約に収まらない挙動に対応できる。

重要な比較は、共通インターフェースの利便性と直接統合の具体性の間にある。共通インターフェースは、一般的なタスクの反復を容易にする。直接統合は、プロバイダー独自の機能や前提をより明示的に示す。

どちらの経路も、あらゆるケースで優れているわけではない。適切な選択は、アプリケーションが実際に必要とする機能と、維持すべきプロバイダー固有の挙動の程度によって決まる。

Ollamaは、ローカルモデル利用と互換クライアント接続の両方をサポートしているため、有用な参照例となる。同社の互換性ドキュメントは、OpenAI APIのサブセットをサポートしていると明記している。

この限定は重要だ。開発者は互換性を、完全な相互交換可能性の保証ではなく、サポートされる操作に関する説明として読むべきである。基本的なデモで成功したリクエストが証明するのは、完全なアプリケーションテストよりも限定的なことだ。

たとえば、あるアプリケーションは会話がリクエスト間で状態を保持することを必要とするかもしれない。別のアプリケーションは、外部関数を呼び出す特定の仕組みに依存する場合がある。リクエスト構文が似ているからといって、両方の要件がすべてのサービスで機能することにはならない。

評価はアプリケーションの挙動に沿って行うべきだ。モデルは意図した入力を受け付けられるか。サービスは必要な出力を返せるか。オプションを拒否した場合、途中で停止した場合、エラーを返した場合には何が起きるか。

モデル切り替えがスクリプト内で行われる場合、これらの問いはさらに重要になる。対話的なユーザーなら予想外の応答に気づいて調整できる。無人プロセスには、同じ驚きに対する明示的な処理が必要だ。

エンドポイント管理機能は、より具体的な問題、すなわち再利用可能な設定の維持に対応する。登録すればサービスを再び選びやすくなる。しかし、それによって、別のモデルで以前に実行したすべてのコマンドにそのサービスが適していると証明されるわけではない。

このため、OpenAI互換の経路をプロバイダーの判断から独立していることと混同すべきではない。共通クライアントも、選択したサービスの可用性、対応機能、リクエストの解釈に依存する。

したがって、このリリースは有用な中間的立場を強化する。開発者はワークフローの一部を標準化しつつ、個々のバックエンドには意図的な例外を残せる。その方法には、どの前提が共通で、どれがプロバイダー固有のままなのかを把握することが必要だ。

モデル切り替えは、制御された機能として扱うと最も有効に働く。自動的な同等性として扱えば、開発者が評価しようとしている違いそのものを消してしまう。

型付き埋め込みがメディアの違いを可視化する

より多くの入力タイプをサポートすると、モデルが数値変換を行う場合でも、周辺のデータ処理がより重要になる。

Willisonは、添付ファイル変更の理由としてGemini Embedding 2を挙げている。Googleは、テキスト、画像、動画、音声、文書を共有された数値空間内で表現するマルチモーダル埋め込みについて説明している。

マルチモーダルとは、テキストや画像のような異なる形式の入力をシステムが扱うことを意味する。Googleは、この共有空間を、そうした形式をまたいで意味を比較する手段として提示している。

テキストのみの検索との違いは具体的だ。テキストクエリは、元の項目にクエリと完全に同じ語が含まれていなくても、関連するメディアを探せる。有用な結果を取得できるかどうかは、依然としてモデルとコレクションに左右される。

Googleのプロダクトページには、メディアおよびリーガルテクノロジー組織の顧客事例が掲載されている。これらの事例は、異なるメディア形式をまたいで関連資料を見つけたいという関心を示している。独立したLLM実装の検証ではなく、需要の例を示すものだ。

llm 0.37において、より限定的な開発点は入力処理にある。添付ファイルの種類を保持することで、統合側は対応コンテンツを適切に振り分けるために必要な情報を得られる。これは高性能なモデルを利用するための基盤であり、検索品質の向上を示す証拠ではない。

インタビュー記録、画面録画、スクリーンショットを含む、仮想的なプロダクトリサーチアーカイブを考えてみよう。分かりにくいインターフェースについてのクエリに対する関連証拠は、これらのどの資料にも含まれている可能性がある。

魅力的なのは、アーカイブ全体を対象とする単一の検索体験という約束だ。だが、運用上の要件はより具体的である。各項目が何であり、どこから来たのかを保持しなければならない。

有用な検索結果は、利用者を検証可能な証拠へと戻せなければならない。数値的な類似度スコアだけでは、スクリーンショットの文脈を説明できない。関連する録画が見つかっても、読者が必要とする正確な時点を自動的に特定できるわけではない。

このため、機能としては小さく聞こえても、型付き添付ファイルには注目する価値がある。メディア間の違いは、ソース資料からモデル入力へ、さらに利用可能な結果へと至る過程で保持されなければならない。

型情報だけで、すべての工程が解決するわけではない。開発者は依然として、コンテンツをどのように分割するか、ソース参照をどのように保持するか、結果をどのように利用者へ表示するかを決める必要がある。

長い録画をより小さな単位へ分割すると、検索システムが返せる内容は変わる。ファイル単位の参照だけを保持する場合と、関連する箇所や時点を返す場合では、体験は異なる。

これらの選択は評価にも影響する。検索システムはクエリに関連するものを返せても、それを解決する証拠を返せない場合がある。チームには、その違いが重要になる例が必要だ。

個人用アーカイブでは、ゆるく関連する一致でも役立つ場合がある。共有リサーチワークフローでは、読者はクエリ、取得された項目、そこから導かれた結論の間に、より明確なつながりを必要とするかもしれない。

このリリースは、インターフェースレベルでより豊かな入力を受け入れる余地を作る。その次に必要となるエンジニアリングは、これらの入力を取り巻くものだ。文脈の保持、検索結果の検証、そして得られた証拠を理解可能にすることが求められる。

これは別の表現をすれば、中心的なトレードオフである。より多くのコンテンツが共通ツールを通じて利用可能になる一方で、意味のある結果に対する責任はアプリケーションに残る。

信頼性の修正が、より容易なアクセスという約束を限定する

モデル応答の成功は、信頼できるワークフローの一部にすぎない。周辺ソフトウェアも、制御、保存、失敗を正しく扱わなければならない。

リリースノートには、ログ記録、ツール実行、埋め込みストレージに関する修正が含まれている。これらは、アプリケーションがモデルの回答の周辺で何を信頼できるかに関わるため、注意に値する。

ツール呼び出しとは、モデルがソフトウェアに関数実行を求めるリクエストである。そのリクエストをどのようにアクションへ変換するかは、アプリケーションが決定する。したがって、その実行をめぐる制御チェックは、適切な関数を提案するモデルの能力とは別のものだ。

このリリースでは、拒否されたツール呼び出しが実行されてしまう経路が修正された。また、ログ記録が無効であるにもかかわらず継続していたチャットログも修正された。これらは文書化された修正であり、完全なセキュリティ監査やプライバシー監査の証拠ではない。

別の修正では、モデルが誤った数の結果を返した場合、埋め込み操作がバッチを拒否するようになった。以前は、この不一致によって行が失われたり、ベクトルと識別子の対応付けが誤ったりするおそれがあった。

分析上重要なのは、失敗の扱い方である。明示的なエラーがあれば、アプリケーションは停止、再試行、あるいは注意喚起を求める機会を得られる。誤った関連付けを伴いながら成功したように見える操作は、検出がより難しい可能性がある。

ナレッジアプリケーションにとって、ソースの同一性は基本的な要素だ。もっともらしい結果であっても、誤った文書に紐付いていれば、読者が検証する能力を損なう。より良い言語生成でも、後からその関連付けを修復することはできない。

同じ原則は中断された作業にも当てはまる。ワークフローは、完了した手順と試行した手順、記録された結果と欠落した結果を区別すべきだ。そうでなければ、次のプロセスは何が起きたのか不明確な記録を引き継ぐことになる。

これらはLLMに固有の欠点ではなく、一般的なエンジニアリング要件である。リリースにこうした項目が含まれていることは、統合ライブラリが利用形態の多様化に伴って保守を必要とする領域を示している。

WillisonによるAI支援コントリビューションの説明は、別の視点を加える。彼によれば、修正は12人の著者から寄せられ、そのほぼ全員がAI支援を利用していたという。また、それらのコントリビューションのレビューは予想より負担が少なかったと報告している。

彼の説明では、トリアージ、すなわち報告を分類し、どれに注意を向けるべきかを決めるプロセスが重視されている。彼はAIを用いて有用な修正の特定を支援し、ときには提出されたパッチを受け入れる代わりに、自身で実装を書くという。

この説明が裏付けるのは、AI支援による提出物が彼のレビュープロセスにおいて有用な材料となり得る、という限定的な観察である。他のメンテナーも同じ作業負荷に直面する、あるいは同じように有用なコントリビューションを受け取ることを示すものではない。

この発表には、レビュー時間、回帰率、保守結果の管理された比較は含まれていない。懐疑的に読むなら、この限界を保ちつつ、リリースに含まれる具体的な修正を認めるべきだ。

コントリビューターにとって、その含意は実践的である。提案コードがレビューの過程で大幅に変わる場合でも、明確な再現手順と明確に定義された失敗は価値を持ち続ける。

利用者にとって、含意はワークフローの所有責任へと戻る。信頼は、観察可能な挙動と、タスクに合致したチェックに基づくべきだ。パッチの出所だけで、アプリケーションがそれに依存すべきかどうかを判断することはできない。

llm 0.37の後に注目すべきこと

有用な追跡指標は、新たに利用可能になったモデル数ではなく、互換性、検索品質、保守の成果に関するものだ。

今後数か月で最初の指標となるのは、開発者が実際に利用するサービス全体でエンドポイント管理がどの程度機能するかである。具体的な報告は、操作、期待される挙動、観測された結果を特定すべきだ。

基本的なテキスト生成は出発点にすぎない。アプリケーションは、未対応のオプション、認証失敗、中断された応答、会話処理の違いにも直面する。こうしたケースに対応するドキュメントと修正は、共通インターフェースの実用的価値を高めるだろう。

逆の指標は、どの組み合わせがサポートされているかについての曖昧さが繰り返されることだ。利用者が同じ制限を何度も再発見しなければならないなら、登録の簡素化だけでは統合の負担の多くが未解決のまま残る。

これは、すべてのバックエンドが同一の機能を必要とするという意味ではない。明確な境界自体に価値がある。文書化された制限があれば、開発者は仮定に基づく依存関係を構築する前に、適切な経路を選べる。

第二の指標は、埋め込み統合における型付き添付ファイルの有用な採用である。サポート宣言は重要だが、実例では、結果として得られる検索挙動がどのように利用者を検証可能なソースへ結び付けるかを示すべきだ。

説得力のある例では、コレクションを定義し、そのクエリタスクを説明し、関連資料がどこに現れるかを示すだろう。また、関連コンテンツが正しい証拠と競合する困難なケースも含めるべきだ。

このような証拠は、より豊かな添付ファイル処理が、追加のファイル形式を受け入れることを超えてアプリケーションに利益をもたらすという主張を強める。モデルがもっともらしい数値結果を返していたとしても、ソース文脈の保持に繰り返し失敗するなら、その主張は弱まる。

開発者は、モデルのデモンストレーションとアプリケーションの評価も区別すべきだ。前者は能力が存在することを示す。後者は、その能力が特定の読者によるタスク完了に役立つかを示す。

第三の指標は、AI支援による保守の持続性である。Willisonの経験は、彼が説明する範囲内では心強いものだ。次に有用な証拠は、受け入れられた変更が、その後の開発を通じても理解可能で信頼できる状態を保つかどうかに関するものだ。

後続の修正は、必ずしも否定的な指標ではない。ソフトウェア保守には、誤りの発見と修正が含まれる。より示唆的なのは、報告が再現可能か、失敗に明確な説明が与えられるか、修正が繰り返される不確実性を減らすか、といった問いである。

この視点は、コントリビューション量をプロジェクトの健全性の完全な指標として扱うことを避ける。提出コードが増えたことだけでは、メンテナーの実用的な対応能力が高まったことを示さない。価値があるのは、理解された問題と改善された挙動にある。

このリリースを検討する読者にとって、当面の判断は比例的なものだ。更新全体をタスク再設計の理由と見なす前に、既存タスクにおいてどの変更が重要かを特定するべきである。

モデルを試している個人は、設定の利便性を最も重視するかもしれない。定期ジョブを実行するチームは、明示的な選択と信頼できる記録をより重視する可能性がある。検索開発者は、メディア処理とソース保持に焦点を当てるかもしれない。

llm 0.37を、すでに理解しているワークフローを見直すきっかけとして使おう。代表的な入力を選び、意図するモデルを記録し、許容できる結果に何が含まれるべきかを定義する。その役割を拡大する前に、候補となる出力をその基準と比較する。検索では、生成された回答だけに頼らず、取得されたソースを確認する。自動化されたアクションでは、拒否と中断が次の手順にどう影響するかを調べる。容易な切り替えが有用な柔軟性を生むかどうかは、結果を利用する人々の要件によって決まるため、評価はその人々の近くに置くべきだ。あなたのワークフローのどの部分が選択肢の増加から恩恵を受け、どの部分にはより明示的な依存関係が必要だろうか。

 
 

無料で始めましょう

ローカルファーストのパーソナル知識管理付きAIアシスタント

より良いAI体験のために、

remio は現在、 Windows 10+ (x64)とM-Chip Mac のみをサポートしています。

仕事のAIパートナー
remioでもっと仕事が進む

計画・作成・仕上げまで
すべてをひとつに

bottom of page