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
Go コードベースの構成と AI コンテキスト定義
Search
ANDPAD inc
December 08, 2025
Programming
250
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
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
50
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
220
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
2
1k
アプリから 360 度カメラ「RICOH THETA」に接続して写真を撮影する
andpad
0
62
アンドパッドが提供する Drinks and Local Meals と Drinkup を大公開
andpad
0
130
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
490
小規模 SRE チームで支える、 Atlantis で実現するインフラ管理のセルフサービス化
andpad
1
130
Other Decks in Programming
See All in Programming
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
380
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.9k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
640
Contextとはなにか
chiroruxx
1
390
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
160
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
450
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
0
1.6k
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Agile that works and the tools we love
rasmusluckow
331
22k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
The Language of Interfaces
destraynor
162
27k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Un-Boring Meetings
codingconduct
0
330
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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 ご清聴ありがとうございました