Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はてなサマーインターンシップ2025 AIエージェント活用 講義資料

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for Hatena Hatena
October 14, 2025

はてなサマーインターンシップ2025 AIエージェント活用 講義資料

Avatar for Hatena

Hatena

October 14, 2025

More Decks by Hatena

Other Decks in Technology

Transcript

  1. エージェントの3つのタイプ ⌨️ エディタ型 自律レベル: 低 GitHub Copilot, Cursor, Windsurf, Cline

    安全性重視 ⛯️ CLI型 自律レベル: 中 Claude Code, Codex CLI, Gemini CLI 効率性向上 🤖 自律型 自律レベル: 高 Devin, Cladue Code Actions 生産性最大化 1. https://blog.lai.so/agent/ ↩︎ [1]
  2. 大規模なタスク 人間によるタスク分解が必要 例: アプリケーションの大規模リファクタリング、複数マイクロサービスの修正 複数のサブタスクへの適切な分割が必要 When to Use Devin -

    Devin Docs タスクを適切な粒度で分解するには高度な知識と経験を持つテックリードや アーキテクトの判断が必要だった これからは 1 開発者にもこのようなスキルが求められる AI に限らず人間の開発者にタスクを任せるときも同じ
  3. より戦略的で俯瞰的な役割にシフト 開発者の仕事の変化 ⌨️ コードを書く • 仕様をコードに変換 • バグ修正とデバッグ • テストコード作成

    従来の役割 → 📋 タスクを管理 • タスクの適切な分割 • AIエージェントへの指示 • コードレビューと品質管理 未来の役割 参考: The End of Programming as We Know It – O'Reilly
  4. 指示の言語化 曖昧な指示 🙅‍♀️ 明確な指示 🙆‍♀️ カンバンボードのテストを書いてください カンバンボードのタスク操作に関するテストケースを作成してください - カンバンボードに表示されるタスクは、API から取得したデータに基づいていること

    - 「新規追加」ボタンをクリックすると「新規追加ダイアログ」が表示されること - タイトルを入力するまで submit ボタンは無効化されていること - API のコールに失敗した場合、エラーメッセージがトーストで表示されること テストの記述は以下の要件に従ってください - API のモックは `msw` を使用すること - テストを書く際の注意事項は `docs/test-guidelines.md` を参照すること - `KanbanBoard.test.tsx` のテストの書き方が参考になります
  5. プロンプトエンジニアリングの学習 AI エージェントを効果的に活用するためには、プロンプトエンジニアリングの 理解が重要 → LLM の仕組みを理解し、適切なプロンプトを設計する Prompt Engineering Guide

    プロンプトエンジニアリングの概要 - Anthropic ChatGPT プロンプトエンジニアリング AI エージェント OSS のプロンプトを読むのもおすす め
  6. テストや Lint の重要性 AI エージェントを十分に活用するためには、テストや Lint の整備が不可欠 AI エージェントはフィードバックを受けて自己内省するため、テストや Lint

    の結果が重要な情報源となる AI がコードを書く速度に比べてテストや Lint の実行時間はボトルネックにな りがち CI の高速化が生産性の向上に直結する プロジェクトのコーディング規約を自作 Lint ルールとしてつくるのも有効
  7. 実演シナリオ 想定タスク: 看板ボードアプリにタスクのフィルタリング機能を追加 実演の流れ 1 探索: 既存コードの構造を理解 「カンバンボード」コンポーネントはどのように実装されているか調査して 2 計画:

    タスクのフィルタリング機能実装の設計 Plan モードで戦略を立てる 3 実装: コード生成 コンポーネント、状態管理、UI 4 検証: テスト実行とコード品質チェック lint、テスト、ビルド確認
  8. Tip 2: コマンド許可設定 使用可能なコマンドの許可を与える 目的: 毎回の許可確認を省略し、スムーズな作業を実現 許可リスト npm run test

    npm run lint ls git status git diff 安全であることがあらかじめわかっているコマンド 拒否リスト rm -rf ~/ sudo chmod 777 dd if=/dev/zero システムやデータに危険を及ぼす可能性のあるコマンド
  9. Tip 4: 探索→計画→実装→コミットのワークフロー 1. 探索 - 関連するファイルを読み取る(コード書き込み禁止で指示) 2. 計画 -

    アプローチを計画する(Planモード活用) 3. 実装 - 計画を元にコードを書く 4. コミット - 変更を確定する 全体像を把握してから実装することでプロジェクトの設計と整合があり 保守性の高いコードを生成できる
  10. Tip 5: MCP ツールの活用 Model Context Protocol(MCP): 標準化された方法で AI がツールにアクセスする方法

    例: Slack へのメッセージ送信、Google カレンダーのイベント作成など → 外部のツールと連携するために利用される コーディングエージェントの力を引き出す MCP ツールが積極的に開発されるフェーズ 「Serena」 「Context7」 「Cipher」などのツールが注目されている Serena の特徴 • AI エージェントは原始的なファイルの読み書きしかできず、コンテキストを多く消費していた • Serena は language server protocol (LSP) を使用して効率的にコードを検索・編集する
  11. 「机に5分座る」効果 🪑 勉強のやる気を出すテクニック 「とりあえず机に5分座る」 → 座ってしまえば、そのまま勉強を続けられることが多い 作業興奮(Arbeitsrausch) 「やる気が出るから行動する」のではなく、「行動するからやる気が出る」 💻 コーディングでも同じ

    「とりあえずAIに骨格コードを生成してもらう」 → 何かができてしまえば、そこから改善していくのは楽になる コーディング版の作業興奮 動くコードが目の前にあると「もう少し改善しよう」という気持ちが自然に湧く
  12. 従来のプログラミングとの違い 🔧 従来のプログラミング 決定的(Deterministic) • 同じ入力 → 同じ出力 • 予測可能な結果

    • バグは再現可能 function add(a, b) { return a + b; } 🤖 AIコーディング 確率的(Probabilistic) • 同じプロンプト → 異なる出力 • 不確実な結果 • 成功/失敗が確率的 「関数を作って」→ 毎回違うコード → 確率的思考へのパラダイムシフトが必要
  13. まとめ ⌨️ AIエージェントの進 化 補完型 2021 チャット型 2022 エージェント型 2024

    ⛯️ 適切な使い分け 小規模タスク 自律型エージェント チャレンジング CLI型(自律型) 大規模タスク 人間による分解 📋 役割変化 タスク分割 戦略的思考 コードレビュー 品質管理 AI協働 新スキル