Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
気軽に試せる!ローカルLLMでのバイブコーディング - Oracle AI Jam Sessi...
Search
oracle4engineer
PRO
October 20, 2025
Video
0
39
気軽に試せる!ローカルLLMでのバイブコーディング - Oracle AI Jam Session #29 -
oracle4engineer
PRO
October 20, 2025
Tweet
Share
Video
More Decks by oracle4engineer
See All by oracle4engineer
[OCI Skill Mapping] AWSユーザーのためのOCI – IaaS編(Compute/Storage/Networking) (2025年10月8日開催)
oracle4engineer
PRO
1
77
[OCI Success Journey] 注目事例のご紹介(2025年9月10日開催)
oracle4engineer
PRO
1
64
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
OCI Network Firewall 概要
oracle4engineer
PRO
2
8k
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
3
240
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
3
5.5k
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
160
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
270
Data Studioの機能拡張
oracle4engineer
PRO
0
140
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Visualization
eitanlees
149
16k
Docker and Python
trallard
46
3.6k
4 Signs Your Business is Dying
shpigford
185
22k
Gamification - CAS2011
davidbonilla
81
5.5k
Music & Morning Musume
bryan
46
6.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
気軽に試せる! ローカルLLMでバイブコーディング Yuki Sogawa Oracle Japan COE Solutions Architect
自己紹介 曽川 宥輝 日本オラクル CloudNative/AI,ML ク ラウドエンジニア バックグラウンド 大阪大学でデータセンターの省電力化の研究をしていました 趣味
ギター、バイク、ゲームなど 2 Copyright © 2025, Oracle and/or its affiliates
一般的なLLMの利用方法 3 Copyright © 2025, Oracle and/or its affiliates クラウドサービス
ローカルPCとは違うところで 動いているLLMを利用する
ローカルLLMを使う場合 4 LLMもローカルのPCで動かす Copyright © 2025, Oracle and/or its affiliates
ローカルLLMを使うメリット • セキュリティやプライバシーをあまり気にしなくていい • モデルを好きなようにカスタマイズできる • ネットワーク接続がなくても利用可能 • お金を気にせず好きなだけ試せる 5
Copyright © 2025, Oracle and/or its affiliates
とはいえローカルLLMを使うデメリットもある • ローカルで動かせるモデルしか使えないので、性能面で限界がある • 継続的に利用するようなアプリケーションのバックエンドにするには、メンテナンスが大変 • 多数のユーザーにサービスを提供するような使い方は難しい お試しで使う分には全然気にならない! 6 Copyright
© 2025, Oracle and/or its affiliates
ローカルLLMの基礎知識 ローカルLLMを動かす上で必要な部分をざっくり解説
ローカルLLMを動かす上で考慮すべきこと 基本的にはメモリ使用量だけ! LLMを動かすハードウェアにもよるが、どれくらいメモリを使うかだけ把握しておけば問題なく動かせる • 一般的なPCで、CPUのみで動かす場合 • RAMの容量がどれくらい必要か確認 • CPUで動かすので、LLMの推論に必要な行列計算は遅い →
推論は遅め • ゲーミングPCなど、GPUで動かす場合 • VRAM容量を確認 • 一部をRAMに載せることもできるが、VRAM RAM間の転送コストが発生する • GPUで動かすので、行列計算が早い → 推論が早い • Apple Silicon(ユニファイドメモリ)で動かす場合 • CPUとGPUが同じ物理メモリを共有している • RAMの容量を確認 • GPUで動かすので、行列計算が早い → 推論が早い 8 Copyright © 2025, Oracle and/or its affiliates 本日のデモはこちら M3 Pro 36GB Unified memory
メモリ使用量に関わる要素は? モデルサイズとコンテキスト長 • モデルサイズ • モデルのパラメータ数とパラメータの精度(ビット数)から計算される • 基本的にはモデルサイズが大きいほど高性能 • コンテキスト長
• モデルが一度に処理できるトークンの最大数のこと • 大きいほど長い会話や複雑な指示(コーディングエージェントなど)にも利用できる 9 Copyright © 2025, Oracle and/or its affiliates
LLMのモデルサイズ パラメータ数 × パラメータの精度で決まる 例えば、Qwen2.5 Corder 32B(320億パラメータ)の場合 • 精度が32bit(= 4byte)のパラメータの場合:4byte
* 320億 ≒ 128GB • 精度が16bit(= 2byte)のパラメータの場合:2byte * 320億 ≒ 64GB • 精度が4bit(= 0.5byte)のパラメータの場合:0.5byte * 320億 ≒ 16GB 10 Copyright © 2025, Oracle and/or its affiliates おおよそ一致している
量子化 モデルを圧縮する技術 通常、モデルは浮動小数点で重みを持つが、それを整数値で近似的に表現する 目的 • メモリ削減 • キャッシュ効率改善 • 推論スループット向上など
量子化の種類 • GGUF (GGML Unified Format) ← これは量子化フォーマット • GPTQ (Gradient-based Post Training Quantization) • AWQ (Activation-aware Weight Quantization) 11 Copyright © 2025, Oracle and/or its affiliates オリジナル 量子化後
量子化 GGUF (GGML Unified Format) CPU向け量子化フォーマットで、GGMLというフォーマットの発展系 特徴 • GGMLと違い、モデルのメタデータやトークナイザも全て一つのファイルで表現 •
CPUでの推論に最適化されている • 色々な量子化レベル(2bit, 4bit, 8bitなど)が用意されている • フォーマットなので、量子化手法そのものではない 命名規則 GGUFでは、量子化タイプに命名規則がある 12 Copyright © 2025, Oracle and/or its affiliates Q{ビット数}_{量子化タイプ}_{その他の情報} Quantization (量子化)の略 量子化後のビット数 量子化アルゴリズムや特性(0, 1, Kなど)
量子化 GGUF (GGML Unified Format) 代表的な量子化タイプ • Q4_0 • 4bitに量子化。タイプ0を使用
• Q4_1 • 4bitに量子化。タイプ1を使用 • Q4_K_M • 4bitに量子化。タイプK(k-means量子化)を使用 • Q8_0 • 8bitに量子化。タイプ0を使用 使用するタイプによって、1パラメータあたりのbit数が少し違う • Q4_0:4.5bit • Q4_1:5.0bit • Q4_K_M:4.8bit 13 Copyright © 2025, Oracle and/or its affiliates
量子化 GPTQ (Gradient-based Post Training Quantization) GPUで推論することに最適化された量子化手法で、高精度を保ちながらメモリを大幅に削減できる 特徴 • GPUでの推論に最適化されている
• 学習後のモデルを量子化できる(Post Training Quantization) • 主に3bit/4bit量子化で使用する 14 Copyright © 2025, Oracle and/or its affiliates
量子化 AWQ (Activation-aware Weight Quantization) モデルの出力する分布を考慮して量子化する、高度な量子化方式 特徴 • モデルの出力の変化を考慮して、影響力の大きい重みは高精度で残す •
再トレーニングなしで使える • 4bit量子化でもFP16に匹敵する精度を維持できる • GPU向けの手法 15 Copyright © 2025, Oracle and/or its affiliates
量子化 MLX (Machine Learning eXtentions) Apple Silicon上でのモデル推論・学習を効率化するためのフレームワーク 特徴 • Apple
Silicon上での計算を効率化する • このフレームワークを使ってモデルを変換する際に、量子化もできる 16 Copyright © 2025, Oracle and/or its affiliates MLXで変換されたモデルなので、 Apple Silicon上で高速に動作する GGUFなので、CPU環境に最適化 されている
コンテキスト長とは LLMが覚えておける文脈の長さ LLMは、以前の入力を加味して出力している LLMが覚えておける文脈の長さは、コンテキスト長というパラメータで決まる 17 Copyright © 2025, Oracle and/or
its affiliates
LLMはどうやって文脈を保持している? 専用の中間表現を保持している 各トークンが「Key/Value」としてKVキャッシュに変換されて、Self-Attentionに利用されている ユーザーの入力と、自身の出力を加味してキャッシュに追加される コンテキスト長の上限を超えたら古いトークンは破棄される 18 Copyright © 2025, Oracle
and/or its affiliates KVキャッシュ (ここが記憶にあたる) そのほかの 部分 ※図は厳密ではありません
コンテキスト長とメモリの関係 コンテキスト長が長いほどメモリ消費も増える コンテキスト長とメモリの関係は、モデルのパラメータ数とメモリの関係よりも複雑 モデルや実装にも依存するので、一概にどうなるとは言えない 試しつつ、利用できる範囲で利用する形がベスト 19 Copyright © 2025, Oracle
and/or its affiliates
ローカルLLMの利用方法
ローカルLLMの利用方法 代表的なもの2つを紹介 LMStudio • GUIで操作可能なデスクトップアプリ • モデルのダウンロード、チャット、API公開などすべ てGUIで完結 • 非常に簡単に始められる
Ollama • CLIで操作するアプリケーション • モデルの管理・起動・推論実行をCLIコマンドで操作 • APIとしても利用可能 21 Copyright © 2025, Oracle and/or its affiliates 今回はこちらを利用します
LMStudioとは 簡単にローカル環境でLLMを動かせるデスクトップアプリ 特徴 • GUIで全ての操作が簡単にできる • モデルを検索して好きなモデルをダウンロード • ダウンロードしたモデルでチャット •
モデルをAPIで公開できる • MCPサーバーにも対応 22 Copyright © 2025, Oracle and/or its affiliates
LMStudioの機能 モデルのダウンロード 23 Copyright © 2025, Oracle and/or its affiliates
モデル名で検索 好きなモデルを選ぶ ダウンロード
LMStudioの機能 チャット 24 Copyright © 2025, Oracle and/or its affiliates
ダウンロードしたモデルを選択
LMStudioの機能 チャット 25 Copyright © 2025, Oracle and/or its affiliates
LMStudioの機能 APIサーバーでモデルを公開 26 Copyright © 2025, Oracle and/or its affiliates
APIサーバーを有効化 ここにアクセスするだけ
LMStudioの機能 MCPサーバー対応 27 Copyright © 2025, Oracle and/or its affiliates
mcp.jsonに登録したMCP サーバーが選べる
バイブコーディングとは
バイブコーディングとは AIを使ってノリでコードを書くコーディングスタイル OpenAIの共同創業者であるAndrej Karpathy氏が提唱したコーディングスタイル • コードの詳細に深く入り込まず、AIに指示を出して実装を委ねる • エラーが出たら、それをそのままコピペして修正させる 29 Copyright
© 2025, Oracle and/or its affiliates Todoアプリ作って! わかりました! FastAPIを使ってTodo アプリのWebサーバ を…
従来のバイブコーディング 人間はコピペ職人になる 30 Copyright © 2025, Oracle and/or its affiliates
わかりました! FastAPIを使ってTodo アプリのWebサーバ を… エラーが出たな、コピ ペして修正させよう Todoアプリ作って! エラーメッセージを 確認すると…
最近のバイブコーディング コピペすら不要に 31 Copyright © 2025, Oracle and/or its affiliates
わかりました! FastAPIを使ってTodo アプリのWebサーバ を… Todoアプリ 作って! コーディングエージェント • LLMが実行したい操作の実行 • 操作の結果をLLMに送信 などを代わりにやってくれる やり取りのラリーは ここで行われる
有名なコーディングエージェント • Cursor • GitHub Copilot • Continue • Cline
32 Copyright © 2025, Oracle and/or its affiliates
有名なコーディングエージェント Cursor • VSCodeをフォークして独自強化したエディタ • ファイルやプロジェクト単位で文脈を理解できる(@で指定する) • 以前は簡単にAIに質問できるエディタという感じだったが、コーディングエージェントとして動くこともできるよ うになった 33
Copyright © 2025, Oracle and/or its affiliates
有名なコーディングエージェント GitHub Copilot • VSCodeにデフォルトで入っているコーディングエージェント • Cursorと同様、コードの補完やエージェントとしてのコーディングなどが可能 34 Copyright ©
2025, Oracle and/or its affiliates
有名なコーディングエージェント GitHub Copilot • VSCodeにデフォルトで入っているコーディングエージェント • Cursorと同様、コードの補完やエージェントとしてのコーディングなどが可能 35 Copyright ©
2025, Oracle and/or its affiliates
有名なコーディングエージェント Continue • Agent、Chat、Edit、Autocompleteなどの機能がある • ローカルLLMも接続可能 • エージェントモードで動作する場合も、ファイルを触るような操作の場合は毎回ユーザーが承認する必要がある 36 Copyright
© 2025, Oracle and/or its affiliates
有名なコーディングエージェント Cline • VSCodeの拡張機能で入れられるコーディングエージェント • ローカルLLMを使うことも可能 • Auto-approveを使うことで、指示を出したら後は待つだけでOK 37 Copyright
© 2025, Oracle and/or its affiliates
ローカルLLMでバイブコー ディング
今回のデモでは、Clineを使います 実行環境 • チップ:Apple M3 Pro • メモリ:36GB • ローカルLLMホスト環境:LMStudio
• エディタ:VSCode • コーディングエージェント:Cline 39 Copyright © 2025, Oracle and/or its affiliates Cline on VSCode LMStudio OpenAI形式でAPI公開 APIアクセス
適当に指示出ししてみる テトリスを作ってもらう プロンプト カレントディレクトリに、tetrisというディレクトリを作成し、その中にテトリスを遊ぶことができるウェブアプリを 作成してください。 問題点 • ゲームオーバーにならない • 黄色が見づらい
• 一番上の行にはブロックが表示されない など 40 Copyright © 2025, Oracle and/or its affiliates
ちゃんと指示だしして作ってもらう プロンプト 長いので別画面で… 41 Copyright © 2025, Oracle and/or its
affiliates
Cline使い方ガイド *ClineのGitHubに、Clineがうまく生成できるようにするためのガイドがある • .clineignoreを活用 • 適切なプロンプトを使う の2点が述べられている 42 Copyright ©
2025, Oracle and/or its affiliates * https://github.com/cline/cline/blob/0858ff517af6243427a45ee175f76abd596291ce/docs/prompting/prompt-engineering-guide.mdx
Cline使い方ガイド .clineignoreの活用 Clineがコードベースを解析する際に、どのファイルとディレクトリを無視するかを決められる。 .gitignoreと同じ感じ。 目的 • ノイズの削減 • 自動生成されたファイル、ビルドの成果物などを除外 •
パフォーマンスの向上 • Clineが処理するコード量を減らす(コンテキスト長の削減にもつながる) • 集中化 • 関係する部分だけをClineに与える • 機密データの保護 • センシティブなファイルはLLMに送らない(ローカルLLMなのでそこまで気にする必要はない) 43 Copyright © 2025, Oracle and/or its affiliates
Cline使い方ガイド .clineignoreの具体例 44 Copyright © 2025, Oracle and/or its affiliates
# Dependencies node_modules/ **/node_modules/ # Build outputs /build/ /dist/ # Testing /coverage/ # Environment variables .env .env.local # Large data files *.csv *.xlsx
Cline使い方ガイド 効果的なプロンプト 効果的なプロンプトには、以下のような内容が含まれる • 明確なコンテキストの提供 • 目標と、コードベースの関連部分を説明する • @fileや@folderを活用 •
複雑さを分解する • 大きなタスクを、人間側で小さなステップに分割して指示を出す • 具体的な質問をする • 検証と改良 45 Copyright © 2025, Oracle and/or its affiliates
Cline使い方ガイド 明確なコンテキストの提供 Clineでは、@<keyword>で以下のコンテキストを明示的に指定できる。 • File • ファイルを指定して、コンテキストに指定できる • Folder •
フォルダを指定して、コンテキストに指定できる • Git commits • Gitコミットを指定して、コンテキストに指定できる • Terminal • ターミナルの出力をコンテキストに指定できる • Problems • コードの文法の誤りなど、VSCodeに出ているエラーをコンテキストに指定できる • Paste URL to fetch contents • Web上のファイルなどをコンテキストとして指定できる 46 Copyright © 2025, Oracle and/or its affiliates
Cline使い方ガイド .clinerulesの活用 プロジェクト固有のルールをあらかじめ記述しておける仕組み 例えば、以下のようなルールを記述しておける 47 Copyright © 2025, Oracle and/or
its affiliates # プロジェクトガイドライン ## コード品質 - すべてのエンドポイント変更にはドキュメントとテストを伴うこと - `src/generated/` 以下は常に上書き禁止 - 命名規則:変数は camelCase、型は PascalCase ## コミットメッセージ - フィーチャー追加なら `feat:`、バグ修正なら `fix:` を先頭につける - 半角100文字以内に制限 ## API設計 - REST エンドポイントは plural 名詞 (`/users`, `/posts`) - レスポンスは常に `{ data: ..., error?: ... }` 構造に統一 ## テスト規約 - 単体テストは `tests/unit/`、統合テストは `tests/integration/` に配置
(参考)開発コンテナとは コンテナを使って統一された開発環境を作る仕組み 開発コンテナを使うことで、簡単に開発環境が構築できる 準備 1. VSCodeをインストール 2. コンテナランタイムをインストール(Dockerなど) 3. 使いたいコンテナイメージを選ぶだけ!
48 Copyright © 2025, Oracle and/or its affiliates コマンドパレットから開発コンテナを作成 (ここではPython環境) Python環境ができる コードベース以外は触れない のである程度安心
AIによってプログラマーは不要になるか Clineを使ってみるとスラスラとコードを生成してくれるので、プログラマーが不要になってくるような気がしてくる ティム・オライリーは、*「The End of Programming as We Know it」という記事でこのことについて述べている
• AIはプログラマーに取って代わることはない • ただし、AIはプログラマーの仕事を大きく変える • この変革に追従していく必要がある 49 Copyright © 2025, Oracle and/or its affiliates * https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/ まずは使ってみるところから!
None