DXエンジニアのための AIエージェントチーム開発入門_20261016

-- Views

October 16, 26

#ai

スライド概要

profile-image

はじめまして、yukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

うさうさ研修工房 | UDEMY COURSE DXエンジニアのための AIエージェントチーム開発入門 IT研修の運営を自動化しながら学ぶ マルチエージェント × API × サブエージェント × MCP 🐰 講師:うさうさ先生 受講者用資料(全8章・約195分)

2.

ABOUT THIS COURSE この講座でできるようになること 1 単体かチームかを判断 「分けるべきか」を根拠をもって説明できる 2 サブエージェントを設計 Claude Code で定義し、権限は最小に絞れる 3 API でツールを動かす tool 呼び出しと並行処理をPythonで組み込める 4 MCP と評価まで 社内データを安全につなぎ、出力を検証する仕組みを作れる はじめに 1

3.

THEME 題材:うさうさ研修工房の運営チーム 1 教材作成担当 研修教材のたたき台を作る(読む・書く) 2 テスト作成担当 理解度テストを作る 3 レビュー担当 教材とテストを確認する(読み取り専用) 4 受講者フォロー担当 FAQ検索で一次回答する。日報要約は振り返り担当へ はじめに 2

4.

COURSE MAP 全体マップ:8章の流れ 前半|知識編(考える) 1 なぜチームか 15分 2 開発環境 20分 3 部品の分解 20分 4 設計図 【山場】 25分 ▼ 橋渡し:設計図が動き出す(小休憩5分) 後半|実践編(手を動かす) 5 サブエージェント 25分 全体マップ 6 API とツール 30分 7 並行・MCP・評価 30分 8 総合演習 25分 3

5.

1 CHAPTER 1 なぜエージェントチームなのか 分ければ良い、とは限りません 今日のゴール 単体で足りる場面と、分けるべき場面を、理由つきで説明できる Chapter 1 4

6.

WHY 単体の限界と、分ける理由 1 単体の限界 長い文脈・役割の混在・権限の集中。1冊のノートで全部こなす状態です 2 分けるメリット 担当ごとに短い文脈で集中でき、権限も個別に絞れます(Liu et al., 2024/Sweller, 1988) 3 ただし注意 チームはコストと調整が増えます。まず単体で試し、必要なときだけ分けましょう Chapter 1 5

7.

SOLO vs TEAM 単体で十分/チームの価値あり 単体で十分 チームの価値あり ・一言のあいさつ文 ・長い調査と文章作成が混ざる ・短い要約 ・書く人と確認する人を分けたい ・1回で終わる単純な変換 ・毎回同じ役割と形式で再利用したい ・権限を分ける必要がない作業 ・権限を担当ごとに絞りたい Chapter 1 6

8.

DIAGRAM 図解:単体 と チーム 単体:1人に全部 チーム:役割を分ける 教材を作る 店長(全体の指揮) テストを作る 教材作成 テスト作成 レビュー チェックする 質問に答える Chapter 1 担当ごとに文脈が短く、権限も絞れる 7

9.

2 CHAPTER 2 開発環境と最初の一歩 Windows で動かしてみましょう 今日のゴール Windows で Claude Code と Python から API を動かせる Chapter 2 8

10.

SETUP 環境準備とつまずきポイント 1 環境 Windows 10/11 + VSCode + Python 3.10以上 + Git。仮想環境(.venv)で分離します 2 Claude Code と API Claude Code は人が対話して使う道具、API は自分のプログラムから呼ぶ窓口(導入は公式手順で) 3 つまずき PATH、PowerShell の実行ポリシー、文字化け(UTF-8で保存)。APIキーは環境変数で渡します Chapter 2 9

11.
[beta]
FIRST API CALL

最小の API 呼び出し
import anthropic

ポイント

client = anthropic.Anthropic()

・APIキーは環境変数 ANTHROPIC_API_KEY

msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=300,
messages=[{"role": "user",
"content": "新人研修初日のあいさつを3行で"}],
)
print(msg.content[0].text)

Chapter 2

・モデル名は公式で最新を確認
・max_tokens は返答の長さの上限
・演習:あいさつ文を生成してみましょう

10

12.

3 CHAPTER 3 チームの部品を分解する 名札・道具・机・鍵で考えます 今日のゴール エージェントを「役割・ツール・文脈・権限」の4要素で説明できる Chapter 3 11

13.

PARTS 4要素と MCP 1 役割=名札 description や system プロンプト。「いつ・何を担当するか」を書きます 2 ツール=道具/MCP=共通コンセント tools や API の tool 定義。MCP は AI と外部ツール/データをつなぐ共通規格です 3 文脈=机の上 担当ごとに独立して持てるので、他の担当の作業で散らかりません 4 権限=倉庫の鍵 書く人と確認する人を分け、必要最小限だけ渡します(最小権限) Chapter 3 12

14.

DIAGRAM 図解:エージェントの4要素 役割 名札:いつ・何を担当するか ツール 道具:読む・書く・調べる エージェント 文脈 机の上:担当ごとに独立 Chapter 3 権限 鍵:必要最小限だけ持つ 13

15.

4 CHAPTER 4 【山場】チームの設計図を描く ここが山場です。コードは書きません 今日のゴール 業務を分割し、担当・権限・失敗時の動き・人の確認点を1枚の設計図にできる Chapter 4 14

16.

DESIGN 分け方と基本パターン 1 分ける基準 文脈が混ざる/権限が違う/再利用したい、のどれかなら分ける価値があります 2 基本パターン① オーケストレーター+ワーカー。全体の計画と統合は1人に任せます 3 基本パターン② 「作成→レビュー」の2段。レビュー担当は読み取り専用にします Chapter 4 15

17.

SAFETY 権限・失敗・人の確認 1 権限設計 書く担当と確認する担当を分け、持たせる道具を最小にします 2 失敗の設計 失敗・タイムアウト・不正確な出力のとき、誰が何をするかを決めます 3 人の承認点 公開前に必ず1つ置く。LLMレビューにも偏りがあります(Zheng et al., 2023) Chapter 4 16

18.

CHAPTER 4 | WORKSHEET ミニ演習:設計図シートを埋めよう 担当 役割 使う道具 権限 人が確認する点 教材作成 テスト作成 レビュー Chapter 4 読み取りのみ 17

19.

DIAGRAM 図解:チームの設計図 オーケストレーター(計画と統合) 教材作成担当(書く) テスト作成担当(書く) レビュー担当(読み取り専用) 人の承認(公開前に必ず1回) Chapter 4 18

20.

BRIDGE | ここで小休憩(5分) 橋渡し:設計図が後半で動き出す 1 担当と権限 → 第5章 サブエージェントの定義ファイル(description・tools)になります 2 ツール呼び出し → 第6章 API の tool 定義と実行ループになります 3 並行・外部データ・評価 → 第7章 asyncio、MCP、評価の3層になります 4 全体の統合 → 第8章 設計図どおりに研修運営チームを動かします Bridge 19

21.

5 CHAPTER 5 最初のサブエージェントを作る Markdown 1枚で、スタッフが1人増えます 今日のゴール Markdown 1枚でサブエージェントを作り、Claude Code から呼べる Chapter 5 20

22.

SUBAGENT FILE レビュー担当の定義ファイル --name: material-reviewer description: 研修教材の誤りや根拠のない 断定を確認するレビュー担当。 公開前のチェックで使う。 tools: Read, Grep, Glob --- ポイント ・置き場所は .claude/agents/ ・description は「いつ呼ぶか」を具体的に ・tools は最小(読み取りのみ) ・書式や項目は公式ドキュメントで最新を確認 あなたは研修教材のレビュー担当です。 - 読み取り専用で確認する - 重大度(高/中/低)をつけて指摘する - 修正は自分でせず、修正案だけ添える Chapter 5 21

23.

DESCRIPTION description の良い例/悪い例 悪い例 良い例 「レビューする人」 「研修教材の誤りや曖昧な表現を確認する。公開前に使う」 ・いつ呼ぶのか分からない ・場面が具体的 ・Claude が判断できない ・担当範囲が明確 ・他の担当と役割が重なる ・呼ばれやすい Chapter 5 22

24.

DIAGRAM 図解:サブエージェントの使い方 Chapter 5 ① 定義を書く ② 置く ③ 頼む ④ 確認する name / description tools / 本文 .claude/agents/ に Markdown 名前を指定 またはおまかせ 結果を元データと 照らし合わせる 23

25.

6 CHAPTER 6 API でエージェントを動かす 実行するのは、モデルではなく私たちです 今日のゴール ツール呼び出しの流れ(要求→実行→結果を返す)を説明・実装できる Chapter 6 24

26.

TOOL USE ツール呼び出しの流れ 1 ① 要求 モデルが「このツールを使いたい」と tool_use で返します 2 ② 実行 自分のプログラムがツールを実行します(モデルは実行しません) 3 ③ 返す 結果を tool_result として返し、モデルが最終回答を作ります Chapter 6 25

27.
[beta]
TOOL LOOP

実行ループの骨組み
for _ in range(5): # 上限で無限ループ防止
res = client.messages.create(
model=MODEL, max_tokens=500,
tools=tools, messages=messages)
if res.stop_reason != "tool_use":
break
messages.append(
{"role": "assistant", "content": res.content})
results = [{"type": "tool_result",
"tool_use_id": b.id,
"content": run(b)}
for b in res.content
if b.type == "tool_use"]
messages.append(
{"role": "user", "content": results})

Chapter 6

ポイント
・stop_reason を見て繰り返す
・tool_use_id を対応させる
・回数に必ず上限を設ける
・ツール結果は鵜呑みにしない
・SDK の仕様は公式で最新を確認

26

28.

DIAGRAM 図解:ツール呼び出しの流れ 自分のプログラム Claude(モデル) ① 質問 + tools 定義 ② tool_use(使いたい) ③ ツールを実行する ④ tool_result(結果) ⑤ 最終回答 Chapter 6 27

29.

7 CHAPTER 7 並行処理・MCP・評価でチームに 待ち時間を重ね、結果を検証します 今日のゴール 複数担当を並行で動かし、結果を統合して、評価の仕組みまで組み込める Chapter 7 28

30.

ASYNCIO 3件の教材を並行でレビュー sem = asyncio.Semaphore(3) # 同時数の上限 async def review(text): async with sem: msg = await client.messages.create( model=MODEL, max_tokens=300, system="教材レビュー担当です", messages=[{"role": "user", "content": text}]) return msg.content[0].text ポイント ・AsyncAnthropic を使う ・Semaphore でレート制限対策 ・return_exceptions で一部失敗に備える ・高速化には上限あり(Amdahl, 1967) results = await asyncio.gather( *(review(d) for d in docs), return_exceptions=True) Chapter 7 29

31.

MCP & EVAL MCP の安全と評価の3層 1 MCP 社内データは最小権限でつなぎ、提供元と権限を確認。秘密情報は平文で置きません 2 評価の3層 ルールチェック(形式)+LLMレビュー(内容)+人の最終確認。どれも省略しません 3 アムダールの法則 並列にできる割合 p と並列数 n で、高速化は 1/((1-p)+p/n)。p=0.8, n=4 なら 2.5倍です Chapter 7 30

32.

DIAGRAM 図解:逐次 と 並行 逐次(1件ずつ) 教材Aのレビュー 教材Bのレビュー 教材Cのレビュー 並行(同時に待つ) 教材Aのレビュー 同時数は Semaphore で絞る 教材Bのレビュー 高速化には上限がある(アムダールの法則) 教材Cのレビュー Chapter 7 31

33.

8 CHAPTER 8 総合演習と振り返り 設計図どおりに、チームを動かします 今日のゴール 設計図どおりに研修運営チームを動かし、改善点を言語化できる Chapter 8 32

34.

PRACTICE 総合演習:研修1コマ分を作る 1 演習の流れ 新テーマで、教材作成→テスト作成→レビュー→人の承認の順に動かします 2 チェック① 設計図と実装が対応している/各担当の権限が最小になっている 3 チェック② 並行数に上限がある/失敗時の動きと、人の承認点が決まっている 4 振り返り 単体と比べた品質・時間・費用を記録し、自社業務への当てはめと安全確認へ進みます Chapter 8 33

35.

ANSWERS ミニクイズ・解答(抜粋) 1 第1章 一言のあいさつは単体で十分。長い調査+文章+権限分離はチームの価値あり 2 第5章・第6章 description は「いつ呼ぶか」を書く/stop_reason が tool_use ならツールを実行して結果を返す 3 第7章 p=0.8, n=4 のとき 1/(0.2+0.2)=2.5倍。同時数に上限がないとレート制限に当たりやすい Quiz 34

36.

REFERENCES 参考文献(原典で最終確認を) 1 公式 Claude Code / Claude API ドキュメント(docs.claude.com)、Model Context Protocol(modelcontextprotocol.io) 2 学習・文脈 Roediger & Karpicke 2006/Liu et al. 2024(TACL)/Sweller 1988 3 エージェント・評価 Yao 2023 (ReAct)/Du 2024/Hong 2024/Madaan 2023/Zheng 2023/Amdahl 1967 References 35

37.

🐰 おつかれさまでした! まず単体で試して、必要なときに分ける。 小さなチームから、一歩ずつ育てていきましょう。