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
1
190
LLM(Copilot)を最大限活用するための取り組みとその副産物
「CHUO_Tech #4 LLM活用について語ろう!」にて
2024/08/20(火)
https://chuo-tech.connpass.com/event/324549/
ほりしょー
August 20, 2024
Tweet
Share
More Decks by ほりしょー
See All by ほりしょー
開発プロセスを継続的に改善する仕組み作り ~ 強いスクラムをいかに維持するか ~
h0r15h0
0
110
ドメインイベント増えすぎ問題
h0r15h0
2
830
現実世界の事象から学ぶSOLID原則
h0r15h0
29
21k
集団意思決定の落とし穴と誰も望まない技術的負債
h0r15h0
1
5.2k
Goのパーサ作ってvscode拡張作ってみた!
h0r15h0
0
200
デザインパターンを学んだら世界が広がった話
h0r15h0
2
400
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Between Models and Reality
mayunak
1
180
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
The Curious Case for Waylosing
cassininazir
0
230
KATA
mclloyd
PRO
34
15k
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)