---
title: DXエンジニアのための AIエージェントチーム開発入門_20261016
tags:  #ai  
author: [Yukiko](https://image.docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJPKY4NLE8.jpg?width=480
description: DXエンジニアのための AIエージェントチーム開発入門_20261016 by Yukiko
published: October 16, 26
canonical: https://image.docswell.com/s/yukiko_it/ZL32VD-2026-10-16-060530
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJPKY4NLE8.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/2EVVGXK6EQ.jpg)

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


# Page. 3

![Page Image](https://bcdn.docswell.com/page/57GL8VQ2EL.jpg)

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


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4EQY96K9JP.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/KJ4WX4KR71.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE1YN4XV7G.jpg)

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


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GEWG4XN3J2.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/47ZL263GJ3.jpg)

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


# Page. 9

![Page Image](https://bcdn.docswell.com/page/YJ6WV2XQJV.jpg)

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


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GJ5MD2X2J4.jpg)

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


# Page. 11

![Page Image](https://bcdn.docswell.com/page/LE3WMKX1E5.jpg)

FIRST API CALL
最小の API 呼び出し
import anthropic
ポイント
client = anthropic.Anthropic()
・APIキーは環境変数 ANTHROPIC_API_KEY
msg = client.messages.create(
model=&quot;claude-sonnet-5-5&quot;,
max_tokens=300,
messages=[{&quot;role&quot;: &quot;user&quot;,
&quot;content&quot;: &quot;新人研修初日のあいさつを3行で&quot;}],
)
print(msg.content[0].text)
Chapter 2
・モデル名は公式で最新を確認
・max_tokens は返答の長さの上限
・演習：あいさつ文を生成してみましょう
10


# Page. 12

![Page Image](https://bcdn.docswell.com/page/8EDK632K7G.jpg)

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


# Page. 13

![Page Image](https://bcdn.docswell.com/page/V7PKY413J8.jpg)

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


# Page. 14

![Page Image](https://bcdn.docswell.com/page/2JVVGXYNJQ.jpg)

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


# Page. 15

![Page Image](https://bcdn.docswell.com/page/5EGL8V95JL.jpg)

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


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4JQY96WL7P.jpg)

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


# Page. 17

![Page Image](https://bcdn.docswell.com/page/K74WX4K5E1.jpg)

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


# Page. 18

![Page Image](https://bcdn.docswell.com/page/LJ1YN4X2EG.jpg)

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


# Page. 19

![Page Image](https://bcdn.docswell.com/page/GJWG4XN272.jpg)

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


# Page. 20

![Page Image](https://bcdn.docswell.com/page/4EZL263473.jpg)

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


# Page. 21

![Page Image](https://bcdn.docswell.com/page/Y76WV2XG7V.jpg)

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


# Page. 22

![Page Image](https://bcdn.docswell.com/page/G75MD2XX74.jpg)

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


# Page. 23

![Page Image](https://bcdn.docswell.com/page/9J2984XQER.jpg)

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


# Page. 24

![Page Image](https://bcdn.docswell.com/page/DEY46M8YJM.jpg)

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


# Page. 25

![Page Image](https://bcdn.docswell.com/page/VJNYZWQR78.jpg)

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


# Page. 26

![Page Image](https://bcdn.docswell.com/page/YE9PZXDZJ3.jpg)

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


# Page. 27

![Page Image](https://bcdn.docswell.com/page/GE8D125YED.jpg)

TOOL LOOP
実行ループの骨組み
for _ in range(5): # 上限で無限ループ防止
res = client.messages.create(
model=MODEL, max_tokens=500,
tools=tools, messages=messages)
if res.stop_reason != &quot;tool_use&quot;:
break
messages.append(
{&quot;role&quot;: &quot;assistant&quot;, &quot;content&quot;: res.content})
results = [{&quot;type&quot;: &quot;tool_result&quot;,
&quot;tool_use_id&quot;: b.id,
&quot;content&quot;: run(b)}
for b in res.content
if b.type == &quot;tool_use&quot;]
messages.append(
{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: results})
Chapter 6
ポイント
・stop_reason を見て繰り返す
・tool_use_id を対応させる
・回数に必ず上限を設ける
・ツール結果は鵜呑みにしない
・SDK の仕様は公式で最新を確認
26


# Page. 28

![Page Image](https://bcdn.docswell.com/page/LELMQ2Y97R.jpg)

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


# Page. 29

![Page Image](https://bcdn.docswell.com/page/4JMY18NVJW.jpg)

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


# Page. 30

![Page Image](https://bcdn.docswell.com/page/PJR9L5DW79.jpg)

ASYNCIO
3件の教材を並行でレビュー
sem = asyncio.Semaphore(3)
# 同時数の上限
async def review(text):
async with sem:
msg = await client.messages.create(
model=MODEL, max_tokens=300,
system=&quot;教材レビュー担当です&quot;,
messages=[{&quot;role&quot;: &quot;user&quot;,
&quot;content&quot;: 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


# Page. 31

![Page Image](https://bcdn.docswell.com/page/PEXQWK1VJX.jpg)

MCP &amp; 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


# Page. 32

![Page Image](https://bcdn.docswell.com/page/3EK9V525ED.jpg)

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


# Page. 33

![Page Image](https://bcdn.docswell.com/page/L73WMK4175.jpg)

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


# Page. 34

![Page Image](https://bcdn.docswell.com/page/87DK63QKJG.jpg)

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


# Page. 35

![Page Image](https://bcdn.docswell.com/page/VJPKY4L3E8.jpg)

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


# Page. 36

![Page Image](https://bcdn.docswell.com/page/2EVVGXQNEQ.jpg)

REFERENCES
参考文献（原典で最終確認を）
1
公式
Claude Code / Claude API ドキュメント（docs.claude.com）、Model Context Protocol（modelcontextprotocol.io）
2
学習・文脈
Roediger &amp; 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


# Page. 37

![Page Image](https://bcdn.docswell.com/page/57GL8VW5EL.jpg)

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


