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(Copilot)を最大限活用するための取り組みとその副産物
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ほりしょー
August 20, 2024
210
1
Share
LLM(Copilot)を最大限活用するための取り組みとその副産物
「CHUO_Tech #4 LLM活用について語ろう!」にて
2024/08/20(火)
https://chuo-tech.connpass.com/event/324549/
ほりしょー
August 20, 2024
More Decks by ほりしょー
See All by ほりしょー
開発プロセスを継続的に改善する仕組み作り ~ 強いスクラムをいかに維持するか ~
h0r15h0
0
120
ドメインイベント増えすぎ問題
h0r15h0
2
860
現実世界の事象から学ぶSOLID原則
h0r15h0
30
22k
集団意思決定の落とし穴と誰も望まない技術的負債
h0r15h0
1
5.2k
Goのパーサ作ってvscode拡張作ってみた!
h0r15h0
0
220
デザインパターンを学んだら世界が広がった話
h0r15h0
2
420
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
270
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Soul's Torment
seathinner
6
2.7k
Transcript
2024/08/20 CHUO_Tech #4 LLM(Copilot)を最大限活用するための 取り組みとその副産物
ほりしょー ハコベル株式会社 サーバーサイドエンジニア @H0R15H0 https://youtu.be/ZFTW6Ete9eE?feature=shared https://zenn.dev/hacobell_dev/articles/131cbcb873e8ba https://zenn.dev/hacobell_dev/articles/4bf484a360d343
話すこと GitHub Copilotによる回答の正確性を高めるための取り組み 取り組みによる思わぬ副産物
正確性を向上させるためには? プロンプトエンジニアリングのテクニックをコードベースに落とし込む 1 コードベースのスタイル・命名規則に一貫性を (Few-shot prompting) 2 モジュールを小さく分割し、依存順に実装 (Prompt Chaining)
プロンプト: 出力: デモを提供し文脈を学習させる テクニック 1. Few-shot prompting
コードベースに一貫性を持たせる 1. Few-shot prompting Copilotはコードベースをプロンプト(文脈)とし、Few-shot promptingを図る コードベースに一貫性がない状態=デモがない (=Few-shot promptingが行えない) 一貫性のない状態
意味の欠如した命名 誤ったコメント・不要なコメント ベストプラクティス・基本的な設計原則を違反した実装
複雑なタスクを複数のサブタスクに分割するテクニック 2. Prompt Chaining 複雑なタスク サブタスク1 サブタスク2
複雑なコードはモジュールを適切に分割 小さなモジュールに分割することで複雑性を排除 2. Prompt Chaining コーディングにおける複雑なタスクとは? 複雑なドメインロジックの実装 依存関係の多いモジュールの実装 複雑なタスクのままコードは当然困難
モジュールを依存関係の順に実装 2. Prompt Chaining 依存の向き 実装の流れ A B C D
E 上位モジュールでは下位モジュールをうまく利用したコード生成が可能に
副産物:既存コードの問題点が明白に 1 コードベースのスタイル・命名規則に一貫性を(Few-shot prompting) 2 モジュールを小さく分割し、依存順に実装(Prompt Chaining) 暗黙的・形式化されていないコーディングスタイルを明示 コードに潜む“臭い”に対する嗅覚の向上 コード保守性の向上
手戻りの軽減
まとめ 効率化以上の恩恵があった うまく回答が得られない時は自分のコードを怪しむいい機会 コードベース(=プロンプト)のプロンプトエンジニアリングを意識 1 コードベースのスタイル・命名規則に一貫性を(Few-shot prompting) 2 モジュールを小さく分割し、依存順に実装(Prompt Chaining)