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
ほりしょー
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
820
現実世界の事象から学ぶSOLID原則
h0r15h0
29
21k
集団意思決定の落とし穴と誰も望まない技術的負債
h0r15h0
1
5.1k
Goのパーサ作ってvscode拡張作ってみた!
h0r15h0
0
190
デザインパターンを学んだら世界が広がった話
h0r15h0
2
390
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
37
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
410
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Skip the Path - Find Your Career Trail
mkilby
0
38
From π to Pie charts
rasagy
0
100
Between Models and Reality
mayunak
1
160
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Un-Boring Meetings
codingconduct
0
170
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Everyday Curiosity
cassininazir
0
120
4 Signs Your Business is Dying
shpigford
187
22k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
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)