Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Go コードベースの構成と AI コンテキスト定義
Search
ANDPAD inc
December 08, 2025
Programming
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go コードベースの構成と AI コンテキスト定義
奥村 雅敏
2025 年 12 月 8 日
GO・GMOペパボ・アンドパッド "Go" 同勉強会
ANDPAD inc
December 08, 2025
More Decks by ANDPAD inc
See All by ANDPAD inc
実行場所を意識させない i18n API を作った話
andpad
1
57
Go 1.27 における memory allocation の高速化
andpad
0
390
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
190
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
150
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
570
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
260
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
2
1.3k
アプリから 360 度カメラ「RICOH THETA」に接続して写真を撮影する
andpad
0
93
アンドパッドが提供する Drinks and Local Meals と Drinkup を大公開
andpad
0
160
Other Decks in Programming
See All in Programming
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
150
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
360
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
240
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
What We Talk About When We Talk About XP
m_seki
2
560
Deep dive into the select statement (GopherCon UK)
jespino
0
180
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
660
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
410
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
150
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Docker and Python
trallard
47
4.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Designing for Performance
lara
611
70k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
Transcript
© 2025 ANDPAD All Rights Reserved. 1 Goコードベースの構成とAIコンテキスト定義 奥村 雅敏
© 2025 ANDPAD All Rights Reserved. Confidential 2021年に自動車業界からSWEに転身 2024年 アンドパッド入社
アンドパッドでは請求管理プロダクトでバックエンド開発に従事 奥村 雅敏 株式会社アンドパッド 開発本部 Profile | 経 歴 2 自己紹介
© 2025 ANDPAD All Rights Reserved. Confidential テスト 3 開発でのAI活用
機能実装 リファクタリング ドキュメント作成・要約
© 2025 ANDPAD All Rights Reserved. Confidential 4 AIに対してプロジェクトの内容を伝える難しさ AIには背景情報を理解した上で回答してほしい
• 一般的なことではなくプロジェクト固有の文脈を理解してほしい • 質問のたび同じことを説明する手間 ➢ ドメイン知識 ➢ プロジェクトの構成 ➢ コーディングルール AIに伝わりやすくするための試みと知見を共有します
© 2025 ANDPAD All Rights Reserved. Confidential 5 AIにプロジェクトを伝える工夫 〜コンテキストを書く〜
複数のAIツールが共通して参照できるコンテキストを1箇所で管理する チームの開発環境では複数のAIツールを使っている Github上での自動レビュー Github Copilot AI統合エディタ Cursor / Claude Code MCP連携 Gemini 共通コンテキスト
© 2025 ANDPAD All Rights Reserved. Confidential • ディレクトリ構造の詳細 ◦
ツリー形式で構造を説明 + 各層の詳細を説明 ▪ 各層の責務と役割 • 依存関係のルール • 何を書くのかだけでなく、何を書いてはいけないのか • テストのガイドライン ◦ どのようにテストを書くのか ◦ お手本にするファイルを示す 6 共通コンテキストに書くこと①
© 2025 ANDPAD All Rights Reserved. Confidential 7 共通コンテキストに書くこと② •
実行してほしいコマンドを明確に書く ◦ AIが書いたものはAIでLintやテストをしてほしい ◦ 環境依存のコマンドをシームレスに実行 ▪ 環境変数などの設定も含めて一括で実行してもらう • 指定していても環境変数をうまく設定できないことが良くある ◦ 使ってほしいコマンドを使ってくれない時が良くある ▪ “RECOMMENDED”や「頻繁に使用」といった脚注を追記すると 従ってくれやすくなる様子
© 2025 ANDPAD All Rights Reserved. Confidential 8 共通コンテキストに書くこと③ •
技術スタックや使用技術 ◦ 使用言語 / インフラ / DB ◦ 全体像の把握に役立ちそう ▪ 人間が最初に見るような場所はAI向けにも有効そう • 外部ライブラリ使用のガイドライン ◦ AIは一般的なライブラリを引っ張ってきてしまいがち • 関連リポジトリ・周辺サービス・監視体制 ◦ 一応記述。影響するかも?
© 2025 ANDPAD All Rights Reserved. Confidential 詳細なREADMEを書く感覚 • チームにジョインした新メンバーのために、
丁寧に文書を残すように伝える • 細かいことでも書けることは書く 9 共通コンテキストを書く
© 2025 ANDPAD All Rights Reserved. Confidential とは言え、 AIにプロジェクト固有のルールを 毎回把握してもらい、
適切な出力をしてもらうのは難しい 10 AIに歩み寄った実装をする
© 2025 ANDPAD All Rights Reserved. Confidential 特にクリーンアーキテクチャはAIと相性が良さそう • 広く認知されているため、AIとしても学習データが多そう
• どこに何を書くのかが的確 • 各層が独立しているため、層のルールに従えば適切なコードを書ける ◦ AIがプロジェクト全体を把握する必要が無い ◦ コンテキストを理解していなくても、ある程度正確に出力される 11 歩み寄る工夫①: 一般論に合わせる 一般的なアプリケーションアーキテクチャにこちらから寄せに行く
© 2025 ANDPAD All Rights Reserved. Confidential Goならではのメリット • コードスタイルが揺れない
• 制御フローが分かりやすい • 構造体に余計な機能がついていない ◦ 継承がない ◦ コンストラクタ・デストラクタがない • Goのインターフェースは依存関係が明確になるので積極的に使いたい 挙動が予測しやすいので、AIにも読みやすい言語と言える 12 歩み寄る工夫②: Go言語の「予測しやすさ」を活かす
© 2025 ANDPAD All Rights Reserved. Confidential • 値オブジェクトを使う ◦
Goなら型定義・型エイリアスを使う ◦ プリミティブ型の意図が分かりやすくなる ◦ Goだと変数名を省略しがちなので、より分かりやすさが 増すかも ◦ 感覚としてかなり有効なので、置き換えを進めている ▪ 一つパターンを用意すれば、 同じ様な置き換えは結構正確にやっていくれる 13 歩み寄る工夫②: Go言語の「予測しやすさ」を活かす
© 2025 ANDPAD All Rights Reserved. Confidential 1 まとめ: AIとの協業は「対話」と「設計」で
1. AIに「教える」 AIをチームの新メンバーと捉え、 詳細なREADMEを書くように プロジェクトを伝える 2. AIに「歩み寄る」 AIが理解しやすいように、 予測可能で責務が明確な コードベースを設計する AIとのスムーズな協業
© 2025 ANDPAD All Rights Reserved. Confidential 既存のパターンに沿った実装を正確に生成はしてくれるが、 ゼロから新しい機能を完全に自動生成するのは難しい。 設計の判断が必要な部分は人間が介入する必要がある。
15 AIと共に開発を進める中での課題 ゼロからの実装は難しい
© 2025 ANDPAD All Rights Reserved. Confidential コーディング規約は定めていても、 細かい部分は見落としてしまう。 Lintツールとの併用が必要
16 AIと共に開発を進める中での課題 AgentモードとPlanモードなどの違 いが明確に分かっていない 各種モードの 使い分けができていない 細部の記法は 見落としがち
© 2025 ANDPAD All Rights Reserved. Confidential 17 ご清聴ありがとうございました