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
はてなサマーインターンシップ2025 AIエージェント活用 講義資料
Search
Hatena
October 14, 2025
Technology
0
5
はてなサマーインターンシップ2025 AIエージェント活用 講義資料
https://hatena.co.jp/recruit/intern/2025
Hatena
October 14, 2025
Tweet
Share
More Decks by Hatena
See All by Hatena
はてなサマーインターンシップ2025 Web API 講義資料
hatena
0
6
はてなサマーインターンシップ2025 フロントエンド 講義資料
hatena
0
10
はてなサマーインターンシップ2025 コンテナ + Kubernetesハンズオン 講義資料
hatena
0
3
はてなサマーインターンシップ2025 クラウドと運用 講義資料
hatena
0
3
はてなサマーインターンシップ2025 RDBMSの基礎 講義資料
hatena
0
4
はてなサマーインターンシップ2025 セキュリティ 講義資料
hatena
0
3
はてなサマーインターンシップ2025 ライティング 講義資料
hatena
0
4
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
560
はてなインターンシップ2024 HTTP, Web, API 講義資料
hatena
0
1.7k
Other Decks in Technology
See All in Technology
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
450
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
200
Git in Team
kawaguti
PRO
3
330
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
250
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.8k
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
700
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
230
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
500
Where will it converge?
ibknadedeji
0
200
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Unsuck your backbone
ammeep
671
58k
BBQ
matthewcrist
89
9.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Bash Introduction
62gerente
615
210k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Transcript
AI時代の新しい開発スタイルを探る AIエージェント活用 はてなインターン2025
自己紹介 azukiazusa https://azukiazusa.dev 趣味: 麻雀・ポーカー・読書
講義の目的 現状のコーディングと AI の関係を整理 AI エージェントを使いこなす方法を学ぶ AI エージェントを活用した開発スタイルの変化を理解
AIコーディング支援の進化 ⌨️ 補完型AI GitHub Copilot 2021年 → 💬 チャット型AI ChatGPT
2022年 → 🤖 エージェント型AI Cursor, Devin 2025年
補完型AI(GitHub Copilot) ユーザーが書いたコードを補完 Tab キーで提案を受け入れ ペアプログラミングの相方のような存在 function add // ←
ここまで書くと... function add(a: number, b: number): number { return a + b; }
利点 定型コード自動生成: テストのモックデータ、決まり切ったコードの生成 新しい言語・フレームワークの学習支援: ユーザーが知らない書き方の提案 制約 ユーザーが書かない限りAIは何も提案しない 従来の開発スタイルから大きく変わらない 開発者の生産性向上はしたが、あくまで補助的な存在
チャット型AI(ChatGPT等) 自然言語での対話を通じ てコード生成 プログラミングの知識は 不要
利点 自然言語での指示: プログラミングの知識がなくても利用可能 課題 不明瞭な指示では品質の低いコードが生成される コードをレビューするエンジニアのスキルは依然として重要 チャット型のUIのため、往復のやり取りが必要 コードベース全体のアーキテクチャを理解し、適切なコードを生成するとい ったことは難しい
コーディングエージェントの登場 ユーザーからの指示に基づいて自律的にコードを生成し、実行するAI 人間の介入を最小限に抑えて、タスクの完了を目指す Cursor が登場したあたりから注目を集めた
AI エージェントの仕組み 複雑なタスクを最終的な解決に向けた論理的なステップの連続に区切る (Chain of Thought) 外部と対話するための「ツール」を使用してタスクを実行 ファイルの読み書き シェルコマンドの実行 ツールの実行結果からフィードバックを受け取り、次のステップを決定
(Self-Correction) 例えばテストが失敗した場合、元の計画を修正しコードの修正を試みる 計画・実行・フィードバックのループを繰り返すことで、タスクの完了を目指 す
エージェントの3つのタイプ ⌨️ エディタ型 自律レベル: 低 GitHub Copilot, Cursor, Windsurf, Cline
安全性重視 ⛯️ CLI型 自律レベル: 中 Claude Code, Codex CLI, Gemini CLI 効率性向上 🤖 自律型 自律レベル: 高 Devin, Cladue Code Actions 生産性最大化 1. https://blog.lai.so/agent/ ↩︎ [1]
どのタイプのエージェントを使うべきか? タスクに応じて使い分けられるのが理想 ユーザーの介入をほとんど必要としない自律型エージェントが最も効率的だ が、タスクが複雑になると失敗する可能性が高い 人間の仕事の進め方に例えるならば、マイクロマネジメントと放任主義をど のように使い分けるか 大まかに以下の 3 つのタスクの分類で使い分けを考えると良い 小規模なタスク
チャレンジングなタスク 大規模なタスク
30分以内で完了する小さなタスク 自律型エージェント 例: バグ修正、小さな機能追加 明確な目的かつ、修正範囲が小さいもの 複数タスクを同時処理 開発者のコンテキスト切り替えを減らす 活用例 Slackで「表示が崩れているバグを修正して」とメッセージを送る →
エージェントが自動でPR作成
エージェント活用の効果 従来の課題 小さなバグの修正が後回しになる 開発者のコンテキスト切り替えが発生 メインタスクの効率が低下 エージェント活用後 小さなタスクを即座に処理 開発者は重要なタスクに集中 開発全体の生産性向上
チャレンジングなタスク CLI型 or エディタ型、状況により自律型 特徴: 既存コードベースに参考がない、情報が不十分 自律型エージェントでは袋小路に入る可能性が高く、手戻り作業のほうが多 くなる可能性がある
CLI型を選ぶ場合 実装方針を AI と相談しながら決める Plan モードなどが有効 間違った方向に進みそうであれば、随時人間が介入する
大規模なタスク 人間によるタスク分解が必要 例: アプリケーションの大規模リファクタリング、複数マイクロサービスの修正 複数のサブタスクへの適切な分割が必要 When to Use Devin -
Devin Docs タスクを適切な粒度で分解するには高度な知識と経験を持つテックリードや アーキテクトの判断が必要だった これからは 1 開発者にもこのようなスキルが求められる AI に限らず人間の開発者にタスクを任せるときも同じ
より戦略的で俯瞰的な役割にシフト 開発者の仕事の変化 ⌨️ コードを書く • 仕様をコードに変換 • バグ修正とデバッグ • テストコード作成
従来の役割 → 📋 タスクを管理 • タスクの適切な分割 • AIエージェントへの指示 • コードレビューと品質管理 未来の役割 参考: The End of Programming as We Know It – O'Reilly
タスク分割・割り当て能力の重要性 新たに求められるスキル 適切なタスク分解 プロジェクト全体の目標理解 実現可能なサブタスクへの分解 各タスクの特性の見極めてAI エージェントに仕事を割り当てる 質の高い指示作成 AIが理解しやすい明確な指示 プロジェクトの設計や目的を記述したドキュメント
AIを使うことは、もはやマネジメントである マネージャーの仕事は作業分担と権限委譲 指示の言語化が重要 上司が「あれやっといて」と言うだけで は不十分 AI に指示するプロンプトも同様 1. https://baigie.me/nippo/2025/07/10/ai_ma/ ↩︎
[1]
指示の言語化 曖昧な指示 🙅♀️ 明確な指示 🙆♀️ カンバンボードのテストを書いてください カンバンボードのタスク操作に関するテストケースを作成してください - カンバンボードに表示されるタスクは、API から取得したデータに基づいていること
- 「新規追加」ボタンをクリックすると「新規追加ダイアログ」が表示されること - タイトルを入力するまで submit ボタンは無効化されていること - API のコールに失敗した場合、エラーメッセージがトーストで表示されること テストの記述は以下の要件に従ってください - API のモックは `msw` を使用すること - テストを書く際の注意事項は `docs/test-guidelines.md` を参照すること - `KanbanBoard.test.tsx` のテストの書き方が参考になります
AI時代も人間が設計・技術選定する点は AI時代も人間が設計・技術選定する点は 変わらない。コードに書き起こす手段が 変わらない。コードに書き起こす手段が 変わっただけ。 変わっただけ。
ドキュメントを育てる AI コーディングエージェントには長期記憶(メモリ)を管理する手段が用意 されている Claude Code: CLAUDE.md Cursor: .cursor/rules/ プロジェクトの設計やコーディング規約などを記述する
メモリはセッションの開始時に自動でコンテキストに取り込まれる よく整備されたドキュメントは新規参入した人間にも有用
プロンプトエンジニアリングの学習 AI エージェントを効果的に活用するためには、プロンプトエンジニアリングの 理解が重要 → LLM の仕組みを理解し、適切なプロンプトを設計する Prompt Engineering Guide
プロンプトエンジニアリングの概要 - Anthropic ChatGPT プロンプトエンジニアリング AI エージェント OSS のプロンプトを読むのもおすす め
テストや Lint の重要性 AI エージェントを十分に活用するためには、テストや Lint の整備が不可欠 AI エージェントはフィードバックを受けて自己内省するため、テストや Lint
の結果が重要な情報源となる AI がコードを書く速度に比べてテストや Lint の実行時間はボトルネックにな りがち CI の高速化が生産性の向上に直結する プロジェクトのコーディング規約を自作 Lint ルールとしてつくるのも有効
コードレビュー中心の仕事 AI が素早くコードを生成するため、開発者の仕事はコードレビュー中心にシ フト 自分が出すプルリクエストも知らないコードとして、自己レビューする必要 がある レビュー比率の増加: コードを書く楽しさの減少 簡単なタスクは AI
がすべて処理してしまい、人間には重要な判断だけが残 される AI生成コードの速度: 人間がボトルネックに
コードレビューがボトルネックにならないために レビューの自動化: Lint や自動テストを活用 プルリクエストを適切なサイズに分割 適切にモジュール化されているコードベースでは、AI エージェントが生成 するコードも小さなモジュールに分割されるため、レビューの負担が軽減 される AI
によるコードレビュー 論理的な誤りやセキュリティの問題を検出するのは得意 Claude Codeによる生産性向上の限界|すてぃお
従来の開発生産性が高い組織がそのまま AIエージェ ントを活用できる可能性が高い ドキュメントの整備 テストや Lint の整備 コードを小さなモジュールに分割 コードレビューの文化 これらの文化が根付いている組織は、AIエージェントを活用する際にもスム
ーズに移行できる
AI がコードを書くようになっても、 AI がコードを書くようになっても、 根本の部分は変わらない。 根本の部分は変わらない。
実演:Claude Codeを使ったタスク解決 実際のワークフローを見てみましょう Plan モード → 実装 → PR作成の一連の流れ
実演シナリオ 想定タスク: 看板ボードアプリにタスクのフィルタリング機能を追加 実演の流れ 1 探索: 既存コードの構造を理解 「カンバンボード」コンポーネントはどのように実装されているか調査して 2 計画:
タスクのフィルタリング機能実装の設計 Plan モードで戦略を立てる 3 実装: コード生成 コンポーネント、状態管理、UI 4 検証: テスト実行とコード品質チェック lint、テスト、ビルド確認
プロンプト 探索フェーズ 計画フェーズ カンバンボードのコンポーネントがどのように実装されているか調査して カンバンボードに表示されるタスクのフィルタリング機能を実装してください - フィルタリングフォームに文字を入力すると、タスクがリアルタイム - カンバンボードの上部にフィルタリングフォームを追加 -
大文字小文字を区別せず、タスクのタイトルに部分一致するものを表示
コーディングエージェント活用のTips 実際にエージェントを使う際の実践的なノウハウ
Tip 1: セッションのクリア 新しいタスクに取り組む前にセッションをクリアする コンテキストが長くなりすぎると、はじめの方の指示を忘れることがある Claude Code や Cursor では、セッションをクリアするコマンドが用意され
ている
Tip 2: コマンド許可設定 使用可能なコマンドの許可を与える 目的: 毎回の許可確認を省略し、スムーズな作業を実現 許可リスト npm run test
npm run lint ls git status git diff 安全であることがあらかじめわかっているコマンド 拒否リスト rm -rf ~/ sudo chmod 777 dd if=/dev/zero システムやデータに危険を及ぼす可能性のあるコマンド
Tip 3: コードベース検索の活用 コードの生成だけでなく、コードリーディングが超得意 ポイント: 既存のコードベースを理解し、構造やパターンを分析するのが得意 活用例 「認証処理はどのように行っている?」 「データベースのスキーマ定義を教えて」 おすすめの使い方
OSSのレポジトリをクローンして、エージェントにコードベース質問してみよう
Tip 4: 探索→計画→実装→コミットのワークフロー 1. 探索 - 関連するファイルを読み取る(コード書き込み禁止で指示) 2. 計画 -
アプローチを計画する(Planモード活用) 3. 実装 - 計画を元にコードを書く 4. コミット - 変更を確定する 全体像を把握してから実装することでプロジェクトの設計と整合があり 保守性の高いコードを生成できる
Tip 5: MCP ツールの活用 Model Context Protocol(MCP): 標準化された方法で AI がツールにアクセスする方法
例: Slack へのメッセージ送信、Google カレンダーのイベント作成など → 外部のツールと連携するために利用される コーディングエージェントの力を引き出す MCP ツールが積極的に開発されるフェーズ 「Serena」 「Context7」 「Cipher」などのツールが注目されている Serena の特徴 • AI エージェントは原始的なファイルの読み書きしかできず、コンテキストを多く消費していた • Serena は language server protocol (LSP) を使用して効率的にコードを検索・編集する
コーディングエージェントに期待しすぎない 適切な期待値設定が成功の鍵
「始めの一歩」のハードルを下げる ❌ 期待しすぎてはいけないこと • 何も介入せずに完璧なコードが仕上がる • 複雑な要求も一発で正確に実装してくれる • プロジェクト全体の設計を任せられる ✅
実際の価値 • コードを書き始めるハードルを下げる • 最初の足がかりを提供してくれる • そこから人間が改善・修正していく
「机に5分座る」効果 🪑 勉強のやる気を出すテクニック 「とりあえず机に5分座る」 → 座ってしまえば、そのまま勉強を続けられることが多い 作業興奮(Arbeitsrausch) 「やる気が出るから行動する」のではなく、「行動するからやる気が出る」 💻 コーディングでも同じ
「とりあえずAIに骨格コードを生成してもらう」 → 何かができてしまえば、そこから改善していくのは楽になる コーディング版の作業興奮 動くコードが目の前にあると「もう少し改善しよう」という気持ちが自然に湧く
AIコーディングの確率的な性質 同じプロンプトでも結果が変わる新しいパラダイム
従来のプログラミングとの違い 🔧 従来のプログラミング 決定的(Deterministic) • 同じ入力 → 同じ出力 • 予測可能な結果
• バグは再現可能 function add(a, b) { return a + b; } 🤖 AIコーディング 確率的(Probabilistic) • 同じプロンプト → 異なる出力 • 不確実な結果 • 成功/失敗が確率的 「関数を作って」→ 毎回違うコード → 確率的思考へのパラダイムシフトが必要
AIコーディングでの実践的対処法 AIコーディングでは、良いコードが生成されるかどうかをしばしば「ガチャ」 と表現される 1度悪いコードが生成されたからといって、AIの能力が低いとは限らない 試行回数を増やして、長期的な視点で生産性が上がっているかどうかを判断 する必要がある 生成されたコードではなく、AIの思考プロセスに注目する 確率思考を磨くには麻雀やポーカーの学習が有効
AIは「よいお手本」を真似るのが得意 AI 既存のコードベースを調査してから実装を開始する 既存コードの設計品質が生成コードの品質を決める 「よいお手本を」作るアーキテクトとしての技術力は依然として重要
学習でのAI活用法 学習目的ではAIに頼らずに書く すぐに答えを求めるのではなく、自分で考える プログラミングでは写経と呼ばれる学習方法が広く行われてきた 自ら手を動かした経験は記憶に残りやすい 自分の言葉でAIに質問する 知らなかった構文や書き方を学ぶためにAIを活用 AIをパーソナルコーチのように活用することで、学習の効率を高める Junior developers
aren’t obsolete: Here’s how to thrive in the age of AI - The GitHub Blog
基礎力 + 瞬発力
プログラミングの基礎知識を学ぼう AI はあくまでツールであり、最終的な判断は人間に委ねられる AI が生成したコードが正しいかどうかを判断するためには、プログラミング の基礎的な知識やスキルが必要 基礎的な知識は普遍的であり、長期間にわたって役立つ AI とのチャットでのやり取りでは体系的に学習することは難しい →
書籍での 学習をおすすめ https://azukiazusa.dev/blog/computer-it-books/
AI活用能力も鍛えるとスタートダッシュを切れる 日々新しい AI ツールが登場している 新しいツールが出たらとりあえず触ってみよう いち早く試すことで優位に立てる 新しいツールに触れることで、異なるアプローチや設計思想を学べる 子どものような好奇心旺盛な姿勢で新しい技術に触れる人が強い プラットフォーマーがシェアを争っている今がチャンス 競争が激化しているため、無料で高性能なモデルが利用できる
学生向けの無料プランもある(例: Gemini Pro)
生成AIの盲信 AI が生成したコードを無批判に受け入れてしまう危険性 批判的思考力を身につけて、AI を適切に活用しよう
劇場のイドラ(Theater of Idols) フランシス・ベーコンの「4つのイドラ」より 権威や流行に盲従してしまう認知バイアス AI時代における「劇場のイドラ」 AI の権威性:「AI が言うから正しい」 技術の流行性:「最新のAIツールなら間違いない」
自動化への過信:「機械の方が人間より正確」 🎭 権威への盲従は 判断力を奪う
批判的思考力の重要性 批判的思考:与えられた情報や状況を鵜呑みにせ ず、多角的な視点から分析し、論理的に考察し て、客観的な判断や評価を行うための思考力 AI時代に必要な批判的思考 出力の検証:生成されたコードの妥当性確認 複数の視点:異なるアプローチの検討 根拠の確認:なぜその解決策なのかを自分の言 葉で説明できるように
ファスト&スロー思考 私達の思考には、2つの思考モードがある システム1: 直感的で高速な思考 日常生活のおおかたの判断はこのシステムで行 われる システム2: 論理的で熟考する思考 意識的に働きかけないと使われない
例:「バットとボールは併せて1ドル10セントです。バットはボ ールより1ドル高いです。ではボールはいくらでしょう?」 システム1は直感的に「10セント」と答える システム2は「5セント」と正しい答えを導き出す AI は高速で出力し多くの判断を求められるため、システム1の思考で判断してしまいがち しかし、AI の出力を鵜呑みにせず、システム2での検証を行うことが重要
インターンでの注意点 業務情報の取り扱い 許可されたツール以外に業務情報を入力しない AI の学習に使用される可能性があるため 会社のコード、顧客情報、設計資料等は要注意 不明な場合は必ずメンターに確認
時代の転換点を楽しもう 人類の歴史は技術革新による仕事の変化の連続 狩猟採集 → 農耕社会 → 産業革命 → 情報化社会 →
AI時代 歴史の転換点に立ち会える貴重な体験 変化を楽しみ、時代の波に乗ろう
まとめ ⌨️ AIエージェントの進 化 補完型 2021 チャット型 2022 エージェント型 2024
⛯️ 適切な使い分け 小規模タスク 自律型エージェント チャレンジング CLI型(自律型) 大規模タスク 人間による分解 📋 役割変化 タスク分割 戦略的思考 コードレビュー 品質管理 AI協働 新スキル