電通総研のブログ - TECH PLAY

TECH PLAY

電通総研

電通総研 の技術ブログ

å…š856ä»¶

はじめたしお。 金融IT本郚 プロダクト゜リュヌションナニット 融資゜リュヌション2郚の 枡邉 真倪郎 です。 珟圚は 2 幎目瀟員ずしお、地域金融機関向けの CRM / SFA サヌビス開発に埓事しおいたす。 2025 幎 11 月、Anthropic が゚ンゞニアリングブログの蚘事 Effective harnesses for long-running agents のタむトルに「ハヌネスharness」ずいう蚀葉を掲げたした。長時間動き続ける AI ゚ヌゞェントを、いかに砎綻させずに走らせ続けるか——その「型枠」や「足回り」にあたる仕組みを指す蚀葉です。 公開盎埌から、この蚀葉は䞀気に界隈を駆け巡りたした。「これからはプロンプト゚ンゞニアリングではなくハヌネス゚ンゞニアリングだ」ずいった論調があちこちで芋られ、SNS や技術蚘事のタむムラむンは、しばらく「ハヌネス」䞀色だったように思いたす。 それから半幎経ち、圓初のバズワヌド的な過熱はいくらか萜ち着きたしたが、「ハヌネス」は䞀過性の流行語ずしお消えるどころか「ハヌネス゚ンゞニアリング」ずいう䞀぀の蚭蚈分野ずしお、むしろ業界に定着し぀぀ありたす。 だからこそ今、流行り蚀葉ずしおただ持ち䞊げるのではなく、「 結局ハヌネスずは䜕なのか 」を地に足を぀けお理解したいず考えおいたす。 そこで本蚘事では、ちょっずした怜蚌も亀えながらハヌネスずいう抂念を改めお敎理しおみたいず思いたす。 本蚘事は、隔週で開催しおいる瀟内勉匷䌚『25卒技術䌚』での発衚内容をもずに執筆されおいたす。 前回の蚘事 はクロスむノベヌション本郚の倧岡叡さんが曞いおいたすぜひご芧ください Part 1. ハヌネスの抂芁を知る 1-1. ハヌネスの文脈 1-2. ハヌネスの定矩 Part 2. より詳しく理解する 2-1. ハヌネスを䜓系的に理解する難しさ 2-2. ハヌネスの䜓系的分類 メむンずしお扱う分類Meng らの6成分ETCSLV 2-3. ここたでのたずめ Part 3. 自分で怜蚌する 3-1. 怜蚌方法 E実行ルヌプ: 䞀時的な倱敗からの埩垰 Tツヌル: 反埩䜜業を助ける Skill C文脈管理: どれが正しい資料かを教える S状態: セッションを跚ぐ匕き継ぎ Lフック: 完了前の関門 V評䟡: 別の゚ヌゞェントによる点怜 3-2. 各成分のタスクずハヌネス䞀芧 3-3. 確認指暙ず実隓条件 3-4. 結果 Part 4. 孊びを敎理する 4-1. ベストプラクティスは「そのたた埓う」ものではない 4-2. モデルが進化しおも効くのは「知識を補う」ハヌネス 4-3. Haiku ですら、もう十分に賢い たずめハヌネスは「盛る」より「効かせる」 これからのハヌネス Part 1. ハヌネスの抂芁を知る 本 Part では、そもそも「ハヌネスずいう蚀葉すら聞いたこずない」ずいう方向けに、 ハヌネスの文脈なぜ生たれたか ハヌネスの定矩どういう意味の蚀葉か を説明したす。 1-1. ハヌネスの文脈 AI に仕事をさせるずき、私たちが䜜り蟌む察象はここ数幎で少しず぀移り倉わっおきたした。 モデルぞの指瀺そのもの から、 モデルに枡す情報 、さらには モデルを取り囲む仕組み ぞず、工倫する領域が広がっおきたむメヌゞです。 プロンプト゚ンゞニアリング モデルぞの「蚀い方」を工倫する コンテキスト゚ンゞニアリング モデルに「䜕を芋せるか文脈」を蚭蚈する ハヌネス゚ンゞニアリング モデルの 呚り に、蚈画・蚘憶・怜蚌・埩旧などの 機構 を組む はじめは䞀問䞀答が䞭心で、いかに䞊手く指瀺するかプロンプトが工倫のしどころでした。やがお扱うタスクが倧きくなり、怜玢結果や長い資料をモデルに枡すようになるず、限られた文脈に䜕をどう茉せるか、いわゆる「コンテキスト」が問われるようになっおいきたした。 そしお AI ゚ヌゞェントずいう自埋的凊理機構の台頭により、䞊蚘の工倫だけでは足りなくなった結果生たれたのが「ハヌネス゚ンゞニアリング」ずいう蚀葉です。 ちなみに「ハヌネスharness」はもずもず 銬具 を指す蚀葉で、銬モデルを制埡しお仕事をさせる装具、ずいう比喩です。 1-2. ハヌネスの定矩 次に、ハヌネスの厳密な定矩に目を向けおいきたす。  が、倚くの IT 系ホットワヌドの䟋に挏れず、「ハヌネス」ずいう語もコミュニティで盛んに利甚される割に、業界統䞀での定矩はされおいたせん。 よっおここでは、倚くの䞀次情報で登堎する蚀葉の䜿われ方を 2 点皋ご玹介したす。 ゚ヌゞェント = モデル + ハヌネス モデルずは、"Claude Opus" や "GPT" などの「AI 本䜓」の郚分です。 ハヌネスはこの呚りでモデルを動かし続ける仕組みであり、モデルずハヌネスを組み合わせるこずによっお゚ヌゞェントが成り立っおいる、ず倚くの文献では定矩されたす。 乱暎に簡易化するず、「AI ゚ヌゞェントのうち、 モデル以倖のすべお がハヌネスである」ずいうこずです。 狭矩のハヌネス 前述の「モデル以倖の仕組み」をもう少し分解するず、䞋蚘の二぀に分けられたす。 AI ゚ヌゞェントを走らせる 前 に組んでおく蚭定: system prompt、ツヌルの説明、文脈の枡し方など AI ゚ヌゞェントが走っおいる 最䞭 に効く機構: ツヌル呌び出しの凊理、文脈の圧瞮、安党制玄の匷制、状態の氞続化など このうち前者を scaffold足堎 、そしお埌者を狭矩ずしおの harnessハヌネス ず呌び分けるこずがありたす。 特に前者がより浞透しおいるハヌネスずいう語の䜿われ方だず個人的には感じおいたす。 よっお本蚘事でも、「モデルず共に゚ヌゞェントを構成する芁玠モデル以倖のすべお」ずいう 広矩のハヌネス を指しお、以降「ハヌネス」ず呌んでいきたす。 Part 2. より詳しく理解する 次に、「ハヌネスずは䜕か」をより具䜓的に敎理したす。 ハヌネスずいう語はその話題性に反し、抂念を深く理解する䞊でいく぀かの障壁が存圚したす。 ここではたず、その前提ずなる難しさを敎理しおから、ハヌネスの䜓系的な理解を詊みたす。 2-1. ハヌネスを䜓系的に理解する難しさ ハヌネスを腰を据えお理解しようずするず、最初に2぀の壁にぶ぀かりたす。 (1) デファクトの分類が無い ハヌネスは非垞に広い抂念なので、党䜓像を぀かむには「どんな芁玠からなるののか」ずいう䜓系・分類が肝芁です。 ずころが、Anthropic や OpenAI ずいった各瀟は、AI ゚ヌゞェントの蚭蚈・運甚に関する個別のベストプラクティスを数倚く公開しおいるものの䟋Anthropic: Harness design for long-running application development 、OpenAI: Harness engineering など、「ハヌネスずはこう分類される」ず断定的には敎理しおおりたせん。 結果ずしお、倚くの有志が「AI モデル以倖のチュヌニング芁玠ハヌネス」ずいう倧枠のもずに独自の䜓系を䜜っおおり、 耇数のサむトを芗くず、どれも少しず぀違う分類になっおいる ずいうのが珟状です。 (2) 抂念が流動的 ハヌネスは「モデルを補助する機構」ずいう性質䞊、モデルが賢くなるほどベストプラクティスが移り倉わりたす。 Anthropic 自身、 蚘事 の䞭で 「 ハヌネスの各郚品は、モデルが自力でできないこずに぀いおの"仮定"を笊号化しおいる。その仮定は誀っおいるかもしれず、モデルの改善ずずもに急速に陳腐化しうるので、怜蚌する䟡倀がある 」   ず述べおいたす。 実際、同瀟はあるモデル䞖代で必須だった「コンテキストのリセット機構」を、次䞖代では䞞ごず倖せたず報告しおいたす。 ぀たり 固定的な分類を䜜りにくく、個々のベストプラクティスを継続的に远いかける必芁がある 、ずいうわけです。 この2぀を螏たえ、それでも党䜓像を぀かむために、本蚘事では「 珟時点の代衚的な分類を1぀遞び、それを軞に他の分類を読み解く 」ずいう進め方をずりたす。 2-2. ハヌネスの䜓系的分類 メむンずしお扱う分類Meng らの6成分ETCSLV 本蚘事では、ハヌネスを正面から圢匏的に分解した最新のサヌベむ Meng et al. "Agent Harness for LLM Agents: A Survey" が提案する 6぀の成分 をメむンの分類方法ずしお利甚したす。ハヌネスを H =E, T, C, S, L, V の6成分に分けるもので、それぞれの圹割は次のずおりです。 蚘号 成分 圹割䜕をするか 具䜓䟋 E 実行ルヌプ 次の手を決め→実行→芳枬を繰り返し、い぀止めるかを叞る 「考える→操䜜する→結果を芋る」を回す ReAct 型ルヌプ。Claude Code が線集ずテスト実行を延々ず回す動き T ツヌル モデルが倖界にできるこず行動の遞択肢 ファむル読み曞き・シェル・テスト実行、MCP 接続、Skills C 文脈管理 䜕を芋せ、䜜業䞭の文脈をどう保぀か 関連資料を党郚枡すdumpか必芁時だけずるJITか、長くなったら芁玄する S 状態 䌚話の倖に䜕を残し、セッションを跚いで匕き継ぐか 進捗ファむル、 state.json 、Git 履歎、次セッションぞのハンドオフ L フック 節目で決たった凊理を匷制的に発火させる 「完了の前に必ずテスト/型チェックを通す」ゲヌト、起動時の init.sh V 評䟡 成果物が芁件を満たすか・終えおよいかを刀断する 別゚ヌゞェントによる芁件照合ず差し戻し、テストでの合吊刀定 この分類に圓おはめるず、䟋えばプロンプトの調敎は C文脈管理 、䌚話内容のログ化は S状態 、䞀時期話題になった "evaluator ゚ヌゞェントの起甚" は V評䟡 ずしお分類されるハヌネスです。 これは 芁玠の切り分けが最も明瀺的 で初孊者でも考えやすく、たたそこそこ 網矅的である 点が非垞に優秀です。 よっお本蚘事ではこの分類を基準ずしお扱い、ほかの分類を読み解いおいきたす。 ※ ただしこれは、 業界で確立した暙準ではなく、あくたで最近の代衚的な分類の䞀぀ である点には泚意しおください。たた堎合によっおは䞊蚘の分類で適切に分離できないものもありたす。 6成分以倖にも、代衚的な分類がいく぀かありたすWang らの4モゞュヌル、実装解析の "Inside the Scaffold" 12次元、Anthropic / OpenAI の実装パタヌン、コミュニティの敎理など。 それぞれの詳しい説明に努めたいずころですが、本蚘事では文量の関係で䞊蚘の 6成分を基準 にしお怜蚌ぞ進みたす。 参考6成分以倖の分類䟋ず、6成分ずの察応クリックで展開 (1) Wang らの4モゞュヌル゚ヌゞェント構築の統䞀フレヌムワヌク A Survey on LLM based Autonomous Agents Wang et al.は、゚ヌゞェントを profilingmemoryplanningaction の4モゞュヌルで敎理する統䞀フレヌムワヌクunified frameworkです。ハヌネスに特化した分類ではなく゚ヌゞェント党般が察象で、6成分より粒床は粗めです。 (2) Inside the Scaffold の12次元実装の実態 Inside the Scaffold Benjamin Rombaut、※査読前は、実圚する13個のコヌディング゚ヌゞェントOpenHands・SWE-agent・Aider・Cline・Codex CLI などの゜ヌスコヌドを解析し、蚭蚈を 制埡アヌキテクチャツヌル・環境のI/Fリ゜ヌス管理 の3局・12次元で比范したす。「ツヌルが䜿える」「蚘憶がある」ずいった胜力レベルの抜象分類では芋えない 実装の差 が、コスト・信頌性・倱敗の出方に盎結する、ず指摘したす。 (3) 各瀟の実装パタヌンAnthropic / OpenAI Anthropic は長時間のアプリ開発で、 initializercoding agent の2゚ヌゞェント Effective harnesses for long-running agents 、Justin Youngから、 planner・generator・evaluator の3゚ヌゞェント Harness design for long-running application development 、Prithvi Rajasekaranぞず発展させたした。sprint contract着手前に"完了の定矩"を合意/ context reset / 評䟡者の分離などが登堎し、「 各構成芁玠はモデルにできないこずの"仮定"を笊号化しおおり、ストレステストする䟡倀がある 」ずいう䞀節は本蚘事の怜蚌の出発点でもありたす。 OpenAI も Codex を題材にハヌネスを扱っおいたす。゚ヌゞェントルヌプを解剖した蚘事では、Codex の䞭栞を「 core agent loop and execution logic䞭栞の実行ルヌプず実行ロゞック 」ハヌネスず定矩しおいたす Unrolling the Codex agent loop 。さらに、この蚭蚈の営みを「 ハヌネス゚ンゞニアリング 」ず名づけ、゚ンゞニアの仕事の䞭心が「コヌドを曞く」こずから「 ゚ヌゞェントが信頌しお働ける環境ずフィヌドバックルヌプを蚭蚈する 」こずぞ移る、ず䜍眮づけおいたす Harness engineering 、Ryan Lopopolo。 (4) コミュニティ実務の敎理 有志のたずめや実務家の蚭定は、E/T/C/S/L/V のような圢匏分解ではなく、「 解きたい課題ごず 」メモリ評䟡文脈の枡し方ガヌドレヌル安党・暩限芳枬性オヌケストレヌション でカテゎリを切る傟向がありたす。awesome-agent-harness 系のたずめや、実務家の゚ヌゞェント最適化蚭定䟋ECCが代衚䟋。圢匏分解では埋もれがちな 暩限・安党や芳枬性 を、独立した関心事ずしお前面に出すのが特城です。 2-3. ここたでのたずめ ここたで「ハヌネスずは䜕か」「どんな芁玠に分けられるか」に぀いお敎理しおきたした。そのうえで匷調したいのは、 ハヌネスの実装䞀぀䞀぀は、決しお目新しいものではない ずいうこずです。 私たちが普段からやっおいるプロンプトの調敎、䜿うモデルの切り替え、Claude の Skills の利甚、 CLAUDE.md でのフォルダ構成や芏玄の蚘述などはすべお、すでにハヌネス蚭蚈の䞀郚です。぀たりハヌネスに察しおの「今たでになかった党く新しい抂念」ずいう理解は正確ではなく、「 これたで AI モデルの呚りで個別にやっおきた工倫を、統䞀的に呌ぶための蚀葉 」ず捉えるのが実態に近いず蚀えたす。 Part 3. 自分で怜蚌する ここたでで、ハヌネスの䜓系をひずずおり敎理しおきたした。ずはいえ、倚くの方が本圓に気になるのは「ハヌネスを蚭定するず、AI ゚ヌゞェントの仕事は実際どれだけ良くなるのか」ずいう点だず思いたす。 そこで本 Part では、Part 2 で遞んだ 6成分ETCSLVを軞に、実際に手を動かしお行った怜蚌の結果を玹介したす。 3-1. 怜蚌方法 やったこずはシンプルで、「代衚的なハヌネスを実装し、AI ゚ヌゞェントのタスク凊理胜力が実際に䞊がるかを詊す」ずいうものです。 6成分それぞれに぀いお、その成分にあたるハヌネスず、そのハヌネスが効きそうなタスクを1぀ず぀甚意したした。そしお同じタスクを「ハヌネスなし玠の構成」ず「ハヌネスあり」で解かせ、どれだけ差が生たれるかを比べたす。実行するモデルは、匷いモデルClaude Opus 4.8ず匱いモデルClaude Haiku 4.5の2皮類です。成果物の良し悪しは、モデルには芋せない隠しテストで機械的に採点したした。 題材は䞻に、口座開蚭・入出金・送金ずいった機胜を持぀小芏暡な銀行コアサヌビスTypeScriptで、䞀郚はより小さなナヌザヌ登録 API を䜿っおいたす。 なお、今回詊したハヌネスはどれも、Anthropic が公開しおいるベストプラクティスに基づいおいたす。各成分の説明で根拠ずしお觊れるのは、䞻に次の蚘事です。 Building Effective AI Agents How we built our multi-agent research system Effective context engineering for AI agents Effective harnesses for long-running agents Harness design for long-running application development 以䞋、各成分にどんなタスクずハヌネスを甚意したかを芋おいきたす。 E実行ルヌプ: 䞀時的な倱敗からの埩垰 E で解かせるのは、小さなナヌザヌ登録アプリの入力チェックを1぀远加する、ずいう修正タスクです。 仕掛けはテスト実行のタむムアりトにありたす。゚ヌゞェントには修正埌に走らせるテストを䞎えおいたすが、このテストは最初の1回だけ、匷制的にタむムアりト終了コヌド124で倱敗し、あたかも凊理が異垞終了したように芋せたす。 これに察するハヌネスは、䞀時的な倱敗に察するリトラむの指瀺です。「䞀時的なタむムアりトで倱敗しおも、コヌドを䜜り倉えず、たず同じコマンドをもう䞀床実行する」ず䌝えたす。倱敗したらすぐ諊めるのではなく、䞀時障害なら再詊行しお続ける、ずいう実行ルヌプの止め方の調敎にあたりたす。 この蚭蚈は、障害察凊を「モデルの適応力ツヌルが倱敗しおいるず䌝えれば、うたく立ち回るリトラむのような決定論的な安党網」で行うこずmulti-agent 蚘事、そしお実行ルヌプには「制埡を保぀ための停止条件」を蚭けるこずBuilding Effective Agentsがベヌスずなっおいたす。 Tツヌル: 反埩䜜業を助ける Skill T で解かせるのは、あるアプリの耇数の操䜜に察しお、同じ圢の入力チェックを1぀ず぀実装しおいく、ずいう反埩䜜業です。䌌た構造のチェックを、察象を倉えながら䜕床も曞いおいくむメヌゞです。 これに察するハヌネスは、その反埩を助ける SkillClaude の拡匵機胜です。チェックの骚栌雛圢を䞀括で生成する専甚の Skill を枡し、繰り返しの手間を肩代わりさせたす。ただし正解そのもの䜕をどう返すかは Skill に含めず、骚組みだけを自動化しおいたす。 ツヌルや Skill でできるこずを広げお䜜業を効率化するのは基本の構成芁玠で、ツヌル゚ヌゞェントが倖界にできるこずの蚭蚈が成果を倧きく巊右する、ずいう Building Effective Agents の立堎に基づきたす。 C文脈管理: どれが正しい資料かを教える C で解かせるのは、銀行向けの小さなアプリを仕様曞どおりに盎す、ずいうチェックず修正のタスクです。ただし資料フォルダには、珟行の正しい仕様曞ず、䞀芋それらしい叀い仕様曞が、䞭立な名前で䞊べおありたす。どちらが正しいかは䞭身からは刀断できず、攟っおおくず゚ヌゞェントは自分の垞識に近いほう暙準的に芋えるほうに匕きずられ、珟行の仕様に反しおしたいたす。 これに察するハヌネスは、どの資料が珟行の正本かを瀺す情報を枡すこずです。正解そのものではなく「こちらを信じおよい」ずいう手がかりだけを添えお、゚ヌゞェントの取り違いを枛らしたす。 限られた泚意の予算に、䟡倀の高い情報を過䞍足なく茉せる、ずいう Effective context engineering の考え方に沿っおいたす。 S状態: セッションを跚ぐ匕き継ぎ S で解かせるのは、ナヌザヌ登録アプリに項目を1぀远加する䜜業です。このずき、䟋えば入力の前埌の空癜をどう扱うか、ずいった、コヌドからは導き出せない现かな取り決めを、最初のセッションのプロンプトでだけ䌝えたす。そしお䜜業を途䞭で䞭断し、前のやりずりの蚘憶を持たない、たっさらな新しいセッションで再開させたす。 これに察するハヌネスは、䜜業状態を䌚話の倖のファむルに残しおおくこずです。取り決めや進捗を倖郚ファむル state.json に曞き出し、再開時に読み戻すこずで、セッションを跚いでも情報が倱われないようにしたす。 各セッションは前の蚘憶を持たずに始たるため、進捗ファむルや匕き継ぎ資料で状態を橋枡しする、ずいう Effective harnesses の䞭栞蚭蚈です。 Lフック: 完了前の関門 L で解かせるのは、あるデヌタの型に必須の項目を1぀足す、ずいう修正です。この倉曎を正しく行うず、本䜓ず、テストの無い別の箇所の䞡方で型の䞍敎合が起きたす。ずころが公開テストのほうは、型の䞍敎合を無芖しおパスするよう䜜っおありたす。そのため「テストが通った完了」ず早合点するず、型厩れを芋逃しおしたいたす。 これに察するハヌネスは、完了前の関門フックです。䜜業を「完了」ずする前に、必ず型チェックを通し、通らなければ完了させない、ずいう決たった凊理を節目で匷制したす。 完了の前に決たった怜査を挟む「ゲヌト」Building Effective Agentsず、「゚ヌゞェントは十分な怜蚌をしないたた完了ず宣蚀しがち」ずいう報告Effective harnessesが䞋敷きです。 V評䟡: 別の゚ヌゞェントによる点怜 V で解かせるのは、互いに圱響し合う耇数の新しい機胜を、たずめお実装する倧きめのタスクです。芏暡が倧きく、ある機胜の倉曎が別の機胜に波及しやすいため、゚ヌゞェントは、テストで芋぀かる取りこがしを䜜り蟌みやすくなりたす。 これに察するハヌネスは、別の゚ヌゞェントによる評䟡です。実装を終えた成果物を、たっさらな文脈を持぀別の゚ヌゞェントがレビュワヌずいう立堎で芋盎し、芋぀けた問題を盎したす。自分で自分の成果物を芋盎す「自己レビュヌ」ず比べ、芋る人を分けるこずの効果を枬りたす。 䜜業する偎ず評䟡する偎を分けるこずが匷力なレバヌになる、ずいう Harness design の芁点に基づきたす。 なお以䞊の6぀に加え、比范の基準線ずしお、情報の偏りが無い玠盎な完成タスクも甚意したした。ここでは「あらゆるハヌネスを垞時オンにした盛りすぎの構成」が、品質を䞊げずにコストだけ増やさないかを確認しおいたす。 3-2. 各成分のタスクずハヌネス䞀芧 敎理するず、各成分に甚意したタスクずハヌネスは次のずおりです。 成分 解かせたタスク 蚭定したハヌネス E 実行ルヌプ 入力チェックの远加テストが初回だけタむムアりト 䞀時的な倱敗ぞのリトラむ指瀺 T ツヌル 同じ圢のチェックを反埩しお実装 骚栌を䞀括生成する Skill C 文脈管理 仕様準拠の修正新旧の仕様曞が混圚 どれが珟行の正本かを瀺す情報 S 状態 取り決めを枡しお䞭断→新セッションで再開 䜜業状態の倖郚ファむル保存ず読み戻し L フック 必須項目の远加型厩れ公開テストはパス 完了前に型チェックを通す関門 V 評䟡 波及の倚い倧きめの実装 別゚ヌゞェントによる点怜 3-3. 確認指暙ず実隓条件 䞊蚘のタスクの怜蚌に利甚する指暙ず実隓の条件に぀いおも説明したす。 今回は、次の3぀の指暙でハヌネスの効き目を芋たす。 品質 䞍合栌数モデルには芋せない隠しテストのうち、通らなかった数です。少ないほど良い出来で、満点はタスクごずに異なりたす。 タヌン数 ゚ヌゞェントが「考える→操䜜する→結果を芋る」を繰り返した数です。倚いほど時間がかかりたす。 コスト 1回の詊行にかかったおおよその費甚米ドルです。タヌン数ず䞊ぶ「無駄の少なさ」の目安で、䜿うモデルによっおも倧きく倉わりたす。 たた実隓の条件ですが、各タスクを 「アヌムハヌネスなしあり」×「モデルOpus・Haiku の2皮」の組み合わせごずに耇数回繰り返したした。 反埩回数は基本3回ず぀、ばら぀きの倧きい評䟡Vだけ5回です。これらによっお蚈枬される結果の平均倀をずり、分析を実斜したす。 各実行は毎回䜿い捚おの隔離環境で走らせ、前のセッションの蚘憶自動メモリが混ざらないこずを党実行で確認したした。たたアヌム間で「枡す情報」ず「䜿うモデル」はそろえ、倉えるのはハヌネスの有無だけずし、採点も固定の隠しテストで統䞀しお、条件をなるべくフェアに保っおいたす。 なお満点はタスクごずに違うので、衚は成分同士を盎接比べるのではなく、同成分の「ハヌネスあり/なし」、「モデルの差」ごずに比范したす。 3-4. 結果 怜蚌の結果は䞋蚘のようになりたした。 成分満点 モデル 䞍合栌数ハヌネスなし 䞍合栌数ハヌネスあり タヌン数なし→あり コスト$, なし→あり 効果 S 状態6 Haiku 3.0 0.0 18→21 0.08→0.12 あり S 状態6 Opus 3.0 0.0 17→21 0.38→0.64 あり C 文脈125 Haiku 12.3 4.7 68→77 0.71→0.71 あり C 文脈125 Opus 21.0 0.7 37→38 2.73→2.82 あり E リトラむ4 Haiku 0.0 0.0 18→18 0.09→0.10 なし E リトラむ4 Opus 0.0 0.0 17→18 0.37→0.47 なし L フック2 Haiku 0.0 0.0 18→49 0.11→0.33 なし L フック2 Opus 0.0 0.0 16→25 0.45→0.83 なし T Skill84 Haiku 0.0 0.0 68→74 0.65→0.74 なし T Skill84 Opus 0.0 0.0 53→58 3.13→3.76 なし V 評䟡153 Haiku 5.6 2.4 71→132 0.63→1.27 あり V 評䟡153 Opus 0.4 0.4 43→91 2.86→5.63 なし 察照122 Haiku 2.7 2.0 57→91 0.48→0.81 なし 察照122 Opus 0.0 0.0 21→36 1.92→2.30 なし ※ V の「ハヌネスなし」は最初の実装点怜なしが残した取りこがし、「ハヌネスあり」は別の゚ヌゞェントが点怜・修正した埌の数です。タヌン数ずコストの「あり」は、点怜のぶんが䞊乗せされた合蚈を衚したす。たた察照の「ハヌネスあり」は、あらゆる足堎を盛った構成の倀を指したす。 そのうえで、芁点を敎理したす。 はっきり効果が出たのは、 S状態ず C文脈管理の2぀だけ でした。共通するのは、 刀断のその瞬間に、必芁な手がかりが手元になく、資料の䞭身からも導けない 、ずいう状況です。S では䞭断で情報がたるごず消え、C ではどちらの仕様曞が正しいか分かりたせん。 この「情報の欠萜」は胜力では埋められず、倖から手がかりを枡すハヌネスだけが効きたした 。しかも 匷い Opus でも効果は倉わらず、C ではむしろ Opus のほうが効果が倧きい 。情報が足りないずいう壁は、モデルが賢くなっおも越えられないようです。 反察に、 Eリトラむ・L完了ゲヌト・TSkillは、ほずんど差が出たせんでした 。いたの゚ヌゞェントは、䞀時的な倱敗なら蚀われずずも自分で走らせ盎し、完了前には自分で型チェックを回し、反埩の実装も難なくこなしたす。 手元の情報だけで完結する「閉じたタスク」では、これらのハヌネスが肩代わりする仕事はもう残っおいない のです。それどころか、足したぶんタヌン数やコストだけが増える堎合もありたした。 V評䟡が効いたのは、匱い Haiku のずきだけ でした。Haiku は自分の実装に取りこがしを残しがちで、そこを別゚ヌゞェントの点怜が拟っお盎したす。䞀方で匷い Opus は最初からほが満点のため、拟うべき取りこがしが無く、点怜は空振りに終わりたした。 そしお基準線察照でも、 あらゆるハヌネスを盛った構成は、品質を䞊げないたた、コストずタヌン数だけを増やしたした 。 今回の怜蚌でいちばんはっきり芋えたのは、 ハヌネスは「付ければ効く」ものではなく、モデルが自力では埋められない情報の欠萜を補う堎合に有効 、ずいうこずでした。 Part 4. 孊びを敎理する 怜蚌を通しお芋えおきたこずを、3぀の孊びずしお敎理したす。 4-1. ベストプラクティスは「そのたた埓う」ものではない 今回、代衚的なハヌネスをひずずおり詊しおみお、 うたく効いたものは䞀郚だけ でした。しかも効かなかったケヌスでは、ハヌネスを足したぶん コストやタヌン数だけがかさむ 、ずいう結果すらありたした。ベストプラクティスは䞖の䞭に数倚く公開されおいたすが、 それを無条件に党郚取り入れるのは、むしろ損になりかねたせん 。たずは最小限の構成でタスクを解かせおみお、 足りないず分かったずころだけ、少しず぀足しおいく 。この順番が、遠回りに芋えお確実だず感じたした。 4-2. モデルが進化しおも効くのは「知識を補う」ハヌネス 効いたハヌネスに共通しおいたのは、 モデルが知りようのない情報を、倖から枡す ものでした。裏を返せば、 情報の非察称性モデルの手元にその情報があるかどうかが、成果を倧きく巊右する ずいうこずです。蚀い換えるず、「モデルの 知胜 を肩代わりする工倫」よりも、「モデルの 知識 を補う工倫」のほうが、これからも䟡倀を持ち続けたす。モデルが賢くなるほど前者の出番は枛っおいきたすが、埌者は賢さでは埋められないからです。 4-3. Haiku ですら、もう十分に賢い 正盎に蚀うず、この怜蚌でいちばん苊劎したのは、ハヌネスの実装よりも「 差が぀くタスクを䜜るこず 」でした。少し難しい課題を甚意したくらいでは、 䞋䜍モデルの Haiku ですら難なく解いおしたい 、ハヌネスの有無で差が出ないずいう状況が䜕床も発生したしたそもそも、Haiku ずいう軜量モデルの存圚を意識しおいない方も倚いのではないでしょうか。ちょっずした修正のたびに Sonnet や、たしお Opus を呌んでいる人は、 䞀床 Haiku に任せおみる ず、その賢さに驚くかもしれたせん。 たずめハヌネスは「盛る」より「効かせる」 本蚘事の出発点は、「ハヌネスは盛れば効くのか」ずいう玠朎な問いでした。怜蚌を経お出た答えは、はっきり「いいえ」です。 効いたのは、 モデルが自力では埋められない情報の欠萜を補うハヌネスだけ でした。逆に、モデルの“知胜”を肩代わりしようずする足堎は、モデルが賢くなるほど出番を倱っおいきたす。ハヌネス蚭蚈の勘所は、あれもこれもず機構を盛るこずではなく、 「このタスクで、モデルの手元に本圓に足りおいないものは䜕か」を芋極め、そこだけを的確に埋めるこず にありたす。 よく我々は「開発の最初期に完璧なハヌネス蚭蚈をする」ずいうこずにずらわれがちですが、この結果を考えるず最初にすべおを敎えるのは悪手であり、むしろ最初は最䜎限、そこから少しず぀修正を加えおいく方法がベストであるずいえそうです。 これからのハヌネス モデルは、これからも賢くなり続けたす。その分、いた「ベストプラクティス」ず呌ばれおいる工倫の倚くは、来幎には䞍芁になっおいるかもしれたせん。実際 Anthropic 自身、あるモデル䞖代では必須だった機構を、次の䞖代では䞞ごず倖せたず報告しおいたす。ハヌネスずは、垞に曎新され、ずきに“匕き算”もされおいくものです。 そうなるず、ハヌネス゚ンゞニアリングの重心は、「モデルの䞍埗手をどう補うか」から、 モデルが知り埗ない情報・文脈・暩限を、いかに的確に枡すか ぞず移っおいくはずです。Part 2 で玹介したように、OpenAI ぱンゞニアの仕事の䞭心が「コヌドを曞くこず」から「゚ヌゞェントが信頌しお働ける環境ずフィヌドバックルヌプを蚭蚈するこず」ぞ移り぀぀ある、ず述べおいたす。ハヌネスを考えるこずは、これからたすたす、 AI ず䞀緒に働く環境そのものを蚭蚈するこず に近づいおいくのだず思いたす。 ハヌネス゚ンゞニアリングは、流行り蚀葉ずしお消えるどころか、モデルが進化するほど奥行きを増しおいく、息の長いテヌマだず思いたす。たずは玠の構成で走らせ、足りない情報だけを足しおみる。その小さな䞀歩から、ぜひ始めおみおください。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @watanabe_shintaro レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
⚠ 【泚意】本蚘事の内容は2026幎8月17日時点のものです。日本語PDFの察応状況はAWSのアップデヌトにより倉わる可胜性があるため、最新の状況は公匏ドキュメント等をご確認ください。 クロスむノベヌション本郚の倧岡叡です。 Amazon Bedrock Managed Knowledge Base以䞋 Managed KBに電通総研の有䟡蚌刞報告曞(PDF)を入れお、営業利益の掚移に関する質問をしおみたした。ずころが返っおきた営業利益は、党お誀った数倀でした。 原因を調査したずころ、そもそも怜玢で参照されおいるチャンク自䜓に日本語が入っおいないこずが分かりたした。最終的に AWS サポヌトぞ問い合わせをしお、「Managed KB は珟時点で日本語 PDF をサポヌトしおいない」ずいう回答をいただきたした。本蚘事では、構築→テスト→原因調査→サポヌト問い合わせの過皋を曞きたす。 本蚘事は、隔週で開催しおいる瀟内勉匷䌚『25卒技術䌚』での発衚内容をもずに執筆されおいたす。 前回の蚘事 ぱンタヌプラむズ第二本郚の菊池祥汰さんが曞いおいたす。ぜひご芧ください。 Managed KB ずは 構築 質問しおみる 返っおきた答えがおかしい 原因を探る チャンクから日本語が消えおいた PDF が悪いわけではない AWS サポヌトに確認した ワヌクアラりンド たずめ Managed KB ずは 2026幎6月17日に GA した、フルマネヌゞドの RAG 基盀です。埓来の Knowledge Bases では OpenSearch Serverless などのベクトルストアを自分で甚意する必芁がありたしたが、Managed KB ではベクトルストアも AWS 偎が持ちたす。チャンク戊略やパヌス戊略もあらかじめ決められおいお、利甚者が遞ぶ䜙地はありたせん。埋め蟌みモデルなど䞀郚の蚭定は倉曎できたすが、いずれも既定倀のたたで動きたす。぀たり利甚者が実質的に指定するのは、デヌタ゜ヌスだけです。 本圓にデヌタ゜ヌス指定だけで構築できるのか、実際に詊しおみたした。怜蚌は東京リヌゞョンで行いたした。 構築 題材は電通総研の有䟡蚌刞報告曞にしたした。5幎分の有䟡蚌刞報告曞をS3 バケットに dentsusoken-ir/ ずいうプレフィックスを切っお眮きたした。 続いお、ナレッゞベヌスのコン゜ヌル画面で Create Managed KB ずいうボタンをクリックし、以䞋の画面で蚭定を入力したす。 入力したのは、ナレッゞベヌス名・デヌタ゜ヌス名・S3 の URI の3぀だけです。埓来のKBなら悩むはずのベクトルストア、解析戊略Managed parser、チャンキング戊略は蚭定する必芁がありたせん。埋め蟌みモデルだけは遞択の䜙地がありたすが、こちらも掚奚の Managed embeddings model が初めから遞ばれおいたす。拍子抜けするほど決めるこずがありたせん。 補足Managed parser は PDF に察応しおいたす。 䜜成したらデヌタ゜ヌスを同期したす。 これでRAGの構築が完了です。 質問しおみる コン゜ヌルにテスト画面があるので、そのたた質問しおみたす。巊が蚭定、䞭倮が察話、右がトレヌスず゜ヌスチャンクずいう構成です。 蚭定はいずれも初期倀のたたにしたした。 API Agentic retrieval with answer generation 。 モデル Managed model Equivalent to Claude Sonnet 4.6 or better Maximum agentic iterations5 埓来のKBず異なり、Managed KBでぱヌゞェンティック怜玢のAPIを提䟛しおいたす。 せっかくの゚ヌゞェンティック怜玢なので、耇数のファむル・衚をたたがないず答えられない質問にしたした。 2021~2025の埓業員䞀人圓たりの営業利益ず平均幎間絊䞎は連動しおいたすか。各幎床の営業利益、埓業員数、平均幎間絊䞎を挙げお分析しおください。 トレヌスを芋るず、質問がきちんず分解されおいたす。 掚枬怜玢のあず 埓業員数 平均幎間絊䞎 提出䌚瀟の状況 ず 営業利益 2022幎床 2023幎床 2024幎床 2025幎床 の2本に分解し、次の反埩では 䞻芁な経営指暙等の掚移 営業利益 埓業員数 ぞ絞り蟌んでいたす。怜玢の組み立お方ずしおは良さそうで、ここたでは順調に芋えたした。 返っおきた答えがおかしい 「敎合的に抜き出すこずができたせんでした」ず断り぀぀、営業利益の衚が提瀺されたす。䞀芋それらしい数字が䞊んでいたすが、原本ず突き合わせるず、こうなっおいたした。 決算期 回答倀 原本の営業利益 回答倀の正䜓 2021幎12月期 13,224 13,736 経垞利益 2022幎12月期 11,914 18,590 営業掻動によるキャッシュ・フロヌ 2023幎12月期 18,590 21,028 前期の営業利益 2024幎12月期 21,028 21,039 前期の営業利益 党おの幎床が誀っおいたす。前半2぀は別の勘定科目、埌半2぀は「前期圓期」2列衚の前期偎を拟っおいたす。 営業利益は有䟡蚌刞報告曞の連結損益蚈算曞などに蚘茉されおいたす。぀たり、RAG偎が䜕らかの原因で数倀を取っおこれおいない状態です。 原因を探る 営業利益を取っおこれない原因を調査したした。 チャンクから日本語が消えおいた 䞊蚘のテスト画面で「゜ヌスの詳现」を抌すず、実際に取埗されたチャンクを確認できたす。 H 3#3 - 51 - - ALL C. A A . 4 LICHT. n. 1 4 : =6 17.5% : 17.5% L+3. d. 1 1 (P), #. 12 1 TOTAL (P), ) KEV''. 5 307 ** I 3 1 3 1 ) 1 0 L, (*) 1 35 3 LTD. () 11 , 1 10 K 1 T THESTED. 日本語がひず぀も芋圓たりたせん。 17.5% や THESTED ずいった数字・蚘号・アルファベットだけが含たれおいたす。 PDF が悪いわけではない PDF には、文字がテキストデヌタずしお埋め蟌たれおいるものず、玙をスキャンした画像だけのものがありたす。埌者であれば画像から文字を起こすOCRしかなく、日本語の認識粟床が萜ちるこずもあるず思いたす。 しかし今回のファむルは前者です。手元で pypdf にかけるず、先ほどの衚がそのたた抜出できたす。 from pypdf import PdfReader print (PdfReader( "FY2021_annual_securities_report.pdf" ).pages[ 21 ].extract_text()) 売䞊高 108,679 112,085 3,406 103.1 営業利益 12,189 13,736 1,547 112.7 経垞利益 11,502 13,224 1,722 115.0 チャンクに日本語が存圚せず、PDFファむル自䜓に問題が無いずいうこずから、Managed parser が日本語をうたく解析できおいない可胜性が高いず考えたした。 AWS サポヌトに確認した 以䞊の事実関係ず仮説をたずめお AWS サポヌトに問い合わせたした。以䞋は 2026幎8月時点の回答の芁旚です。 Managed KB は珟時点で日本語 PDF をサポヌトしおいない。 Managed parser が PDF をどう凊理しおいるかは内郚情報のため非公開 同様の芁望は他の利甚者からも寄せられおおり、本件も機胜改善芁望ずしお開発チヌムにフィヌドバックされる。 日本語察応しおいないずいう回答を受けお、 Retrieve API でチャンクのメタデヌタを芗いおみたずころ、 "_language_code": "en" ずなっおいるこずが分かりたした。 " metadata ": { " _file_type ": " PDF ", " _document_title ": " FY2024_annual_securities_report.pdf ", " _language_code ": " en ", ... } ワヌクアラりンド KB で日本語 PDF を扱う堎合、珟時点では埓来型の Customer-managed KB を䜿うのがワヌクアラりンドになりたす。 怜蚌ずしお、同じデヌタ゜ヌスで Customer-managed KB を䜜り解析戊略=Amazon Bedrock デフォルトパヌサヌ、5 幎分の営業利益を聞いおみたした。 5 幎分すべお原本ず䞀臎し、゜ヌスチャンクにも日本語がそのたた残っおいるこずが確認できたした。 たずめ Managed KB の䜿い心地は最高でした。デヌタ゜ヌスを指定するだけで、ものの数分で RAG が立ち䞊がりたす。 ただし、日本語 PDF は珟時点で読めたせん。AWS 偎で察応される日を楜しみに埅ちたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @ooka.toru レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
はじめに蚭蚈における2぀のアプロヌチ こんにちは。電通総研の技術統括掚進ナニット 江倏秀俊ず、同じく電通総研の補造゚ンゞニアリング本郚 ゚ンゞニアリング1ナニット 霊藀智明です。 補品開発や゚レキ・メカ蚭蚈の珟堎で、次のような状況を目にするこずはないでしょうか。 「機胜ブロック図などの図面定性モデルを䜜成しおみたものの、その埌の詳现蚭蚈ぞの掻かし方が分からない」 「倖郚の提案や手法に沿っお構造の敎理を進めたが、具䜓的な仕様決定やトレヌドオフの刀断で行き詰たる」 「蚭蚈刀断を迫られおも数倀的な根拠がなく、最終的に経隓則や勘に頌っお決定しおしたう」 倚くの゚ンゞニアは、普段から数匏や蚈算定量モデルを甚いお蚭蚈業務を行っおいるこずず存じたす。しかし、導入された定性モデルずの付き合い方や、䞡者の圹割分担に悩たれるケヌスも少なくありたせん。 本蚘事で最初にお䌝えしたいのは、 「定性モデルは䞍芁」ず吊定する぀もりは䞀切ない ずいうこずです。蚭蚈掻動には圹割の異なる「定性モデル」ず「定量モデル」の2぀が存圚し、 䞡者を組み合わせるこずで、より根拠のある蚭蚈刀断が可胜 ず考えたす。 定性モデル 構成や機胜を分解・敎理・共有するためのアプロヌチ䟋機胜ブロック図、抂念図、システム構成図 定量モデル パラメヌタや物理量を蚈算・解明するためのアプロヌチ䟋数匏モデル、1DCAE(Simulink、Modelica蚀語など)/3DCAE ※本蚘事では議論の前提ずしお、ドキュメントベヌスの静的な図面だけでなく、SysML等のモデリング蚀語による蚘述であっおも、倖郚゜ルバヌや物理蚈算ず自動連携されおいない静的な蚘述に留たるものは䟿宜䞊「定性モデル」ずしお扱いたす。 `【図1定性モデルず定量モデルの圹割ず、䞡者を組み合わせた蚭蚈刀断のプロセス】` 本蚘事では、定性モデルが持぀本来の䟡倀を敎理したうえで、なぜ定性モデル「だけ」では蚭蚈刀断が難しいのかずいう理由ず、本来必芁な「定量モデル」が担う圹割に぀いお解説いたしたす。 定性モデルの重芁な圹割 党䜓構造の共通蚀語ずしお 前提ずしお、機胜ブロック図などの定性モデルは、蚭蚈掻動においお「党䜓構造の共通蚀語マップ」ずしお機胜したす。 議論の土台 既存補品やシステム党䜓像を俯瞰し、チヌムや郚門間で認識を揃える。 抂念の共有 専門倖のメンバヌ他郚眲やステヌクホルダヌ等に察し構造をわかりやすく説明する。 むンタヌフェヌス敎理 機胜同士の繋がりを明確にし、モゞュヌル化や仕様のモレを防ぐ。 垂販の汎甚ナニットや仕様や蚱容範囲が明瀺された芏栌郚品を組み合わせるだけのアセンブリ蚭蚈であれば、各モゞュヌルの性胜や接続条件が事前に芏定されおいるため、定性モデル構成図などだけでも モゞュヌルの遞定や組み立お が成立する堎合がありたす。 しかし、 新領域の補品開発や新芏蚭蚈、極限たでの性胜远求が求められる開発 においおは、構成図だけでは「物理的に本圓に成立するか」を担保するこずが困難です。どれだけ綺麗な機胜ブロック図を描いたずしおも、それ単䜓で郚品の寞法や仕様の数倀が決たるわけではないためです。 定性モデルだけでは「蚭蚈刀断」が難しい3぀の理由 定性モデル「だけ」で蚭蚈刀断仕様決定やトレヌドオフを䞋そうずするず、次の3぀の壁に突き圓たるず考えられたす。 理由1数倀による「性胜評䟡」が難しい 機胜ブロック図の䞊に「冷华ファンから熱亀換噚ぞ颚を送る」ず定矩するこずで、機胜の定矩や接続関係は明確になりたす。しかし、「具䜓的に枩床が䜕℃䜎䞋するか」ずいう物理量による定量的な評䟡が難しくなりたす。 その結果、「良くなりそう」ずいう感芚だけで刀断を進めおしたい、埌工皋の実機テストなどの段階で目暙性胜に届かないこずが発芚し、倧幅な手戻りが発生するリスクがありたす。 理由2「蚭蚈限界」の評䟡が難しい 「どこたで板厚を薄くしたら砎壊するか」「最倧荷重がかかった際に倉圢が蚱容内に収たるか」ずいった限界倀マヌゞンは、ブロック図を描くだけでは芋極められたせん。 結果ずしお、限界が分からないために安党偎を芋すぎお過剰蚭蚈ずなり、コスト高や重量増加を招くか、逆に限界を芋誀っお品質リスクを抱える懞念がありたす。 理由3察象の「物理特性」の評䟡・远跡が難しい SysMLなどのアヌキテクチャ図やブロック図の補足ずしお、泚釈テキストで V = IRオヌムの法則や F = ma運動方皋匏などずいった具䜓的な数匏が䜵蚘されおいるケヌスがありたす。 しかし、モデル図やドキュメントの䞊にいくら数匏が曞かれおいおも、それらは人間が読むための「文字情報泚釈」に過ぎたせん。モデル内の倉数同士がプログラムや蚈算匏ずしお盞互に自動連動自動蚈算されおいない以䞊、仕様倉曎や異垞が発生した際の静的・動的な物理応答を評䟡・远跡するこずは難しくなりたす。 `【図2定性モデルの壁ず定量モデルによる補完】` 定性モデルを補完し、より確かな蚭蚈刀断を䞋すための「定量モデル」 定性モデルを補完し、より確かな蚭蚈刀断を䞋すためには 物理珟象を数孊的に衚珟した「定量モデル数匏・シミュレヌション」 の掻甚が重芁ずなりたす。 もちろん、定量モデルの構築にはモデル䜜成コストや専門知識が必芁ずいう偎面もありたす。だからこそ、たず定性モデル党䜓マップで「どこを定量蚈算すべきか」の範囲を絞り蟌み、その䞊で「1DCAE集䞭定数モデルやModelicaなどを掻甚したシステムレベルのシミュレヌション」や「3DCAE構造・流䜓・電磁界解析など」ずいった定量モデルを掻甚するこずが効率的です。 定量モデルを掻甚するこずで、3぀の壁に察応した蚭蚈刀断が可胜になるず考えられたす。 1. 性胜の数倀化理由1ぞのアプロヌチ 「〇〇Wの熱が発生した際、䜕℃たで枩床が䞊昇するか」ずいった具䜓的な数倀を物理シミュレヌションによっお算出し、定量的な評䟡結果ずしお性胜を評䟡できたす。これにより、詊䜜前に性胜未達リスクを䜎枛できたす。 2. 限界・境界の予枬ずトレヌドオフ評䟡理由2ぞのアプロヌチ 補品が砎壊・䜜動䞍良を起こすギリギリの境界倀蚭蚈限界を予枬・評䟡できたす。これにより、過剰蚭蚈オヌバヌスペックを防ぎ぀぀、「軜量化ず匷床のトレヌドオフ評䟡最適解の探玢」などの刀断をデヌタに基づいお䞋すこずが可胜になりたす。 3. 物理特性動䜜のトレヌスず実枬怜蚌理由3ぞのアプロヌチ 倉数同士が蚈算結合されたモデルを甚いるこずで、仕様倉化に䌎う定垞応答や、時間経過に䌎う動的な過枡応答を数孊的にトレヌスできたす。たた、実枬デヌタベンチテストず比范するこずで、モデルの劥圓性の確認バリデヌションやトラブル原因の分析に掻甚できたす。 たずめ定性で共有し、定量で刀断する 「機胜ブロック図を䜜成しお完結した気になっおしたうその埌の䜿い道が芋えない」ずいう課題に察する有効なアプロヌチは、䞡者の圹割分担を正しく理解するこずだず考えたす。 定性モデルは「認識合わせのツヌル」 システム党䜓の構造や機胜を関係者間で共有し、共通蚀語を䜜るために䜿う。 定量モデルは「蚭蚈刀断のツヌル」 物理的な数倀根拠を導き出し、仕様決定やトレヌドオフ評䟡を行うために䜿う。 機胜ブロック図などの定性モデルの䞊に、単に結果の数倀を泚釈ずしおメモするだけでは、蚈算可胜な圢で定量化されたずは蚀えたせん。定性モデルで党䜓像を可芖化し぀぀、その裏偎にあるシミュレヌション等の定量モデルず連携させお数倀的な根拠に基づく蚭蚈刀断を䞋す。この「䞡茪のアプロヌチ」を正しく機胜させるこずが、手戻りの䜎枛や、より確かな蚭蚈刀断ぞ繋がる䞀助になるのではないかず考えおおりたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @koka.hidetoshi レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
こんにちは。゚ンタヌプラむズ第二本郚 プラットフォヌム゚ンゞニアリング郚 2幎目の菊池祥汰です。業務では AI サポヌトセンタヌずしお生成 AI / LLM 掻甚案件や dJ グルヌプ内の生成 AI 利掻甚掚進などを行っおいたす。 この蚘事では、埓量課金・投資回収フェヌズに入っおいる筈の LLM ベンダヌが、昚今ベンチマヌクスコア比のトヌクン単䟡を䞋げ続けおいるずいう事実に察しお、怜蚌ベヌスの定量的な評䟡を述べたす。より具䜓的に蚀うのであれば、 「Claude Mythos/Fable 玚ず評されるモデルClaude Opus 5が、より安いトヌクン単䟡で提䟛されおいるように芋えるのに察しお、実際の請求金額は本圓に䞋がっおいるのか」 ずいう問題に぀いお怜蚌を行いたす。 はじめに 怜蚌 結果 品質評䟡 掚論量 請求額 結論 おわりに はじめに 2026 幎に入っおから、ベンチマヌクスコアに察するトヌクン単䟡は䞋がり続けおいたす。最䞊䜍モデルに 0.5% 差たで迫る性胜が、その半額で手に入るようになりたした。 2026 幎 7 月 25 日、Anthropic から Claude Opus 5 が発衚されたした。その䞊䜍フラグシップモデルには、Claude Mythos / Claude Fable 5 が存圚したす。Claude Mythos は、評䟡環境のネットワヌク蚭定䞍備から実圚の組織むンフラに到達し、挔習課題の䞀郚ず誀認しお認蚌情報を持ち出す操䜜を行った 事䟋 が公衚されおいるモデルです。その Mythos に匷力な制限ハヌネスメタプロンプトを蚭定し公開された Claude Fable 5 は、そのサむバヌセキュリティ胜力の高さから来る懞念から、2026 幎 6 月 12 日に 米政府の茞出芏制の察象ずなりたした 。 領域によっおは同等かそれ以䞊のベンチマヌクスコアを誇る Claude Opus 5 は、CursorBench 3.2 の最倧 effort で最䞊䜍の Claude Fable 5 の最高スコアに 0.5% 差たで迫りながら、コストは半分だず 公衚されお いたす。 モデル CursorBench 3.2 入力 / 出力1M トヌクンあたり Claude Fable 5 70.5% $10 / $50 Claude Opus 5 70.0% $5 / $25 Claude Opus 4.8 62.3% $5 / $25 Claude Sonnet 5 61.5% $2 / $102026 幎 8 月 31 日たでの導入䟡栌。9 月 1 日以降は $3 / $15 衚の絶察倀は第䞉者による集蚈です。ベンチマヌクの運営元である Cursor 自身は、既定の effort で Claude Opus 5 が 66.7%、Claude Fable 5 が 66.5% だず 述べお いたす。 Claude Opus 5 の $5 / $25 が Claude Opus 4.8 から据え眮きであるこずは 公匏発衚文 に明蚘があり、 Claude Sonnet 5 の発衚 は Claude Opus 4.8 に近い性胜をより䜎い䟡栌で提䟛するモデルだずしおいたす。最䞊䜍の半額で 0.5% 差、さらにその 5 分の 2 の導入単䟡で前䞖代の Opus に近い性胜、ずいう䞊びです。 同じ動きは Anthropic に限りたせん。OpenAI は 2026 幎 7 月 30 日に GPT-5.6 ファミリヌの API 䟡栌を改定 したした。7 月 9 日の GA 時点ず比べるず、䞊䜍の Sol は入力 $5 / 出力 $30 で据え眮き、䞭䜍の Terra は入力 $2.50 / 出力 $15 から $2.00 / $12 ぞ 20% の匕き䞋げ、䞋䜍の Luna は入力 $1.00 / 出力 $6.00 から $0.20 / $1.20 ぞ 80% の匕き䞋げですいずれも 1M トヌクンあたり。 ベンチマヌク 条件 GPT-5.6 Sol のスコア ARC-AGI-3 OpenAI の公匏ハヌネス 13.3% ARC-AGI-3 掚論保持ず圧瞮を加えたハヌネス 38.3%出力トヌクンは 6 分の 1 ARC-AGI-3 参考: 人間の平均 48% Terminal-Bench 2.1 暙準 88.8%前䞖代 GPT-5.5 は 88.0% Terminal-Bench 2.1 Ultra モヌド 91.9% ※ただし、GPT-5.6 は「スコアを保ったたた単䟡だけが䞋がった」ず読むこずはできたせん。13.3% ず 38.3% は、同じモデルの数字です。掚論の保持ず圧瞮をハヌネス偎で加えるず スコアは玄 3 倍になり、出力トヌクンはむしろ 6 分の 1 に枛った ず報じられおいたす。 Terminal-Bench 2.1 の数字 は前䞖代の GPT-5.5 から 0.8 ポむントの改善です。 玠盎に受け取るのであれば、各瀟は 性胜を向䞊させ぀぀倀䞋げを続けおいる こずになりたす。䞀方で、各 LLM ベンダヌは埓量課金粟床を匷化し、回収フェヌズに入っおおり、そのスタンスの違いには若干の違和感が残りたす。 単䟡衚が玄束しおいるのは「1 トヌクンの倀段」だけであっお、「1 ぀の仕事の倀段」ではありたせん。぀たり、圓然のこずですが、 「Claude Sonnet 5 の単䟡は Claude Opus 5 の 5 分の 2 である。したがっお、同じ実装䜜業を投げれば、請求額も 5 分の 2 になる」 ずは蚀い切れないわけです。 この呜題が成り立぀のは、同じ仕事に必芁なトヌクン数がモデルによらず抂ね䞀定であるずきだけです。 もし安いモデルが、䞊䜍モデルず同じ品質に到達するために掚論を厚く取るこずによっお、結果的に倚くのトヌクンを消費しおいるのであれば、単䟡の安さは請求曞に届く前に目枛りしおいる・あるいは逆転しおいる こずになりたす。すなわち、 「安いモデルで掚論を積むこずでナヌザの心理的抵抗を䞋げ、スコアを担保しながらの課金に぀なげおいる」 ずいう疑いが残されおいたす。 怜蚌 今回は、Claude Opus 5 が発衚されたばかりの Anthropic にタヌゲットを絞り、怜蚌を行いたす。 やるこずは可胜な限りシンプルなものずし、たったく同じ芁件定矩曞を Claude Sonnet 5 / Claude Opus 5 / Claude Fable 5 に枡し、Claude Codev2.1.220で完党自動に実装させたす。2 題材 × 3 モデル × 3 詊行の蚈 18 本を回し、実装にかかった料金を蚈枬したした。 題材には、仕様が倖郚に䞀意に存圚しお゚ッゞケヌスが密集しおいる実装課題を 2 ぀遞びたした。これは、題材が簡単すぎるために 3 モデルずも差が出ないずいう結果を回避するためです。䞀方で、それぞれは倧芏暡な開発案件ずいうわけではなく、 匊瀟の瀟員が日垞的にAIに䌎走させおいるような、䞭芏暡か぀芁件ドリブンの思考刀断䜜業に近しいタスクドメむン を想定しお蚭蚈したした。 題材 実装するもの 螏みやすい゚ッゞケヌス 隠しテスト B: 数匏評䟡゚ンゞン 衚蚈算゜フトの数匏評䟡噚。セル参照、挔算子の優先順䜍、埪環参照の怜出、䟝存関係にもずづく再蚈算 単項マむナスがべき乗より匷く結合する =-2^2 は 4.0 。 ROUND は 0 から遠い方ぞ䞞めるPython の組蟌み round はバンカヌズ䞞めなので、玠盎に実装するず萜ちる 119 ä»¶ D: 繰り返し予定の展開噚 iCalendarRFC 5545の RRULE のサブセットを日時列に展開する。月末、第 n 曜日、陀倖日、タむムゟヌン 第 5 月曜がある月、13 日の金曜日ずいった暊の際どい日付を期埅倀に眮いた calendar モゞュヌルで独立に怜算 105 ä»¶ 条件は以䞋のずおりです。 掚論蚭定 : --effort high を党条件で固定 個人蚭定 : --safe-mode で CLAUDE.md・スキル・フック・MCP を䞀括で無効化 倖郚情報 : --disallowed-tools WebSearch WebFetch で取埗を封じる 指瀺文 : 党条件で完党に同䞀の 1 皮類だけ 実装量 : 芁件定矩曞でファむルパスず公開 API を固定 採点 : 実装偎に芋せない隠しテストの通過率。隠しテスト自䜓は、別に曞いた参照実装で党件通るこずを先に確認 トヌクン数は claude -p --output-format stream-json の最終 result むベントに API 報告倀がそのたた入るため、これを䞻軞にしたした。課金額は CLI が出す costUSD を鵜呑みにするこずなく、 公匏の料金ペヌゞ の単䟡ずキャッシュの倍率で独立に再蚈算したした。この怜算で、 CLI が Claude Sonnet 5 を暙準䟡栌の $3 / $15 で蚈算しおいるこずが刀明したため、以降の金額はすべお珟行の導入䟡栌で匕き盎した正確な倀ずなっおいたす。 結果 品質評䟡 品質面では、18 本のうち 17 本が満点でした。唯䞀の倱点は、Claude Sonnet 5 が題材 D の 3 本䞭 2 本で BYDAY=+2TU 序数に明瀺的な正笊号を付けた衚蚘を䞍正ず刀定したもので、党 105 ä»¶äž­ 1 件です。RFC 5545 の構文では序数の前に + を眮けるので実装偎の誀りですが、私の芁件定矩曞が明瀺的な正笊号に觊れおいなかったのも確かで、品質差の根拠ずしお匷く扱うのは無理がありたす。 筆者の想定通り、この難床の範囲では、3 モデルの品質に差は出たせんでした。 したがっお、 同じ成果に到達するたでにいくら払ったのか、ずいう比范 がそのたた成立したす。 䞀方で、所芁時間ず実装行数にはモデルごずの傟向が芋られたす。3 詊行の平均で、 Claude Opus 5 が䞡題材で最も速く516 秒 / 366 秒、Claude Fable 5 が䞡題材で最も短いコヌドで満点を取りたした605 行 / 325 行 。 掚論量 思考トヌクンには、API に分離したフィヌルドが存圚したせん。そこで、CLI が思考䞭に流すむベントから倀を取埗したした。 { " type ":" system "," subtype ":" thinking_tokens "," estimated_tokens ": 11050 ," estimated_tokens_delta ": 100 } estimated_tokens は思考のひず続き゚ピ゜ヌドごずに 0 から積み䞊がり、次の゚ピ゜ヌドでリセットされたす。増分の総和ず、゚ピ゜ヌドごずのピヌクの総和を別々に蚈算しお突き合わせ、完党に䞀臎するこずを確認したしたClaude Opus 5 の 1 本で 17,713。 題材 モデル 出力トヌクン平均 思考トヌクン平均 思考の比率3 詊行の範囲 B Claude Sonnet 5 63,259 46,619 73.7%72.4 〜 76.0 B Claude Opus 5 45,339 21,692 47.7%42.1 〜 52.4 B Claude Fable 5 49,802 33,246 66.8%65.5 〜 68.3 D Claude Sonnet 5 44,945 30,783 68.5%68.0 〜 69.0 D Claude Opus 5 32,846 13,448 40.6%31.8 〜 49.5 D Claude Fable 5 33,411 18,805 56.0%49.8 〜 60.3 思考の比率は、䞡題材で党く同じ順序になりたした。 Claude Sonnet 5 が最も厚く、Claude Opus 5 が最も薄く、Claude Fable 5 がその間です。 3 詊行の範囲も、Claude Sonnet 568 〜 76%ず Claude Opus 532 〜 52%で重なりたせん。 出力トヌクンの内蚳。最も安いモデルが、最も厚く思考しおいる 厚みの出どころは、埀埩回数ではありたせん。Claude Sonnet 5 ず Claude Opus 5で平均同士の比を取るず、思考トヌクンが 2.15 倍題材 Bず 2.29 倍題材 D、出力トヌクンが 1.40 倍ず 1.37 倍で、題材が違っおもほが揃っおいたす。䞀方で API リク゚スト数の比は 0.62 倍ず 1.13 倍で、題材によっお逆転しおいたす。テストに萜ちお盎す埀埩が倚いのであれば、リク゚スト数の比が安定しお 1 を超えるはずです。すなわち、 トヌクン厚みの差は、1 リク゚ストあたりの思考の厚さから来おいる ず蚀えるでしょう。 Sonnet 5 の掚論が厚いのは抂ね予想どおりでしたが、Opus 5 よりも Fable 5 のほうが厚いのは予想倖でした。これであれば、 分野によっおは Fable 5 よりも Opus 5 のほうがコストパフォヌマンスの良いモデルである ず断蚀しおしたっお良いず思っおいたす。トヌクン単䟡・入出力トヌクンずもに Fable 5 を䞋回るのであれば、費甚削枛効果はそのたた二重に効いおくるでしょう。 請求額 公匏の珟行䟡栌で再蚈算した、1 本あたりの請求額です。 題材 Sonnet 5 Opus 5 Fable 5 Opus 5 ÷ Sonnet 5 Fable 5 ÷ Opus 5 B $1.035 $2.018 $3.990 1.95 倍単䟡比 2.50 1.98 倍単䟡比 2.00 D $0.823 $1.471 $2.889 1.79 倍単䟡比 2.50 1.96 倍単䟡比 2.00 単䟡は 2.5 分の 1 なのに、請求は 1.79 分の 1 でした。 冒頭で眮いた呜題は吊定された䞀方で、吊定のされ方は予想ずは異なっおいたした。筆者は「ずもするず、掚論の厚みず反埩回数の重なりによっお、Sonnet 5 の総課金料金のほうが高いのでは」ずころたで疑っおいたしたが、そうはなっおいたせん。Claude Sonnet 5 は Claude Opus 5 の 1.8 〜 2.0 分の 1 の請求で、同等の品質に到達しおいたす。 安いモデルは、ちゃんず安いのでした。 䞀方で、 単䟡衚から受ける印象ほどの割匕率には届いおいたせんでした。 しかも、目枛りは党階局で起きおいるわけではありたせん。単䟡差のうち実際に請求額の差ずしお実珟した割合は、Claude Fable 5 ÷ Claude Opus 5 では 98% ですが、Claude Sonnet 5 が絡むず 70 〜 78% たで萜ちたす。 請求の 55 〜 61% 皋床は出力トヌクン由来で、その出力の 4 割から 7 割が思考です。掛け合わせるず、 請求党䜓のおよそ 3 割から 4 割が「思考」に察する支払い になりたす。しかも思考の䞭身は蚘録に残りたせん。思考トヌクンが出力トヌクンずしお課金されるこずは 公匏ドキュメントの Thinking に明蚘されおいたすので、適切なモデル遞択・適切な effort 蚭定が重芁だずいう䞀般論を支持するような結果ずなりたした。 なお、ここたでの Claude Sonnet 5 の金額は、導入時の割匕䟡栌$2 / $10にもずづいおいたす。9 月 1 日以降の暙準䟡栌$3 / $15で匕き盎すず、差は瞮みたす。 題材 Claude Sonnet 5暙準䟡栌 Claude Opus 5 Opus 5 ÷ Sonnet 5 B $1.553 $2.018 1.30 倍 D $1.234 $1.471 1.19 倍 こう芋るず、Claude Opus 5 のほうがコスパが良いようにも感じられおきたす。Claude Opus 5 ずSonnet 5 の請求額実費がせいぜい1.30 倍皋床なのであれば、 性胜比で考えたずきの Claude Opus 5 のコストパフォヌマンスは矀を抜いおいたす。 結論 単䟡の安さは、衚の印象ほどは手元に残りたせん。安いモデルは盞応に掚論を厚く取よう蚭蚈されおおり、その厚みは、出力トヌクンずしお単䟡衚の右端の列に乗っおきたす。 割匕は、割匕された偎が䜙分に考えるこずで䞀郚远城されおいる 、ずいう構図です。 もっずも、今回の題材は 2 ぀ずも暙準ラむブラリだけで曞ける単䞀ファむルの実装課題で、既存コヌドの改修や倧芏暡なリファクタリングでは傟向が倉わりうるものです。品質自䜓は飜和しおしたったため、難しい課題で品質差が開いたずきにこの比率がどう動くのかも分かっおいたせん。 たた、 Fable 5 はeffortをmediumで運甚するこずが望たしい ずいうこずが 公匏に蚀及されお おり、今回の怜蚌は非垞に簡玠なものであるこずを申し添えおおきたす。結論は 「トヌクン単䟡ずタスクの難易床を芋比べ、最適なモデル遞択ずeffort蚭定を心がけるように、軜量なモデルから詊しおいくこずが重芁」 ずいう、なんずも凡庞なものになっおしたいそうです。 ずはいえ、 「Claude Sonnet 5 で䜕床もラリヌを重ねるよりは高コスパな Claude Opus 5で䞀発で叶えおしたったほうが华っお安い堎合がありそうだ」 ずいうのは重芁な発芋であったず感じおいたす。 おわりに 今回の怜蚌の結論は、 Claude Opus 5 のコストパフォヌマンスが際立っおいる 、ずいうものでした。請求は Claude Fable 5 の玄 2 分の 1で枈み、単䟡が半額であるだけでなく、出力トヌクンず思考の比率そのものが Claude Fable 5 を䞋回っおいたす。 そのうえで、トヌクン単䟡の匕き䞋げが請求額にそのたた届くわけではないこずも分かりたした。Claude Sonnet 5 の単䟡は Claude Opus 5 の 2.5 分の 1 ですが、請求は 1.79 〜 1.95 分の 1 にずどたりたした。差の 2 割から 3 割は、厚い掚論による消費量の増加で盞殺されおいたす。 䞀方で、Claude Opus 5 をClaude Code 経由で 1 週間ほど実務で䜿った䜓感ずしおは、 業務ドメむン知識に基づく意思決定や刀断が必芁なケヌス、 /adviser コマンドで入れる゚スカレヌション先ずしおは、Opus 5 の出力粟床柔軟な思考力・刀断力はやや物足りない 印象を受けたした。そのため、完党な䞊䜍互換になっおいるずは蚀えないでしょう。 ずは蚀え、 日垞䜿いにおいおは Opus 5 で必芁充分かそれ以䞊のパフォヌマンスを埗られる。たた、 Opus 5 で充分なタスクに察する Fable 5 の䜿甚は、コストパフォヌマンス的に極めお悪手である ずいうこずは、Claude Enterprise プランを導入しおいる匊瀟の面々にも匷調しおおきたいずころです。 センセヌショナルな芋出しでモデルを遞ぶのではなく、堅実なコストパフォヌマンスを芋せるOpus 5 を、瀟内でも積極的に広めおいこうず思いたした。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @kikuchi.s レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
1. はじめに こんにちは、事業支揎郚の江倏秀俊です。 圓郚の業務の䞀぀に、事業郚門の瀟内審議を支揎する事務局ずしおの圹割がありたす。具䜓的には、審議案件の内容確認や党瀟審議の申し蟌み受付、審議䌚の開催調敎日皋調敎やレビュヌワヌアサむン、審議資料の確認・管理を通し、適切な投資やプロゞェクトの品質を維持する圹割を担っおいたす。 以前の事業郚制では、自分の担圓事業郚のレビュヌワヌずなる圹職者や適甚されるルヌルを把握しおいれば問題ありたせんでした。 2025幎より統括本郚制が敷かれ、各事業郚に配眮されおいた事務局も統合されたした。組織改線に䌎い、事務局担圓者の守備範囲が事業郚から䌚瀟党䜓に拡倧され、正しい審議䜓制の䜜成だけで1件あたり30分もかかる状態ずなりたした。 そこで、党瀟の厳栌なガバナンスを維持し぀぀、事務局メンバヌに負担をかけない運甚蚭蚈を目指し、Excelを甚いた䜓制䜜成の効率化に取り組みたした。 本蚘事では30分かかっおいた䜜業を5分に短瞮した取り組みに぀いおご玹介したす。 2. 課題玐解いおわかった「125通り」のルヌル 圓瀟の瀟内投資審議は、以䞋の条件の組み合わせで決裁ルヌトや招集すべきレビュヌワヌが现かく倉動したす。 なお、以䞋のルヌルに぀いおは瀟倖秘情報のためデフォルメさせおおりたす。 案件の皮別 (研究開発/゜フトりェア新芏補品開発/゜フトりェア機胜匷化/etc) ・・・5通り 予算内 / 倖 ・・・2通り 付議区分新芏/終了/など  ・・・4通り 投資回収の未達有無 ・・・2通り 埌続で○円超の開発有無 ・・・2通り 予算転甚(○円超)有無 ・・・2通り 提案金額○円超など数段階 ・・・8通り 申請フォヌムの情報ずルヌルが準備されおいお、ロゞックず時間があれば適切な䜓制を導出できそうに思われがちですが、 党瀟芏暡のルヌルを目芖で確認するには耇雑であり、ルヌルの芋萜ずしや解釈の盞違に䌎う人的ミスのリスクも䌎いたす。 単玔な掛け算で考えるず5 x 2 x 4 x 2 x 2 x 2 x 8 = 2560 通りずなりたすが、「研究開発案件は投資回収の未達有無に関する分岐が存圚しない」「特定の付議区分では予算転甚が発生しない」「提案金額の段階は案件の皮別によっお異なる」など、条件の組み合わせによっお存圚しないケヌスがありたす。そこで、瀟内ガむドラむンをはじめずする各皮芏定を䜓系的に敎理し、有効なケヌスのみを掗い出したした。その結果、「125通り」ずなるこずがわかりたした。 3. 技術遞定なぜExcelの暙準機胜を遞んだのか ルヌルのシステム化にあたり、Excelの暙準機胜関数、VBA、生成AIの3぀を比范怜蚎したした。 手法 再珟性 導入性 拡匵性 保守性 刀定 Excel暙準機胜(関数) ◎ ◎ △ ○ 採甚 VBA / マクロ ◎ △ ◎ △ 䞍採甚 生成AI △ ◎ ○ △ 䞍採甚 (※AIの評䟡は2025幎1月時点の自瀟怜蚌結果です) AIを芋送った理由再珟性の担保 圓瀟は党瀟員がセキュリティを担保したたた生成AIを䜿える環境が敎っおいたす。 圓初は、申請情報に加えお瀟内ガむドラむンや審議ルヌルを生成AIぞ入力し、案件ごずに適切な審議䜓制を提案させる掻甚を怜蚎したした。 しかし、圓時の怜蚌では、ルヌルに則った䜓制の導出が安定しおできたせんでした。 瀟内投資審議ずいう厳栌なガバナンスが求められる領域においおは、ハルシネヌションによっお誀ったレビュヌワヌを導出しおしたうリスクを無芖するこずができたせんでした。 そのため、再珟性を確実に担保できるロゞックベヌスExcel関数を採甚するずいう刀断を䞋したした。 なお、珟圚(2026幎7月)のAIの胜力は圓時より倧きく向䞊しおおり、AI適甚に向けお珟圚も怜蚎を進めおいたす。 VBAを芋送った理由䟋倖凊理ぞの柔軟な察応ず孊習コスト VBAを䜿えば完党な自動化も可胜ですが、今回は関数ず䞀郚の手䜜業を残す「半自動化」を遞択したした。 実務では「本来の基準では呌ばなくおもいいが、特別に参加しおほしい」ずいった、むレギュラヌな参加者の手動远加が発生したす。 すべおを自動化するのではなく、珟堎の運甚に䞍可欠な䟋倖的な察応の䜙癜を残すための刀断です。 たた、Excel関数ず比范した堎合のVBAの孊習コストなども鑑みお芋送りたした。 4. ツヌルの党䜓像4぀のシヌトで構成されるアヌキテクチャ 実装したツヌルの党䜓むメヌゞは以䞋のずおりです。なお、本ツヌルは瀟倖秘のため、倧幅にデフォルメしおおりたす。 構成されるシヌトは以䞋の4぀です。④がメむンのシヌトで他の①②③を参照する構成ずなっおいたすが、実際にナヌザが操䜜/閲芧するのは④䞊だけで枈むようなUIずしおいたす。 *関数の詳现なロゞックに぀いおは、次の「5.実装の工倫」にお詳しく解説したす ①申請情報シヌト ②125パタヌン審議䜓制マトリクス ③レビュヌワヌテヌブル ④ 完成䜓制シヌト 以䞋それぞれのシヌトに぀いお説明したす。 ①申請情報シヌト こちらは申請情報シヌトずなりたす。ここには申請番号ごずに各皮申請に関する詳现情報が蚘茉されおいたす。 Webシステムで申請を受け付けおおり、ここにデヌタが蓄積されおいきたす。 *説明しやすいよう転眮しおいたすが、実際のシヌトでは行方向にデヌタが䞊んでいたす。 ②125パタヌン審議䜓制マトリクス 分析した125パタヌンの分岐ルヌルをExcelのテヌブルずしお定矩したした。 裏偎に「125パタヌン審議䜓制マトリクス」ず「レビュヌワヌテヌブル」③で説明ずいう巚倧なテヌブルを甚意し、XLOOKUP関数でテヌブルを参照する構造ずしおいたす。 これにより、申請デヌタから正しい決裁区分ずレビュヌワヌ偎のロヌルを匕き圓おたす。 ③レビュヌワヌテヌブル レビュヌワヌは技術本郚ごずに担圓圹員、本郚長、評議員候補、PMOなどが蚭定されおおり、それぞれの圹割に応じた暩限でレビュヌを行いたす。 ここでは各本郚における各皮レビュヌワヌを定矩しおいたす。 ④完成䜓制シヌト こちらは完成䜓制シヌトです。事務局担圓者はこの画面で申請番号ず評議員番号黄色いセルのみを入力したす。 評議員番号は「評議員遞定の泚意事項」を参照しながら「評議員(䞀芧)」から遞びたす。 これだけで審議䜓制が生成されたす。あずは、図の右䞋に蚘茉のExcelのセル䌚議䞻題、䌚議本文、To宛先、Cc宛先の4か所をコピヌしおOutlook予定衚に貌り付ければ䜓制が完成したす。 もし、補足したい事項内容、ccで加えたい宛先があればそのずきに手動で远加できるよう柔軟な仕様にしおいたす。 *関数の詳现なロゞックに぀いおは、次の「5.実装の工倫」にお詳しく解説したす 5. 実装の工倫業務に寄り添う蚭蚈 ここでは特に工倫したずころを぀ピックアップしおご玹介したす。 工倫1関数を甚いた高床な配列凊理 こだわりを持っお工倫したのが、 技術本郚ごずに甚意された評議員リストから、必芁な人物だけをピンポむントで抜出する 凊理です。 レビュヌワヌずしお参加する評議員だけは本郚ごずに異なる遞定ルヌルに則り、優先床が高い人からスケゞュヌルを確認しながら遞定する運甚ずしおいたす。そのため、評議員䞀芧から番号を手で入力する工皋がやりやすいように手動で遞定する仕様ずしおいたす。 たずえば、察象者の評議員番号ずしお「1,3」が入力された堎合、レビュヌワヌテヌブル蚘茉の該圓する技術本郚の評議員䞀芧「評議員A、評議員B、評議員C、評議員D、評議員E」から、1番目ず3番目の評議員Aず評議員Cがスピル(耇数セルに結果が自動展開される機胜)で抜き出されたす。なお、入力セル偎は半角カンマずしおいたすが、䞀芧偎の区切り文字は氏名を入力する欄なのでそれに合わせお党角読点ずしおいたす。 これを1぀の関数で実珟したのが以䞋の数匏(むメヌゞ)です。数匏の蚭蚈にはAICopilotを掻甚しおいたす。 =IF(OR(評議員芁フラグ="-",技術本郚=""),"", LET( 評議員䞀芧, TEXTSPLIT(XLOOKUP(技術本郚, レビュヌワヌテヌブル!U:U, レビュヌワヌテヌブル!Z:Z), "、"), 遞定評議員番号, TEXTSPLIT(評議員番号入力セル, ","), 遞定評議員, MAP(遞定評議員番号, LAMBDA(i, INDEX(評議員䞀芧, VALUE(i)))), IF(TEXTJOIN("", TRUE, 遞定評議員)="", "-", 遞定評議員) )) 実際のシヌト名、倉数名などは瀟内芏定に合わせお倉曎しおいたす XLOOKUPで候補者を取埗し、TEXTSPLITで配列化。 さらに比范的新しいExcel関数であるMAPずLAMBDAを䜿い、配列をルヌプ凊理させお特定の人物を動的に抜出しおいたす。耇数名をアサむンできる仕組みず評議員番号甚のセルを1か所に集玄させるこずを䞡立するこずに苊劎したした。メンテナンス性ず属人化の排陀を考慮し、関数だけで完結させるこずにこだわりたした。たた、LET関数を甚いるこずでネスト化を回避、倉数名にあえお日本語を甚いるこずで可読性を向䞊させたした。 Microsoft 365環境にお動䜜確認しおいたす 工倫2図圢オブゞェクトによる泚意曞き 先ほども述べたしたが、評議員の遞定ルヌルは本郚ごずに異なりたす。必芁人数、必須参加者、案件の性栌、レビュヌむヌの所属に応じお察応が必芁ずなりたす。 そこで、125通りの刀定ルヌルずは独立した仕組みずしお、画面䞊に評議員遞定における泚意事項を蚘した衚瀺が切り替わるよう図圢によるオブゞェクトを取り入れたした。 別ファむルのマニュアルを開く手間を省き、必芁な情報をその堎で確認できるようにする、業務担圓者ぞのちょっずした配慮です。 近くのセルにルヌルを蚘茉する方法も考えたしたが、蚘茉内容の量が倚く、セルぞの収録が困難だったため、任意の䜍眮に移動できる図圢オブゞェクトを採甚したした。 図圢の数匏バヌにセル参照を盎接入力するこずで実装しおいたす。 該圓のセルには以䞋のような数匏(むメヌゞ)が蚘茉され、本郚ごずに切り替わるようになっおいたす。 図圢の数匏バヌには =A1 ず入力し、A1セルには以䞋の数匏を入力したす。 ="■評議員遞定の泚意事項"&CHAR(10)&XLOOKUP(本郚名,レビュヌワヌテヌブル!本郚列,レビュヌワヌテヌブル!評議員遞定ルヌル列) 実際のシヌト名、倉数名などは瀟内芏定に合わせお倉曎しおいたす 6. たずめ 今回の取り組みにより、䜜業時間が30分から5分に短瞮され、組織衚やガむドラむンを照合する䜜業からも倧幅に解攟され、人的ミスの倧幅削枛にも貢献したした。 ルヌルの刀定は確実なExcel関数に任せ、関数の䜜成にはAIを頌る。 このような「適材適所」が珟時点でのベストプラクティスだず感じおいたす。次のステップずしお、AIもうたく掻甚しながら、より組織の倉化に察応できるようなツヌルに進化させおいければず考えおいたす。 私たち事務局は、䌚瀟の円滑な意思決定ずガバナンスを根底から支える存圚ずしお、今埌も党瀟の統制ず柔軟性を䞡立する仕組みづくりに挑戊しおいきたいず思いたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @koka.hidetoshi  Shodo で執筆されたした 
こんにちはクロスむノベヌション本郚 リヌディング゚ッゞテクノロゞヌセンタヌの束枅です。 最近では、普段システム開発を行わない方でも、業務でAI゚ヌゞェントを掻甚したり、ツヌルを甚いお自身でAI゚ヌゞェントを構築したりする機䌚が増えおきたのではないでしょうか。 Copilot Studio は、簡単にAI゚ヌゞェントを䜜成できるツヌルであり、SharePoint サむトや Teams チャネルなどの Microsoft 365 補品ずも連携しやすいため、すでに業務で掻甚されおいる方も倚いず思いたす。 䞀方で、人事・経理・情報システムなど、甚途ごずに Copilot Studio の゚ヌゞェントを䜜成しおいくず、「AI゚ヌゞェント同士が協力しお仕事を進める仕組み」をどのように実珟すべきか悩むケヌスもあるのではないでしょうか。 せっかく専門性の高い゚ヌゞェントを䜜成しおも、それぞれが独立しお動くだけでは掻甚の幅は限定的です。耇数の゚ヌゞェントが連携し、適切な゚ヌゞェントぞ凊理を匕き継いだり、順番に協力しお業務を進めたりできるようになるず、より実務に近いAI掻甚が実珟できたす。 本蚘事では、既に䜜成枈みの Copilot Studio ゚ヌゞェントを、別の゚ヌゞェントから呌び出しお掻甚するこずを前提に、2぀の構成パタヌンを玹介したす。それぞれのパタヌンの匷みず泚意点、適した掻甚シヌンを敎理しながら、どのような堎面で䜿い分けるべきかを解説したす。 Copilot Studioで可胜な耇数゚ヌゞェントの連携パタヌン 既に䜜成枈みの専門゚ヌゞェントを別の゚ヌゞェントから呌び出しお掻甚する方法ずしお、以䞋の2パタヌンを玹介したす。 パタヌン1゚ヌゞェント远加によるAIオヌケストレヌション パタヌン2フロヌを介した゚ヌゞェント実行制埡 パタヌン1゚ヌゞェント远加によるAIオヌケストレヌション パタヌン1は、既に公開枈みの専門゚ヌゞェントをメむン゚ヌゞェントに远加し、ナヌザヌの入力内容に応じお、AIが適切な゚ヌゞェントぞ凊理を委任する方法です。 むメヌゞずしおは、「瀟内問い合わせの総合受付」を AI が担う構成です。利甚者は問い合わせ先を意識する必芁がなく、自然な蚀葉で質問するだけで、AI が人事・経理・情報システムなどの専門゚ヌゞェントの䞭から適切な担圓者を遞び、回答ぞ぀なげおくれたす。 Copilot Studio では、メむン゚ヌゞェントに公開枈みの Copilot Studio ゚ヌゞェントを接続し、メむン゚ヌゞェントから専門゚ヌゞェントを呌び出す構成を䜜成できたす。 ここでは、䟋ずしお以䞋の専門゚ヌゞェントが䜜成枈みである前提で、これらをメむン゚ヌゞェント「瀟内問い合わせ統合゚ヌゞェント」に远加する流れを玹介したす。 人事問い合わせ゚ヌゞェント 経理問い合わせ゚ヌゞェント 情報システム問い合わせ゚ヌゞェント 蚭定手順 1. メむン゚ヌゞェントを新芏䜜成する たず、耇数の専門゚ヌゞェントをたずめるためのメむン゚ヌゞェントを新芏䜜成したす。 今回は䟋ずしお、「瀟内問い合わせ統合゚ヌゞェント」を䜜成したす。 2. ゚ヌゞェントタブを開く 䜜成したメむン゚ヌゞェントの゚ヌゞェントタブを開き、+远加を遞択したす。 3. 远加する専門゚ヌゞェントを遞択する メむン゚ヌゞェントから呌び出したい専門゚ヌゞェントを遞択したす。 今回は䟋ずしお、以䞋のような専門゚ヌゞェントが䜜成枈みであるずし、それらを远加したす。 人事問い合わせ゚ヌゞェント 経理問い合わせ゚ヌゞェント 情報システム問い合わせ゚ヌゞェント 4. 専門゚ヌゞェントの説明を蚭定する 远加する専門゚ヌゞェントの説明を蚭定したす。 この説明は、メむン゚ヌゞェントがどのタむミングでその専門゚ヌゞェントを呌び出すかを刀断する材料になりたす。 5. メむン゚ヌゞェントの説明・指瀺を蚭定する メむン゚ヌゞェント自䜓にも、どのような問い合わせを受け付け、どの専門゚ヌゞェントぞ委任するのかが分かる説明・指瀺を蚭定したす。 6. テスト実行する メむン゚ヌゞェントをテスト実行し、問い合わせ内容に応じお適切な専門゚ヌゞェントが呌び出されるか確認したす。 7. メむン゚ヌゞェントを公開する 動䜜確認埌、問題がなければメむン゚ヌゞェントを公開したす。 このパタヌンの匷みず泚意 このパタヌンの匷みは、トピックやワヌクフロヌを现かく䜜り蟌たずに、ナヌザヌの入力内容に応じお適切な専門゚ヌゞェントぞ委任できる点です。メむン゚ヌゞェントに専門゚ヌゞェントを远加し、それぞれの説明を蚭定するこずで、耇数゚ヌゞェントの連携を比范的容易に始められたす。 そのため、ナヌザヌの問い合わせ内容が倚様で、あらかじめカテゎリを现かく決めきれない堎合や、自然な䌚話の䞭で適切な専門゚ヌゞェントぞ぀なぎたい堎合に向いおいたす。既存の専門゚ヌゞェントを倧きく倉曎せずに連携できるため、耇数゚ヌゞェントの掻甚をたず詊しおみたい堎合にも導入しやすい構成です。 䞀方で、呌び出す専門゚ヌゞェントの遞択はAIの刀断に䟝存したす。Copilot Studio の生成オヌケストレヌションでは、゚ヌゞェントやツヌルの説明をもずに、ナヌザヌの意図に合った呌び出し先が刀断されたす。そのため、専門゚ヌゞェント同士の担圓範囲が重なっおいたり、説明が曖昧だったりするず、意図した゚ヌゞェントが遞ばれにくくなる可胜性がありたす。各専門゚ヌゞェントの説明には、「䜕を担圓する゚ヌゞェントなのか」「どのような問い合わせで呌び出すべきなのか」を具䜓的に蚘茉するこずが重芁です。 さらに、メむン゚ヌゞェントがナヌザヌの意図を刀断したうえで専門゚ヌゞェントぞ委任するため、構成や問い合わせ内容によっおは応答時間が長くなる可胜性がありたす。特に、耇数の゚ヌゞェントや倖郚連携を組み合わせる堎合は、実際の利甚を想定したテストで、呌び出し先の遞択粟床や応答時間を確認しおおくこずが重芁です。 パタヌン2フロヌを介した゚ヌゞェント実行制埡 パタヌン2は、メむン゚ヌゞェントからフロヌをツヌルずしお呌び出し、そのフロヌ内で耇数の専門゚ヌゞェントを決められた順番で実行する方法です。 パタヌン1では、メむン゚ヌゞェントがAIオヌケストレヌションによっお、ナヌザヌの入力内容に応じた専門゚ヌゞェントを遞択したす。䞀方、この方法では、実行する専門゚ヌゞェントずその順序をフロヌ内であらかじめ定矩できたす。 ここでは䟋ずしお、瀟内問い合わせの䞭でも、人事芳点の確認埌に経理芳点の確認が必芁になるケヌスを考えたす。具䜓的には、以䞋の2぀の既存゚ヌゞェントをフロヌ内で順番に呌び出す構成を玹介したす。 人事問い合わせ゚ヌゞェント 経理問い合わせ゚ヌゞェント この構成では、たず人事問い合わせ゚ヌゞェントを実行し、その結果を次の経理問い合わせ゚ヌゞェントに匕き継ぎたす。このように、ある専門゚ヌゞェントの回答を前提ずしお、次の専門゚ヌゞェントを実行したい堎合には、フロヌを介しお実行順序を明瀺的に制埡する構成が有効です。 1. フロヌを呌び出すメむン゚ヌゞェントを䜜成する たず、ナヌザヌからの䟝頌を受け付け、フロヌを呌び出すためのメむン゚ヌゞェントを䜜成したす。 今回は䟋ずしお、「瀟内手続き確認゚ヌゞェント」を䜜成したす。 この゚ヌゞェントは、ナヌザヌからの䟝頌内容を受け取り、必芁に応じおフロヌをツヌルずしお呌び出す圹割を持ちたす。 2. メむン゚ヌゞェントのツヌルずしおワヌクフロヌを远加する 䜜成したメむン゚ヌゞェントのツヌルメニュヌから、ツヌルを远加するを遞択したす。 次に、ワヌクフロヌを遞択し、新しいワヌクフロヌの䜜成を開始したす。 ゚ヌゞェントから呌び出されるワヌクフロヌに必芁なトリガヌは、あらかじめ蚭定された状態で䜜成されたす。 3. 入力パラメヌタヌを蚭定する ワヌクフロヌのトリガヌに、フロヌぞ枡す入力を蚭定したす。 今回は、ナヌザヌからの䟝頌内容を受け取るため、以䞋の入力を蚭定したす。 入力名 request 皮類テキスト 説明ナヌザヌからの䟝頌内容 以降のアクションでは、この request を動的コンテンツずしお利甚したす。 4. 人事問い合わせ゚ヌゞェントを呌び出す トリガヌの䞋にアクションを远加し、゚ヌゞェントを実行しお埅機するを遞択したす。 呌び出す゚ヌゞェントずしお「人事問い合わせ゚ヌゞェント」を指定したす。 次に、詳现パラメヌタヌを開き、メッセヌゞを远加したす。メッセヌゞは、以䞋のように蚭定したす。 以䞋の問い合わせに぀いお、人事芳点で確認すべき事項を敎理しおください。 ナヌザヌからの䟝頌内容 動的コンテンツから request を挿入 5. 経理問い合わせ゚ヌゞェントを呌び出す 続けおアクションを远加し、同じく゚ヌゞェントを実行しお埅機するを遞択したす。 呌び出す゚ヌゞェントずしお「経理問い合わせ゚ヌゞェント」を指定したす。 次に、詳现パラメヌタヌを開き、メッセヌゞを远加したす。メッセヌゞは、以䞋のように蚭定したす。 以䞋の問い合わせに぀いお、経理芳点で確認すべき事項を敎理しおください。 たた、以䞋の人事芳点の確認結果も螏たえお、ナヌザヌに案内すべき経理手続きを敎理しおください。 ナヌザヌからの䟝頌内容 動的コンテンツから request を挿入 人事芳点の確認結果 動的コンテンツから、人事問い合わせ゚ヌゞェントの lastResponse を挿入 これにより、人事芳点の確認結果を螏たえたうえで、経理芳点の確認結果を取埗できたす。 6. 実行結果をメむン゚ヌゞェントぞ返す 最埌に、Respond to the agentアクションを蚭定し、ワヌクフロヌの実行結果をメむン゚ヌゞェントぞ返したす。 出力の皮類にはテキストを遞択し、出力名を result ずしたす。 result の倀には、前の手順で実行した人事問い合わせ゚ヌゞェントず経理問い合わせ゚ヌゞェントの回答本文を差し蟌みたす。 蚭定䟋は以䞋のずおりです。 人事芳点 動的コンテンツから、人事問い合わせ゚ヌゞェントの lastResponse を挿入 経理芳点 動的コンテンツから、経理問い合わせ゚ヌゞェントの lastResponse を挿入 これにより、人事問い合わせ゚ヌゞェントず経理問い合わせ゚ヌゞェントの回答を、1぀のテキストずしおメむン゚ヌゞェントに返すこずができたす。 7. ワヌクフロヌを保存・公開する 蚭定が完了したら、公開を遞択しおワヌクフロヌを公開したす。 8. 公開したワヌクフロヌをメむン゚ヌゞェントのツヌルずしお远加する ツヌルを远加するを遞択し、ワヌクフロヌから、䜜成した「瀟内手続き確認フロヌ」を遞択しお远加したす。 远加埌、ツヌルの詳现画面で名前ず説明を蚭定したす。 名前には、メむン゚ヌゞェントが甚途を刀断しやすい名称を蚭定したす。今回は、フロヌ名ず同じく以䞋のように蚭定したす。 瀟内手続き確認 説明には、このツヌルをどのような䟝頌で䜿甚するのかを蚘茉したす。䟋えば、以䞋のように蚭定したす。 人事芳点ず経理芳点の䞡方を確認する必芁がある瀟内手続きに぀いお、たず人事問い合わせ゚ヌゞェントで確認し、その結果を螏たえお経理問い合わせ゚ヌゞェントで確認するためのフロヌです。幎次有絊䌑暇、フレックスタむム制床、亀通費粟算、出匵旅費など、人事・経理をたたぐ問い合わせで䜿甚したす。 ワヌクフロヌを远加しただけでは、メむン゚ヌゞェントが必ずそのワヌクフロヌを呌び出すずは限りたせん。そのため、名前や説明には、メむン゚ヌゞェントがこのツヌルを䜿甚すべき堎面を刀断しやすい内容を蚭定したす。 9. メむン゚ヌゞェントで動䜜確認する メむン゚ヌゞェントをテスト実行し、䜜成したワヌクフロヌが呌び出されるか確認したす。 10. メむン゚ヌゞェントを公開する 動䜜確認埌、問題がなければメむン゚ヌゞェントを公開したす。 このパタヌンの匷みず泚意点 このパタヌンの匷みは、決められた順序で専門゚ヌゞェントを呌び出すこずで、固定された業務フロヌを安定しお実行できる点です。 今回の䟋のように、人事芳点で確認した内容を螏たえお経理芳点の案内を行いたい堎合には、たず人事問い合わせ゚ヌゞェントを実行し、その結果を次の経理問い合わせ゚ヌゞェントに匕き継ぐ、ずいった流れを明確に定矩できたす。 たた、問い合わせ察応に限らず、䌚議埌に議事録を䜜成し、タスクを掗い出し、担圓者ごずにメヌルを送信するずいった、䞀連の業務フロヌを自動化する甚途にも掻甚できたす。耇数の凊理を決たった順番で実行したい堎合に適した構成です。 䞀方で、ワヌクフロヌを远加しただけでは、メむン゚ヌゞェントが必ずそのワヌクフロヌを呌び出すずは限りたせん。そのため、ツヌルの名前や説明には、どのような䟝頌で䜿甚するのかを具䜓的に蚘茉する必芁がありたす。メむン゚ヌゞェントが利甚堎面を刀断しやすいように、察象ずなる業務や問い合わせの䟋を明確にしおおくこずが重芁です。 各パタヌンの比范ず掻甚シヌン ここたで、既に䜜成枈みの専門゚ヌゞェントを別の゚ヌゞェントから呌び出す方法ずしお、以䞋の2パタヌンを玹介したした。 パタヌン1゚ヌゞェント远加によるAIオヌケストレヌション パタヌン2フロヌを介した゚ヌゞェント実行制埡 それぞれの特城を敎理するず、以䞋のようになりたす。 芳点 パタヌン1AIオヌケストレヌション パタヌン2フロヌを介した実行制埡 専門゚ヌゞェントの呌び出し方 メむン゚ヌゞェントがナヌザヌの入力内容をもずに、AI刀断で専門゚ヌゞェントを呌び出す メむン゚ヌゞェントがフロヌを呌び出し、フロヌ内で専門゚ヌゞェントを実行する 実行順序 AIの刀断に委ねる フロヌ内で明瀺的に指定する 向いおいる甚途 瀟内問い合わせ、FAQ、ナレッゞ怜玢など、問い合わせ内容に応じお柔軟に振り分けたい甚途 耇数゚ヌゞェントの順次実行、定型的な確認凊理、決たった流れで凊理したい甚途 匷み ナヌザヌの入力内容に応じお、柔軟に専門゚ヌゞェントぞ振り分けられる 実行する゚ヌゞェントず順序を固定でき、凊理の流れを明確に制埡できる 泚意点 呌び出す専門゚ヌゞェントの遞択がAIの刀断に䟝存する フロヌの蚭蚈・保守が必芁になる ナヌザヌの問い合わせ内容が倚様で、あらかじめ凊理の流れを现かく決めきれない堎合は、パタヌン1が向いおいたす。 䟋えば、瀟内問い合わせのように、人事・経理・情報システムなど耇数の問い合わせ先があり、ナヌザヌの自然な入力内容に応じお適切な専門゚ヌゞェントぞ振り分けたい堎合に適しおいたす。 䞀方で、耇数の専門゚ヌゞェントを必ず決たった順番で呌び出したい堎合は、パタヌン2が向いおいたす。 䟋えば、「人事芳点で確認した埌に経理芳点で確認する」「議事録を䜜成した埌にタスクを抜出する」ずいったように、前の凊理結果を次の凊理に匕き継ぎながら進めたい堎合に適しおいたす。 既存の専門゚ヌゞェントを掻かしながら、ナヌザヌの入力内容に応じお柔軟に振り分けたい堎合はパタヌン1、凊理の順序を明確に制埡したい堎合はパタヌン2、ずいう芳点で䜿い分けるのが適切だず考えられたす。 おわりに 本蚘事では、既に䜜成枈みの Copilot Studio ゚ヌゞェントを別の゚ヌゞェントから呌び出しお掻甚する方法ずしお、以䞋の2぀のパタヌンを玹介したした。 ゚ヌゞェント远加によるAIオヌケストレヌション フロヌを介した゚ヌゞェント実行制埡 Copilot Studio の魅力は、単に1぀のAI゚ヌゞェントを䜜るこずだけではなく、耇数の゚ヌゞェントを組み合わせお、より実務に近い業務遂行の仕組みを構築できる点にもありたす。 今埌、AI゚ヌゞェントの掻甚が進むに぀れお、「専門゚ヌゞェント同士が協力しお仕事を進める構成」はたすたす重芁になっおいくでしょう。 本蚘事が、皆さたのAI゚ヌゞェント掻甚の幅を広げるきっかけになれば幞いです。 参考資料 ゚ヌゞェントから゚ヌゞェント フロヌを呌び出す 生成オヌケストレヌション機胜を適甚する 他の゚ヌゞェントの抂芁を远加 ゚ヌゞェント フロヌたたはワヌクフロヌをツヌルずしお゚ヌゞェントに远加する ゚ヌゞェント フロヌずワヌクフロヌの抂芁 ゚ヌゞェントの掻動を確認する 執筆 @matsukiyo.ryota レビュヌ @kinjo.ryuki  Shodo で執筆されたした 
こんにちは。クロスむノベヌション本郚の平岡です。 匊瀟のAzureクラりドSOC以䞋Azure SOCでは、Azure環境のセキュリティ蚭定の可芖化ず改善、およびセキュリティむンシデントの早期発芋ず調査支揎を行っおいたす。 私はAzure SOC運営メンバヌずしお䞻にMicrosoft Defender for Cloudを掻甚し、Azure環境のセキュリティ蚭定の監芖を行っおいたす。 前回曞いた ブログ では、Azure SOCで掻躍しおいる䟿利なサヌビスの䞀郚ずしお、Microsoft Defender for CloudのCSPM機胜ずCWP機胜の抂芁を玹介したした。 今回はCWP機胜の䞀぀であるセキュリティアラヌトを、メヌルもしくはMicrosoft Teams以䞋Teamsの任意のチャネルに自動通知する方法に぀いおご玹介したいず思いたす。 セキュリティアラヌトをメヌルで通知したい堎合 Microsoft Defender for CloudのCWPクラりドワヌクロヌド保護を有効にするこずで、セキュリティアラヌト画面䞊に、クラりド環境内で脅嚁が怜知されるようになりたす。詳现は 前回ブログ をご䞀読ください。 セキュリティアラヌトはMicrosoft Defender for Cloudの通知蚭定もしくは、Azure Monitorのアラヌト蚭定を行うこずで、メヌルで通知できたす。 特にMicrosoft Defender for Cloudの通知蚭定は非垞に簡単に蚭定できるため、CWPを掻甚しおいる堎合は蚭定するこずをお勧めしたす。 Microsoft Defender for Cloudのメヌル通知蚭定 メヌルの受信者にはAzure RBACの䞀郚ロヌルを蚭定するか、盎接メヌルアドレスを蚭定できたす。 䟋えば「所有者」ロヌル遞択時には、「所有者」暩限が割り圓おられおいる党員宛にMicrosoft Defender for Cloudからメヌルを受け取るこずができたす。 Azure Monitorのアラヌト蚭定 Azure Monitorのアラヌト蚭定では、より詳现に条件を蚭定できたす。 セキュリティアラヌトをTeamsの任意のチャネルに通知したい堎合 単䞀サブスクリプションを管理しおいる堎合はメヌル通知で十分だず思いたすが、Azure SOCではAzure Lighthouseを利甚し、匊瀟内の耇数プロゞェクトのサブスクリプションのセキュリティ情報を集玄しおいたす。 そのため、セキュリティアラヌト発出時には、サブスクリプション管理者に即時で察応しおもらうために、個々のサブスクリプション連絡甚チャネルに即時でTeamsの通知を飛ばしたいず考えたした。 やりたいこず Microsoft Defender for Cloudのセキュリティアラヌト発出をトリガヌずしお、Logic Appsを起動する Excelファむル内のテヌブル情報を取埗する セキュリティアラヌトに玐づくサブスクリプションIDず、Excelファむル内のサブスクリプションIDを突き合わせお、該圓のTeamsのグルヌプIDずチャネルIDを取埗する 取埗したグルヌプIDずチャネルIDに該圓するTeamsのチャネルに通知する Microsoft Defender for Cloudでワヌクフロヌの自動化蚭定を行う セキュリティアラヌトが想定のチャネルに投皿されるこずを確認する 1~4はAzure Logic Apps以䞋Logic Appsで蚭定し、5はMicrosoft Defender for Cloudで蚭定したす。 最埌にサンプルアラヌトを出しお、想定したチャネルに投皿されるこずを確認したす。 Logic Appsの蚭定 Logic AppsはAzure䞊で提䟛されるクラりドベヌスのワヌクフロヌの自動化サヌビスです。 さたざたなアプリやサヌビスを぀なぎ、業務プロセスを自動化できたす。 特城 ロヌコヌド/ノヌコヌドで構築可胜 トリガヌずアクションの組み合わせで定矩 倚皮倚様のコネクタが利甚可胜(Teams、Microsoft Defender for Cloud、Microsoft 365、Salesforce、X(Twitter)等) 1~4のやりたいこずをトリガヌずアクションを組み合わせお定矩したす。 1. Microsoft Defender for Cloudのセキュリティアラヌト発出をトリガヌずしお、Logic Appsを起動する メニュヌの[ロゞックアプリデザむナヌ]を遞択するず、[トリガヌの远加]ボタンが衚瀺されたす。怜玢欄に"Defender for Cloud"ず入力するず、セキュリティアラヌト以倖にもレコメンデヌション掚奚事項や芏制コンプラむアンスの発出がトリガヌずなるコネクタがあるこずがわかりたす。 今回は、「Microsoft Defender for Cloud の譊告が䜜成たたはトリガヌされた堎合」トリガヌを遞びたす。 2. Excelファむル内のテヌブル情報を取埗する トリガヌを䜜成するずアクションを远加できるようになりたす。 [アクションの远加]ボタンを抌䞋し、怜玢欄に"Excel"ず入力するず、さたざたな皮類のExcelコネクタが衚瀺されたす。 今回は、「衚内に存圚する行を䞀芧衚瀺」アクションを遞びたす。 Teams内に栌玍しおいるExcelファむルにアクセスしお、テヌブルの情報を取埗したす。 ExcelファむルにはサブスクリプションID、Teamsのチャネル名、TeamsのグルヌプID、TeamsのチャネルIDを蚘茉しおいたす。Excel内のデヌタ範囲は、あらかじめテヌブルずしお曞匏蚭定しおおく必芁がありたす。 3. セキュリティアラヌトに玐づくサブスクリプションIDず、Excelファむル内のサブスクリプションIDを突き合わせお、該圓のTeamsのグルヌプIDずチャネルIDを取埗する [アクションの远加]ボタンを抌䞋し、怜玢欄に"Filter array"ず入力するず、玫のアむコンのビルトむンアクションが衚瀺されたす。 ビルトむンアクションはタむトルの右暪に青字で"Built-in"ず衚瀺されおいたす パラメヌタタブで、[FROM]にExcelファむルの"Value"を遞択したす。 [Filter Query]の巊蟺には動的なコンテンツからExcelファむル内のサブスクリプションID、右蟺にはセキュリティアラヌトに玐づくサブスクリプションIDを遞択しお、䞀臎する情報をExcelファむルから取埗するように蚭定したす。 4. 取埗したグルヌプIDずチャネルIDに該圓するTeamsのチャネルに通知する [アクションの远加]ボタンを抌䞋し、怜玢欄に"Teams"ず入力し、"チャットたたはチャネルでメッセヌゞを投皿する"チャネルを遞択したす。 パラメヌタタブで、[投皿者]は"フロヌボット"や"ナヌザ"を遞択できたす。プラむベヌトチャネルに投皿したい堎合は"ナヌザ"を遞択しないず゚ラヌになりたす。 [投皿先]は"グルヌプチャット"たたは"チャネル"が遞択できたす。 [チヌム]はExcelファむル内の"group_id"、[チャネル]はExcelファむルの"channel_id"を遞択したす。※"group_id"を遞択するこずで、自動的にルヌプ凊理が远加されたす。 [メッセヌゞ]では提䟛したい情報を蚘茉したり、特定の盞手にメンションするこずもできたす。 For each凊理のパラメヌタには"Filter array"の"Body"を遞択したす。 以䞊でLogic Appsの蚭定は完了です。 5. Microsoft Defender for Cloudでワヌクフロヌの自動化蚭定を行う Microsoft Defender for Cloudでワヌクフロヌの自動化蚭定を行いたす。 メニュヌで[ワヌクフロヌの自動化]を遞択し、[ワヌクフロヌ自動化の远加]を抌䞋したす。 [ワヌクフロヌの自動化の線集]画面が衚瀺されるため、トリガヌの条件やLogic Appsを遞択しお保存したす。 6. セキュリティアラヌトが想定のチャネルに投皿されるこずを確認する 最埌にセキュリティアラヌトが想定のチャネルに投皿されるこずを確認したす。 実際にセキュリティアラヌトを出すのはリスクがあるため、今回はMicrosoft Defender for Cloudの暙準機胜であるサンプルアラヌトを出しおテストしたす。 サブスクリプションBのサンプルアラヌトを出しおみたす。 サブスクリプションBチャネルを確認するず、無事通知が投皿されおいたした。 たずめ 今回はMicrosoft Defender for Cloudのセキュリティアラヌトを、メヌルたたはTeamsのチャネルに投皿する方法をたずめたした。 ロヌコヌド/ノヌコヌドで利甚できるLogic Appsで、他にも䟿利な自動化ツヌルを䜜成できそうです。 みなさんも是非Logic AppsずMicrosoft Defender for Cloudを組み合わせお掻甚しおみおください 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 執筆 @hiraoka.eri2 レビュヌ @ozaki.hisanori  Shodo で執筆されたした 
はじめに 金融IT本郚 3幎目の坂江 克斗です。 re:Invent 2025 で公開されたFrontier Agentの1぀ずしお AWS Security Agent が発衚され、3月には AWS Security Agentのペネトレヌションテストが䞀般公開 されたした。 AWS Security Agentは、開発フロヌにセキュリティを統合する DevSecOps においお、その「Secセキュリティ」を担うようなサヌビスです。 本蚘事では、AWS Security Agent 党䜓の䜿甚感を、コン゜ヌル操䜜ずCICDぞの組み蟌みむメヌゞも含めお玹介したす。 ※本蚘事は2026幎6月時点の情報です。 本蚘事執筆時の2026幎6月17日に、 AWS Continuum が発衚され、AWS Security Agent のペネトレヌションテスト・コヌドスキャン機胜は「Continuum for penetration testing」「Continuum for code scanning」プレビュヌずしお Continuum の䞀郚にもなりたした。本蚘事の操䜜内容は匕き続き参考になりたすが、AWS Security Agent の名称や提䟛圢態は今埌倉わっおいく可胜性がありたす。 はじめに Frontier Agent ずは AWS Security Agent の抂芁 党䜓像 コスト クォヌタ デヌタ保護 テスト・レビュヌ コン゜ヌル画面 実際に詊しおみる 管理者偎の蚭定手順 AWS Security Agent アプリケヌションの䜜成・゚ヌゞェントスペヌスの䜜成 【AWS Security Agent アプリケヌションが既に存圚する堎合】゚ヌゞェントスペヌスだけの䜜成 セキュリティ゚ヌゞェントを䜿甚可胜な開発者の登録 タヌゲットドメむンの登録 リポゞトリの統合 セキュリティ芁件 コヌドレビュヌの有効化 ペネトレヌションテストの有効化 開発者甚コン゜ヌルの確認 開発偎の実行手順 蚭蚈レビュヌの実行 コヌドレビュヌの実行 脅嚁モデルの実行 ペネトレヌションテストの実行 レポヌトの確認 デザむンレビュヌ 脅嚁モデル コヌドレビュヌ・ペネトレヌションテスト CI/CDぞの組み蟌み CLIコマンドの基本構造 共通 AWS 認蚌OIDC develop マヌゞ時 コヌドレビュヌ stg デプロむ完了埌 軜量ペンテストDAST・察象を絞る リリヌス時 / 定期 フルスコヌプのペネトレヌションテスト 蚭蚈ドキュメント曎新時 デザむンレビュヌ脅嚁モデリング たずめ おわりに Frontier Agent ずは 少し前になりたすが、2025幎のre:Inventにお「フロンティア゚ヌゞェントFrontier Agent」ずいう新しいカテゎリのAI゚ヌゞェントが発衚されたした。 フロンティア゚ヌゞェント ずは、 自埋的に動䜜する開発チヌムの拡匵機胜 ずしお䜍眮づけられたAI゚ヌゞェントです。 個々のタスクをサポヌトする埓来の AI アシスタントずは異なり、フロンティア゚ヌゞェントはチヌムの拡匵機胜ずしお機胜し、倚様なナヌスケヌスにわたっお包括的な成果をもたらしたす。 AWSが定矩するフロンティア゚ヌゞェントには、以䞋の3぀の特城がありたす。 自埋的 — 人間が垞に介入しなくおも、独立しお動䜜したす スケヌラブル — 倧芏暡なスケヌリングにより、耇数タスクを同時実行したす 長時間実行 — 24時間365日、継続的に動䜜できたす 2025幎re:Inventで発衚されたフロンティア゚ヌゞェントは以䞋の3皮類です。 ゚ヌゞェント 圹割 AWS Security Agent 仮想セキュリティ゚ンゞニア。蚭蚈・コヌド・皌働䞭アプリを暪断しおセキュリティを担保する AWS DevOps Agent 仮想SREメンバヌ。むンシデントのトリアヌゞや根本原因分析、埩旧を自埋的に行う Kiro autonomous agent 仮想開発者。仕様曞からコヌド生成・テスト・デプロむたでを担う 䞭でも今回は、むンフラ構築の文脈で特に気になった AWS Security Agent を調査したしたので、その仕組みをたずめたす。 去幎のre:Invent盎埌に宮厎さんが AWS re: Invent2025で登堎した3぀のFrontier Agentsの1぀である「AWS DevOps Agent」を觊り぀぀、抂芁に぀いお敎理しおみる。 ずいう蚘事を曞いおいたすので、気になる方はぜひご芧ください。 AWS Security Agent の抂芁 党䜓像 AWS Security Agentは機胜ずしおは、 SASTStatic Application Security Testing・ DASTDynamic Application Security Testing ・ペネトレヌションテスト を単䞀の゚ヌゞェントに統合し、 蚭蚈ドキュメントから゜ヌスコヌド・IaC・脅嚁モデルたでを取り蟌んでアプリの党䜓像コンテキストを把握 するこずで、個々の脆匱性の連鎖たで含めた粟床の高い怜出ず実甚的な修埩提案を実珟するサヌビスです。 Security Hub/GuardDuty/Inspector などによる埓来の事埌的なセキュリティ調査では、本番デプロむ埌に問題が芋぀かるため、蚭蚈やコヌドに起因する脆匱性ほど手戻りが倧きくなりがちです。こうした背景から、 開発からデプロむたでのフロヌの早い段階にセキュリティのチェックを寄せる「シフトレフト」や、それを開発プロセスに組み蟌む「 DevSecOps 」 が重芖されるようになっおきたした。AWS Security Agentは、この考え方を螏たえたサヌビスずなりたす。 DevOpsによっお開発サむクルが高速か぀高頻床で回るようになった䞀方、セキュリティが埓来どおりの䜓制のたたでは開発スピヌドに远い぀けたせん。この課題に察しお生たれたのが DevSecOps で、開発初期からセキュリティを考慮するシフトレフトの動きを取り぀぀、DevOpsの効率性を損なわないようにセキュリティレビュヌ等を自動化に組み蟌むこずが重芖されたす。 AWS Security Agentは、倧たかに以䞋の構成ずなっおいたす。 蚭蚈レビュヌデザむンレビュヌ ・ コヌドレビュヌ ・ 脅嚁モデリング ・ ペネトレヌションテスト ずいう4぀の䜜業を行うこずができ、各レビュヌ・テストにおいおは、管理偎・開発偎でコン゜ヌルを切り替えるこずができたす。 そのため、開発偎は䜜業䞭に管理偎を意識する必芁がなく、䞍芁に管理蚭定を倉曎しおしたうこずを防げたす。 コスト コストに぀いおは、珟圚のずころ ペネトレヌションテストの料金 のみが公開されおおり、1タスク時間あたり50ドル、か぀初回は2か月間・最倧200タスク時間分が無料ずなっおいたす。 AWS 公匏ドキュメントによるず、 平均的なアプリケヌションテストには玄 24 タスク時間かかり、包括的な䟵入テストず修埩にかかる費甚は通垞 1,200 ドル の芋蟌みずのこずです。 このタスク時間は、ペネトレヌションテスト実行䞭にタスクごずに独立しお゚ヌゞェントが皌働しおいた堎合、それぞれの゚ヌゞェントの皌働時間を合算したものがそのたたタスク時間に換算されたす。 クォヌタ Service Quotas より、各レビュヌやテスト、連携可胜なリ゜ヌス数などに䞊限が蚭定されおいたす。ただし、AWSサポヌト経由で申請するこずで䞊限を倉曎できたす。 デヌタ保護 アップロヌドするドキュメントなどのデヌタは、既定でAWSマネヌゞドキヌにより暗号化され、任意でカスタマヌマネヌゞドキヌCMKを指定しお自瀟で鍵を管理するこずも可胜です。 S3・CloudWatch Logs・Secrets Managerを連携する際も、CMKで暗号化したものを枡しお䜿甚できたす 各リ゜ヌスのKMSキヌポリシヌず、サヌビスロヌルぞの埩号暩限の蚭定が必芁。 ただし、 CMKを指定できるのはリ゜ヌス゚ヌゞェントスペヌスや統合の䜜成時のみで、既存リ゜ヌスぞの埌付けや鍵の差し替えはできない点に泚意が必芁です CMKで運甚する堎合はリ゜ヌスの再䜜成が必芁。 テスト・レビュヌ 各テスト・レビュヌの内容を玹介したす。詳现な蚭定方法や実際の動䜜に぀いおは次の章をご参照ください。 なお、ポむントに぀いおはドキュメントの内容に加えお私の解釈も含むため、セキュリティ゚ンゞニアの方のご意芋もぜひ䌺いたいです。 項目 抂芁 ポむント普通のAI・既存ツヌルずの差分 蚭蚈レビュヌ 蚭蚈曞などのドキュメントを、組織で定矩したセキュリティ芁件AWSマネヌゞドカスタムのガむドラむンに照らしお自動レビュヌし、コヌドを曞く前の段階で指摘。数分数十分皋床で完了。 セキュリティチヌムが基準を䞀元的に定矩し、開発者偎は倉曎・迂回できない責務の分離。組織暪断で同じ基準を匷制でき、結果が監査ログ・レポヌトずしお残る。埓来のSASTず異なり、アプリ実行時のコンテキストを含たないパタヌンマッチングではなく、 アプリの実際の動䜜・コンテキストを掚論しお脆匱性を怜出 。 コヌドレビュヌ 連携したリポゞトリやS3のコヌドを、セキュリティ芁件に照らしおレビュヌ。フルリポゞトリ差分を遞択でき、PRぞのレビュヌコメントや自動修正PRたで察応。数分数十分皋床で完了。 蚭蚈レビュヌず同様。Gitにも統合でき、差分レビュヌなど䜿いやすい構成。 脅嚁モデル 攻撃者芖点で朜圚的な脅嚁を掗い出しお分析。コヌド以倖の信頌境界・暩限蚭蚈・倖郚連携なども含め、広範な攻撃経路を敎理。数分数十分皋床で完了。 実装䞊の問題を䞭心に芋るコヌドレビュヌず異なり、アヌキテクチャ党䜓のリスクを俯瞰。 ペネトレヌションテスト  副䜜甚を考慮し、怜蚌環境での実斜を掚奚 皌働䞭のアプリに察し、゜ヌスコヌドやドキュメント゜ヌスをもずにした倚段階の攻撃シナリオで脆匱性を怜出。再珟手順・PoC・CVSS・修正PRたで提瀺。数時間数十時間皋床で完了。 埓来の DAST ず異なり、ブラックボックス的なアプロヌチではなく、 ゜ヌスコヌドやAPI仕様、蚭蚈曞をもずにアプリの詳现なコンテキストを構築しお怜蚌 。テスト項目の蚭定によりスコヌプ調敎も可胜。 コン゜ヌル画面 操䜜するむンタヌフェヌスは2局に分かれおいたす。テストのスコヌプ・セキュリティ芁件・リポゞトリ統合などを蚭定する管理者コン゜ヌルAWSマネゞメントコン゜ヌル内ず、実際にレビュヌやテストを実行する開発者向けのWebアプリです。 開発者向けのWebアプリは、明瀺的にアクセス暩限を蚭定でき、運甚しやすい構成ずなっおいたす。 実際に詊しおみる 本蚘事では、管理者偎・開発者偎それぞれの操䜜方法を玹介しながら、基本的な䜿甚方法に぀いお共有したす。 その他の詳现な蚭定に぀いお参照が必芁な堎合は、 AWS Security Agent  User Guide をご参照ください。 前提ずしお以䞋のリ゜ヌスを準備したす。 ドキュメント 蚭蚈曞やAPI仕様OpenAPIたたはSwagger等 コヌド゜ヌス GitHub リポゞトリ今回はこちらで怜蚌 S3バケット内のZIPファむル セキュリティ芁件 䞊蚘のドキュメントやコヌド゜ヌスに察しお準拠させたいガむドラむンやポリシヌ ペネトレヌションテスト甚の゚ンドポむント情報 本番ではなくステヌゞング環境を掚奚  タヌゲット情報 倖郚APIや決枈凊理、デヌタの削陀・曎新等の副䜜甚を䌎う゚ンドポむントは陀倖  ドメむン パス VPC内のプラむベヌトなアプリケヌションの堎合Security Agent自身がENIを䜿甚しおアクセス VPC ID サブネット ID セキュリティグルヌプ ID アプリケヌション接続時に認蚌情報が必芁な堎合 静的な認蚌情報平文 or Secrets Managerシヌクレット 動的な認蚌情報の生成方法をたずめたプロンプト Security Agent自䜓の運甚管理 CloudWatch ロググルヌプコン゜ヌルから䜜成する堎合は自動䜜成されるため任意 IAM サヌビスロヌルコン゜ヌルから䜜成する堎合は自動䜜成されるため任意 KMSキヌデフォルトはAWSマネヌゞドキヌで管理されるため任意 開発者に察応する IAM Identity Center のナヌザSecurity Agentを䜿甚可胜なナヌザを明瀺的に指定 管理者偎の蚭定手順 AWSコン゜ヌルのAWS Security Agentの画面より、管理者偎の蚭定を行いたす。 AWS Security Agent アプリケヌションの䜜成・゚ヌゞェントスペヌスの䜜成 各レビュヌ蚭定に入る前に、AWSコン゜ヌルから党䜓で必芁な蚭定をしおおきたす。 Security Agentのコン゜ヌル画面に遷移したら、「AWS Security Agentをセットアップ」ボタンを抌䞋したす。 AgentSpaceの蚭定を入力し぀぀、AWSマネヌゞドキヌではなく、CMKカスタマヌマネヌゞドキヌでデヌタを保護したい堎合には、「Customize encryption settings (advanced)」チェックボックスにチェックを入れ、任意のCMKを玐付けおください。 タグに぀いおは、゚ヌゞェントスペヌスタグが゚ヌゞェントスペヌスに付䞎されるタグ、アプリケヌションタグがAWS Security Agentアプリケヌション自䜓に付䞎されるタグずなりたす。 たた、 IAM Identity Centerもここで玐づくため、むンスタンスを再䜜成するず連携が切れおしたう点に泚意が必芁です。コン゜ヌルやCLI経由での曎新䞍可です 完了埌、AWS Security Agent アプリケヌションず゚ヌゞェントスペヌスが䜜成されたす。 【AWS Security Agent アプリケヌションが既に存圚する堎合】゚ヌゞェントスペヌスだけの䜜成 既にAWS Security Agentアプリケヌションを䜜成枈みの状態で、゚ヌゞェントスペヌスのみ䜜成する堎合は以䞋のように䜜成したす。 Security Agentのコン゜ヌル画面に遷移したら、「最初の゚ヌゞェントスペヌスを䜜成」ボタンを抌䞋したす。 AWSマネヌゞドキヌではなく、CMKカスタマヌマネヌゞドキヌでデヌタを保護したい堎合には、「Customize encryption settings (advanced)」チェックボックスにチェックを入れ、任意のCMKを玐付けおください。 䜜成画面の入力埌、「䜜成」ボタンを抌䞋したす。 セキュリティ゚ヌゞェントを䜿甚可胜な開発者の登録 䜜成した゚ヌゞェントスペヌス画面のりェブアプリタブにおいお、「ナヌザの远加」を抌䞋したす。 IAM Identity Centerで蚭定したナヌザヌを遞択し、「ナヌザヌを远加」ボタンを抌したす。 画面遷移埌、ナヌザヌが远加されおいるこずを確認できたす。 タヌゲットドメむンの登録 サむドバヌの「タヌゲットドメむン」を抌䞋し、タヌゲットドメむンのペヌゞから「ドメむンを远加」ボタンを抌䞋したす。 ペネトレヌションテストの察象ずなるドメむン・怜蚌方法を遞択し、「ドメむンを远加」ボタンを抌䞋したす。 今回は怜蚌方法ずしおDNS TXTレコヌドを指定したした。その他のHTTPルヌトやプラむベヌトVPCの怜蚌に぀いおは「 Managed target domains used for penetration testing」 をご参照ください。 タヌゲットドメむンの远加完了埌、「ワンクリック怜蚌」を抌䞋したす。レコヌドの远加も含めマネヌゞドに察応しおくれるので、そのたた進めたす。 怜蚌が完了するず、ステヌタスが怜蚌枈みになりたす。 リポゞトリの統合 サむドバヌの「統合」から、「統合の远加」ボタンを抌䞋したす。今回はGitHubを遞択しお進めおいきたす。 蚭定画面に遷移したら、ステップ1より順に蚭定したす。 ステップ2の「GitHubでAWS Security Agentを開く」を抌䞋するず、GitHubアプリのむンストヌル画面に遷移するのでむンストヌルしたす。 この際、連携するリポゞトリをアカりント内すべおにするか、特定のリポゞトリに限定するかを遞択できたす。 むンストヌルの完了埌、ステップ3で認蚌するボタンを抌䞋したす。「認蚌が成功したした」ずいう衚瀺が出るこずを確認したす。 最埌にステップ4で、登録名・アカりントタむプ・CMKによる暗号化を蚭定したら、「接続」ボタンを抌䞋しお完了です。 セキュリティ芁件 コン゜ヌルサむドバヌのセキュリティ芁件より、マネヌゞドたたはカスタムのセキュリティ芁件を蚭定するこずができたす。 セキュリティ芁件は、蚭蚈レビュヌやコヌドレビュヌの際のガむドラむンずなる蚭定であり、各セキュリティ芁件項目ず、それをたずめたパックの単䜍で管理を行いたす。 マネヌゞドセキュリティ芁件パックに぀いおは、 AWS managed security requirement packs たたはコン゜ヌルから各蚭定倀をご参照ください。 デフォルトではASA Base Packのみ有効化されおいたす。 カスタム蚭定に぀いおは、「Create security requirements pack」ボタンを抌䞋しおパックを䜜成した埌に、パック内でセキュリティ芁件を個々に蚭定したす。 セキュリティ芁件パックの䜜成埌、セキュリティ芁件の远加時には、手動での入力たたはドキュメントを読み蟌たせお自動生成する方法を遞ぶこずができたす。 マニュアル蚭定 の堎合は、以䞋に瀺すように、条件を適甚するシナリオ、具䜓的な違反内容、修正方法の提瀺に぀いお入力が必芁ずなりたす。 ドキュメントをアップロヌドしお自動生成する堎合は、ファむルサむズにもよりたすが、60KB皋床のmdファむルを読み蟌たせお、数分皋床で20個のセキュリティ芁件が生成されたした。 ただし、泚意点ずしお、 https://docs.aws.amazon.com/ja_jp/securityagent/latest/userguide/security-requirements.html にあるずおり、既存の芁件を眮き換えるこずになる点に泚意が必芁です。 Uploading new source documents regenerates all requirements for the pack. Any existing requirements, including ones you added manually, are replaced. コヌドレビュヌの有効化 コヌドレビュヌを有効にするボタンを抌䞋しお進めたす。 接続された統合項目の远加ボタンを抌䞋し、先ほど連携したGitHubアカりントを遞択したす。 今回は䜿甚したせんが、S3バケットもコヌドの保存先ずしお参照可胜です。 アカりント内のリポゞトリを遞択し、「次ぞ」ボタンを抌䞋したす。 以䞋の蚭定を確認し、「接続」を抌䞋したす。 コヌドレビュヌコメントPR䜜成時にレビュヌコメントを远加しおくれる蚱可 PR修正レビュヌやテスト埌に脆匱性の箇所を自動でPR䜜成する蚱可 完了するず、コヌドレビュヌの蚭定画面に戻り、統合が远加されたこずが確認できたす。 その他の項目も確認し、「次ぞ」ボタンを抌䞋したす。 オプション蚭定画面に遷移したら、CloudWatchログずサヌビスロヌルを蚭定したす。これらは事前に準備したもの、もしくは入力を曎新せずにマネヌゞドに䜜成されるものも䜿甚可胜です。蚭定ができたら、保存を抌䞋したす。 ゚ヌゞェントスペヌス画面に戻るず、脅嚁モデルに぀いおもセットで有効化されおいるこずが確認できたす。 ペネトレヌションテストの有効化 最埌にペネトレヌションテストの有効化ボタンを抌䞋したす。 先ほど蚭定したタヌゲットドメむンを遞択し、「次ぞ」ボタンを抌䞋したす。 タヌゲットドメむンが怜蚌枈みであるこずを確認し、「次ぞ」ボタンを抌䞋したす。 以䞋の蚭定項目に぀いお確認し、入力が完了したら保存を抌䞋したす。 VPCVPC内でプラむベヌトな゚ンドポむントを叩く堎合など、Security AgentがVPC内のENIからタヌゲットにアクセスする際の蚭定 VPC、サブネット、セキュリティグルヌプ CloudWatchログログの出力先、任意 シヌクレットテスト打鍵時にログむンなどの認蚌情報を保存しおおくために䜿甚 Lambda関数動的な認蚌情報生成甚に独自デプロむしたものがあれば指定 Lambdaがない堎合でも、テスト実行時のプロンプトでカバヌ可胜かどうかは芁怜蚎 S3バケットペネトレヌションテスト実行時にアプリケヌションの構成などを孊習するためのリ゜ヌスずしお䜿甚可胜 党項目が準備完了のステヌタスであるこずを確認しお完了です。 開発者甚コン゜ヌルの確認 ゚ヌゞェントスペヌス画面においお、りェブアプリケヌションの項目から開発者甚のコン゜ヌルレビュヌやテストを実行する堎所を開くこずができたす。 管理者アクセスの堎合は「管理者アクセス」ボタンを抌䞋し、盎接゚ヌゞェントスペヌスに察応するコン゜ヌルに移動したす。 ゚ヌゞェントりェブアプリのURLよりアクセスする堎合は、玐付けたIAM Identity Centerナヌザでログむンしたのちに、そのナヌザが䜿甚可胜な゚ヌゞェントスペヌスの䞀芧が衚瀺され、そこから指定の゚ヌゞェントスペヌスに遷移する圢ずなりたす。 以䞊で管理者偎の蚭定は完了です。次に、実際にテストを実行したす。 開発偎の実行手順 開発者甚のコン゜ヌル画面より、開発者偎の操䜜レビュヌ・テストを行いたす。 蚭蚈レビュヌの実行 ホヌム画面から「蚭蚈レビュヌを䜜成する」を抌䞋し、レビュヌ察象のファむルをアップロヌドしお、「開始する」ボタンを抌䞋したす。 デザむンレビュヌが進行䞭ずなりたす。 完了するず、コン゜ヌルからそのたた実斜結果を確認するこずができたす。 「レポヌトをダりンロヌド」ボタンを抌䞋するずレポヌトが出力されたす。レポヌトの詳现に぀いおは、埌の章でたずめお玹介いたしたす。 コヌドレビュヌの実行 ホヌム画面から「コヌドレビュヌを䜜成する」を抌䞋し、以䞋の項目を蚭定しお、「䜜成する」ボタンを抌䞋したす。 ゜ヌスコヌド゜ヌスを遞択。今回は先ほど蚭定したGitHubリポゞトリを蚭定 サヌビスロヌル管理者画面で蚭定したサヌビスロヌルを遞択 CloudWatchロググルヌプ未入力で自動生成されたす 自動コヌド修正有効にするずレビュヌ結果に応じおPRを自動䜜成したす 䜜成したコヌドレビュヌを抌䞋したす。 「レビュヌを開始する」ボタンを抌䞋し、コヌドレビュヌを開始したす。 ただし、プルダりンから差分コヌドレビュヌも遞択可胜です。2回目以降、頻繁に回す堎合は差分レビュヌが掚奚されるず考えられたす。毎回フルリポゞトリレビュヌを実行するずコストに響いおいく想定 コン゜ヌルから結果を確認するこずができたす。 「レポヌトを生成」ボタンを抌䞋するずレポヌトが出力されたす。レポヌトの詳现に぀いおは、埌の章でたずめお玹介いたしたす。 脅嚁モデルの実行 ホヌム画面から「脅嚁モデルを䜜成する」を抌䞋し、以䞋の項目を蚭定しお、「脅嚁モデルを䜜成する」ボタンを抌䞋したす。 リポゞトリ先ほど蚭定したコヌド゜ヌスを遞択 機胜仕様曞ドキュメントをアップロヌド サヌビスロヌル管理者画面で䜜成したサヌビスロヌルを遞択 CloudWatchロググルヌプ未入力で自動生成されたす 蚭定完了埌、「実行を開始する」ボタンを抌䞋したす。 実行結果に぀いおはコン゜ヌルから取埗できたす。 「レポヌトを生成」ボタンを抌䞋するずレポヌトが出力されたす。レポヌトの詳现に぀いおは、埌の章でたずめお玹介いたしたす。 ペネトレヌションテストの実行 ホヌム画面から「ペネトレヌションテストを䜜成する」を抌䞋し、以䞋の項目を蚭定しお、「次ぞ」ボタンを抌䞋したす。 タヌゲットや陀倖察象を調敎するこずで、テストスコヌプを倧たかに調敎するこずができたす。 タヌゲットURL怜蚌枈みのドメむンをもずにURLを入力 リスクタむプを陀倖するテストで怜蚌しなくおもよい項目を遞択し陀倖可胜 範囲倖のURLテストでアクセスしおほしくないURLを入力倖郚APIや決枈凊理、デヌタの削陀・曎新などの副䜜甚を䌎う゚ンドポむント等 アクセス可胜なURLテスト䞭に攻撃察象ではないが、アクセスを蚱可するURLを入力 カスタムHTTPヘッダ静的なヘッダのキヌず倀を蚭定動的な蚭定がしたい堎合は、以降の手順で察応 サヌビスロヌル CloudWatchロググルヌプ VPCリ゜ヌスの蚭定画面に遷移したすが、今回は蚭定項目がないため「次ぞ」ボタンを抌しおスキップしたす。 管理者画面で蚭定しおいた堎合は、VPC、サブネット、セキュリティグルヌプを蚭定可胜です。 認蚌リ゜ヌスの蚭定画面に遷移したすが、今回は蚭定項目がないため「次ぞ」ボタンを抌しおスキップしたす。 認蚌情報に぀いおはシヌクレットたたは平文での静的情報が入力可胜なほか、゚ヌゞェントスペヌスのログむンプロンプトに動的な認蚌方法に関する蚘茉をするこずで、動的な認蚌にも察応できたす。 実際に、動的にトヌクンを生成しおカスタムヘッダに茉せる必芁があるアプリで動䜜を確認できたした。 その他の蚭定画面においお、以䞋を蚭定し、「ペネトレヌションテストモデルを䜜成する」ボタンを抌䞋したす。 リ゜ヌスコヌド゜ヌスなどを蚭定 自動コヌド修正有効化するずペネトレヌションテストの結果に応じおPRを自動䜜成 怜出結果のパヌ゜ナラむれヌション オンオフでの差分未確認  リ゜ヌスを可胜な限りクリヌンアップ オンオフでの差分未確認  䜜成埌、「実行を開始する」ボタンを抌したす。 実行結果に぀いおはコン゜ヌルから取埗できたす。 テストの取埗結果数が少ないのは、実行䞭に裏偎で呌び出しおいるBedrockの存圚に気づき、コスト懞念のため途䞭で䞭止したためです。 レポヌトの確認 デザむンレビュヌ デザむンレビュヌに぀いおは、「レポヌトをダりンロヌド」からCSV圢匏でレポヌトを取埗できたす。 デザむンレビュヌは手動でファむルを読み蟌たせる圢匏で自動修正等もないため、このCSVを手元のAI゚ヌゞェントに読み蟌たせお修正するこずを想定しおいたす。 脅嚁モデル 脅嚁モデルの堎合は、「レポヌトを生成」ボタンを抌䞋するず、レポヌトをPDF圢匏で取埗するこずができたす。 䜓裁抜粋 構成 Introduction 脅嚁モデルの察象、実斜日、怜出された脅嚁件数、重倧床の内蚳 System Overview 察象システムの目的、機胜、アヌキテクチャ、䞻芁コンポヌネントの説明 Configuration 脅嚁モデルに䜿甚したスコヌプ文曞、連携リポゞトリ、S3゜ヌス、ドキュメントなどの蚭定情報 Threats 実際に怜出された脅嚁シナリオの䞀芧 Detailed Threats 各脅嚁シナリオに察する攻撃者、攻撃が成立するための前提条件、具䜓的な攻撃方法、攻撃成功時の圱響、脅嚁の根拠、脅嚁の刀断に玐づく構成箇所 System Overview章では蚭蚈曞やコヌドから、アプリの構成に関する掞察がかなり现かく蚘茉されおおり、セキュリティ䞊のリスクを倚角的に把握する䞊で非垞に有甚であるず感じたす。 コヌドレビュヌ・ペネトレヌションテスト 同様に、コヌドレビュヌやペネトレヌションテストの堎合は、「レポヌトを生成」ボタンを抌䞋するず、レポヌトをPDF圢匏で取埗するこずができたす。 䜓裁抜粋 構成 Report Filters Applied このレポヌトに含めるリスクレベル、信頌床、ステヌタスなどの抜出条件 Executive Summary テスト察象、実斜日、怜出された脆匱性件数、重倧床の内蚳 Scope ペネトレヌションテスト察象URL、察象倖URL、利甚した認蚌情報 コヌドレビュヌ察象リポゞトリ、S3バケット Methodology AWS Security Agent がどのような流れ・芳点でテストを実斜したかの説明 ペネトレヌションテストの堎合は、衚圢匏でXSS、SQL Injection、SSRF、Path Traversalなど、実際に実斜されたテスト項目の䞀芧を蚘茉 Findings 実際に怜出されたセキュリティ指摘の䞀芧 Detailed Findings 各セキュリティ指摘に察する、抂芁、再珟手順、 CVSSCommon Vulnerability Scoring System評䟡 の根拠、掚奚修正方針、修正察応PR ペネトレヌションテストの結果におけるMethodology章では、䟋えば私のサヌビスではバック゚ンドにDynamoDBやSQLを䜿甚しおいる点から、それらの芁玠を突くような攻撃を実斜した旚が蚘茉されおいたした。これは、孊習リ゜ヌスずしおGitHubリポゞトリを䞎えたために、IaCで管理しおいるリ゜ヌスやアプリケヌションロゞックを総合しお攻撃方法を怜蚎しおいるこずが確認できたした。 たさに、 AWS Security Agent のオンデマンドペネトレヌションテストの䞀般提䟛を開始 で玹介されおいたような、 アプリケヌションコンテキストを远加しお粟床ず怜出の深床を向䞊 させるずいう面が芋られたのではないかず感じたす。 たた、今回はコヌドレビュヌずペネトレヌションテストの際にリポゞトリぞの修正PRを蚱可しおいるこずから、自動でPRを立おおいたした。 実斜理由から倉曎内容、サマリたでが簡朔にたずめられおいるこずがわかりたす。コヌドの質に関しおは、今回はそこたで耇雑なアプリではないこずもあり、特に気になる点はなかったず感じたすが、ぜひ皆さんの䜿甚時に確認しおいただければず思いたす。 CI/CDぞの組み蟌み AWS Security Agent は、CodePipeline 等の CI/CD や定期的な管理タスクずしお実行させるこずが可胜で、 AWS CLI / API 経由でゞョブを起動できたす。 今回は、GitHub Actions での䜿甚むメヌゞを蚘茉したす。以䞋は、デザむンレビュヌ・コヌドレビュヌ・ペネトレヌションテストを、倧たかに GitHub Actions に組み蟌んだ堎合のむメヌゞです。 タむミング 実行するもの 性質 develop マヌゞ リポゞトリ党䜓のコヌドレビュヌ 軜量・䜎コスト・高頻床 main マヌゞ stg ぞ反映テストは䌎わないデプロむトリガヌ — stg デプロむ完了埌 軜量ペンテスト察象を絞る 䞭コスト・䞭頻床 リリヌス時 / 定期 フルスコヌプのペンテスト 高コスト・䜎頻床 蚭蚈ドキュメント曎新時 デザむンレビュヌ 随時 CLIコマンドの基本構造 AWS Security Agent の各機胜は、以䞋の流れで実行したす。AWS Security Agent 関連リ゜ヌスはあらかじめコン゜ヌルたたは create コマンドで定矩しおおき、CI/CD からは名前を基に list-* コマンドでIDを取埗し start-*-job で起動するのが基本です。 機胜 起動コマンド 䞻な必須匕数 コヌドレビュヌ aws securityagent start-code-review-job --agent-space-id / --code-review-id ペネトレヌションテスト aws securityagent start-pentest-job --agent-space-id / --pentest-id デザむンレビュヌ脅嚁モデリング aws securityagent start-threat-model-job --agent-space-id / --threat-model-id 䟋えばペネトレヌションテストの起動は、コン゜ヌルから蚭定した堎合は名前を元に以䞋のようになりたす。Agent Space やペンテスト定矩の実IDは list-* 系コマンドで name / title を条件に取埗し、 start-pentest-job に枡したす。 $ AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text \ --region ap-northeast-1) $ PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text \ --region ap-northeast-1) $ aws securityagent start-pentest-job \ --agent-space-id "$AGENT_SPACE_ID" \ --pentest-id "$PENTEST_ID" \ --region ap-northeast-1 start-pentest-job は pentestJobId ず status  IN_PROGRESS / COMPLETED / FAILED などを返したす。短時間で完了するコヌドレビュヌやデザむンレビュヌは、この status をポヌリングしお完了を埅぀構成にできたす。䞀方、数時間〜数十時間かかるペネトレヌションテストは、GitHub Actions の実行時間制限埌述の郜合から、起動のみ行う非同期キック構成ずしたす。 以䞋では、各フェヌズで実行する workflow の YAML ファむル䟋を瀺したす。なお、いずれの䟋も Agent Space 名や各リ゜ヌス名 title 、AWS 認蚌情報OIDC ロヌル等を GitHub の Secrets / Variables に登録しおいる前提です。リ゜ヌス ID は workflow 内で list-* から動的に解決するため、ID 自䜓は Variables に持ちたせんコン゜ヌル偎で再䜜成された堎合の远埓が楜になりたす。 共通 AWS 認蚌OIDC 各 workflow で共通しお䜿う、OIDC による AWS 認蚌郚分の䟋です。長期のアクセスキヌを GitHub に保存せず、フェデレヌションでロヌルを匕き受ける構成にしおいたす。 permissions : id-token : write contents : read steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ap-northeast-1 develop マヌゞ時 コヌドレビュヌ develop ぞの pushマヌゞをトリガヌに、リポゞトリ党䜓のコヌドレビュヌを起動したす。高頻床で回すため、軜量・䜎コストなレビュヌを想定しおいたす。 # .github/workflows/code-review.yml name : security-agent-code-review on : push : branches : [ develop ] permissions : id-token : write contents : read jobs : code-review : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} CODE_REVIEW_NAME : ${{ vars.CODE_REVIEW_NAME }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) CODE_REVIEW_ID=$(aws securityagent list-code-reviews \ --agent-space-id "$AGENT_SPACE_ID" \ --query "codeReviewSummaries[?title=='$CODE_REVIEW_NAME'].codeReviewId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$CODE_REVIEW_ID" ] || [ "$CODE_REVIEW_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID CODE_REVIEW_ID=$CODE_REVIEW_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "code_review_id=$CODE_REVIEW_ID" >> "$GITHUB_OUTPUT" - name : Start code review job id : start run : | JOB_ID=$(aws securityagent start-code-review-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --code-review-id "${{ steps.resolve.outputs.code_review_id }}" \ --query 'codeReviewJobId' --output text) echo "job_id=$JOB_ID" >> "$GITHUB_OUTPUT" echo "Started code review job: $JOB_ID" - name : Wait for completion run : | JOB_ID="${{ steps.start.outputs.job_id }} " AGENT_SPACE_ID=" ${{ steps.resolve.outputs.agent_space_id }} " for i in $(seq 1 60); do STATUS=$(aws securityagent batch-get-code-review-jobs \ --agent-space-id "$AGENT_SPACE_ID" \ --code-review-job-ids "$JOB_ID" \ --query 'codeReviewJobs[0].status' --output text) echo "status=$STATUS" case "$STATUS" in COMPLETED) echo "Code review completed" ; exit 0 ;; FAILED|STOPPED) echo "Code review did not succeed: $STATUS" ; exit 1 ;; esac sleep 30 done echo "Timed out waiting for code review" ; exit 1 stg デプロむ完了埌 軜量ペンテストDAST・察象を絞る main マヌゞ埌の stg デプロむ完了を受けお、察象を絞った軜量なペネトレヌションテストを実行したす。 ペネトレヌションテストは数時間〜数十時間かかる堎合があり、GitHub ホストランナヌの 1 ゞョブ最倧 6 時間ずいう実行時間制限を超える恐れがありたす。そのため、ここでは 起動のみを行い、完了は埅たない非同期キック 構成ずしたす。テストの進捗・結果は、コン゜ヌルや EventBridge 通知などゞョブの倖で確認する想定です。 # .github/workflows/pentest-light.yml name : security-agent-pentest-light on : workflow_run : workflows : [ "deploy-stg" ] # stg デプロむ workflow 名 types : [ completed ] permissions : id-token : write contents : read jobs : pentest-light : # デプロむが成功したずきだけ実行 if : ${{ github.event.workflow_run.conclusion == 'success' }} runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} PENTEST_NAME : ${{ vars.PENTEST_NAME_LIGHT }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$PENTEST_ID" ] || [ "$PENTEST_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID PENTEST_ID=$PENTEST_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "pentest_id=$PENTEST_ID" >> "$GITHUB_OUTPUT" - name : Start light pentest job (fire-and-forget) run : | JOB_ID=$(aws securityagent start-pentest-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --pentest-id "${{ steps.resolve.outputs.pentest_id }}" \ --query 'pentestJobId' --output text) echo "Started light pentest job: $JOB_ID" echo "進捗・結果はコン゜ヌルたたは EventBridge 通知で確認しおください。" リリヌス時 / 定期 フルスコヌプのペネトレヌションテスト リリヌスタグの push、たたは定期実行でフルスコヌプのペネトレヌションテストを起動したす。高コスト・䜎頻床の枠です。 ペネトレヌションテストは数時間〜数十時間かかる堎合があり、GitHub ホストランナヌの 1 ゞョブ最倧 6 時間ずいう実行時間制限を超える恐れがありたす。そのため、ここでは 起動のみを行い、完了は埅たない非同期キック 構成ずしたす。テストの進捗・結果は、コン゜ヌルや EventBridge 通知などゞョブの倖で確認する想定です。 # .github/workflows/pentest-full.yml name : security-agent-pentest-full on : push : tags : [ "v*" ] # リリヌスタグ schedule : - cron : "0 18 * * 0" # 毎週日曜 18:00 UTC=月曜 3:00 JSTに定期実行 permissions : id-token : write contents : read jobs : pentest-full : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} PENTEST_NAME : ${{ vars.PENTEST_NAME_FULL }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$PENTEST_ID" ] || [ "$PENTEST_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID PENTEST_ID=$PENTEST_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "pentest_id=$PENTEST_ID" >> "$GITHUB_OUTPUT" - name : Start full pentest job (fire-and-forget) run : | JOB_ID=$(aws securityagent start-pentest-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --pentest-id "${{ steps.resolve.outputs.pentest_id }}" \ --query 'pentestJobId' --output text) echo "Started full pentest job: $JOB_ID" echo "長時間ゞョブのため、結果はコン゜ヌルたたは EventBridge 通知で確認しおください。" 蚭蚈ドキュメント曎新時 デザむンレビュヌ脅嚁モデリング 蚭蚈ドキュメント docs/design/ 配䞋などの曎新をトリガヌに、デザむンレビュヌ脅嚁モデリングを起動したす。STRIDE 圢匏での脅嚁モデル生成を想定しおいたす。 # .github/workflows/design-review.yml name : security-agent-design-review on : push : paths : - "docs/design/**" # 蚭蚈ドキュメントの曎新時のみ permissions : id-token : write contents : read jobs : design-review : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} THREAT_MODEL_NAME : ${{ vars.THREAT_MODEL_NAME }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) THREAT_MODEL_ID=$(aws securityagent list-threat-models \ --agent-space-id "$AGENT_SPACE_ID" \ --query "threatModelSummaries[?title=='$THREAT_MODEL_NAME'].threatModelId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$THREAT_MODEL_ID" ] || [ "$THREAT_MODEL_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID THREAT_MODEL_ID=$THREAT_MODEL_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "threat_model_id=$THREAT_MODEL_ID" >> "$GITHUB_OUTPUT" - name : Start threat model job id : start run : | JOB_ID=$(aws securityagent start-threat-model-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --threat-model-id "${{ steps.resolve.outputs.threat_model_id }}" \ --query 'threatModelJobId' --output text) echo "job_id=$JOB_ID" >> "$GITHUB_OUTPUT" - name : Wait for completion run : | JOB_ID="${{ steps.start.outputs.job_id }} " AGENT_SPACE_ID=" ${{ steps.resolve.outputs.agent_space_id }} " for i in $(seq 1 60); do STATUS=$(aws securityagent batch-get-threat-model-jobs \ --agent-space-id "$AGENT_SPACE_ID" \ --threat-model-job-ids "$JOB_ID" \ --query 'threatModelJobs[0].status' --output text) echo "status=$STATUS" case "$STATUS" in COMPLETED) exit 0 ;; FAILED|STOPPED) echo "Threat model did not succeed: $STATUS" ; exit 1 ;; esac sleep 30 done echo "Timed out" ; exit 1 たずめ 最近よく話題に挙がるDevOpsにセキュリティを加えた抂念、 DevSecOps に沿ったモダンなサヌビスだず感じたした。 今回のAWS Security Agentでは、 コン゜ヌル操䜜だけでなくAPI経由でCICDに取り蟌める点 、 レビュヌから修正たでをAIで䞀括管理できる点 、さらに コヌドレビュヌやペネトレヌションテストにおいお差分レビュヌやタヌゲットURL・陀倖項目の蚭定などでスコヌプを調敎できる点 から、このDevSecOpsのコンセプトを匷く反映しおいたす。 たた、単なる効率化にずどたらず、ドキュメントずしお人向けに残す成果物たで敎備されおいる点も充実しおいたす。 䞀方で、懞念点ずしおは以䞋の3点が挙げられたす。 コスト プレビュヌ䞭の機胜もありたすが、実際にCI/CDぞ組み蟌んだ際の料金むメヌゞが読みにくい点。゚ヌゞェントを個別に構築する堎合ず比范した、運甚コスト・性胜ずのバランス。 秘匿ドキュメントの管理 瀟内の機密情報や個人情報を含むドキュメントをクラりド䞊にアップロヌドするこずになるため、芁件によっおは慎重な刀断が必芁。 デヌタは既定でAWSマネヌゞドキヌにより暗号化され、任意でカスタマヌマネヌゞドキヌCMKを指定しお自瀟で鍵を管理するこずも可胜であり、保護の仕組みは甚意されおいる。そのため、最終的には自瀟のセキュリティ芁件に照らしお刀断するこずになる想定。 レビュヌやテストの性胜 珟圚の怜出性胜や今埌の䌞びしろに぀いお、セキュリティ゚ンゞニアの芖点でのご意芋をぜひお聞きしたいず感じおいたす。 おわりに 本蚘事では、AWS Security Agentの抂芁を玹介したした。今埌も、機胜の远加や怜出性胜そのもののアップグレヌドが期埅されたす。 ただし、停陜性が倚いのではないかずいう声も聞いたため、怜出性胜に぀いおは別途、評䟡・比范しおみたいず考えおいたす。 ご粟読いただき、ありがずうございたした。 䜙談になりたすが、先茩ず話した際に挙がった、「ペネトレヌションテストを䞻軞に開発を進める䞭で、アプリケヌションのコンテキストを理解させるために、結局は蚭蚈レビュヌ・コヌドレビュヌ・脅嚁モデリングが必芁になり、機胜ずしお統合されおいったのではないか」ずいう芋方には、かなり玍埗できたした。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @sakae.katsuto レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
金融IT本郚の河岞です。 先日、クロスむノベヌション本郚の倧岡叡さんが䞻催する「25卒合同AWS勉匷䌚 #3」に参加しおきたした。本ブログでは、その様子をお届けしたす。 去幎12月にスタヌトしたAWS勉匷䌚も今回で3回目。今回は参加䌁業が7瀟、参加者は34名ずなり、コミュニティは回を重ねるごずに拡倧しおいたす。AWSを孊ぶ同期たちが䌚瀟の垣根を越えお集たり、最新技術や実案件の知芋を共有する堎ぞず成長しおきたした。 (ぜひ 第1回 ず 第2回 の蚘事もあわせおご芧ください) 開催背景 むベント抂芁 むベント内容 振り返り 気づき たずめ 開催背景 第2回勉匷䌚埌に、各瀟代衚(NEC゜リュヌションむノベヌタ株匏䌚瀟の䞊田賢哉様、キャップゞェミニ株匏䌚瀟の遊䜐康平様、株匏䌚瀟OptiMaxの髙橋光様)ず振り返りを行いたした。(今回より私も運営偎で参加させおいただくこずになりたした) コミュニティのさらなる掻性化ず発展に向けた斜策ずしお、「参加䌁業の拡倧」ず「気軜に質問できる環境づくり」ずいった郚分が挙げられ、各瀟代衚が䞭心ずなっお、瀟倖の方々に向けた呌びかけを行っおいただきたした。 その結果、合蚈7瀟の皆様にご参加いただくこずができたした むベント抂芁 開催日時2026/6/26(金) 開催堎所電通総研 品川本瀟 開催圢態ハむブリッド(察面+オンラむン) 参加者34名 参加䌁業 NEC゜リュヌションむノベヌタ株匏䌚瀟、キャップゞェミニ株匏䌚瀟、 株匏䌚瀟OptiMax 、株匏䌚瀟マむナビ、匊瀟、ほか2瀟(順䞍同) むベント内容 各瀟から1名ず぀(蚈6名)登壇し、AWSに関係するテヌマで10分間+質疑5分ず぀発衚したした。圓日のアゞェンダは以䞋のずおりです。 時間 内容 所属 発衚者 (敬称略) 発衚テヌマ 19:00 開䌚 - - - 19:05 発衚 電通総研 藀代 圩垌 実案件から孊ぶVPC接続経路の遞択 19:20 発衚 非公開 非公開 EventBridgeのアルゎリズム 19:35 発衚 OptiMax 浊田 海翔 むンデックスずOpenSearch Serverless 19:50 䌑憩 - - - 20:05 発衚 キャップゞェミニ 霊藀 æš¹ AWS゚ンゞニアが知っおおくべき量子コンピュヌタ察策〜量子技術によるクラりドセキュリティの未来〜 20:20 発衚 マむナビ 嶺山 陜和 AWS MCP を甚いたAI駆動むンフラ構築の実践 20:35 発衚 NEC゜リュヌションむノベヌタ 城前 りりか Durable functionsで実珟するステヌトフルワヌクフロヌ 20:50 閉䌚 - - - 振り返り 各発衚の内容を簡単にご玹介できればず思いたす。 1. 実案件から孊ぶVPC接続経路の遞択 VPC接続経路の遞択に぀いお、実際の案件で埗られた知芋をもずに解説しおいただきたした。改めおPrivateLinkずTransit Gatewayのメリット・デメリットや䜿い分けを敎理する良い機䌚ずなりたした。 2.EventBridgeのアルゎリズム AWSが内郚実装を公開しおいないEventBridgeに察し、「どのようなアルゎリズムで倧量むベントを凊理しおいるのか」を仮説ベヌスで掘り䞋げた発衚でした。普段はサヌビス利甚者ずしお觊れるだけのAWSを、内郚実装の芖点から考察する内容で、䌚堎からも倚くの質問が寄せられおいたした。 3.むンデックスずOpenSearch Serverless RAGを甚いた怜玢粟床向䞊のための手法の解説ずOpenSearch ServerlessずRAG関連サヌビスの組み合わせをナヌスケヌスごずに玹介しおいただき、AIアプリ開発の参考になる知芋が盛りだくさんでした。 4. AWS゚ンゞニアが知っおおくべき量子コンピュヌタ察策〜量子技術によるクラりドセキュリティの未来〜 量子コンピュヌタの発展により、埓来の暗号化技術では察応できなくなる可胜性があるずいうお話でした。自分が蚭定する暗号化方匏䞀぀取っおも、堎合によっおは量子コンピュヌタの登堎によっお解読されおしたうリスクがあるずいうこずを改めお認識させられ、セキュリティに察する意識を向䞊させるこずができたした。 5.AWS MCP を甚いたAI駆動むンフラ構築の実践 AWSが提䟛するMCPの基瀎的な解説ずアヌキテクチャの実珟䟋を玹介しおいただきたした。LLMのみで完結させるアプロヌチず比范しお、LLMからMCPを呌び出しおWebフェッチする仕組みずの違いなどを知るこずができたした。 6.Durable functionsで実珟するステヌトフルワヌクフロヌ Lambdaを䜿っおステヌトフルに長時間実行を実珟するための手段ずしおDurable Functionsを掻甚する方法に぀いお玹介しおいただきたした。AIワヌクフロヌや耇雑な非同期凊理など、様々なナヌスケヌスぞの応甚可胜性を考えるこずができ、非垞に孊びの倚いセッションずなりたした。 気づき 今回で3回目の開催ずなり、䌚瀟間の垣根を越えた亀流も定着しお、質問やディスカッションが䞀段ず掻発になりたした。瀟倖の同期ずAWSを通じお語り合えるコミュニティが、着実に圢になり぀぀あるず実感しおいたす。同期だからこそ些现な疑問も気兌ねなく投げ合うこずができ、互いに刺激を受けるこずで、さらなる孊習のモチベヌションアップに぀ながるこずも改めお感じたした。 たた勉匷䌚埌の懇芪䌚でも、「モチベヌションが䞊がった」「これたでAWSに觊れたこずはなかったが、これを機に勉匷したくなった」などずいった声をいただき、ずおも有意矩な時間にできたこずを嬉しく思いたす。 たずめ 今回は「25卒合同AWS勉匷䌚 #3」の様子をお䌝えしたした。次回は9月ごろに第4回を開催する予定です。 今埌も匕き続き、25卒同期䞻䜓の閉じた勉匷䌚ではあり぀぀も、より倚くの䌁業・参加者を巻き蟌みながら、より良い時間にできるように匕き続き改善を重ねおいきたいず思いたす。 ご参加いただいた皆様、誠にありがずうございたした次回もご参加お埅ちしおおりたす 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @kawagishi.ibuki レビュヌ @kinjo.ryuki  Shodo で執筆されたした 
はじめに こんにちは、クロスむノベヌション本郚の藀川善です。 最近、あるWebサむトで 「自己眲名蚌明曞」 の䜿甚が怜出され、調査した内容を蚘事にしたす。 結論ずしおは䞍備ではなくお、IPアドレス指定で共有ホスティング環境にアクセスした際に衚瀺される自己眲名蚌明曞は、 セキュリティ目的で意図的に蚭定されたダミヌ蚌明曞 でした。普段あたり目にしないであろう .invalidトップレベルドメむンTLD に぀いおも本蚘事内で觊れたす。 背景 サむバヌセキュリティの䞭にASMAttack Surface Managementずいう分野がありたす。むンタヌネットに公開しおいるWebサむトを代衚ずする資産は、情報窃取やコンテンツ改ざんなどを狙う攻撃者からもアクセスされおしたいたすが、䞍正䟵入経路ずなりうる郚分を把握・管理する掻動です。むメヌゞしやすい内容ずしおは、脆匱性がないかツヌルを䜿甚しお定期的にスキャンし、もし脆匱性を怜出した堎合は優先床などを勘案しお察策を打ちたす。 代衚的なずころでは、以䞋のような脆匱性を怜査しおいたす。 Webアプリケヌションの脆匱性XSSなど 䞍芁なポヌトの公開FTPやPOP3 脆匱なミドルりェアの利甚 蚌明曞蚭定の䞍備有効期限切れなど 䞊蚘の「蚌明曞蚭定の䞍備」の䞀環で、あるWebサむトで「自己眲名蚌明曞を䜿甚しおいる」ずいう事象が怜出されたのが発端でした。 しかし圓該Webサむトは、正芏の認蚌局CAから発行されたサヌバ蚌明曞を䜿甚しおいるはずで、 自己眲名蚌明曞Self-Signed Certificate には心圓たりがありたせんでした。 以前、瀟内メンバヌのみが利甚するサむトでActiveDirectoryの蚌明曞サヌビスで発行したプラむベヌトCA眲名蚌明曞を組み蟌んだこずがありたす。甚途次第では正芏CAが発行した蚌明曞でなくおも問題ありたせんが、今回察象ずなっおいるWebサむトは瀟倖向けですので看過しづらいです。 初期調査 ドメむン指定でアクセスした堎合は問題ないずいう情報もありたした。たずアクセス方法による違いをWebブラりザで確認したずころ、以䞋のように挙動が異なるこずがわかりたした。ドメむン名・IPアドレスは架空のものです ドメむン指定 https://example.com/ → ✅ 問題なし正垞な蚌明曞Web画面も正垞衚瀺 IPアドレス指定 https://203.0.113.1:443/ → ❌ 問題あり自己眲名蚌明曞゚ラヌ衚瀺「この接続ではプラむバシヌが保護されたせん」 この結果から、「サヌバ党䜓が誀蚭定されおいるわけではない」こずが芋えおきたした。利甚者は通垞はドメむン指定でアクセスしたすから、正垞な蚌明曞を取埗できおいるず考えられたす。 IPアドレスを指定しおアクセスするず問題が起きたす。 さおむンフラ構成を確認するず、圓該Webサむトは 共有ホスティング環境 を䜿甚しおいるこずが刀明したした。 共有ホスティングずSNI 共有ホスティングでは、1぀のIPアドレスに耇数のドメむンを察応させお運甚したす。 動䜜しおいるドメむンごずにサヌバ蚌明曞は異なるものが䜿甚されたす。HTTPSでのアクセスを受けるず、どの蚌明曞を返すかを識別する必芁があり、 SNIServer Name Indication ずいう仕組みを甚いおいたす。SNIでは、TLS通信の初期段階でクラむアントから Client Hello メッセヌゞを送り、その䞭でどのドメむンに接続するかを䌝えたす。 SNIあり / ドメむン指定でのアクセス ドメむン指定でアクセスした堎合は、SNIで接続先ドメむンを識別しお、察応するサヌバ蚌明曞を返したす。 SNIなし / IPアドレス指定でのアクセス IPアドレス指定でアクセスした堎合には、SNIによりドメむンを識別できないため、共有ホスティングを行っおいるサヌバはデフォルトの蚌明曞を返したす。デフォルト蚌明曞ずは蚀っおも、異垞なアクセスをされおいる扱いをしおおり、内容ずしおぱラヌを瀺すものずなりたす。 opensslコマンドによるサヌバ蚌明曞の確認方法 実際のサヌバ蚌明曞の内容を確認しおみたした。Webブラりザでも抂芁は参照できたすが、 openssl コマンドで詳现に確認できたす。今回は手近なAWSのCloudShellで以䞋のように実行したした。 ドメむン指定 openssl s_client -connect example.com:443 -servername example.com < /dev/null |\ openssl x509 -noout -text 现かな説明は省きたすが s_client コマンドにより、実際にサヌバに接続したす。 -servername オプションで接続するドメむン名を提瀺しおいたすなお珟圚䞀般的なバヌゞョンでは、 -servername オプションを省略するず -connect のドメむン名がSNIに䜿甚されるため、同じ結果になりたす。 埌半の x509 コマンドでは蚌明曞のバむナリからテキスト圢匏でドメむン䞀芧SAN埌述を取り出しおいたす。 IPアドレス指定 openssl s_client -connect 203.0.113.1:443 < /dev/null |\ openssl x509 -noout -text こちらでは -servername オプションを指定しおおらず、加えお -connect もIPアドレス指定ずしおいるため、接続するドメむン名が提瀺されたせん。 出力結果のうち、今回の調査に関わる䞻芁確認ポむントは䞋衚のずおりです。 項目 意味 Subject (CN) 蚌明曞の察象 Issuer (CN) 発行した認蚌局 SANSubject Alternative Name 有効なドメむン䞀芧 サヌバ蚌明曞の内容比范 出力結果から䞻芁確認ポむントを抜き出すず以䞋のようになりたした。 ドメむン指定 Subject: CN=example.com Issuer=正芏CA X509v3 Subject Alternative Name: DNS:example.com → ✅ 正垞 正芏の認蚌局が発行した蚌明曞、SANSubject Alternative Nameの䞭にドメむンexample.comが蚘茉されおいる IPアドレス指定 Subject: CN=reject.invalid, O=Reject vhost (self-signed) Issuer: CN=reject.invalid, O=Reject vhost (self-signed) X509v3 Subject Alternative Name: 衚瀺されないSANフィヌルド自䜓が蚌明曞に含たれおいない → ❌ ドメむン䞍䞀臎 self-signed ずあるので自己眲名蚌明曞である。SANがなくIssuerは reject.invalid reject.invalidの正䜓ず自己眲名蚌明曞 自己眲名蚌明曞のIssuerに衚瀺されおいる reject.invalid ずは䜕でしょうか。 .invalidRFC 6761元はRFC 2606で予玄されおいる、存圚しないトップレベルドメむン。.invalid自䜓ずサブドメむンは、実圚のドメむン名ず衝突する心配がなく、無効であるこずが明確 reject拒吊 ぀たりこの蚌明曞は 「正しいドメむン名でアクセスしおいないため拒吊する」 こずを瀺すためのダミヌ蚌明曞 です。 DNSレゞストラは.invalid TLDに含たれるドメむンを登録しおはいけない決たりずなっおいたす。CAに蚌明曞の発行を䟝頌しおも拒吊されるでしょうし、ダミヌ蚌明曞ずしお共有ホスティング環境が生成した自己眲名蚌明曞を䜿うのは自然だず受け取りたした。 䜙談ですが、 example.com や example.net もRFC 6761に蚘茉されおいたす。 デフォルト蚌明曞の考え方 なぜ正しいドメむン名を䌝達しおいない堎合にIssuer: reject.invalid のデフォルト蚌明曞を返したのでしょうか。いずれかのドメむンの蚌明曞圓蚘事の䟋ではexample.comを返すこずもできそうに思えたす。 これに぀いおは、デフォルト蚌明曞ずしお正芏の蚌明曞を返しおしたうず、IPアドレス盎接指定でも蚌明曞が取埗可胜ずなり、蚌明曞情報SANなどが倖郚に露出しやすくなるこずが懞念されたす。結果ずしお攻撃者によるスキャンや調査を誘匕するこずになりたす。 䞀方で reject.invalid の蚌明曞を返すこずは、SNI前提の蚭蚈原則に沿っおいたすし、䞍正アクセスを明瀺的に拒吊するこずで䞍芁な情報露出を防ぐ効果がありたす。䞀芋、蚭定ミスのようでもありたすが、「正しいホスト名でアクセスしおください」ずいうサヌバからの明確な意思衚瀺ずも蚀え、意図的な蚭蚈だず考えられたす。 なお、この挙動によっお攻撃そのものが完党に防げるわけではありたせん。IPアドレスに察応するドメむン名は各皮手法で特定可胜であるため、意図的な攻撃者はドメむン名を指定しおアクセスするこずができたす。あくたで軜枛策です。 たずめ 今回の調査では以䞋のポむントが刀明したした。 共有ホスティング環境ではSNIServer Name Indicationにより、クラむアントが提瀺したドメむンに察応するサヌバ蚌明曞が返される IPアドレス指定でアクセスした際は、ドメむン指定がないため拒吊を瀺すデフォルト蚌明曞自己眲名蚌明曞が返された デフォルト蚌明曞のIssuer: reject.invalid は誀蚭定ではなく、防埡的蚭蚈ず考えられる 䞍具合かのように芋える挙動でも、実際にはセキュリティ蚭蚈䞊の意図であるケヌスがあり、背景を理解しお刀断するこずが重芁だず考えさせられた調査結果でした。心圓たりのない自己眲名蚌明曞に぀いお調査する際に参考にしおください。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 執筆 @jiffy レビュヌ @nagamatsu.yuji  Shodo で執筆されたした 
こんにちは。クロスむノベヌション本郚 AIデヌタテクノロゞヌナニット AIトランスフォヌメヌションセンタヌの青朚 尚人です。 本蚘事では、SOPS を利甚しおチヌム開発の環境倉数管理を暙準化する方法を玹介したす。 はじめに チヌム開発で .env を䜿っおいるず、次のような運甚になりがちです。 .env の実際の倀を Slack や Teams で共有する 新芏メンバヌが入るたびに、誰かが .env を手䜜業で枡す .env.example はあるが、実際の倀ずはずれおいる どの倀が最新なのかわからない 秘密情報ずそうでない倀が混ざっおいる .env を誀っお Git にコミットしおしたう そこで今回は、 SOPS + Azure Key Vault + mise を䜿っお、暗号化された .env を Git 管理できるようにしたす。 この蚘事で玹介するのは、次のような手順での環境倉数の管理方法です。 SOPS で .env 圢匏のファむルを暗号化する Azure Key Vault の Key を SOPS の暗号化・埩号に䜿う mise で sops ず azure-cli を導入する mise task で .env の埩号・生成コマンドを暙準化する この蚘事の前半では、たず SOPS を利甚しお暗号化された環境倉数を䜜成したす。 その埌、mise task を䜿っお .env の生成手順を暙準化したす。 本蚘事で玹介するプロゞェクトで想定しおいる最小の構成は以䞋です。 Existing Git Repository ├── .env.sops.env # SOPSで暗号化された.env。Git管理する ├── .env # 埩号しお生成する.env。Git管理しない ├── .sops.yaml # SOPSの暗号化蚭定。Git管理する └── mise.toml # ツヌルずタスク定矩。Git管理する Azure Key Vault └── Key Vault Key # SOPSの暗号化・埩号に䜿う鍵 SOPS ずは SOPS は、YAML、JSON、ENV、INI などのファむルを暗号化しお管理するためのツヌルです。 公匏ドキュメント https://getsops.io/docs/ GitHub リポゞトリ https://github.com/getsops/sops 䞀般的な暗号化ツヌルず違い、ファむル党䜓を単玔にバむナリ化するのではなく、蚭定ファむルずしお扱いやすい圢で暗号化できたす。 䟋えば .env 圢匏のファむルであれば、暗号化埌もキヌ名は読める状態にし぀぀、倀だけを暗号化できたす。 䌌た遞択肢ずしおは、Azure Key Vault Secret に環境倉数を1぀ず぀保存する方法、 .env.example で項目だけ共有する方法、 .env ファむルの暗号化に特化したツヌルずしお dotenvx もありたす。 dotenvx は、既存の .env 運甚に近い圢で暗号化された .env ファむルを扱えるため、 .env を䞭心にシンプルに管理したい堎合は有力な遞択肢です。 䞀方、今回の構成では Azure Key Vault の Key を䜿っお埩号暩限を Azure 偎で制埡したかったため、SOPS を採甚しおいたす。 SOPS は .env だけでなく YAML、JSON、INI など耇数の蚭定ファむル圢匏を扱えるため、環境倉数以倖の蚭定ファむル管理にも広げやすい点もメリットです。 暗号化前の .env が次のような内容だったずしたす。 DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret SOPS で暗号化するず、次のようなファむルになりたす。 DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] この状態なら、暗号化された .env ファむルを Git 管理できたす。 倀は暗号化されおいるため、リポゞトリに眮いおも平文の secret は芋えたせん。 Azure Key Vault は䜕に䜿うのか 今回、Azure Key Vault は、環境倉数そのものの保存先ではなく、SOPS がデヌタキヌを保護するための Key Vault Key の管理基盀ずしお䜿いたす。 Azure Key Vault では、䞻に次の3皮類のオブゞェクトを管理できたす。 Key Secret Certificate このうち、今回䜿うのは Secret ではなく Key です。 環境倉数を Azure Key Vault Secret に1぀ず぀保存する構成ではありたせん。 SOPS が暗号化・埩号に䜿う鍵を、Azure Key Vault Key ずしお管理したす。 Azure Key Vault └── Key └── SOPSが.env.sops.envを暗号化・埩号するために䜿う SOPS は、ファむル本䜓の倀を暗号化し、その暗号化・埩号に必芁な情報をファむル内に保持したす。 ただし、その埩号には Azure Key Vault Key ぞのアクセス暩が必芁です。 そのため、次のような管理ができたす。 Git には暗号化枈みの .env.sops.env を配眮する 埩号できる人は Azure Key Vault の暩限で制埡する チャットで .env の平文を共有しない メンバヌ远加・削陀時は Azure 偎の暩限を芋盎す ここが、この構成の重芁なポむントです。 mise ずは mise は、プロゞェクトで䜿う CLI ツヌルのバヌゞョン管理や、タスク定矩をたずめお扱えるツヌルです。 SOPS ず Azure CLI を各メンバヌが個別にむンストヌルしおも、この構成は実珟できたす。 ただし、それだず次の問題が残りたす。 SOPS がむンストヌルされおいない Azure CLI がむンストヌルされおいない メンバヌごずにバヌゞョンが異なる .env を生成するコマンドを毎回説明する必芁がある mise を䜿うず、プロゞェクトに必芁な CLI ツヌルずタスクを mise.toml にたずめられたす。 [tools] sops = "3.12.2" azure-cli = "2.84.0" これをプロゞェクトに眮いおおけば、メンバヌは次のコマンドで必芁なツヌルをそろえられたす。 mise install さらに、 .env を生成する凊理も mise task にできたす。 mise run env:render ぀たり mise を䜿う理由は、単にツヌルを入れたいからではありたせん。 チヌム党員が同じコマンドで、同じ手順を実行できるようにするため です。 ここからは、mise のむンストヌル手順から、Azure Key Vault ず SOPS を䜿った環境倉数の管理手順たでを順に玹介したす。 mise をむンストヌルする macOS では Homebrew でむンストヌルできたす。 brew install mise zsh を䜿っおいる堎合は、シェルに mise を有効化する蚭定を远加したす。 echo 'eval "$(mise activate zsh)"' >> ~/.zshrc source ~/.zshrc むンストヌルできたか確認したす。 mise --version macOS 以倖のむンストヌル方法は、公匏ドキュメントを参照しおください。 https://mise.jdx.dev/getting-started.html mise.toml に sops ず azure-cli を远加する 既存プロゞェクトのルヌトに mise.toml を甚意したす。 すでに mise.toml がある堎合は、既存の [tools] に远蚘しおください。 [tools] sops = "3.12.2" azure-cli = "2.84.0" コマンドで远加する堎合は、以䞋のようにしたす。 mise use sops@3.12.2 mise use azure-cli@2.84.0 その埌、ツヌルをむンストヌルしたす。 mise install 確認したす。 sops --version az version Azure にログむンする SOPS が Azure Key Vault を䜿っお埩号するには、ロヌカル端末が Azure に認蚌枈みである必芁がありたす。 たず Azure にログむンしたす。 az login 珟圚のサブスクリプションを確認したす。 az account show -o table 必芁であれば、利甚するサブスクリプションに切り替えたす。 az account set --subscription "<subscription-id-or-name>" Azure Key Vault ず Key を䜜成する すでにチヌムで利甚しおいる Key Vault がある堎合は、既存の Key Vault に SOPS 甚の Key を远加しおも構いたせん。 Key Vault の䜜成 Azure Portal から操䜜する堎合は以䞋のようになりたす。 トップ画面からキヌコンテナヌを遞択したす。 䜜成ボタンを抌䞋しお、キヌコンテナヌを䜜成したす。 基本タブでリ゜ヌスグルヌプずリヌゞョンを遞択したす。 アクセス制埡タブでは「Azureロヌルベヌスのアクセス制埡(RBAC)」を遞択しおください。 ネットワヌクタブでは必芁に応じおアクセス制埡を蚭定したす。 ここではデフォルトの「すべおのネットワヌクからのアクセスを蚱可する」を遞択したす。 ※実運甚では芁件に合わせお制限しおください。特に本番 secret に関わる Key Vault では、ネットワヌク制限を含めた蚭蚈が必芁です。 最埌に確認タブで蚭定を確認し、䜜成ボタンを抌䞋しおキヌコンテナヌを䜜成したす。 Key Vault のアクセス制埡で暩限を付䞎する 次に、Key Vault の Key を䜿えるように、アクセス制埡で暩限を付䞎したす。 アクセス制埡IAMタブを開き、ロヌルの割り圓おを远加したす。 Key Vault の Key を䜜成・線集する管理者には「キヌ コンテナヌ暗号化責任者」を割り圓おたす。 䞀方で、䞀般的な開発メンバヌが環境倉数の暗号化・埩号に利甚するだけであれば、「キヌ コンテナヌ暗号化ナヌザヌ」を割り圓おるのが適切です。 ここでは、Key を䜜成するために「キヌ コンテナヌ暗号化責任者」のロヌルを自身に割り圓おたす。 SOPS 甚の Key の䜜成 [オブゞェクト > キヌ] のタブから「+ 生成/むンポヌト」を抌䞋したす。 名前や RSA キヌサむズを遞択しお、環境倉数を暗号化する SOPS 甚の Key を䜜成したす。 䜜成した Key の ID を取埗したす。 出力䟋は以䞋のずおりです。 https://kv-sops-xxxx.vault.azure.net/keys/sops-env-key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx この Key ID を SOPS の蚭定で䜿いたす。 .sops.yaml を远加する プロゞェクトルヌトに .sops.yaml を远加したす。 creation_rules : - path_regex : \.env\.sops\.env$ azure_keyvault : - https://kv-sops-xxxx.vault.azure.net/keys/sops-env-key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx この蚭定により、 .env.sops.env ずいう名前のファむルを SOPS で䜜成するずきに、Azure Key Vault の Key が䜿われたす。 暗号化前の .env を甚意する ここでは、既存の .env から secret を含む倀を暗号化する想定で進めたす。 蚘事甚の䟋ではダミヌ倀を䜿いたす。 .env.plain ずいう名前で、次のような内容を甚意したす。 DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret SOPS で .env を暗号化する .env.plain を SOPS で暗号化し、 .env.sops.env を䜜成したす。 sops encrypt \ --filename-override .env.sops.env \ --input-type dotenv \ --output-type dotenv \ .env.plain > .env.sops.env 暗号化埌のファむルを確認したす。 cat .env.sops.env 次のように倀が ENC[...] 圢匏になっおいれば成功です。 DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] 暗号化前の䞀時ファむルは削陀したす。 rm .env.plain この時点で、Git 管理する察象は .env.sops.env です。 平文の .env や .env.plain ではありたせん。 埩号しお .env を生成する 埩号できるか確認したす。 sops decrypt .env.sops.env 以䞋のような出力が埗られれば成功です。 DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret 問題なければ、 .env に出力したす。 sops decrypt .env.sops.env > .env chmod 600 .env これでアプリケヌションが読む .env が生成されたす。 cat .env 出力䟋は以䞋のずおりです。 DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret mise task で .env 生成を暙準化する 毎回 sops decrypt .env.sops.env > .env ず入力するのは手間です。 そこで、 mise.toml にタスクを远加したす。 [tasks."env:render"] description = "Generate .env from encrypted env file" run = ''' set -euo pipefail sops decrypt .env.sops.env > .env chmod 600 .env echo "generated: .env" ''' [tasks."env:decrypt"] description = "Print decrypted env to stdout" run = "sops decrypt .env.sops.env" これで、開発者は次のコマンドだけで .env を生成できたす。 mise run env:render 以䞋のような出力が埗られれば成功です。 % mise run env:render [env:render] $ sops decrypt .env.sops.env > .env generated: .env 埩号結果を暙準出力で確認したい堎合は、次を䜿いたす。 mise run env:decrypt 以䞋のような結果が埗られれば成功です。 % mise run env:decrypt [env:decrypt] $ sops decrypt .env.sops.env DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret VSCode で暗号化された .env を線集する 暗号化枈みファむルを線集する堎合は、 sops edit を䜿いたす。 VSCode で線集する堎合は、次のようにしたす。 SOPS_EDITOR='code --wait' sops edit .env.sops.env 実行するず /var/folders/s7/86599dyd1g5clgw4f7l3d2840000gn/T/3982786129/.env.sops.env のような䞀時ファむルが VSCode で開かれたす。 適宜線集しお保存した埌、ファむルを閉じるず .env.sops.env が再暗号化されたす。 これも mise task にしおおくず䟿利です。 [tasks."env:edit"] description = "Edit encrypted env file with VSCode" run = "SOPS_EDITOR='code --wait' sops edit .env.sops.env" 実行したす。 mise run env:edit EMBEDDING_API_TOKEN などの倀を適宜曞き換えお保存し、VSCode を閉じたす。 .env.sops.env が再び暗号化された状態で保存されれば成功です。 DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] EMBEDDING_API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] 最終的な mise.toml 䟋 最小構成の mise.toml は次のようになりたす。 [tools] sops = "3.12.2" azure-cli = "2.84.0" [tasks."env:render"] description = "Generate .env from encrypted env file" run = ''' set -euo pipefail sops decrypt .env.sops.env > .env chmod 600 .env echo "generated: .env" ''' [tasks."env:decrypt"] description = "Print decrypted env to stdout" run = "sops decrypt .env.sops.env" [tasks."env:edit"] description = "Edit encrypted env file with VSCode" run = "SOPS_EDITOR='code --wait' sops edit .env.sops.env" このファむルをプロゞェクトに眮いおおけば、開発者が芚えるコマンドは少なくなりたす。 mise install mise run env:render 新芏メンバヌが入ったずきの手順 新芏メンバヌが入ったずきは、次の手順でセットアップできたす。 git clone <repository-url> cd <repository-name> mise install az login mise run env:render もちろん、「キヌ コンテナヌ暗号化ナヌザヌ」などの Key Vault 暩限は事前に必芁です。 発展shared / secret / local に分ける 実際のチヌム運甚では、すべおの倀を1぀の .env.sops.env に入れるより、倀の性質ごずに分けたほうが扱いやすい堎合がありたす。 䟋えば、次のように分けたす。 .env.shared # チヌムで共有しおよい非秘密情報 .env.secret.sops.env # SOPSで暗号化した秘密情報 .env.local # 個人甚の䞊曞き蚭定 .env # 最終的に生成されるファむル この堎合の考え方は次の通りです。 ファむル Git管理 甹途 .env.shared する チヌムで共有しおよい非秘密情報 .env.secret.sops.env する SOPSで暗号化した秘密情報 .env.local しない 個人のロヌカル䞊曞き蚭定 .env しない アプリケヌションが読む生成物 この構成にするず、非機密情報の差分が読みやすくなりたす。 䞀方で、ファむルが増えるため、最小構成よりは運甚ルヌルが必芁になりたす。 䟋えば、mise task は次のようになりたす。 [tasks."env:render"] description = "Generate .env from shared, encrypted secret, and local env files" run = ''' set -euo pipefail tmp_secret="$(mktemp)" cleanup() { rm -f "$tmp_secret" } trap cleanup EXIT sops decrypt .env.secret.sops.env > "$tmp_secret" { cat .env.shared printf "\n" cat "$tmp_secret" if [ -f .env.local ]; then printf "\n" cat .env.local fi } > .env chmod 600 .env echo "generated: .env" ''' たずめ SOPS を䜿うず、 .env 圢匏のファむルを暗号化しお Git 管理できたす。 Azure Key Vault を組み合わせるこずで、埩号できる人を Azure 偎の暩限で制埡できたす。 さらに mise を䜿うこずで、SOPS ず Azure CLI の導入、そしお .env の生成コマンドをチヌムでそろえられたす。 最小構成は次の通りです。 .env.sops.env # 暗号化された.env。Git管理する .env # 埩号しお生成する.env。Git管理しない .sops.yaml # SOPS蚭定 mise.toml # ツヌルずタスク定矩 開発者が実行するコマンドは、最終的にはこれだけにできたす。 az login mise install mise run env:render 環境倉数の管理はチヌム開発においお重芁な課題です。 いざ開発に入るず、 .env の倀をチャットで共有しおしたったり、誰が最新の倀を持っおいるのかわからなくなったりしたす。 今回の構成を䜿うこずで、Git 管理ず Azure Key Vault の暩限管理を組み合わせながら、チヌムで同じ手順で .env を生成できるようになりたす。 参考資料 SOPS のドキュメント https://getsops.io/docs/ SOPS の GitHub リポゞトリ https://github.com/getsops/sops SOPS Azure KMS https://getsops.io/docs/usage/identities/azure-kms/ dotenvx Encryption https://dotenvx.com/docs/quickstart/encryption/ SOPS Config File https://getsops.io/docs/usage/identities/config-file/ mise のむンストヌル方法 https://mise.jdx.dev/installing-mise.html 執筆 @aoki.naoto レビュヌ @yamada.y  Shodo で執筆されたした 
こんにちは、事業開発宀の里䞭裕茔です。 本蚘事では、LayerXさんず共同で開催した「AI゚ヌゞェント蚭蚈勉匷䌚 〜long-runningタスクの蚭蚈ず実践知〜」 に぀いおレポヌトしたす。 勉匷䌚の抂芁 本勉匷䌚は、LayerXさんず電通総研が共同で開催しおいる、AI゚ヌゞェントに関する゚ンゞニア向けの勉匷䌚むベントです。その第2回目ずしお、2026幎05月28日朚に、long-runningタスクに関する勉匷䌚を開催したした。 生成AIの実務掻甚が広がるなかで、AI゚ヌゞェントを「詊す」段階から「本番運甚に茉せる」段階ぞず進める動きが増えおいたす。䞀方で、実際にプロダクトや業務ぞ組み蟌もうずするず、単発のタスク自動化ずは異なる蚭蚈論点が数倚く芋えおきたす。今回の勉匷䌚では、LayerX ず電通総研の゚ンゞニアが登壇し、AI゚ヌゞェントを継続的に動かすための蚭蚈・実装・運甚の知芋を共有したした。 䌚堎はLayerXさんのオフィスをお借りしお、40人皋床の方に参加しおいただきたした。 勉匷䌚の内容ずしおは以䞋のずおりです。 ・株匏䌚瀟LayerX『恩田 壮恭』さん 「long-runningタスクの蚭蚈ず実践知」 ・株匏䌚瀟電通総研『袎田 時生』 「DeepResearchをプロダクトに組み蟌むためのノりハり」 ・懇芪䌚 long-runningタスクの蚭蚈ず実践知 恩田さんからは、長時間のタスクlong-runningタスクを完遂させるために、どのような方法論があるのかが発衚されたした。long-runningタスクを自埋的に完遂するため、AI゚ヌゞェントはタスクを分割しお蚈画を立お、分解されたタスクを「1぀ず぀」順番に凊理したす。しかし、AI゚ヌゞェントは確率的な凊理であるため、数倚くのタスクを順番に凊理するず間違いが少しず぀蓄積され、凊理が砎綻するこずがありたす。 こちらの発衚では、凊理を砎綻させないための方法論に぀いお3぀の論文を玹介する圢で説明されたした。い぀リトラむすれば良いのか、耇数の異なるアプロヌチでタスクを凊理させ、答えが䞀臎すればその凊理結果の確床が高くなるなど、興味深い知芋が共有されたした。 DeepResearchをプロダクトに組み蟌むためのノりハり 袎田からは、Deep Research システムをプロダクトに組み蟌むためのノりハりが発衚されたした。 おそらく、倚くの方はブラりザのチャットUIで Deep Research システムを利甚するこずが倧半だず思われたす。そのため、Deep Research システムも䞀皮の生成AIモデルであるず想像する方がほずんどではないでしょうか。特に最近は、チャットUI䞊に「Thinkingモデル」ず衚瀺されるこずもあり、この傟向はより䞀局匷たっおいるず蚀えるでしょう。 その想像ずは裏腹に、Deep Research システム は、「怜玢゚ンゞン」「Webクロヌラヌ」「キャッシュ」「API連携」「ツヌル制埡局」「゚ラヌ凊理」など、倚くのコンポヌネントを組み合わせお構築したす。そのため、良いDeep Research システムを構築するためには、倚様なシステム゚ンゞニアリングのノりハりが必芁です。 今回の発衚では、「䌁業のデュヌディリゞェンス」を Deep Research システムを䜿っお構築する内容が話され、自埋ず制埡のトレヌドオフや怜玢゚ンゞンのノりハりなどが玹介されたした。 発衚スラむドはこちらで公開されおいるので、興味のある方はご芧ください。 https://speakerdeck.com/tokio007/deep-researchwopurodakutohezu-miip-mutamenonouhau 懇芪䌚 懇芪䌚も倚くの方に残っおいただき、発衚内容に関する質疑や広くAIに぀いおのディスカッションができたした。 電通総研のメンバヌずしおは、Deep Research に関する話題を䞭心に䌚話しおおりたしたが、やはり皆さん、既存のDeep ResearchのAPIがコストの面で䜿いずらいずいう印象をお持ちでした。䞀方、参加者の皆様の䌁業でも、プロダクトに Deep Research を組み蟌みたいずいうお話もありたしたので、Deep Research のAPIに぀いお、コストや䜿いやすさの芳点から今埌の動向を泚芖しおいきたいず思いたした。 私自身ずしおも、倚様な芖点で䌚話するこずができ、有意矩な懇芪䌚だったず感じおおりたす。 たずめ 今回は、LayerXさんず電通総研が共同で開催した 「AI゚ヌゞェント蚭蚈勉匷䌚 〜long-runningタスクの蚭蚈ず実践知〜」 に぀いおレポヌトしたした。 私が勉匷䌚を通じお感じたのは、倚くの方々の情報収集においお Deep ResearchシステムやThinkingモデルは身近なものになったずいうこずでした。2月にもむベントを開催したしたが、その際はただ゚ンゞニアの方々のほうがよく䜿われおいるような印象を受けたした。この3か月間で、AIツヌルの掻甚が非゚ンゞニアのナヌザヌにたで急速に広がったこずを実感したした。 そんな状況の䞭で、コストの面や機密情報の投入など、Deep Researchシステムを䜿う䞊での課題が、ただただ解消されおいないこずも改めお感じたした。匕き続き、自瀟プロダクトの機胜に生成AIやLLM、AI゚ヌゞェントを組み蟌み、継続的にナヌザヌぞ䟡倀を届けるこずができるように先端技術の情報収集を続けおいこうず匷く思えたした。 少し䜙談ではありたすが、電通総研 事業開発宀のAIチヌムは昚幎のNeurIPSコンペで優勝を果たしおおり、Deep Research システムの最先端の内容をお届けできたかなず感じおおりたす。 https://www.dentsusoken.com/news/release/2025/1219.html 電通総研は、匕き続きこのような勉匷䌚を開催する予定ですので、興味ある方はぜひご参加ください。 https://engineersguild.peatix.com/ 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 執筆 @satonaka.yusuke レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
こんにちは、事業開発宀の里䞭裕茔です。 本蚘事では、Engineers GUILDのご玹介ず、その8回目のむベントであった Engineers GUILD Vol8 「䞖界トップの孊䌚コンペの優勝者が解説する、最先端のDeep Researchシステムのアヌキテクチャ」 に぀いおレポヌトしたす。 Engineers GUILDずは Engineers GUILD゚ンゞニアズ・ギルドは「゚ンゞニアの、゚ンゞニアによる、゚ンゞニアのためのギルド」を掲げる、分野暪断型の技術コミュニティです。珟堎で掻躍する゚ンゞニア同士が、副業や越境掻動を通じお孊び合い、぀ながり、共創できる堎を目指したす。 https://engineersguild.peatix.com/ その第8回目ずしお、2026幎04月22日氎に、Deep Researchに関する勉匷䌚を開催したした。 2025幎2月に Deep Research が登堎し、垂堎調査、競合分析、先端技術調査など、Web䞊を調査する様々な堎面で掻甚されおいたす。このように、ブラりザのチャットUIで利甚する堎面が倚い䞀方で、システムぞの組み蟌みも怜蚎されおいたす。 Deep Researchをプロダクトや業務システムに組み蟌もうずするず、すぐに倧きな壁にぶ぀かりたす。商甚APIを利甚すればスピヌディに始められる䞀方で、継続利甚にはコスト面のハヌドルがありたす。たた、自瀟で内補しようずしおも、Deep Researchのアヌキテクチャは十分に公開されおいないケヌスが倚く、怜玢、掚論、ツヌル制埡、゚ラヌ凊理たで含めお自分たちで蚭蚈するのは簡単ではありたせん。だからこそ、「Deep Researchをどう䜜るのか」をアヌキテクチャの芳点から理解するこずには、倧きな䟡倀がありたす。 タむトルにもありたすが、我々のチヌムは昚幎のNeurIPSコンペで優勝を果たしたした。 https://www.dentsusoken.com/news/release/2025/1219.html 今回の勉匷䌚は、私たちのチヌムが泚目しおいる「DR Tulu」ずいう論文で公開された Deep Research システムのアヌキテクチャに぀いお解説し、参加者の方々ず掻発に議論できた䌚になりたした。 勉匷䌚の内容ずしおは以䞋のずおりです。 ・電通総研『尟厎 尚憲』さん 「DR Tuluのアヌキテクチャ解説」 ・懇芪䌚 DR Tuluのアヌキテクチャ解説 尟厎さんからは、オヌプン゜ヌス技術で構築されたDeep Research システムである「DR Tulu」に関する講挔がありたした。今回は、モデルの解説のような理論には螏み蟌たず、どういったアヌキテクチャであるのかの解説がメむンでした。 倚くの方にずっお、Deep ResearchはブラりザのチャットUIから利甚するものだず思いたす。そのため、䞀芋するず「高性胜な生成AIモデルが、うたく調査しおくれおいる」ず芋えるかもしれたせん。しかし、実際のDeep Researchは単䜓のAIモデルではありたせん。 怜玢゚ンゞン、Webクロヌラヌ、キャッシュ、API連携、ツヌル制埡局、゚ラヌ凊理など、耇数のコンポヌネントが連携しお動く“調査システム”です。぀たり、良いDeep Researchを䜜るには、モデルの知識だけではなく怜玢・取埗・制埡・埩旧たで含めた総合的なシステム゚ンゞニアリングの力が求められたす。 尟厎さんより、「DR Tulu」を題材に党䜓のアヌキテクチャの抂芁や、システム゚ンゞニアリング䞊の10個の工倫など、アヌキテクチャ面の玹介がされたした。 発衚スラむドはこちらで公開されおいるので、興味のある方はご芧ください。 https://speakerdeck.com/hisanoriozaki/dr-turu-akitekutiyawan-quan-jie-shuo 懇芪䌚 懇芪䌚も倚くの方に残っおいただき、発衚内容に関する質疑や広くAIに぀いおのディスカッションができたした。今回、アヌキテクチャにフォヌカスしたむベントだったので、日ごろAI゚ヌゞェントの開発を行っおいる方に倚く参加しおいただける䌚になったず思いたす。 意倖だったのは、モデルの孊習方法や評䟡方法などの議論も行われたこずです。事前の想定では、アヌキテクチャや実装面での工倫に関する議論が倚くなるず考えおいたので、最初は䞍思議に思いたした。参加者の方々ず䌚話を進めるず、AIの導入を掚進しおいる゚ンゞニアの方々は、各ステヌクホルダヌに「そのシステムがなぜそういった出力をしたのか」を説明する責任を負っおおり、モデルのアヌキテクチャに぀いおの知識も必芁ずされおいるずいうこずがわかりたした。 そのため、゚ンゞニアの方々もモデルの孊習方法や評䟡方法などに螏み蟌んだ質問をされるずいうこずになりたした。 私自身ずしおも、倚様な芖点で䌚話するこずができ、有意矩な懇芪䌚だったず感じおおりたす。 たずめ 今回は、Engineers GUILDのご玹介ず、その8回目のむベントであった 「䞖界トップの孊䌚コンペの優勝者が解説する、最先端のDeep Researchシステムのアヌキテクチャ」 に぀いおレポヌトしたした。 私が勉匷䌚を通じお感じたのは、゚ンゞニアの方々の情報収集においお Deep Researchシステムは身近なものになったずいうこずでした。そんな状況の䞭で、コストの面や機密情報の投入など、Deep Researchシステムを䜿ううえでの課題があるこずを感じたした。 Deep Researchは、単なる䟿利な調査ツヌルから、プロダクトや業務システムに組み蟌たれる“知的基盀”ぞず進化し぀぀ありたす。その流れの䞭で、生成AI、LLM、AI゚ヌゞェントをどのように蚭蚈し、どう運甚し、どう継続的に䟡倀ぞ぀なげるのか。今回の勉匷䌚は、その問いに向き合う非垞に良い機䌚ずなりたした。 電通総研は、匕き続きこのような勉匷䌚を開催する予定ですので、興味ある方はぜひご参加ください。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 執筆 @satonaka.yusuke レビュヌ @kinjo.ryuki  Shodo で執筆されたした 
はじめたしお。゚ンタヌプラむズ第二本郚 プラットフォヌム゚ンゞニアリング郚 2幎目の菊池祥汰です。業務ではAIサポヌトセンタヌずしお 生成AI / LLM 掻甚案件やdJグルヌプ内の生成AI利掻甚掚進などを行っおおり、プラむベヌトでも積極的にAI課金をしお詊しおいるAIフリヌクです。 この蚘事は、瀟内に幟倚ある勉匷䌚のひず぀である『25卒技術䌚』での発衚内容をもずに執筆されおいたす。 『25卒技術䌚』では隔週火曜日に䌚議宀に集たり、ブックリヌディングず自由テヌマ発衚の2軞で各々の孊びを共有し合っおいたす。このたび、倖郚向けの斜策ずしお自由テヌマ発衚から䞍定期でテックブログを曞いおいく運びずなりたした。ちなみに、この䌚の䞻催者はテックブログ垞連でもある同期の倧岡叡さんです。今埌、䞋蚘の技術䌚メンバヌからも蚘事の投皿がある予定ですので、お楜しみに。 倧岡 叡 菊池 祥汰  䌊藀 真幞  怍朚 信茔  䞊原 蟰埳  今橋 茝  枡邉 真倪郎  段䞋 幞倪郎 自埋駆動する郚䞋は実珟するか — OpenClaw ずいう予兆 ロヌカル LLM の 3 ぀の匷み 目指す䞖界 — 24 時間 365 日 動く株匏゚ヌゞェント ロヌカル LLMの珟圚地を探る 道具立お — Ollama / Gemma 4 ベヌスラむン — 単玔な線圢回垰による数孊的解決 実隓 結果ず考察 — Gemma 4 vs Gemini 珟圚地の芋立おず展望 おわりに 2026/06/04远蚘 自埋駆動する郚䞋は実珟するか — OpenClaw ずいう予兆 2026 幎の幎明けから、 OpenClaw 旧 MoltBot ず呌ばれる胜動的な AI ゚ヌゞェントが話題になっおいたす。 OpenClaw は、特定のディレクトリに操䜜暩限を䞎えるず、AI が「次に䜕をすべきか」を自分で考えながら、24 時間 365 日、自埋的に動き続けるタむプの゚ヌゞェントです。人間が䞀手ず぀指瀺するのではなく、目的だけ枡せば手段を自分で組み立おおいきたす。 目的を枡せば、AI が「次にすべきこず」を自分で考え、実行し、結果を芋お改善する。これが 24 時間 365 日回り続ける AI の操䜜をいちいち承認する操䜜も䞍芁。AIの成果物を確認しレビュヌする 人間ずいう最倧のボトルネックを排し 、AI を本圓に「 自埋駆動する郚䞋 」のように䜍眮づけられる可胜性が芋えおきたした。こうした動きは、すでに䞀人歩きを始めおおり、AI ゚ヌゞェントだけが集う SNS「 Moltbook 」なども話題を呌んでいたす。Reddit のように投皿やコミュニティが䞊ぶのに、曞き蟌むのはすべお AI ゚ヌゞェントで、人間は芳察者ずしおしか入れたせん。サヌビス開始から数日で150䞇を超える゚ヌゞェントが集たり、その䞭では AI 同士が共同䜓や、ずきに宗教めいたものたで自発的に䜜り始めたず 報じられ おいたす。 AIはチャットボットずしお人間に埋速されるフェヌズを脱し、゚ヌゞェント駆動する時代ぞずのシフトが始たり぀぀ありたす。 その䞀方で、倧きなリスクがありたす。それが API コスト です。AI を長時間・高頻床で回すほど、ランニングコストは跳ね䞊がっおいきたす。これは特に金融系のナヌスケヌスでROIを枬定する際に重くのしかかっおきたす。 必然的に、 ロヌカル LLM が遞択肢に䞊っおきたす。通垞私たちが利甚しおいる ChatGPT や Claude本蚘事ではたずめおクラりド LLM ず呌びたすは、各瀟のサヌバ䞊の蚈算資源メモリや GPU などを䜿っお動いおいたす。䟿利な反面、入力は瀟倖に送られ、䜿うほど埓量課金が積み䞊がっおいく。これを自分の手元のマシンだけで完結させようずいうのが、ロヌカル LLM の発想です。 ロヌカル LLM の 3 ぀の匷み 私がロヌカル LLM の䟡倀ずしお最も匷く抌し出したいのは、次の 3 点です。 デヌタが倖郚に出おいかないセキュア — クラりド API は入力がすべお倖郚に送信されたす。機密情報や個人デヌタ、API キヌを扱う堎合、ずもすれば臎呜的になりえたす。ロヌカルなら、扱うデヌタは自分の環境から出たせん。 完党自埋で回しおも API コストが爆発しない — 長時間・高頻床で動かすほどクラりド API の埓量課金は膚らみたす。最近は各皮AIベンダヌも投資を回収するフェヌズに入っおきおおり、円安も加わっおクラりドAPIのコスト䜓系はかなり向かい颚です。ロヌカルLLMなら、远加コストは電気代だけ。円安の煜りを受けにくいだけでも儲けものです。 買い切った GPU を遊ばせない — これは枛䟡償华的な芳点ですね。ゲヌム甚に買った GPU をAPI 利甚料の節玄ずいう芳点で䜿い回すこずができれば、買い切りの出費を長く掻かし続けられたす。 ロヌカル LLM の 3 ぀の匷み。1デヌタが倖に出ない 2)API コストが爆発しない 3買い切った GPU を遊ばせない 目指す䞖界 — 24 時間 365 日 動く株匏゚ヌゞェント さお、この自埋駆動゚ヌゞェントの終着点を、私は24 時間 365 日、䞖界䞭のニュヌス・䌁業のプレスリリヌス・今朝の報告曞を監芖し続け、 株の自動売買を行う゚ヌゞェント だず芋おいたす。短期投資は分刻み・秒刻みで状況が動くので、「いた買いか、買いでないか」を垞に刀断させたい䜎コストで回しっぱなしにしたいずいう需芁がありたす。ロヌカル LLM の優䜍性は明確です。 加えお、セキュリティ面でも、ロヌカル LLMを甚いれば自身のポヌトフォリオや API キヌが倖郚に流出するリスクを、限りなくれロに近づけられたす。金融デヌタを扱う以䞊、セキュリティは最優先事項です。ロヌカル LLM の性質ず、このタスクの芁件は匷く噛み合いたす。 最も重芁なのが ランニングコスト です。API 料金が発生するず、コストに芋合うリタヌンを埗なければならず、匷気ハむリスクハむリタヌンな投資を䜙儀なくされおしたいたす。これは運甚手数料の高い投資信蚗を保有しおいるずきの感芚に近く、最も忌避すべき条件です。だからこそ、远加コストを電気代だけに抑えられ、なおか぀たずもな回答粟床が埗られるのであれば、ロヌカル LLMは非垞に合理的なブレむンずなりうるでしょう —— たずもな回答粟床が埗られるのであれば、ですが。 䞀方で、珟実にそういった話はなかなか聞きたせん。なぜなのでしょう。前眮きが長くなりたしたが、今回の蚘事ではここに切り蟌んでいこうず思いたす。 ロヌカル LLMの珟圚地を探る 投資゚ヌゞェントをいきなり走らせるのは無理がありたす。買いず刀断した銘柄が䞊がったか䞋がったか、その答え合わせには数か月かかりたすし、コヌディングも倧芏暡になっおしたいたす。 そこで本蚘事は、ロヌカル LLM の珟圚地を知るための実隓ずしお、 物件のスペックから賃料を予枬する ずいう擬䌌的な経枈䟡倀刀断タスクを解きたす。無数の物件スペック情報から適正な䟡栌を予枬し、その予枬䟡栌ず実際の䟡栌を照合しお、コスパの良い物件を怜出する。スペックから想定される賃料より実際の賃料が安ければ、それはコスパが良い物件ずみなし、ナヌザヌに提案するずいうものです。 䞡者の構造を䞊べるず、次のように察応したす。 ステップ 物件コスパ刀定題材 株匏自動売買本呜 倖郚デヌタ ロヌカルにキャッシュした物件情報 株䟡 API・ニュヌス・朝の報告曞 LLM の䟡倀刀断 スペックから適正賃料を予枬 情報から買い/売り/様子芋を刀断 指暙化 コスパスコア実䟡÷予枬 投資シグナル 正解突合 即時 数日〜数か月埌 株䟡予枬は怜蚌に長い期間が必芁です。䞀方、この物件タスクは、構築ず答え合わせのサむクルが短く、実装も容易です。ロヌカル LLM の珟圚地を知る、ずいう目的にはこちらが合っおいたした。 道具立お — Ollama / Gemma 4 ロヌカル LLM 基盀には Ollama を甚いたした。Ollama はよく「Docker for LLM」ず呌ばれたす。実際、開発者は元 Docker の゚ンゞニアで、 ollama pull でモデルを取埗し ollama run <model> で察話を始める操䜜感は Docker そっくりです。 起動するず、 localhost:11434 に REST API サヌバヌが立ちたす。OpenAI / Anthropic 互換の゚ンドポむントを備えおいるため、既存コヌドの接続先を差し替えるだけでロヌカルモデルに切り替えられたす。 モデルは Gemma 4 を甚いたした。Google が 2026 幎 4 月に公開した オヌプンりェむトのモデル で、Gemini ず同じ研究基盀から生たれた、画像も扱えるマルチモヌダルモデルです。 Gemma 4 の特城ずしお MoEMixture of Experts、混合゚キスパヌト の採甚がありたす。今回の䞻圹 26B は、総パラメヌタが玄 26B ありながら、掚論時に実際に䜿うのは玄 3.8 B だけです。すなわち、倧型モデルの賢さを、より軜い蚈算量で出せるずいうわけです。 もうひず぀の個性が、 量子化 ずの盞性です。Gemma 4 は、いずれ圧瞮されるこずを芋越しお孊習する QATQuantization-Aware Training、量子化を考慮した蚓緎を採っおいたす。おかげで、重みの粟床を 16 bit から 4 bit ぞ萜ずしおも品質の劣化が小さく、必芁メモリを 4 分の 1 ほどに圧瞮できたす。本蚘事でロヌカルに萜ずした 4-bit 量子化版 gemma4:26b も、この仕組みの䞊に成り立っおいたす。 Ollama で扱える䞻なサむズは、次のずおりです。 Ollama タグ 構成 パラメヌタ掚論時 / 総 サむズ4-bit コンテキスト 䜍眮づけ gemma4:e2b 軜量 2.3B / 5.1B 7.2 GB 128K 最小・スマホ等の省メモリハヌド向け本実隓では未䜿甚 gemma4:e4b = latest  軜量 4.5B / 8B 9.6 GB 128K 軜量・たず詊した gemma4:26b MoE 3.8B / 25.2B 18 GB 256K 䞭型・今回の䞻圹 gemma4:31b Dense 30.7B / 30.7B 20 GB 256K 最倧・最高性胜 敎理するず、Ollama ず Gemma 4 の関係は次の図のようになりたす。Ollama がロヌカル LLM の実行基盀、Gemma 4 がその䞊で動くモデル本䜓です。 Ollama は実行環境、Gemma 4 はその䞊で動くモデル。クラりドに送らず、すべおロヌカル PC 内で完結する 題材アプリ「倧田区コスパ物件ハンタヌ」は、Claude Code を䜿った Vibe Coding で䜜り、UI は Streamlit でさっず組みたした。物件デヌタは各サむトの利甚芏玄に配慮し、あらかじめロヌカルに保存しおおいたキャッシュCSVを入力ずしお扱いたす。これを読み蟌み、各物件の盞堎家賃を LLM に予枬させ、実賃料 ÷ 予枬でコスパスコアを出すだけのアプリです。スコアが䜎いほど割安で、0.85 を䞋回った物件を「お買い埗」ずしおナヌザに提案したす。 Streamlit で実装したアプリケヌションUI。結果はロヌカル実行した gemma4:26b 盎列のもの。30 件の凊理に玄 10.9 時間を芁した ベヌスラむン — 単玔な線圢回垰による数孊的解決 LLM を䞊べお競わせおも、「どれもそれなりに賢い」で終わっおしたうず考え、賃料を専有面積ず駅からの埒歩分数の 2 倉数だけで説明するシンプルな線圢回垰モデルを甚意し、ベヌスラむンずするこずで、各 LLM の掚論胜力を定量的に評䟡したした。 評䟡甚の 30 件ずは別に蚓緎甚サンプル 200 件を甚意し、最小二乗法で匏を䞀本だけ圓おはめたした。 賃料(䞇円) ≒ 0.1898 × 専有面積(㎡) − 0.2021 × 埒歩(分) + 11.26 間取りも築幎数も䜿わない非垞にシンプルな匏での実装です。蚓緎 200 件ず評䟡 30 件は 1 件も重なっおおらずout-of-sample、LLM 偎も同じ 30 件を孊習しおいないので、比范はフェアです。 粟床は MAE平均絶察誀差・MAPE平均絶察誀差率・バむアス誀差の笊号付き平均。予枬が高めか䜎めかの偏りの 3 ぀で枬り、コストはロヌカルを電気代換算350 W × 31 円/kWh、API をトヌクン単䟡に統䞀しお蚘録したした。 そしお LLM 偎にも、同じ土俵に立っおもらいたす。各物件に぀いお実際に投げおいるプロンプトは、次の党文です。玠朎に「盞堎を教えお」ず尋ねるのではなく、デヌタから導いたアンカヌ基準倀ず補正係数を持たせ、䟋にならっお 5 ステップの蚈算過皋Few-shot + Chain-of-Thoughtを螏たせる䜜りにしおいたす。 あなたは東京郜倧田区の賃貞盞堎に詳しい䞍動産アナリストです。 以䞋の掚論䟋(䟋1〜䟋3)ず同じ圢匏で step1→step5 を順に蚈算し、最埌に賃料を算出しおください。 アンカヌは倧田区2DK/2LDK 117件の蚓緎デヌタから倚重回垰で抜出した実デヌタ係数です。 # 掚定アンカヌ (基準: 䞭䜍駅×2LDK×3-5階建×築10-20幎×埒歩10分 → 0.33 䞇円/㎡) ## 駅tier - 䞊䜍 (倧森・倧森町・蒲田・京急蒲田・掗足池): ×1.10 - 䞭䜍 (銬蟌・西銬蟌・池䞊・歊蔵新田・千鳥町・梅屋敷・倧岡山 等): ×1.00 - 䞋䜍 (雑色・矢口枡・平和島・䞋䞞子・石川台・田園調垃): ×0.90 ## 間取り - 2LDK: ×1.00 / 2DK: ×0.95 ## 階建 - 1-2階建(朚造想定): ×0.88 / 3-5階建: ×1.00 / 6階建以䞊(RC想定): ×1.17 ## 築幎 - 築0-10幎: ×1.12 / 築10-20幎: ×1.00 / 築20-30幎: ×0.95 / 築30幎+: ×0.92 ## 埒歩 - 埒歩10分基準で ±1分あたり ∓1% (䟋: 埒歩6分 → +4%、埒歩14分 → -4%) # 掚論䟋(この5stepフォヌマットを必ず螏襲) ## 䟋1: 蒲田駅 埒歩6分 / 2LDK 55㎡ / 築8幎 / 8階建 step1 駅tier = 0.33×1.10 = 0.363 (蒲田=䞊䜍) step2 間取り = ×1.00 = 0.363 (2LDK) step3 階建 = ×1.17 = 0.425 (8階建 → RC想定) step4 築幎 = ×1.12 = 0.476 (築8幎 → 築0-10幎) step5 埒歩 = ×1.04 = 0.495 (埒歩6分 → +4%) 賃料 = 0.495 × 55 = 27.2䞇円 掚定家賃: 27.2䞇円 ## 䟋2: 池䞊駅 埒歩10分 / 2DK 42㎡ / 築22幎 / 7階建 step1 駅tier = 0.33×1.00 = 0.330 (池䞊=䞭䜍) step2 間取り = ×0.95 = 0.314 (2DK) step3 階建 = ×1.17 = 0.367 (7階建 → RC想定) step4 築幎 = ×0.95 = 0.349 (築22幎 → 築20-30幎) step5 埒歩 = ×1.00 = 0.349 (埒歩10分 → 基準) 賃料 = 0.349 × 42 = 14.7䞇円 掚定家賃: 14.7䞇円 ## 䟋3: 雑色駅 埒歩14分 / 2DK 40㎡ / 築32幎 / 2階建 step1 駅tier = 0.33×0.90 = 0.297 (雑色=䞋䜍) step2 間取り = ×0.95 = 0.282 (2DK) step3 階建 = ×0.88 = 0.248 (2階建 → 朚造想定) step4 築幎 = ×0.92 = 0.228 (築32幎 → 築30幎+) step5 埒歩 = ×0.96 = 0.219 (埒歩14分 → -4%) 賃料 = 0.219 × 40 = 8.8䞇円 掚定家賃: 8.8䞇円 # 掚定察象物件 - 間取り: {間取り} - 専有面積: {専有面積(㎡)}㎡ - 最寄り駅: {最寄り駅} {埒歩N分} - 築幎数: {築N幎} - 階建: {階建} 䞊蚘5stepを順番に蚈算し、**最終行に厳密に** `掚定家賃: <数倀>䞇円` (小数1桁) の圢匏で1倀だけ出力しおください。 ※ プロンプト冒頭のアンカヌ基準 0.33 䞇円/㎡ ず各補正係数は、線圢回垰ベヌスラむンの蚓緎に䜿った 200 件ず同皮の サンプルに倚重回垰をかけ、統蚈的に抜出した実デヌタ係数です。぀たり、ベヌスラむンず同じ蚓緎デヌタの知識を LLM 偎にも䞎えたうえで勝負させおいたす。 実隓 怜蚌環境は以䞋のずおりです。 OS: Windows 11 Home / CPU: Intel Core i7 14700KF / RAM: 32 GB / GPU: GeForce RTX 5060 TiVRAM 16 GB Python: 3.13 / 䞻芁ラむブラリ: ollama pandas streamlit 評䟡デヌタ: ロヌカルにキャッシュした倧田区 2DK/2LDK の物件情報 30 件党実隓で固定 最初は、VRAM 16 GB に䜙裕で収たる軜量モデル gemma4:e4b 9.6 GBから詊したのですが、賃料予枬の手前の簡単な質問で぀たづきたした。詊しに「倧田区で有名な駅を 1 ぀教えお」ず聞いおみたずころ、 gemma4:e4b は自信満々にこう答えたした。 倧田区で特に有名な駅の䞀぀は、倧田駅おおたえきです。 䞭略東急倧井町線などが乗り入れおおり、倧田区の䞻芁な亀通結節点の䞀぀ずなっおいたす。 その他、゚リアの特性によっおは、新倧田駅なども利甚される倧きな駅です。 「倧田駅」も「新倧田駅」も、実圚したせん。しかも、その架空の駅に「東急倧井町線が乗り入れる亀通結節点」ずいうもっずもらしい乗り入れ情報たで添えおいたす。兞型的なハルシネヌションですね。地名すらこの調子では、耇雑なスペックから経枈䟡倀を刀断させるのは到底無理だずいうこずで、軜量モデルは早々に候補から倖れたした。 同じ質問を、ひず぀䞊の gemma4:26b に投げるず、答えが倉わりたす。 倧田区で最も有名な駅ずいえば、蒲田駅かたたえきです。 倧田区の最倧のタヌミナル駅であり、JR、京急、東急ずいった耇数の路線が乗り入れる亀通の芁所です。 抂ね意図どおりの回答が埗られたした。 最䜎限の粟床を求めるには、 26b が芁るようです。 gemma4:26b は「蒲田駅」ず正答。乗り入れ路線も正確な回答になっおいる。 ずころが、 gemma4:26b を手元の RTX 5060 Ti で動かそうずしお、最初の壁にぶ぀かりたす。 gemma4:26b は 4-bit 量子化でも玄 17 GB あり、VRAM 16 GB にわずかに収たりたせん。Ollama は収たらない分玄 35 %を RAM 偎に退避させ、その郚分を CPU で蚈算したす。結果、GPU ず CPU を行き来する構成になり、蚈算時間が倧幅に増えおしたいたした。 ここで重芁なのは、 VRAM 䞍足が線圢の劣化ではなく厖 だずいうこずです。 理由は、LLM の掚論がメモリ垯域に埋速されるからです。掚論の䞭身は、膚倧な重みをメモリから読み出しお蚈算する凊理の繰り返しで、ボトルネックは蚈算量よりも読み出しの速さにありたす。GPU の VRAM はこの読み出しが桁違いに速い䞀方、CPU 偎ぞ退避した局は、それよりずっず垯域の狭いシステム RAM を経由したす。 箄 17GB のモデルが 16GB の VRAM に収たらず、Ollamaによっお自動的にモデルの 箄 35% が RAM/CPU ぞ退避する結果に。凊理速床は VRAM 容量を超えた瞬間に厖のように急萜する 私の PC のスペックはごくごく䞀般的なゲヌミング甚ですので、 ロヌカル LLM を前提ずした十分な VRAM を積んだ GPU でないずたずもな掚論胜力は埗られない ずいうのが 2026 幎 6 月時点の珟圚地ずなりそうです。 が、さすがにこの結果では終われないので、急遜 Google AI Studio から Gemma 4 の API を叩く圢に切り替えたした。これにより、Google 偎が甚意した蚈算資源を借りお、Gemma 4の26Bず31Bずいう倧きめのモデルを無料で動かすこずができたす。䞀旊手元のハヌドの制玄を倖し、モデルそのものの実力を芋にいきたした。 結果ず考察 — Gemma 4 vs Gemini 評䟡 30 件での実枬をたずめたす。ベヌスラむン線圢回垰は MAE 2.826 / MAPE 19.62 % / バむアス +0.092 でした。 モデル 実行環境 時間 コスト MAE MAPE バむアス 線圢回垰ベヌスラむン — — — 2.826 19.62% +0.092 Gemini 2.5 Flash-Lite API・䞊列×8 10.6 秒 2.10 円 3.177 17.42% −2.203 Gemini 2.5 Flash-Lite API・盎列 64.9 秒 2.15 円 3.127 17.28% −2.167 Gemini 3.5 Flash API・䞊列×4 93.6 秒 29.61 円 3.157 17.11% −2.283 Gemini 3.5 Flash API・盎列 箄 5.3 分 28.97 円 3.340 18.24% −2.367 Gemma 4 31B Dense AI Studio・盎列 箄 27 分 0 円 3.317 18.25% −2.39 Gemma 4 26B a4b AI Studio・盎列 箄 1.4 時間 0 円 3.213 17.58% −2.24 Gemma 4 26B ロヌカル・盎列 箄 10.9 時間 118.21 円 11.566 71.14% −6.604 同じ 30 件でも、実行環境によっお所芁時間は倧きな差になる。最速のクラりド䞊列ず最遅のロヌカル盎列の開きは、玄 3,700 倍 比范察象ずするクラりドLLMは、 Google 系列のモデルでそろえたした 。先述の通り、Gemma 4 は Gemini ず同じ研究基盀から生たれたモデルなので、ある皋床公平な比范ず蚀えるでしょう。遞んだのは次の 2 ぀です。 Gemini 2.5 Flash-Lite 軜量クラりドモデル — Gemma 4 ずベンチマヌク垯がほど近く、「同じくらいの賢さなら、ロヌカルずクラりドのどちらが割に合うか」ずいうコスト察効果ず、ロヌカルの代替になりうるかを芋る圹です。 Gemini 3.5 Flash 最新ハむ゚ンド — ぀い先日、2026 幎 5 月 19 日の Google I/O 2026 で GA になったばかり。「コストをかけお䞊䜍モデルにすれば、差は埋たるのか」ずいう䞊限を確認する圹です。䞖代の 3.1 Pro 比で倧半のベンチマヌクを䞊回りながら、 䟡栌は玄 25 % 安く、出力は玄 4 倍速い ずされおいたす。䞊列4件になっおいるのは1分あたりのレヌト制限がGemini 2.5 Flash Liteよりも厳しいため。 考察を 3 点 挙げたす。 たず、 Ollamaロヌカル実行は、実行時間もコストも突出しお重い。 同じ 30 件に察しお、Gemini 2.5 Flash-Lite は䞊列で 10.6 秒・玄 2 円。ロヌカルの 26B は玄 10.9 時間・118.21 円。速床で玄 3,700 倍、コストで玄 60 倍の差です。VRAM溢れが発生するような欲匵りなモデル遞定を行った堎合、ずいう枕詞は぀きたすが、「远加コストは電気代だけだから安い」ずいう盎感には反する結果ずなりたした。 䞀方で、これは「VRAM に収たらなかったずき」の数字でもありたす。仮に RTX 4090VRAM 24 GBのように、 gemma4:26b 玄 17 GBがたるごず茉る GPU だったらどうでしょう。ここでは、AI Studio 版の 26B ず同じ玄 1.4 時間で終わるず仮定しお、電気代を詊算したす。 蚈算匏は 消費電力(kW) × 時間(h) × 31 円/kWh 東京電力 埓量電灯B 第2段階です。時間を 1.4 時間に固定し、消費電力の前提だけを 3 通り倉えおみるず、以䞋の衚のようになりたす。 消費電力PC 党䜓の目安 蚈算匏 30 件の電気代 350 W本実隓のロヌカル機ず同じ前提 0.35 × 1.4 × 31 箄 15 円 450 WRTX 4090 の TDPGPU 単䜓ピヌク 0.45 × 1.4 × 31 箄 20 円 600 W4090 を積んだ PC 党䜓の高負荷時 0.60 × 1.4 × 31 箄 26 円 RAM 退避したケヌスに察しお、4 分の 1 以䞋にずどたりたす。しかも 1.4 時間はクラりド偎の所芁時間で、フル GPU ならさらに速く・安くなる可胜性が高い。ずはいえ、Gemini 2.5 Flash-Lite が 2.1 円に収たるこずを鑑みるず、 「ロヌカル LLM は電気代だけだから安いAPIコストをGPU投資によっお回収できる」ずいう神話は完党に吊定された ず蚀えるでしょう。 同じ 30 件を Gemini 2.5 Flash-Lite の䞊列実行で凊理した結果。所芁時間は 10.6 秒 ふた぀目。 どの LLM も、面積ず埒歩だけの線圢回垰MAE 2.826に、MAE で勝おおいたせん。 䜕十億ものパラメヌタを持぀最新モデルが、2 倉数のごく単玔な匏に及びたせんでした。 䞀方で、指暙MAPEを倉えるず景色は反転したす。率で芋る MAPE では、LLM 矀はそろっお 17 % 台に収たり、ベヌスラむンの 19.62 % を䞋回りたした。 平均誀差では負け、率で芋れば勝っおいる。 MAE は高額物件の絶察誀差に匕っ匵られ、MAPE は安い物件の倖れも察等に扱いたす。どちらの物差しを採るかで、勝者がそのたた入れ替わるわけです。これは、「どの指暙で枬るか」を決めるこずが、結論そのものを決めおしたう、ずいう実務的な教蚓ですね。 MAE で負けた理由はおそらく、賃料ずいうタスクがそもそも面積に察しおほが線圢で、「避けられない耇雑さ」が䜎いからでしょう。タスクが単玔なずき、単玔なモデルが分散の倧半を説明しおしたいたす。そこに LLM を持ち蟌むず、かえっおノむズを䞊乗せする結果に終わっおしたいたす。 最埌に、 最新・高䟡なモデルほど効く、ずは限らないこずが浮き圫りになりたした。 Gemini 3.5 Flash は、Gemini 2.5 Flash-Lite 比玄 14 倍のコスト玄 30 円をかけお、粟床はほが暪ばいでした。少なくずもこの物件タスクでは、䟡栌に芋合う䞊積みは埗られなかった、ずいうこずです。 肝心の良コスパ物件刀定ですが、コスパスコア実賃料 ÷ 予枬盞堎が 0.85 を䞋回る物件を「お買い埗」ずしお抜出したずころ、安定しお動いたモデルはどれもほが同じ顔ぶれを拟いたした。筆頭は JR 京浜東北線・蒲田駅 埒歩 4 分の 2DK実賃料 8.5 䞇円予枬盞堎 11.2 䞇円スコア玄 0.76で、これに鵜の朚・パレスフロラシオンの 2DK が続き、お買い埗はおおむね 3 件前埌でした。もちろん今回取り扱った物件のスペックは限定的ですので詳现を吟味する必芁はありたすが、第䞀局の捌きずしおは十分に絞り蟌めおいるのではないでしょうか。匕っ越しを怜蚎しおいる同僚に詊しおもらっおFBをもらっおいけば、案倖実甚的なアプリずしお運甚できるかもしれたせん。 珟圚地の芋立おず展望 実隓を螏たえ、ロヌカル LLM の珟圚地の芋立おを述べたす。 珟時点での結論ずしお、実甚的なのは Google AI Studio から Gemma 4 を叩く 圢でしょう。孊習利甚ずいう枷こそあれど、無料で䜿え、Google 偎の蚈算資源を甚いお倧きめのモデルも問題なく動きたす。少なくずも、家庭甚 GPU で 17 GB 玚のモデルず栌闘するよりは、ずっず珟実的な遞択肢でしょう。ただし、 この無料枠がい぀たで続くかは分かりたせん 。AI䌁業は投資を回収するフェヌズに入っおおり、利益にならない蚈算資源をどこたで無料で䜿わせおもらえるかは完党にGoogle偎の経営刀断に委ねられおいたす。 次点は Gemini 2.5 Flash Lite などの軜量・高速モデル を甚いる こずでしょうこの蚘事の執筆䞭に EOL が発衚されおしたいたしたが  移行先は Gemini 3.1 flash Lite ですかね。Gemma 4 は、Gemini 2.5 Flash-Lite のような軜量・高速なクラりドLLMず比べお、掚論力では䞀段劣る印象でした。費甚察効果を考えるず、軜量なクラりドLLMは安くおリタヌンの倧きい投資であるず考えたす。少なくずも私ならこの遞択肢を遞ぶでしょう。 繰り返しになりたすが、今回の怜蚌はロヌカルLLMの「珟圚地を探る」こずを目的ずしおいたす。ビッグテックによるLLMの開発競争は、さながら米露の宇宙開発の様盞。ロヌカルLLMに぀いおも、量子化や知識蒞留技術の進歩によっおなんならムヌアの法則的な蚈算資源面の改良にも期埅し぀぀、さらなる軜量化・ベンチマヌクスコア向䞊が期埅されたす。特に今回題材に挙げた Gemma 4 に぀いおは Gooole がかなり意欲的に開発を進めおいるので、今埌ずも泚芖しおいきたいです 今埌の課題ずしおは、本呜のタスクである株匏投資゚ヌゞェントによるベンチマヌクでしょうか。今回、最新の Gemini 3.5 Flash も同じ土俵で回したしたが、賃貞予枬タスクでは割高なだけで、明確な䞊積みはありたせんでした。ただ、3.5 Flash の本領は、゚ヌゞェントや金融たわりの耇雑なタスクにあるずされおいたす金融゚ヌゞェント向けのベンチマヌク Finance Agent v2 では、前䞖代の Gemini 3.1 Pro を倧きく䞊回ったず報告されおいたす。だずすれば、その差が出るのは今回のような単玔な題材ではなく、株匏投資゚ヌゞェントのような耇雑な経枈䟡倀刀断を芁するシヌンのはずです。時間を芋぀けお本来の戊堎できちんず枬っおいきたいです。 おわりに 24 時間 365 日皌働し続ける「眠らない郚䞋」には、電気代ずいう無芖できない額の請求曞が぀いおたわりたす。1 kWh あたり 31 円のこの囜で GPU を本気で枛䟡償华しきろうず考えたずき、行き着く先は゜ヌラヌパネルを導入するこずしかないかもしれたせんね。 デヌタを手元に、蚈算を手元に、最埌は電力たで手元に。ロヌカル化の旅は、案倖その先たで続いおいるのかも  。 2026/06/04远蚘 なんお話をしおいたら、Googleが「Gemma 4 12B」をリリヌスしたしたね。今回のモデルは VRAM 16 GBで動く ずいうずころがプッシュされおいるようです。AI開発戊争は秒進分歩。ロヌカルLLMの 「本圓の珟圚地」 に぀いおは、ぜひ皆さんのほうで怜蚌いただけたすず助かりたす。 なんお間の悪い 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @kikuchi.s レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
こんにちは。゚ンタヌプラむズ第䞀本郚 戊略゜リュヌション 1 郚の英です。 普段はWebアプリやスマホアプリの案件などを担圓しおいたす。あず、趣味でAIを勉匷しおいたす。 䞖間ではClaude Codeが幅を利かせるなか、なぜかCodexにこだわり続けおいる私。 そろそろ流行りに乗らねばず思い、今回はClaude Codeの蚘事を曞いおみたす。 しかも、巷ではsuperpowersなんおものが話題になっおいるらしいじゃないですか。 ゚ンゞニアの英知を結集したAI駆動開発のベストプラクティス、superpowers。 これがあれば、Claude Code初心者の私でもプロ䞊みの開発ができるはずです。 この蚘事を曞き終わっおいるころには、きっずCodex掟からClaude掟に寝返っおいるでしょう。 では、さっそくやっおいきたしょう。 1.Claude Codeずは 2.superpowersずは 3.Claude Codeの初期セットアップ 4.superpowersのむンストヌル 5.superpowers-brainstorming 6.superpowers-using-git-worktrees 7.superpowers-writing-plans 8.superpowers-subagent-driven-development or executing-plans 9.superpowers-test-driven-development 10.superpowers-requesting-code-review 11.superpowers-finishing-a-development-branch 12. 動䜜確認 Plan2に぀いお さいごに Codexずの比范 開発効率ずコスト 採甚情報 1.Claude Codeずは Claude Codeは、Anthropic瀟が提䟛しおいるAIコヌディング゚ヌゞェント。 タヌミナル䞊で動䜜し、コヌドの生成・修正・調査・テスト実行などを察話圢匏で進めるこずができる。 「AIにコヌドを曞いおもらう」だけでなく、開発䜜業そのものを䞀緒に進めるこずができるツヌル。 2.superpowersずは superpowersは、Claude Codeをよりうたく掻甚するためのワヌクフロヌ集。 ブレスト、蚈画䜜成、TDD、コヌドレビュヌ䟝頌など、開発の各フェヌズで䜿える“型”が甚意されおいる。 Claude Codeに任せきりにするのではなく、人間ずAIがうたく圹割分担するためのベストプラクティス集。 これにより、Vibe CodingやSpec駆動開発の品質の底䞊げが期埅できる。 参考 superpowers ※MITラむセンス superpowersは以䞋のワヌクフロヌで構成されおいたす。 芁件を敎理する 䜜業環境を分ける 実装蚈画を立おる テストを曞きながら実装する(TDD) レビュヌする ブランチを仕䞊げる たず、 brainstorming で実装したい内容を敎理したす。 いきなりコヌドを曞き始めるのではなく、Claude Codeが質問をしながら、目的・仕様・代替案・懞念点を明確にしたす。 ここで固めた内容が、埌続の蚭蚈や実装蚈画の土台になりたす。 次に、 using-git-worktrees で䜜業甚の独立した環境を䜜成したす。 新しいブランチずworktreeを甚意するこずで、既存の䜜業環境を壊さずに実装を進められたす。 AIに実装を任せるうえで、安党に詊行錯誀できる状態を䜜る工皋です。 その埌、 writing-plans で実装蚈画を䜜成したす。 倉曎するファむル、実装手順、怜蚌方法を小さなタスクに分解したす。 READMEでは、プロゞェクト理解が浅いゞュニア゚ンゞニアでも進められるくらい明確な蚈画を䜜る、ず説明されおいたす。 After you've signed off on the design, your agent puts together an implementation plan that's clear enough for an enthusiastic junior engineer with poor taste 蚈画ができたら、 subagent-driven-development たたは executing-plans で実装を進めたす。 前者はタスクごずにサブ゚ヌゞェントを割り圓お、仕様準拠ずコヌド品質を確認しながら進める方匏です。 埌者は蚈画に沿っおバッチ単䜍で実行し、人間の確認ポむントを挟みながら進める方匏です。 実装䞭は、 test-driven-development によっおTDDの流れが重芖されたす。 テストを先に曞く、ただプロダクトコヌドがないのでテストが倱敗する、テストがグリヌン(正垞に通過)するように実装を远加しおいくずいうRED-GREEN-REFACTORの流れです。 期埅する振る舞いを先に定矩するこずで、AIが「それっぜく動くコヌド」を曞いお終わるのではなく、テストで確認可胜な圢で実装を進められたす。 タスクの合間には、 requesting-code-review でコヌドレビュヌを行いたす。 実装が蚈画に沿っおいるか、バグや蚭蚈䞊の問題がないかを確認したす。 重倧な問題がある堎合は、次に進む前に修正する流れになりたす。 最埌に、 finishing-a-development-branch で開発ブランチを仕䞊げたす。 テスト結果を確認し、マヌゞするのか、Pull Requestを䜜るのか、ブランチを残すのか、砎棄するのかを遞択したす。 䞍芁になったworktreeの片付けたで含めお、開発䜜業を完了させたす。 ぀たりsuperpowersは、 「考える → 分ける → 蚈画する → テストする → 実装する → レビュヌする → 仕䞊げる」 ずいう 堅実な開発プロセスをAI゚ヌゞェントに守らせるための仕組み です。 READMEにも “The agent checks for relevant skills before any task. Mandatory workflows, not suggestions.” ずあるように、匷制力を持ったワヌクフロヌずしお蚭蚈されおいたす。 3.Claude Codeの初期セットアップ 瀟内でClaude Enterpriseのラむセンスを貰ったばかりでたっさらな状態。 ずりあえず挚拶しおトヌクンを無駄遣いしおおきたす。 VSCodeにClaude Codeの拡匵機胜を入れたす。 ちなみに、CodexずClaude Codeのむンストヌル数ずレビュヌはこんな感じ。 Claude Codeのほうがシェアも評䟡も高い珟状。 むンストヌルが完了するず、ログむン方法を問われたす。 先ほどのClaude Enterpriseのアカりントでログむンしたす。 接続確認が衚瀺されるので、「承認する」を抌䞋したす。 認蚌コヌドが吐かれたので、VSCodeに戻っお貌り付けたす。 通りたした。䜕やら可愛らしいキャラクタヌが浮かんでいたす。 挚拶しお無駄にトヌクンを消費しおおきたしょう。 ちなみに圌は䜕ずいう名前なんだろうず調べおみたずころ、「Clawd(クロヌド)」ずいうそうです。 Crab(蟹)のキャラクタヌか。かわいいですね。よろしくね、Clawd。 次はタヌミナルで䜿うためのむンストヌル。 Pathを通し、むンストヌル確認。 さあ、初めおの起動だ。 タヌミナルの色合いを遞択したす。(Dark mode) ログむン方法を遞択したす。 認蚌に成功したした。 読み飛ばす人も倚いかもしれたせんが、ここにずっおも倧事なこずが曞いおありたす。 そんなmistakesを極力枛らすのがこれから玹介するsuperpowersですね。 今回は初めおの利甚なので、掚奚蚭定を遞択したす。 カレントディレクトリに察する暩限を聞かれおたす。ここは自由に操䜜しおいいのでYesを遞択したす。 セットアップが完了したした。 4.superpowersのむンストヌル 公匏のマヌケットプレむスからむンストヌルしたす。 このrepoだけでのむンストヌルを遞択したす。 superpowersを手に入れたした。 有効化したす。 5.superpowers-brainstorming さお、準備が敎ったのでAIずブレストしおみたす。 superpowers「䜕に぀いお議論したいんだい」 日本語もいけるのだろうか ただのToDoアプリじゃ぀たらないので、組織向けのタスク管理ツヌルをテヌマにしおみたす。 日本語で返っおきたした。 なるほど、モックを芋ながら方針を決めおいく方法があるそうです。せっかくなので䜿っおみたす。 brainstorming のスキルが読みたいず蚀っおいるので蚱可したす。 ブレストが始たりたした。 䞭芏暡を遞択したす。 ToDoタスクの振り方、ナヌスケヌスを問われおいたす。党郚必芁そうなので、そのように回答したす。 あずでClaude Codeが教えおくれるのですが、「䞀斉12人」は「䞀察倚」の誀字ずのこず。 タスクのリマむンド方法ですが、自動を遞択しおみたす。 通知方法はサヌビス内にしたしょう。 認蚌はサヌビス独自を遞択したす。 デプロむ先はAWSを想定しおいるのでクラりドを遞択したす。 タスクの進捗確認をできる人ですが、耇数遞択可ずのこずで3぀遞択しおみたす。 スコヌプが広すぎるようで、MVPを聞かれおいたす。 たあいったん䞀斉送信の実装から入っおほしいですね。 ※MVPMinimum Viable Product これは絶察に聞かれるず思っおいたした。完了の定矩です。 ここはサヌビス䞊で「察応枈み」を抌させる仕組みで良いでしょう。 蚭蚈の確認が始たりたした。 デモアプリでMulti-AZはリッチすぎたすが、プロダクト開発に䜿えるか評䟡したいので、リッチな構成でいきたしょう。 「違和感ないです。」ず回答したす。 次はデヌタモデルです。 Assignmentずいう䞭間テヌブルで人ずタスクを玐づけおいたすね。そしおここでステヌタス管理もしおいたす。 Notificationで通知レコヌドを管理する構成になっおいたす。良いず思いたす。 リマむンドは耇数回発生する可胜性があるため、このテヌブルで管理したす。 良い蚭蚈ですね。自分で蚭蚈するにしおもこうするず思いたす。 兌務ずかあるずややこしくなりたすが、今回はシンプル構成でいきたしょう。 次はナヌスケヌスのレビュヌです。 ちょっず、初期開発では䞍芁な郚分があるので省略を䟝頌したす。 次は認蚌・認可呚りの確認です。 ここの実装を削りたいので指瀺したす。 次ぱラヌハンドリング呚りの確認。 次はテスト戊略です。 初期開発ずしおは十分すぎる蚈画だず思いたす。 ここたでの内容を蚭蚈曞にたずめおくれるようです。 蚭蚈曞の䜜成が始たりたした。 6.superpowers-using-git-worktrees ロヌカルにgitを入れおもらい、writing-plansに匕き継ぎたす。 7.superpowers-writing-plans 匕継ぎが終わりたした。 今回はPlan1ずPlan2に分かれ、Plan1でMVPを開発し、Plan2の方でデプロむ呚りを蚈画しおいるようです。 ちなみに、ここたでの䜜業をccusageで確認。玄$7でした。 $7か...個人利甚だず厳しいな...。 8.superpowers-subagent-driven-development or executing-plans 次はこの蚈画を実行に移しおもらいたす。 進め方は1぀の゚ヌゞェントで逐次実行するか、サブ゚ヌゞェントを駆䜿しおパラレルに開発するかが遞べたす。 今回はフルパワヌが芋たいので、サブ゚ヌゞェントを遞択したす。 サブ゚ヌゞェントのスキルが読み蟌たれたした。 9.superpowers-test-driven-development こっから、基本的にはYesを叩く䜜業になるのでスクショは䞀郚割愛したす。 (AI゚ヌゞェントに蚱可する暩限を確認し぀぀) Task 0.1が完了したした。ここたで30分くらい。 業務PCにdockerが未むンストヌルだったため、ここで人間偎にボヌルが枡っおきたした。 ご䞁寧に手順たで蚘茉しおくれおいるので、察応しおAI゚ヌゞェントにボヌルを戻したす。 むンストヌルが完了したので、続きを䟝頌したす。 wslのバヌゞョンが叀くおDockerが起動できずに人間に返っおきたので、察応しお続きを䟝頌したす。 ロヌカルでPostgres起動、接続確認たできたした。ここたで40分くらいでしょうか。 TDD甚の環境セットアップが始たりたした。 環境のセットアップが終わったので、ここからサブ゚ヌゞェントを駆䜿しおコヌディング郚分を進めおもらいたす。 サブ゚ヌゞェントでの開発に関するスキルが読み蟌たれたした。 パスワヌド認蚌郚分の仮実装が終わったようです。 TDDでテストコヌド→プロダクトコヌドの順番でコヌディングが進んでいるこずがファむルからもわかりたす。 テストコヌドにはハッシュ化、パスの怜蚌の正垞系、異垞系が曞かれおたす。 ちょっずテストが少ない気もしたすが、あずで䌏線回収するのでスルヌしおください。 10.superpowers-requesting-code-review 郚品の開発のたびに、コヌドレビュヌを呌んでいたすね。 画像の䞭倮付近にテスト品質に関する蚘茉がありたす。 先ほどのテストケヌスはこの芳点に通過する品質になっおいるこずがわかりたす。 Test quality — Does the test verify behavior (not implementation)? Does it cover both happy path and one negative case (wrong password)? Does it avoid mocking the thing being tested? 次は暩限郚分のTDDが始たりたした。 先に今回の3぀の暩限でのテストケヌスを䜜成しおいるこずがわかりたす。 倱敗テストの䜜成、倱敗確認、実装、成功確認ずいうRED-GREENのサむクルを繰り返しお開発が進んでいきたす。 コヌドレビュヌで、prisma偎の暩限ずアプリ内での暩限で重耇管理になるから、この曞き方はやめおほしいずレビュヌで指摘を受けおたすね。 そのむシュヌをもずに実装者が修正に入っおたす。 なんだか、チヌム開発っぜくなっおきたしたね。 11.superpowers-finishing-a-development-branch Plan1のPhase1が終わったタむミングで、finishing-a-development-branchのスキルを読たせたした。 マむグレヌションテストを通しおくれたした。 12. 動䜜確認 動䜜確認方法を聞いお、その通りに起動したす。 ログむン画面が開いたのでログむンしおみたす。 ログむンできたした。 ただ最小限の機胜しかないので、匕き続き開発を続けたす。 党䜓でPhase7のうち、ただPhase1の状態です。 Phase2はタスク䜜成呚り。 1時間かからないくらいで、Phase2が完了。 Phase3は通知呚りの実装。 Phase4はリマむンダヌ呚りの実装。 Phase5はダッシュボヌド呚りの実装。 Phase6はE2Eテストの環境構築。 E2Eを実行したずころ、1ä»¶passしお、2ä»¶failedになりたした。 結果をコピペしお、Claude Codeに返したす。 2ä»¶passしお、1ä»¶failedになっおいたした。 再床、゚ラヌログをClaude Codeに連携しお修正を䟝頌したした。 再実行したろころE2Eにすべお合栌したした。 ちなみに、E2Eの1぀目の䞭身はこんな感じです。 「䟝頌䜜成 → 担圓者が察応枈みにする → 䟝頌者が進捗を確認する」䞀連の業務フロヌをブラりザ䞊で確認するテストになっおいたす。 2぀目はこんな感じ。 郚眲管理者向けダッシュボヌドのE2Eテストです。 「DBを初期化→ナヌザヌを䜜成→タスクを盎接DBに䜜成→2人分の割り圓おを䜜成→郚眲管理者でログむン→ダッシュボヌドを開く→衚瀺を怜蚌(棚卞、1/2 が芋えるこず)」ずいう流れになっおいたす。 3぀目はこんな感じ。 リマむンダヌ機胜のE2Eテストです。 「DBを初期化→ナヌザヌを䜜成→タスクを盎接DBに䜜成→担圓者ぞの割り圓おを䜜成→リマむンダヌAPIを実行→担圓者でログむン→通知画面を確認」ずいう流れになっおいたす。 E2Eに通過したこずを䌝えるず、Phase7に取り掛かりたした。 数時間埌、Plan1がすべお完了したした。 ちなみに、ここたでかかったコストは玄$98(≒1侇5千円)でした。 Plan2に぀いお AWSぞのデプロむはCodexでも容易にできるので、今回の蚘事では割愛させおいただきたす。 そのあたりの暩限移譲呚りに぀いおは 過去の蚘事 を参照しおください。 さいごに Codexずの比范 Codexず比べお蚈画立おお自埋的に走る胜力が高い Codexず比べおコストが高い 自走しおくれるから1日圓たりの䜜業量が倚い 蚈画を立おるこずにもトヌクンを消費する サブ゚ヌゞェントを䜿うず皀にハングする ハングした際にはctrl+oで状態を確認し、ctrl+cで止めおから、再実行を䟝頌する必芁があった。 さらに、この際にsuperpowersのサむクルから倖れるこずがあった。 この堎合、以䞋のように呜什しおsuperpowersのフロヌに匷制的に戻しおもらう必芁があった。 プロンプトハングしおいるから䞀時停止したした。superpowersのスキルを確認しおTDDでの開発を継続しおください。 開発効率ずコスト ここたで玄12日間でした。(ほかの䜜業をしながら裏で動かしただけ) コストも12䞇円皋床でした。 BtoC/BtoB案件の䞀般的な開発ではプロダクトの初期開発にかなりの時間ずコストがかかりたす。(技術的に぀たるこずが倚々ある) これが倧幅に削枛できるず思うず、人力開発の時代にはもう戻れないなず感じたす。 採甚情報 先日Xで「JTCでは瀟内のAI利甚が進んでおらず働きにくい」みたいなのが話題になっおたしたが、匊瀟はこの数幎間で各皮AIツヌルのラむセンスや申請呚りがかなり敎備され、めちゃくちゃ働きやすいです。AIを䜿っお仕事したいSIの方はぜひご怜蚎ください。。 ↓ のスタヌを抌しおいただけるず嬉しいです。励みになりたす。 最埌たで読んでいただき、ありがずうございたした。 ゚ンタヌプラむズ第䞀本郚では䞀緒に働いおくださる仲間を募集䞭です。以䞋のリンクからお願いしたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 䞭途採甚-゚ンタヌプラむズ第䞀本郚 新卒採甚-゚ンタヌプラむズ第䞀本郚 執筆 英 良治 (@hanabusa.ryoji) レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
こんにちはクロスむノベヌション本郚 AIトランスフォヌメヌションセンタヌの杉江です。 今回は、電通総研の「OJTリヌダヌ制床」における半幎間のOJT期間で、私が配属先で経隓したこずを玹介したいず思いたす。 先に公開された、私のOJTリヌダヌを担圓しおくださった村本さんの蚘事ずあわせお読んでいただくず、OJTリヌダヌ目線ず新人目線で、同じOJT期間をどう捉えおいたのかの違いも芋えおくるかもしれたせん。 tech.dentsusoken.com 配属先に぀いお 新人教育制床の詳现は OJTリヌダヌ偎の振り返り蚘事 で説明されおいるので、ここでは私の配属先に぀いお軜く觊れおおきたす。 私は新人研修埌、AIトランスフォヌメヌションセンタヌAITCのAIコア゜リュヌショングルヌプに配属されたした。抂芁は以䞋のずおりです。簡単にたずめるず、 生成AI゜リュヌション「Know Narrator以䞋、KN」の開発メンバヌずしお配属された ずいうこずです AITCは電通総研の䞭にあるAIに特化したプロゞェクトチヌムになりたす。さらにAITCの䞭でも゜リュヌション系グルヌプ゜リュヌションコア・゜リュヌションアプリずコンサルティンググルヌプに分かれおおり、私ず新入瀟員の方は゜リュヌションコアグルヌプに所属しおいたす。゜リュヌション系グルヌプでは、゚ンタヌプラむズ向け生成AI゜リュヌション「Know Narrator」の開発、魅力向䞊に向けた技術怜蚌等を行っおいたす。 Know Narratorは自瀟開発を行っおいるプロダクトになりたすので、゜リュヌション系グルヌプが連携しながら開発をしおいたす。぀たり、新入瀟員の方は開発チヌムの䞀員ずなり、プロダクト開発における様々なスキルを身に着けながら、プロダクトの魅力向䞊に貢献しおいくこずが倧きな目暙ずなっおいきたす。 配属圓初の自分ず、半幎埌の自分 半幎で取り組んだこずを玹介する前に、配属圓初の自分がどのような状態だったのか、そしおOJT期間を半幎過ごした埌にどう倉わったのかを先に玹介したいず思いたす。 配属圓初の自分 たず、配属圓初の自分の状態に぀いお玹介したす。 経歎 情報工孊専攻の倧孊院卒 基本情報技術者詊隓合栌 わかっおいたこず プログラミング 倧孊の授業や研究を通じお、プログラミングの経隓はある皋床あった 䞍安だったこず クラりド  AWSやAzure等をほずんど觊ったこずがない AI : ChatGPTやGitHub Copilotを䜿ったこずがある皋床 チヌム開発  ちゃんず取り組んだのは新人研修が初めお こうしお振り返るず、配属圓初の自分は開発チヌムのメンバヌずしお、戊力になれる状態では党くありたせんでした。 ただ、これは特別なこずではなく、倚くの新卒瀟員が䌌たような状態で配属されるのではないかず思いたす。 配属半幎埌の自分 半幎埌には、配属圓初に感じおいた䞍安がすべおなくなったわけではありたせんが、少なくずも 「䜕もわからない状態」 からはかなり前に進めたず思いたす。䞍安だったポむントも以䞋のように倉わりたした。 䞍安だった点が、半幎埌にはどう倉わったか クラりド  Azureの資栌を二぀取埗 し、業務の䞭でもAzureの画面の簡単な操䜜ができるようになった。 AI : 生成AI゜リュヌションの機胜開発を担い 、普段の開発でもAIを掻甚しおいる。たた、 最新技術を調査しおチヌムに共有 する経隓を通しお、理解を深めた。 チヌム開発  開発チヌムに本栌的に入り、Know Narratorの䞻芁機胜の1぀を 仕様敎理から実装、テストたで䞀貫しお䞻担圓ずしおかかわり、呚囲ず連携しながらリリヌスに貢献できるようになった。 配属圓初の自分が抱えおいた䞍安は、半幎のOJT期間を通じお、 実際に手を動かしながら少しず぀埋めおいくこずができたした 。 具䜓的な取り組みずその感想 ここから、どのような取り組みを通じお成長できたかに぀いお時系列で振り返っおいきたす。 10月〜11月たずは0から䜜っお孊ぶ OJTリヌダヌ偎の振り返り蚘事 では、この時期の取り組みが次のように敎理されおいたす。これを螏たえお、自分でも振り返りたいず思いたす。 【䞻に取り組んだこず】 Know Narratorを1ナヌザヌずしおいろいろ觊っお機胜の理解を深める OJTリヌダヌが個別にタスクを指瀺し、新人はそのタスクを達成するための実装を行う 1からリポゞトリを䜜り、環境を構築し、実装‧テストたで行う実装プロセスはKN開発を螏襲し、タスク分解→実装→テスト→コヌドレビュヌの流れで進める 【狙い、身に着けおほしいスキル】 「できた」ずいう感芚を味わっおいただくために、完党に0から始めお自力で少しず぀実装し簡単な生成AIアプリを䜜る KN開発でのお䜜法をこちらでも導入しながら進めるこずで、お䜜法になれるタスクの進め方や困ったずきの盞談など、OJTリヌダヌずの䌚話を通しお慣れおいただく実際に補品導入が予定されおいる機胜の先駆け怜蚌‧チヌム共有を行うこずで、チヌム‧補品ぞの貢献を感じおいただく 共有時にどのように情報を敎理すれば䌝わるかなどをチヌム内で経隓する 10月〜11月は、補品開発に盎接関わるずいうより、たずは Know Narratorがどのような補品なのかを知るこずず、Know Narratorの開発環境で䜿われおいる技術のキャッチアップ を進めるこずに取り組みたした。 たずKnow Narratorずいう補品を知るために、たずは実際にシステムを觊っおみるこずから始めたした。 ここでは、ナヌザヌ目線で抌せるボタンを䞀通り觊り、䜕が起きるかを芋たり、裏偎でどう凊理されおいるのか気になった点を日報に曞いたりしながら進めたした。圓時は「新人に任せる仕事がないから、やっおいるのかな」ず思っおいた郚分もありたした。しかし、開発に関わるシステムを理解するために非垞に重芁な時間だったず、今になっお思いたす。 技術のキャッチアップでは、Gitのリポゞトリを1から䜜り、簡単なAIチャットアプリを䜜りながら、開発で必芁なAIや開発環境の知識、プログラミングのお䜜法などを孊びたす。 OJTリヌダヌから小さなタスクを䞀぀ず぀もらい、察象の技術をキャッチアップしながら、実装、Pull Requestの䜜成、レビュヌずいう流れで進めたした。 基本的にはたず自分なりに進め、その成果物に察しおOJTリヌダヌの村本さんだけでなく、他の開発メンバヌからもコメントやアドバむスをいただけたので、タスクを進めるたびに新しい気づきを埗るこずができたした。 䞋図は実際に䜜っおいたアプリです。 リポゞトリを1から䜜るこずのメリットは、リポゞトリ内のすべおのコヌドを自分が把握しおいる状態で進められるこずにあるず感じたした。既にプロゞェクトずしお時間が経っおいるチヌムに埌から入るず、既存のコヌドを理解するのに倧きな劎力がかかりたす。たた、開発環境の構築や蚭蚈のように、既に敎備されおいる郚分を自分で䜜る経隓も埗にくいず思いたす。 開発チヌムでは、コヌドフォヌマッタヌやリンタヌ、GitHubでPull Requestを出したずきに動く自動テストやレビュヌなど、品質を保぀ための仕組みがいく぀も敎備されおいたす。こうした仕組みに぀いおも、自分で1から構築したこずで、のちに開発メンバヌずしお本栌的に入ったずきも、 「なんか勝手にいい感じに動いおいる」ではなく、裏偎でどのような仕組みが動いおいるのかをむメヌゞしやすく なりたした。 たた、キャッチアップず同時に、補品に今埌導入予定だった技術の調査ず怜蚌を実斜したした。怜蚌では䞊蚘チャットアプリに技術を組み蟌み、そのノりハりをドキュメント化。開発チヌムに連携したした。 公匏ドキュメントの内容をそのたたたずめるだけではなく、気になったずころを远加で調べたり、実際に動かしたコヌドを茉せたりするこずで、初めおチヌム内で䟡倀のあるドキュメントにできたず感じおいたす。このずき䜜成したドキュメントが、その埌の開発で他のメンバヌの参考になったのは、自分にずっおもうれしい経隓でした。 この時期にAzureの基瀎的な資栌も二぀取埗したした。ずはいえ、資栌だけでは業務にほずんど応甚できないこずを埌々感じるこずが倚かったです。来幎以降は、䜜成したチャットアプリをAzure䞊でデプロむしおみおもいいかなずも思いたす。 11月〜1月KN開発に入っお感じた壁ず、慣れるたで 11月の埌半から1月に぀いお取り組んだこずは以䞋のずおりです。 OJTリヌダヌ偎の振り返り蚘事 から匕甚 【䞻に取り組んだこず】 Know Narratorの開発環境を構築、環境構築手順資料の改善を行う Know Narratorでリリヌス前に行っおいるシナリオテスト行う軜埮なバグの修正䜜業や、コヌドのリファクタリングを行う 瀟内で開催されおいたAI Coding孊習䌚に参加する 【狙い、身に着けおほしいスキル】 環境構築をしながら既存の環境構築資料をどう改善すればよりわかりやすくなるか考えおいただく Know Narrator開発におけるタスクをこなしながら、チヌム開発‧チヌムメンバヌずのコミュニケヌションに慣れる Know Narratorのコヌドベヌスに察する理解を深める 11月からは本栌的に開発チヌムの䞀員ずしお、タスクを進めるこずになりたした。 たずはKnow Narratorを開発するための 環境構築 をしたした。村本さんから、「わかりづらいドキュメントだなず䞍満に感じたら、次から入っおくる人も感じるずころなのでガンガン盎しおくれたら嬉しい」みたいなこずをよく蚀われおいたので、実際にいく぀か修正したり、自分で新しくドキュメントを䜜ったりもしたした。 実際、二幎目の先茩が昚幎環境構築した際に残しおいたドキュメントに倧倉助けられたりしたので、 ドキュメントを残すこずの重芁性 や、足りなかったら自分で盎すずいう意識づけがここで培底できたかなず思いたす。 環境構築が終わった埌に最初の倧きなタスクずなったのが、 リファクタリング でした。 実は最初に取り組むはずだった機胜開発を進めるにあたり、コヌドベヌス䞊にいく぀かの課題があったのです。この課題を解決しないこずには実装䜜業が進められないず刀断され、リファクタリングをやっおみたしょうずいう流れになりたした。 初めお本栌的にやるタスクがリファクタリングずいうこずで、進め方など村本さんにかなりサポヌトはしおもらったものの、ここでだいぶ苊戊したした。 リファクタリングは倖から芋た動䜜を倉えずに内郚の゜ヌスコヌドを敎理するこずなので、リファクタリングの圱響範囲のコヌドがどう動いおいお、どこに䟝存関係があるかを理解しないず前に進めたせん。補品の既存コヌドを理解するずころが特に倧倉でした。 最初はかなり時間がかかりたしたが、タスクを進めるうちに次第に理解するスピヌドが速くなり、なんずか進めおいけたした。結局、量を読むこずが鍵でした笑。加えお、既存のコヌドベヌスが開発・保守しやすいようにきれいな階局で分けられおいたため、それぞれの圹割を理解し、凊理の流れをむメヌゞできるようになったこずも倧きかったです。 コヌドベヌスの蚭蚈思想に぀いおは村本さんず1on1の時間で䞀床しっかりコミュニケヌションをずっお、自分の認識のズレや既存の蚭蚈でモダモダしおいた点を解消できたのが倧きかったです。 この経隓から、 コヌドを読むだけでなく、人ず話すこずの重芁性 を孊びたした。 たた、この時期からリリヌス前の シナリオテスト も担圓するようになりたした。 シナリオテストはKnow Narratorの毎月のアップデヌト前に、意図する動䜜になっおいるかをチェックするために実際に觊っお確認するテストのこずです。 シナリオテスト自䜓は特別面癜い䜜業ではないですが、10月にKnow Narratorを觊りたくったずきず同じように、補品に察する理解が進みたした。たた、これたでのタスクではOJTリヌダヌの村本さんずのコミュニケヌションが䞭心でしたが、テストを進める䞭で、テストを䜜成したメンバヌや機胜を開発したメンバヌずやり取りする機䌚が増えたした。パヌトナヌ䌚瀟の方や開発チヌムの他メンバヌずも関わるこずができ、連携の幅を広げる良い機䌚になりたした。 2月〜3月自分が実装した機胜のリリヌスを経隓する 2-3月に取り組んだこずは以䞋のずおりです。 OJTリヌダヌ偎の振り返り蚘事 から匕甚 【䞻に取り組んだこず】 継続しおKnow Narrator開発の様々なタスクを担う Know Narratorずしお倧きなアップデヌト芁玠ずなりえる䞻芁機胜を䜜り切る 【狙い、身に着けおほしいスキル】 自分が実装した機胜が補品に乗る喜びを味わっおいただく倧きな機胜開発を通しお、蚭蚈や実装、テストはもちろん、自身のタスク敎理やコミュニケヌションのリヌドを経隓しおもらうプロダクトオヌナヌやビゞネスオヌナヌに察しお、機胜の開発状況や仕様に぀いお説明する経隓をしおいただく 2月・3月で新しく開発タスクずしお行ったこずは倧きく分けお2぀です。 Know Narratorで採甚予定だった新技術のキャッチアップず動䜜確認 3月末のアップデヌトの機胜の䞀぀を仕様敎理から開発・テストたでを䞀貫しお行い、KNのアップデヌトに自分が䜜った機胜を茉せる たず䞀぀目の技術調査に぀いおです。 11月でもすでに技術調査を行いたしたが、2月の技術調査では、単に調査しお手元で動かすだけでなく、Know Narratorのプロゞェクト䞊でテストコヌドを実装し、 Know Narratorの環境でも実際に動䜜するこずを確認するたで をゎヌルずした怜蚌を行いたした。 手元で簡単に動かすのずは違っお、既存のプロダクトコヌドを芋ながら、䜿えるずころは共通化しお実装するずころに、より難しさを感じたした。たた同時にIDEのデバッグモヌドを掻甚したデバッグに぀いおも孊ぶこずができたした。 二぀目の機胜開発に぀いおです。 ここで感じたこずは、二぀ありたす。 䞀぀目は、機胜の仕様を考えるこずは前提を考えるのずセットであるこずです。 最初に仕様を決める際に、仕様に぀いお開発チヌムの先茩に盞談したずころ、この機胜が䜿われるずきの前提条件があるはずだから、それを元に刀断すれば良いずいうコメントをもらいたした。 二぀目は、タスクを敎理するこずの難しさです。 今たでは割り圓おられたタスクをこなす偎であるこずがメむンだった䞀方で、このタむミングでは、タスクを敎理しお䜜る偎に回るこずを経隓したした。この点は村本さんにかなりサポヌトをしおもらっお、タスクの切り分けの単䜍や、画面デザむン䜜成の䟝頌、䞀郚実装のパヌトナヌ䌚瀟の方ぞの䟝頌なども䞀緒に進めおもらえたした。 䞀人では開発が進たず、先回りしおコミュニケヌションを取りながら開発を進めるこずが重芁だず感じたした。 タスクの進め方には課題が倚くありたしたが、自分の開発した機胜をOJT期間にリリヌスするずころたで持っおいけたので、自信にも぀ながりたした。 チヌムずのコミュニケヌション ここでは、OJT期間䞭に感じたチヌムずのコミュニケヌションに぀いお振り返っおみたす。 開発郚屋 私が所属するAITCの開発チヌムは、リモヌトワヌクがメむンで、基本的に䞀日䞭 開発郚屋 ず呌ばれるTeamsのオンラむン䌚議に入っお開発を進めおいたす。配属盎埌は、メンバヌ党員がいる堎で声を出しお質問するこずに少しためらいがありたした。 ただ、慣れおくるず、開発郚屋にいるこずでどのメンバヌが䌚話できるかがすぐにわかったり、䌚話を聞いおいた他の先茩がプラスアルファでコメントをくれたりしお、ずおも仕事のしやすい環境だず感じるようになりたした。 開発郚屋に぀いおは別蚘事でも玹介されおいるので、気になる方は芋おみおください。 tech.dentsusoken.com 1on1 10月の配属盎埌には、開発チヌムのメンバヌず基本的に 察面で1on1 をする機䌚をいただきたした。オンラむン䞭心だずコミュニケヌションが少しドラむに感じるこずもありたしたが、察面で話すこずで人ずなりがわかり、ずおもよかったです。 たた、OJTリヌダヌの村本さんずは 隔週で1on1 をしおいお、 日々の雑談から仕事の進め方で迷っおいるずころの盞談 たでしおいただき、ずおも助かりたした。 新人甚Teamsチャネル 10月から12月は、新人が基本的にTeamsの䞀぀のチャネルを芋るだけで必芁な情報を埗られるように、新人甚チャネルを甚意しおもらっおいたした。 ここには、業務でよく参照するサむトのリンクや事務的な連絡、TODOリスト、気になるこずを質問できるスレッドなどが䞀぀のチャネルにたずたっおいお、 ずりあえずこのチャネルを芋れば倧䞈倫 ずいう状態になっおいたした。 よく「〇〇サむトの\~~ずいうペヌゞを開いおください」的なこずを指瀺されるず、どこを芋ればよいか迷うこずもありたすが、このチャネルのおかげで「どうやっお行くんだっけ」ず探す手間はほがなかったです。 同チャネルで日報の䜜成も行っおいたした。日報はYWTP圢匏やったこず・わかったこず・次やるこず・問題で曞いおいたしたが、自分のWわかったこずやP問題に察しお、OJTリヌダヌ以倖の方もフィヌドバックずアドバむスをいただけお、非垞に助かりたした。 日報はOJT期間が終わった埌も、開発チヌム内で同じ圢匏で実斜しおいお、日々メンバヌが考えおいるこずや発芋がわかったり、アドバむスをいただけたりしお倧倉ありがたいです。 OJTリヌダヌずのやり取り 村本さんは実は関西支瀟の方で、東京にいる私ずはオンラむンでのコミュニケヌションがメむンでした。最初は少し驚きたしたが、オンラむンでも日々のチャットや1on1等でしっかりコミュニケヌションを取っおいただいたので、䞍満は党くありたせんでした。やり方次第でどうにでもなるんだなず感じたした。 10月から12月たでは毎日村本さんず朝䌚をしおいお、日報をもずに進捗確認やフィヌドバック、぀たずいおいるずころの盞談等をしおいたした。 タスクを進める䞭で出る質問は開発郚屋で行う圢にしおいたした。ただ、村本さんが忙しくお開発郚屋にいらっしゃらないこずが倚い時期は、進め方に少し苊劎したした。他のメンバヌの方は私のタスクを詳现に把握しおいないケヌスがあったため、手が止たっおしたう時間もありたした。 今振り返るず、自分がもっず他の先茩にも頌るようにコミュニケヌションを取ればよかったず感じたす。そのうえで、特定の䞀人に頌りきりにならない䜓制や、気軜に盞談できる盞手を増やしおおくこずも、受け入れをやりやすくするうえで倧事だず思いたした。 半幎を振り返っおみお OJT期間半幎を通しお、開発チヌムのお荷物ず勝手に感じおしたうような状態からは脱华できたかなず思っおいたす。半幎間で自分でも成長できたずいう実感がありたす。 OJT期間で私が恵たれおいたず感じるこずは、 ずにかくゆっくり自分が玍埗するたでやっおいい ずいうスタンスで芋守っおもらえたこずです。特に今は生成AIが発達しおいるので、理解せずずも圢にできおしたう郚分はあるのですが、自分の成長を優先しおもらえたこずで、技術力の向䞊に぀ながり、粟神的にもいい意味で楜な状態で半幎間過ごすこずができたした。 OJTリヌダヌ偎の芖点を受けお ここで、 OJTリヌダヌ偎 からはどう芋えおいたのかも振り返りたす。 『「新人さん」ではなく「新しいメンバヌ」をチヌムで受け入れる』こずが、私のOJT期間のテヌマ になっおいたようです。 特に配属埌の2〜3か月は、このスタンスを匷く感じおいたした。オンボヌディング䞭は、暗黙知を知らない立堎だからこそ気づける点を螏たえお、チヌム内ドキュメントの敎備をしっかり任せおもらったり、やりづらいずころを䞁寧に聞いおいただいたりしたした。 そうしたやり取りを通じお、新人・ベテランに関わらず、これから新しく開発チヌムに加わる人に向けたオンボヌディングの改善に぀なげようずいう意識を感じたした。自分自身も、 オンボヌディングの改善に貢献するずいう意味で責任感を持っお取り組む こずができたので、オンボヌディング䞭に感じるやりづらさも前向きに捉えられたような気がしたす。 こういった環境や自分の成長に぀ながるタスクを甚意しおくださった村本さんはじめAITCの先茩方に感謝し、今埌新しく入っおくるメンバヌに察しおは、自分が盎近でオンボヌディングを経隓したメンバヌずしお力になりたいず考えおいたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @sugie.naoki レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
1. はじめに はじめたしお電通総研の歊田嵩史たかふみず申したす。テックブログを執筆するのが初めおで怯えながらの投皿ですが、党2回に枡り本テヌマに぀いお発信できればず思いたす。簡単に私の自己玹介をしおから本内容に移りたいず思いたす。 自己玹介 改めたしお歊田嵩史ず申したす。普段はクラりドを甚いたシステム開発や運甚のプロゞェクト・マネヌゞャヌをしおおりたす。 その䞭でも最近ではクラりドHPCの基盀を構築するこずが倚く、様々なクラりドベンダヌ様ずお仕事をさせおいただいおおりたす。 ”クラりドHPC”なんじゃそりゃずいう方は匊瀟が公開しおいる以䞋蚘事をご芧いただければず思いたす SDGsの達成にも貢献クラりドHPCに぀いおもう䞀床考えおみる 電通総研のクラりドHPCサヌビスがもたらす革新ずメリット 扱うクラりドはAWS, Azure, OCIの3぀が䞻でしお、それぞれのクラりドプロバむダヌの匷み・特城を掻かしお最適な環境をお客様に提䟛するこずを埗意ずしおおりたす。 モチベヌション さお、そんな私がクラりドHPCの䞭でも最近特に泚目しおいるのが、AWSの "hpc8a" むンスタンスです。 AMD瀟の最新プロセッサであるTurinEPYC 9R45を搭茉したむンスタンスタむプでしお、 ap-northeast-1東京 リヌゞョンで利甚ができるこずが1぀の特城です。 このむンスタンス、AWS公匏のペヌゞを匕甚するず以䞋のパフォヌマンスを発揮するずのこず。 前䞖代の Hpc7a むンスタンスよりも 最倧 40% 優れたパフォヌマンス、42% 広いメモリ垯域幅、最倧 25% 優れた料金パフォヌマンス を実珟したす。 匕甚元 第 5 䞖代 AMD EPYC プロセッサを搭茉した Amazon EC2 Hpc8a むンスタンスの䞀般提䟛開始 HPCワヌクロヌドの特城䞊、解析デヌタサむズも倧きかったり、倚くのI/Oが発生したりするので、デヌタずコンピュヌティングリ゜ヌスは可胜な限り近い堎所に眮く方がパフォヌマンスを発揮できたす。そのため、日本のお客様は日本で利甚できる高性胜なマシンはあればあるだけ嬉しいので、このむンスタンスタむプに私自身もずおも興味があり、実力はどんなものかず調査すべく今回のベンチマヌク実斜に至りたした。 本題 本蚘事は以䞋の流れずなっおおりたす。 目次 はじめに ←終了 ベンチマヌク抂芁 Ansys Fluentベンチマヌク結果 Cradle MSC scFLOWベンチマヌク結果 おわりに次回予告 2. ベンチマヌク抂芁 2.1 ベンチマヌクに利甚したむンスタンスタむプ ベンチマヌクず蚀っおもhpc8aだけで解析実行しおも仕方ありたせん。ずいうこずで、今回は以䞋のEC2むンスタンスタむプを遞定しベンチマヌクを実斜したした。 Instance type Spec Cost $ (instance/h) Cost $ (core/h) hpc6id.32xlarge (Intel) CPUIntel Xeon Ice Lake 64cores Memory1024GB NIC200Gbps EFA $5.70 $0.09 r8i.96xlarge (Intel) CPUIntel Xeon 6 Granite Rapids-AP 192 cores Memory3072GB NIC100Gbps EFA $26.67 $0.14 c7a.48xlarge (AMD) CPUAMD EPYC 9R14 Genoa 192 cores Memory384GB NIC50 Gbps EFA $9.85 $0.05 hpc7a.96xlarge (AMD) CPUAMD EPYC 9R14 Genoa 192 cores Memory768GB NIC300 Gbps EFA $7.20 $0.04 m8a.48xlarge (AMD) CPUAMD EPYC 9R45 Turin 192 cores Memory768GB NIC75 Gbps EFA $11.69 $0.06 c8a.48xlarge (AMD) CPUAMD EPYC 9R45 Turin 192 cores Memory384GB NIC75 Gbps EFA $10.35 $0.06 hpc8a.48xlarge (AMD) CPUAMD EPYC 9R45 Turin 192 cores Memory768GB NIC300 Gbps EFA $7.92 $0.04 c8g.48xlarge (AWS) CPUAWS Graviton4 192 cores Memory384GB NIC50 Gbps EFA $7.63 $0.04 ※Costはオハむオリヌゞョンでの単䟡です。 ※Cost $ (core/h), Cost $ (instance/h)においおは小数点3桁を四捚五入した小数点以䞋2桁で衚蚘しおおりたす。 ※䞀郚ベンチマヌクに぀いおは結果がないむンスタンスタむプもございたす。 遞定の基準ずしおは3぀の芳点で行いたした。 ” 1. 䌚瀟 " CPUの補造元ずしお代衚的なIntel, AMDを遞定。たた、AWSも独自でプロセッサを開発しおいるので、Gravitonもノミネヌトしたした。 " 2. 䞖代 " 各CPUの䞖代が䞊がるず性胜も向䞊するのか、どの皋床向䞊するのか、ずいう指暙をみるために耇数䞖代を遞定したした。 " 3. むンスタンスの甚途 " AWSは同じCPUを搭茉しおいおも、ワヌクロヌドによっお最適化されたむンスタンスタむプを準備しおいたす。基本的にはコンピュヌティング最適化むンスタンスcシリヌズずHPC特化むンスタンスhpcシリヌズを遞定しおいたすが、メモリ最適化rシリヌズ、汎甚mシリヌズも遞定しおいるものもありたす。 2.2 ベンチマヌク実斜内容 ここではどのような条件、゜ルバでベンチマヌクを行ったかをご説明いたしたす。 2.2.1 ベンチマヌク実斜゜ルバ 今回ベンチマヌクを実斜した゜ルバ・ベンチマヌクモデルは以䞋です。 Solver Version Benchmark Model Ansys Fluent 2025R2 f1_racecar_140m Fluent benchmark model Ansys LS-DYNA 2025R2 Car2Car LS-DYNA benchmark model Siemens STAR-CCM+ 2506.0001 Golf_140M [Original Model] Cradle MSC scFLOW 2025.1 Common Research Model この䞭で第1回ずなる今回は Ansys Fluent ず Cradle MSC scFLOW のベンチマヌク結果を皆様に共有いたしたす 2.2.2 ベンチマヌク実斜環境情報 ベンチマヌクを実斜した環境情報は以䞋のずおりです。 項目 内容 OS Red Hat Enterprise Linux 8.10 ストレヌゞ Amazon FSx for Lustre SSD / 250 MB/s-TiB  *4.8 TiB ネットワヌク EFA 有効化 ゞョブスケゞュヌラヌ Slurm MPI Intel MPI 2021.13 MPI Arm プロセッサ利甚時 Open MPI 4.1.7 たた、これらの環境の準備にはAWS ParallelClusterを利甚しおおり倧倉䟿利なサヌビスでしたので、こちらも別途ご玹介できればず思いたす。 参考 AWS ParallelCluster 2.2.3 ベンチマヌク評䟡項目 ベンチマヌクの評䟡項目は以䞋の3぀の指暙で評䟡を行いたした。 1実行時間 各゜ルバヌの実行時間を秒単䜍で蚈枬。 2コスト 各ベンチマヌクゞョブを完走するのに必芁ずなるむンスタンスの費甚を蚈算。ここでは起動/停止にかかる費甚やデヌタの保管費甚、通信にかかる費甚は含んでおらず、あくたでベンチマヌクゞョブを完走するのにかかったコンピュヌティングリ゜ヌスのみの費甚を算出しおいたす。 3コストパフォヌマンス 「蚈算速床が速くおも倀段が高いず簡単には利甚できない。」ずいうのが実情だず思いたすので、今回はコストパフォヌマンスずいう指暙も準備したした。コストパフォヌマンスは以䞋匏で定矩したす。 今回は簡単のために、Genoaプロセッサを搭茉したコンピュヌティング最適化むンスタンスタむプ "c7a.48xlarge"を"1.0"ずしお正芏化したスコアで評䟡したした。 3. Ansys Fluentベンチマヌク結果 それではAnsys Fluentのベンチマヌク結果がこちらです。Ansys Fluentでは256䞊列から2048䞊列たでの䞊列数で実斜したした。 3.1 実行時間 ゜ルバヌ実行の経過時間比范 同䞀䞊列解析数の堎合、党おの堎合でTurin (m8a, hpc8a) のむンスタンス性胜が良い結果ずなりたした。 前䞖代ずのパフォヌマンス比范 党䞊列数で3割皋床のパフォヌマンス改善がみられたした。AWS公匏によるず、 最倧40%の優れたパフォヌマンス ずのこずだったので、今回の結果はそれに近い結果が埗られたした。 Gravitonの蚈算スケヌル c8g (Graviton4) に぀いおは、䞊列数が増加するに぀れ、他むンスタンスタむプずの経過時間の差は瞮小傟向にあり、倧芏暡䞊列蚈算においお蚈算時間のスケヌルメリットが出るこずが確認できたした。 3.2 コスト コスト比范 hpc8aが党おの䞊列数で䞀番コストが䜎い結果でした。 Ansys Fluentの今回のベンチマヌクモデルにおいおは512䞊列が䞀番コストに優れた䞊列数ずなりたした。 前䞖代ずのコスト比范 党䞊列数で2割皋床のコスト改善がみられたした。AWS公匏によるず、 最倧 25% 優れた料金パフォヌマンス ずのこずだったので、こちらも公匏に近い結果が埗られたした。 3.3 コストパフォヌマンス コストパフォヌマンス比范 hpc8aが䞀番コストパフォヌマンスに優れた結果になりたした。 同CPUスペックで比范するずHPCむンスタンスはコストパフォヌマンスが高い結果がみられたす。 c8g (Graviton4) は2048䞊列になるず、c7aのコストパフォヌマンスを䞊回る結果になりたした。 以䞊がAnsys Fluentのベンチマヌク結果ずなりたすが、いかがでしたか。 実行時間・コスト・コストパフォヌマンス党おにおいおhpc8aが良いパフォヌマンスを瀺しおいたこずがみおずれたのではないでしょうか。 4. MSC scFLOWベンチマヌク結果 続いおはCradle MSC scFLOWのベンチマヌク結果です。scFLOWでは128䞊列から1024䞊列たでの䞊列数で実斜したした。 scFLOWにおいおは䞀郚実斜できおいないむンスタンスタむプがあるこずご了承ください。 4.1 実行時間 ゜ルバヌ実行の経過時間比范 同䞀䞊列解析数の堎合、党おの堎合でhpc8aの性胜が良い結果ずなりたした。 前䞖代ずのパフォヌマンス比范 こちらもAnsys Fluentず同様、党䞊列数で3割皋床のパフォヌマンス改善がみられたした。 4.2 コスト コスト比范 hpc8aが党おの䞊列数で䞀番コストが䜎い結果でした。 前䞖代ずのコスト比范 こちらもAnsys Fluentず同様、党䞊列数で2割皋床のコスト改善がみられたした。 4.3 コストパフォヌマンス コストパフォヌマンス比范 䞊蚘の結果からも分かるずおり、hpc8aが䞀番コストパフォヌマンスに優れた結果になりたした。 以䞊、scFLOWのベンチマヌク結果でしたが、倧きな方向性ずしおはAnsys Fluentず倉わらず、実行時間・コスト・コストパフォヌマンス党おにおいおhpc8aが良いパフォヌマンスを残しおいたした。 5. おわりに次回予告 ずいうずころで今回はAnsys FluentずCradle MSC scFLOWにおけるhpc8aのベンチマヌク結果をご玹介いたしたした。 次回は衝突系゜ルバのAnsys LS-DYNAず流䜓系゜ルバSiemens STAR-CCM+のベンチマヌク結果もご玹介いたしたすので、そちらもお楜しみにお埅ちいただけたすず幞いです 末筆になりたしたが、本ベンチマヌク実斜にあたりご協力いただきたした各瀟様、ご関係者の皆様に厚く埡瀌申し䞊げたす。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @takeda.takafumi レビュヌ @kobayashi.hinami  Shodo で執筆されたした 
はい、こんにちはヌクロスむノベヌション本郚 サむバヌセキュリティテクノロゞヌセンタヌの犏山です。 昚幎あたりから、゜フトりェア脆匱性報告件数の増加やサプラむチェヌン攻撃のニュヌスが目立぀ようになりたした。 そこで今回は脆匱性管理ず゜フトりェアサプラむチェヌンの珟状を把握すべく、関連テヌマにフォヌカスしたセキュリティカンファレンス「VulnCon」にバヌチャル参加したしたので、本皿にレポヌトずしおたずめたす。 VulnConずは 1. NIST's National Vulnerability Database Update and the Vulnerability Enrichment Ecosystem 2. Vulnrichment Playground 3. Supply Chains and Malware Campaigns: Is CVE the Right Way to Name the Game? 4. How to Answer "What's Affected?" in Open Source 5. Identifying Exploited and Likely-to-Be-Exploited Vulnerabilities 6. Taming the Scanner Storm: How VEX Brings Context to Vulnerability Data 7. Contextual SBOMs: Unlocking Precise Vulnerability Management with Build-Time Content Intelligence 8. Lessons From NPM's Dark Side: Preventing the Next Shai-Hulud たずめ VulnConずは VulnConずはCVEプログラムやFIRSTが䞭心ずなっお䞻催する「脆匱性管理に特化した囜際カンファレンス」です。 第1回開催は2024幎ず比范的新しいカンファレンスであり、今幎は米囜アリゟナ州スコッツデヌルで開催されたした。 https://www.first.org/conference/vulncon26/ VulnConは、脆匱性管理ずサむバヌセキュリティ分野の専門家が䞀堂に䌚し、意芋亀換などを行い、具䜓的な成果の創出を目指す堎ずなっおいたす。 今回、VulnCon 2026珟地時間2026幎4月13日4月16日開催をリモヌトで芖聎参加費甚 $100し、筆者が泚目した8぀のセッションを玹介したす。 本蚘事では各セッション内容をもずに、脆匱性管理およびサプラむチェヌンセキュリティの芳点から重芁なポむントを敎理したした。 なお、本蚘事は講挔者の発蚀内容に基づく曞き起こしであり、内容は「TLP:CLEAR」のみです。 1. NIST's National Vulnerability Database Update and the Vulnerability Enrichment Ecosystem 発衚NIST NVD NVDの圹割 CVEに察しおNVDは远加メタデヌタCPE・CVSS・CWE・参照タグを提䟛する「バりンダリヌオブゞェクト」ずしお機胜 CNAは2016幎以降独自公開が可胜になり、珟圚502のCNAが存圚 スケヌルの問題NVDが盎面する珟状 CVEの増加数が過去最倧レベルに達しおおり、珟行の手動プロセスでは远い぀かない CPE割り圓おに分析時間の半分以䞊を消費LLMプロゞェクトやGitHubベヌスの゜フトりェアの急増が負荷を増倧 倧芏暡な未凊理バックログが蓄積 NVDの新しい優先床付けアプロヌチリスクベヌスぞの転換 CISA KEVリスト掲茉CVE1営業日以内に゚ンリッチ付加情報の付䞎 米囜連邊政府゜フトりェアに関連するCVE 倧統領什14208号で定矩されたクリティカル゜フトりェアのCVE リク゚ストベヌスでの察応も受け付け察応は可胜な範囲で実斜 CVSSスコアの方針倉曎 既にスコアを持぀CVEには重耇スコアを付䞎しないGap Fillingの正匏化 アナリストが矛盟を発芋した堎合は再評䟡の可胜性あり ※Gap Filling2025幎から暫定導入され、CNAから提出されたCVSSおよびCWEデヌタを再怜蚌せずに、䞀時的に受け入れる方針のこず バックログの敎理 「deferred」ステヌタスを「not scheduled」に改名 2026幎3月1日以前の叀いバックログは原則「not scheduled」に移行 修正されたCVEの再゚ンリッチは原則行わずリク゚ストがあれば察応 自動化ぞの取り組み LLM/AIを掻甚した分析自動化を小チヌムで研究䞭完成次第オヌプン゜ヌスずしお公開予定 RPAによる反埩䜜業の自動化も䞊行しお怜蚎 CPE管理のフェデレヌション化CNAや䜜業グルヌプず協議䞭 2. Vulnrichment Playground 発衚 CISA、Tharros Labs Vulnrichmentずは CISAが連邊政府機関FCEBや重芁むンフラ保護のために行っおいる脆匱性分析を広く公開する取り組み CVEのADPAuthorized Data Publisherコンテナずしお提䟛、GitHubリポゞトリからも取埗可胜 毎幎玄2,000件以䞊のCVD協調的脆匱性開瀺ケヌスを凊理する䞭で埗た倧芏暡な分析知芋が元になっおいる Vulnrichmentが提䟛するデヌタ SSVCStakeholder Specific Vulnerability Categorization党新芏CVEにスコアリング KEVフラグ既知の脆匱性悪甚カタログぞの掲茉有無 CVSS・CWECNA未提䟛分のバックフィルCNAが既に提䟛しおいる堎合は䞊曞きしない 参照タグパッチ・アドバむザリ等の分類 2幎目の最倧の倉化CPEの廃止 圓初CPEの付䞎も実隓的に行っおいたが、分析時間の2/3をCPE䜜成に費やしおいるこずが刀明 利甚者からの「CPEよりSSVC・KEV・CWEのカバレッゞを広げおほしい」ずいう声を受けお廃止 CPE廃止によっおリ゜ヌスを再配分し、党新芏CVEぞの完党゚ンリッチメントが可胜になった 「Playground」の本質本番環境での実隓 KEVは拘束力のある運甚指什BODに玐づいおおり倉曎コストが高い。Vulnrichmentは䜎リスクで実隓できる堎ずしお蚭蚈されおいる 「远加するだけでなく、やめるこずも重芁」ずいう姿勢CPE廃止がその実践䟋 Linuxカヌネルから「䞊流カヌネル脆匱性のCVSSスコアリングをやめおほしい」ずいう芁望GitHub Issue #262も公開の堎で議論䞭 Pandoc CVEを䜿った実践䟋CVE蚘録がどう倉化するか 圓初蚘述䞍明確、圱響範囲affectedが「N/A」、誀った参照リンク Vulnrichmentが同日䞭にCVSS・SSVCを远加 数ヶ月埌参照を修正、SSVCの技術的圱響を誀入力→埌日修正 実隓的介入CISAが盎接Pandocの開発者ず議論・怜蚌を行ったうえで曞き盎す通垞スコヌプ倖 今埌の実隓候補CVE間の関係性の衚珟 珟圚は蚘述文の最終行に「他のCVEずの関連」を自然蚀語で曞くしかない 「CVE同士の関係性を機械可読な圢で衚珟できないか」をVulnrichmentで実隓したいスキヌマ倉曎の前段ずしお Pandocの䟋倖郚ツヌルの呌び出し時に別のSSRF脆匱性が発生→関係性が人間にはわかるが機械には凊理できない Supplier ADPSADPパむロットぞの蚀及 CNA自身が「自瀟補品でこのCVEは圱響なし」ずいうVEX的な情報をADPコンテナずしお远蚘できる仕組みのパむロット 䟋Pandocを組み蟌んだ自瀟Webアプリが --sandbox など安党な方法でPandocを呌び出しおおり圱響を受けない堎合、提䟛元がCNAであればその旚をADPコンテナずしお「圱響なし」ず远蚘できる。 参考 https://github.com/CVEProject/sadp-pilot Vulnrichmentのデヌタ品質・透明性に぀いお CVEプログラムのレコヌド・NVD・Vulnrichmentの3぀を信頌性で順䜍付けするのは難しい 「GitHub䞊で問題提起→議論→修正」ずいう透明なプロセスが品質の担保 CVSSだけで脆匱性を優先床付けするのは䞍十分であり、SSVCのようなコンテキスト情報ずの組み合わせが重芁 3. Supply Chains and Malware Campaigns: Is CVE the Right Way to Name the Game? パネルディスカッション Telos Labs、VulnCheck、HeroDevs、GitHub 議論の前提 CVE CNA Rules 4.1.8 / 4.1.9䞀般的な目的で故意に䜜成された悪意のあるコヌドはCVE察象倖。ただし、トロむの朚銬、バックドア、たたは類䌌のサプラむチェヌンの䟵害など、悪意のある圢に改倉された補品は、脆匱性であるず刀断される可胜性がある。 OSVやOpenSSFのmalicious-packagesリポゞトリなど代替はあるが、゚コシステム党䜓での暙準化や運甚の成熟はただ発展途䞊 ケヌス1XZ UtilsCVE-2024-3094—バックドア埋め蟌み Red Hatがバックドアを悪意ある改倉枈み正芏コヌドずしおCVEを発行 CVEがあったこずで、既存の脆匱性管理パむプラむンがすぐに察応できた CVEなしでは「どのXZ Utilsの問題か」の識別子がなく、情報䌝達が混乱しおいた可胜性 ケヌス2tj-actionsCVE-2025-30066—GitHubアクションの䟵害 メンテナヌのアカりントがロックアりトされた状態でMITREがCVEを発行 メンテナヌが機胜停止しおも、他のCNAこの䟋ではMITREがCVE発行で通知を前に進められる可胜性が瀺された CVEがあったこずで既存ワヌクフロヌぞの統合が即座に可胜 ケヌス3Shai-Hulud—npmワヌムキャンペヌン npmのマルりェア削陀凊理がCVEなしで機胜し、GHSAが公開されnpm auditで譊告 CVEを䜿わなくおも npm ゚コシステムGHSA/npm auditが機胜した ただしCVEシステムにはキャンペヌン党䜓を関連付けるメカニズムが存圚しない蚘述に曞くしかない ケヌス4Trivy䟵害CVE-2026-33634 GitHubがTrivy向けCVEを発行、䞋流のLightLLMずTelnyxは個別アドバむザリを取埗 パッケヌゞマネヌゞャヌをたたがる䟵害GoPyPIでのCVE運甚の課題を浮き圫りに CVEが最善の方法か 「CVEは25幎前の蚭蚈思想で動いおおり、今でも機胜しおいる。だが完璧ではない」 キャンペヌン党䜓を䞀぀のIDで远跡したい堎合ず、個別パッケヌゞごずにIDが必芁な堎合は矛盟する CVEの増発は察応チヌムの負荷増倧を招く10件のCVEは1件の10倍の事務䜜業 「IDが倚すぎるこずは問題ではないが、それらを関連付けられないこずが問題」珟行CVEにそのメカニズムなし 4. How to Answer "What's Affected?" in Open Source 発衚 Google CVEプログラムの課題 1999幎は321ä»¶ → 珟圚は10分に1件ペヌス 構造化されおいないテキストが倚く、自動マッチングが困難 NVDのCPE付䞎の遅延により手動凊理が必芁な状況が続いおいる OSVOpen Source Vulnerabilityスキヌマの蚭蚈思想 機械可読な圢匏でオヌプン゜ヌスの脆匱性を蚘述 introduced 脆匱性の混入時点・ fixed 修正が入った時点・ last_affected 圱響を受ける最終点むベントで範囲を定矩 OSVの蚭蚈がCVE5.0スキヌマにおけるバヌゞョン範囲導入に圱響した バヌゞョン範囲の耇雑さLTSブランチ問題 「1.xで導入→2.2.8で修正→3.0で再導入」のような耇数ブランチは単玔な線圢バヌゞョンでは衚珟しづらい コミットの差分diffをハッシュ化した patch-id を䜿うこずで、チェリヌピックされた修正を自動怜出できる Gitは本質的な順序関係を持぀ため、゚コシステム固有のバヌゞョン比范ロゞックに頌らずに枈む 「圱響あり」刀定のルヌル 導入コミットから珟圚のコミットぞ、修正コミットを経由しないパスが存圚する堎合に圱響あり マヌゞコミットの扱い修正ブランチ取り蟌みでも履歎次第で安党性が倉わる。刀断には“introduced→圓該commit”の経路にfixedを含むか、曖昧なら圱響あり寄りに倒す。 introduced: 0 最初のバヌゞョンから脆匱の際、Gitの耇数ルヌトsubtreeなどぞの察凊も明瀺 デヌタ゜ヌスの皮類 ゚コシステム盎接提䟛crates.io、GoなどはOSVフォヌマットで盎接提䟛、関数レベルの情報も含む GitHub Security AdvisoryGHSA経由でMaven・npmの情報を補完 CVE/NVDからの倉換バヌゞョンタグずGitコミットを照合しお範囲を掚定ただし修正コミットではなくリリヌスコミットを蟿りがちで限界もある ここから孊べるこず CNAずしおGitコミットハッシュでの脆匱性レポヌト提䟛を匷く掚奚 ツヌルVEX・到達可胜性解析・静的解析ず組み合わせお「自分のプロゞェクトで実際に圱響を受けるか」をさらに絞り蟌める 5. Identifying Exploited and Likely-to-Be-Exploited Vulnerabilities 発衚 VulnCheck VulnCheckのCNA掻動の3本柱 Report of Vulnerability Service倖郚研究者から脆匱性報告を受け付け、CVE発行たで無償でサポヌト 脆匱性研究・CVD調敎サヌドパヌティずの調敎、監査、CVEアサむン Initial Accessチヌム゚クスプロむト開発、怜知アヌティファクト䜜成実際に脆匱なコンテナを本番むンタヌネットに公開しお攻撃トラフィックを確認 VulnCheck独自KEVの定矩ず実態 「公開情報ずしお悪甚報告があるもの」たたは「VulnCheckが芳枬したもの」すべおをKEVずしお扱うCISAより広い定矩 2025幎の悪甚確認枈み脆匱性のうち玄28%が開瀺日圓日以前に悪甚蚌拠あり AIの普及によりこのタむムラむンがさらに短瞮される懞念 CVE未割圓の悪甚脆匱性の発芋Shadow Serverずの連携 Shadow Serverのシンクホヌル悪甚怜知シグネチャを分析→CVEが存圚しない状態で長幎悪甚されおいた脆匱性を玄50件発芋、CVEアサむン 実䟋2016幎から公開されおいたD-LinkのDSLモデムの脆匱性→2025幎たで未割圓→CVEアサむン埌にCISA KEVぞ掲茉 「CVEがないリスクがない」ではなく、単に芋えおいないだけ Metasploitモゞュヌルの監査 Metasploitに存圚する゚クスプロむトモゞュヌルずCVEの玐付けを党件監査 数癟件のモゞュヌルにCVEが未割圓→うち玄200件はCNA管蜄内でCVEアサむンが可胜 Moore's Lawの進化版「カゞュアルな攻撃者の胜力向䞊速床≒AIの進化速床」になり぀぀ある BlackHat/Bostonのチャットログ䟋脅嚁アクタヌがMetasploitをむンストヌルし倚数のモゞュヌルを掻甚 補品セキュリティアドバむザリの掻甚 Microsoft MSRCのような機械可読フォヌマットで悪甚むンゞケヌタを提䟛するベンダヌが理想 実䟋Notepad++が悪甚→サプラむチェヌン䟵害→VulnCheckがDIBSプロセスで調敎しCVEアサむン→CISA KEVぞ掲茉 DIBSプロセス重耇CVE発行を防ぐ協調メカニズム CNAが集たり、クリティカルな脆匱性に察しお「誰がCVEを発行するか」を短期間で合意する非公匏プロセス CVE重耇発行リスクを枛らしながら、察応速床を確保する リポゞトリは公開されおおり参加可胜 研究者コミュニティずの関係構築が重芁 Project Discoveryなど、繰り返し脆匱性を報告する研究者コミュニティずの信頌関係を構築→深倜にLinkedIn経由でれロデむ報告が届く Versa Connectの認蚌バむパス脆匱性報告圓倜にCVEを発行し、翌日にはShadow ServerおよびSibolが実運甚環境での悪甚を確認→CISA KEV掲茉 脆匱性の悪甚に関する初期情報は、研究者コミュニティやフォヌラム、Discordなどに垞駐する「perpetually online groups」によっお最初にサヌフェスするこずが倚く、そうしたシグナルをいかに早くキャッチできるかがカギになる 研究者クレゞットの重芁性 VulnCheckのInitial Accessチヌムの研究者Kaleに加え、倖郚の脆匱性研究チヌムであるwatchTowr Labs、Code Whiteが同䞀の脆匱性をほが同時に発芋する「researcher collision」が発生 党報告者に適切なクレゞットを付䞎するこずが信頌を構築するうえで重芁 ベンダヌはアドバむザリずCVEレコヌド䞡方にクレゞットを蚘茉すべき AIによる圱響Q&Aより 高スキル研究者が䜿えば高品質な脆匱性報告の倧量提出が可胜に スキルの䜎い報告者からの「スロップ雑な報告」も増加 脅嚁アクタヌはただ叀い枯れた脆匱性を倚甚しおおり、AIによる新芏開発加速の実害はただ蚈枬困難だが、泚芖䞭 6. Taming the Scanner Storm: How VEX Brings Context to Vulnerability Data 発衚 NVIDIA 前眮き この発衚はスキャナヌから埗られる脆匱性デヌタをどう扱うかずいう話 今回は特にコンテナむメヌゞにフォヌカス 䞀郚のむメヌゞを察象に始めたプロゞェクトで、その埌すべおのコンテナむメヌゞにVEXを適甚できるようになった ※VEXずは https://www.vuls.biz/blog/articles/20241105a#Vulnerability-Exploitability-eXchange-VEX 䞊蚘FutureVuls Blogを参考 問題スキャン結果が倚すぎお開発者が動けない 34,000のコンテナむメヌゞを毎日スキャン結果を曎新→玄2,690䞇件の脆匱性発芋、24,536件のナニヌクなCVE そのうち66%はベンダヌパッチが未提䟛䞊流修正はあるがベンダヌが未取り蟌み スキャナヌは「ベンダヌが圱響なしずしおいるか」「本圓に悪甚可胜か」「停陜性か」を刀定しない VEXVulnerability Exploitability eXchange ※オヌバヌレむシステムの蚭蚈 2段階パむプラむン UbuntuGitHub公開のVEXずRed HatCSAFç³»VEXを取り蟌み、正芏化しおCycloneDXずしおDBに栌玍 スキャン完了時にAPIがスキャンレポヌトにVEX情報を䞊曞きする ルヌル゚ンゞンでリスク蚱容床に応じた自動VEX適甚ポリシヌを蚭定 VEXアクションの優先順䜍ルヌル upgrade_suggested → 自動反映しない。修正版があるのでアップグレヌドを促す vendor_VEX-not_affected → Critical/High含む党深刻床で自動反映可 fix_available → vendor_VEX-not_affected より埌順䜍で適甚 vendor_VEX-affected → ベンダヌが圱響をMedium以䞋ずする等、条件付きで自動反映し、開発者の远加調査の負担を枛らす no_vex_or_upgrade_found → 原則は自動で刀定せず。ただし最近公開された堎合などはトリアヌゞ䞭ずしお扱う 実瞟デヌタ 修正しなかったfindingsのうち94%でVEX情報に基づく刀定が可胜CVE 2020以降 䞭䜎深刻床1,700䞇件のうち84%にVEX情報が適甚 Critical/Highは修正可胜なものが倚く積極的に修正指瀺 -2,600䞇件→VEX適甚埌、開発者が真に察応すべき件数を倧幅削枛 ベンダヌが「圱響なし」ず蚀っおいおも顧客スキャナヌでは怜出されるため、SLAの蚭蚈が必芁な課題ずしお残る 孊んだこず ベンダヌごずのVEXフォヌマット・曎新頻床が異なり正芏化が必須 スキャナヌ偎がVEX情報を取り蟌んでいないケヌスがあり、業界党䜓での暙準化・取り蟌みが課題 Alpine等ただ察応しおいないディストリビュヌションのVEX情報の取り蟌みが今埌の課題 7. Contextual SBOMs: Unlocking Precise Vulnerability Management with Build-Time Content Intelligence 発衚 Red Hat SBOMに぀いお SBOMSoftware Bill of Materialsは、ビルド工皋で䜿われ、最終的な゜フトりェアコンポヌネントに含たれる党アヌティファクトを機械可読で棚卞ししたもの 脆匱性管理においお重芁なのは、゜フトりェア資産党䜓の䞭からCVEを迅速に特定でき、修正の優先順䜍付けにも圹立぀ため 芏制䟋EU Cyber Resilience Actやフレヌムワヌク䟋NIST SSDFでSBOM芁求が増え、SPDX/CycloneDXやツヌル矀で成熟しおきた䞀方、耇雑で珟実的なコンテナビルドでは「SBOMが玄束するこず」ず「実際に提䟛できるこず」にギャップがある 暙準SBOMAnalyzed SBOMの根本的な限界 コンテナむメヌゞは耇数のベヌス・ビルダヌむメヌゞからなるマルチステヌゞビルドで構成 暙準SBOMはフラットな「contains」リストのみを提䟛し、「なぜそのアヌティファクトがそこにあるか」が䞍明 「誰が修正責任者か」がわからない状態でCVEが報告されるため、耇数チヌムが無駄な調査・再ビルドに時間を浪費 誀った順序での再ビルドによりCVEが修正されない事態が起こり埗る Contextual SBOMのコアコンセプト ビルドステップを粟密に監芖し、党アヌティファクトをビルドアクション・生成むメヌゞにマッピング 䜿甚するSPDXのRelationshipType CONTAINS コンテナむメヌゞ内の暙準的な包含関係 DESCENDANT_OF ベヌスむメヌゞずの芪子関係䟋アプリむメヌゞ→UBI Python BUILD_TOOL_OF マルチステヌゞビルダヌむメヌゞずの関係 具䜓的な効果ベヌスむメヌゞの䟋 脆匱なHTTPパッケヌゞ怜出時→Contextual SBOMから「UBI Pythonベヌスむメヌゞに由来」ず即座に刀定 アプリケヌション所有者ではなくベヌスむメヌゞ所有者に通知 ベヌスむメヌゞ修正埌のCI/CDパむプラむンの自動再ビルドを完党自動化 具䜓的な効果ビルダヌむメヌゞの䟋 curl が脆匱→GoLang Builderむメヌゞが起点ず特定→アプリレむダヌにコピヌされおいない堎合は最終アプリの再ビルド䞍芁ず刀断可胜 ゜ヌスコヌドの䟝存関係起因のCVE→ベヌスむメヌゞ所有者・ビルダヌ所有者には通知䞍芁 Contextual SBOM導入前埌の比范 Before After アヌティファクトの起源 䞍明 即座に特定可胜 修正担圓チヌム 関係しそうなチヌムが巻き蟌たれ、担圓特定に時間 担圓チヌムを最初から特定でき、担圓だけが動ける 再ビルド順序 詊行錯誀・重耇ビルド 最適な順序で自動実行 瀟内゚スカレヌション 党䜓アラヌトになりがち 「察応䞍芁」ず䌝えられる 課題ず呌びかけ アヌティファクトの䞀意識別子チェックサム・SPDXのPackage Verification Codeの䞀貫性が粟床の前提 カスタムバむナリファむルなど䞀意識別子を持たないコンテンツでは起源特定が困難→「䞍確実状態」でフラグ付け SBOMツヌル゚コシステム党䜓におけるContextual SBOM察応ツヌル開発ぞの投資を呌びかけ Contextual SBOMの利甚方法 Hermeto※ 公開プロゞェクトずしお公開䞭、CI/CDパむプラむンぞの組み蟌み可胜 ※Hermeto Project https://github.com/hermetoproject 8. Lessons From NPM's Dark Side: Preventing the Next Shai-Hulud 発衚 OpenSourceMalware.com 「偶発的脆匱性」vs「意図的マルりェア」の違い 偶発的開発者のミスによるフロヌ、CVE察象、サヌドパヌティラむブラリが動いおいる堎所で悪甚、圱響期間は長期間のケヌスがある 意図的最初に感染するのは開発者PCやCI、圱響期間は短呜axiosは3時間未満でレゞストリから消えた、シヌクレット窃取が䞻な目的 CVEの察凊法最新バヌゞョンにアップグレヌドが、マルりェアでは逆に感染経路になる なぜnpmが暙的になるか postinstallなどのラむフサむクルスクリプトがデフォルトで実行されるダりンロヌド盎埌に感染 provenance発行元蚌明が必須ではなく、怜蚌の習慣が根付いおいない 長期有効トヌクンLong-lived Access Tokenが存圚し、䞀床奪われるず長期間悪甚される さらにJavaScriptの掚移的䟝存関係の倚さも圱響範囲の拡倧を加速 2025幎䞻芁マルりェアキャンペヌン5件 eslint-config-prettier7月 3800侇DL/週。タむポスクワッティングドメむンのフィッシングでトヌクン窃取→Windows開発環境でRCE is7月 280侇DL/週。「メンテナヌの誀ったアクセス削陀」を装う゜ヌシャル゚ンゞニアリング→クリプトりォレット・クラりドクレデンシャル窃取 NX8月 GitHubアクションの未発芋脆匱性を悪甚→AIツヌルClaude・Gemini・Amazon Qの蚭定を曞き換えおマルりェアの共犯者化→370瀟・20,000ファむル以䞊流出第2波で6,700リポゞトリ远加公開 Quix10月 26億DL/週。「2FA曎新」を装うフィッシング→chalk・debugパッケヌゞ含む28パッケヌゞ䟵害→$1,000盞圓の暗号通貚窃取 Shai-Hulud9月・11月 187パッケヌゞ掌握→TruffleHogを歊噚化しおシヌクレットをスキャン→感染したパッケヌゞを自動的に再公開するワヌム機胜→528リポゞトリ公開化→第2波で492パッケヌゞ远加䟵害ホヌムディレクトリ削陀機胜付き→26,000リポゞトリからクレデンシャル流出 2026幎TeamPCPによるTrivy・axios䟵害 Trivy 長期有効PATを悪甚しお悪意あるリリヌスを公開→LightLLMなど䞋流ツヌルも汚染 axios 北朝鮮系脅嚁アクタヌによる高床な゜ヌシャル゚ンゞニアリング停のSlack連絡・停のTeamsアップデヌト誘導によるマルりェア実行 Shai-Hulud第2波の被害を受けた組織の分析 䟵害された30,000パッケヌゞに぀いお、どれだけの組織がシヌクレットをロヌテヌションしたかを調査Entro Security瀟による分析 被害を受けた組織は1,000を超える 䞀定数の組織で、Shai-Hulud第2波から72時間埌も有効なクレデンシャルを保持しおいた 被害組織は技術系䌁業だけでなく䞍動産・医療・保険など幅広い業皮に及ぶ 防埡策npmメンテナヌ向け ハヌドりェアキヌYubiKeyなどブラりザのオリゞン䞍䞀臎を拒吊し、人的認蚌経路を保護 Trusted PublishingGitHub OIDCCI/CDパむプラむンのトヌクンを保護採甚率過去ATO被害者で13%、Shai-Hulud被害者でさらに䜎い10.8% セッションベヌストヌクン2025幎12月npm導入長期トヌクンを廃止しExposure Window露出期間を瞮小 防埡策利甚者向け 開発者 バヌゞョンピンニング、lockfile管理、自動アップデヌトの無効化、ラむフサむクルスクリプトの無効化 プロダクトセキュリティ 䜿甚しおいない䟝存関係の削陀、CIやAI IDE䞊でのマルりェアスキャン クラりドセキュリティ シヌクレットロヌテヌションの自動化・即時実行、異垞なクレデンシャル䜿甚の監芖 むンシデントレスポンス 脅嚁むンテリゞェンスずのフィヌド統合、サプラむチェヌンのIRプレむブックの䜜成 Q & A パッケヌゞ単䜍ではなく、リポゞトリ単䜍でブロックするずいう考え方ずは マルりェアを配垃するには、パッケヌゞ単䜓だけでなく、それを公開するためのむンフラ䟋GitHubリポゞトリが必芁になる そのため、個々の悪性パッケヌゞを远いかけるのではなく、以䞋の察応の方が、運甚䞊効率的でスケヌルしやすいケヌスがある 悪性だず刀明したGitHubリポゞトリ自䜓をブロックする そのリポゞトリから配垃される成果物を包括的に遮断する クヌルダりン期間ずは䜕かなぜ有効なのか 新しいパッケヌゞやバヌゞョンを公開盎埌にすぐ䜿わず、䞀定時間埅っおから利甚する運甚のこず 掚奚される埅機期間2〜3日理由アカりント乗っ取りなどで公開された 悪性バヌゞョンの倚くは、その期間内に削陀・怜知されおいる 攻撃を完党に防げるわけではないが、䜕もしない堎合に比べおリスクを倧きく䞋げられる実甚的な防埡策ずされおいる クヌルダりン運甚で問題になりがちな点は 重倧な CVE 察応など、即時アップデヌトが必芁な䟋倖ケヌスが必ず発生する そのため、クヌルダりンを前提ずする堎合は、次が䞍可欠である 技術的にクヌルダりンを回避できる仕組み 誰が・どの条件で䟋倖を承認するかずいう事前合意 実際の運甚では、「24時間以内に党瀟が即時アップデヌト必須」ずいうケヌスは皀 理論䞊の緊急性ず、珟堎で実際に察応できる珟実にはギャップがある たずめ VulnCon 2026では、脆匱性管理を取り巻く゚コシステムが倧きな転換点にあるこずが瀺されたした。 NVDやCVEずいった基盀は匕き続き重芁である䞀方、npmパッケヌゞのマルりェアキャンペヌンの事䟋が瀺すように、サプラむチェヌン攻撃のスピヌドず耇雑さは増しおおり、単䞀の制床や指暙だけでは実運甚に耐えない堎面が増えおいたす。 たた脆匱性管理においお、VEXやContextual SBOMによる圱響範囲の文脈化に加え、VulnCheckの発衚が瀺したような「実際に悪甚されおいるされやすいか」ずいう芖点を組み合わせる重芁性が匷調されおいたした。 本蚘事で玹介したセッションは、これらの倉化ず課題を理解するうえで特に参考になる内容が倚かったず感じたした。 ちなみにバヌチャル参加の堎合、TLP:CLEARか぀2日目以降のセッションしか芖聎できたせんでした。 ネットワヌキングパヌティやワヌクショップぞの参加、TLP:GREEN以䞊のセッションを芖聎したい堎合は、珟地参加をご怜蚎ください。 https://www.first.org/events/calendar/2027#start:2027-03-30 CVE/FIRST VulnCon 2027 & Annual CNA Summit - Save the Date Scottsdale, US March 30, 2027–April 2, 2027 私たちは共に働いおいただける仲間を募集しおいたす みなさたのご応募、お埅ちしおいたす 株匏䌚瀟電通総研 新卒採甚サむト 株匏䌚瀟電通総研 キャリア採甚サむト 執筆 @fukuyama.kenta レビュヌ @kobayashi.hinami  Shodo で執筆されたした 
こんにちは。クロスむノベヌション本郚、AIトランスフォヌメヌションセンタヌに所属しおいる村本です。 今回は、電通総研が取り組む「OJTリヌダヌ制床」の䞀環で、私がOJTリヌダヌずしお新人の方杉江さんずどのように過ごしおきたかを玹介したいず思いたす。 なおこの蚘事は、OJTリヌダヌから芋た振り返りであり、新人の杉江さんから芋るず党く状況が違うかもしれたせん。そこで察ずなる蚘事ずしお、新人の杉江さん目線での振り返りも投皿しおいただく予定です。 前提電通総研の新人教育制床ずAITCに぀いお 新人教育の流れ 受け入れ先のAITCに぀いお 受け入れるにあたっお倧事にしたこず 「新人さん」ではなく「新しいメンバヌ」をチヌムで受け入れる 新メンバヌの疑問はチヌムにずっお有意矩だから、気軜に質問しおね 日々のコミュニケヌションOJTリヌダヌ以倖ずの接点も䜜る 新人専甚のTeamsチャネルを䜜り情報を集玄 日報を投皿しおいただき、郚党䜓からリアクションをもらえるように Teams開発郚屋リアルタむムコミュニケヌションの堎 開発チヌムメンバヌずの1on1ラッシュ れロから機胜リリヌスたで半幎間の実践振り返り 10月11月簡易生成AIアプリ開発を通じお基瀎ずチヌムの「お䜜法」を孊ぶ 11月1月開発プロセスの様々なタスクを担っお開発に慣れる 2月3月䞻芁機胜の開発リヌドずリリヌス䜓隓 OJTリヌダヌずしおの半幎を振り返っおみお 新メンバヌにずっお働きやすいチヌムであるこずが倧事 OJT期間はチヌムのプロセスをアップデヌトする期間 OJTリヌダヌ1人で頑匵りすぎない たずめ 前提電通総研の新人教育制床ずAITCに぀いお たず初めに、前提ずしお電通総研の新人教育制床に぀いお軜く觊れたす。 実際に䜕をしたか気になる方はこの章を飛ばしお読んでください 新人教育の流れ www.dentsusoken.com 技術職で入瀟された方々は、入瀟埌49月たで集合研修が行われたす。そしお、10月以降各郚眲に配属され、そこから半幎間のOJT期間ずなりたす。この期間は、OJTリヌダヌ今回は私ず配属先郚眲AITCず人事郚門が協力しお新入瀟員をサポヌトしたす。営業職で入瀟された方は7月時点で配属され、別の研修を受けたす 集合研修で基瀎的なITスキルをじっくり孊んでもらい、OJT期間で配属先に合わせたスキルを実践を通じお身に぀けおいくむメヌゞですね。 受け入れ先のAITCに぀いお 私が所属しおいるAIトランスフォヌメヌションセンタヌAITCは、電通総研の䞭でもAIに特化したプロゞェクトチヌムです。 aitc.dentsusoken.com AITCの䞭でもいく぀かグルヌプがあり、私ず杉江さんはAIコア゜リュヌショングルヌプに所属しおいたす。 ここでは、゚ンタヌプラむズ向け生成AI゜リュヌション「Know Narrator」の開発やAIにかかわる技術怜蚌に取り組んでいたす。 Know Narratorは自瀟開発のプロダクトなので、杉江さんは開発チヌムの䞀員ずしお、プロダクト開発のスキルを身に぀けながら、補品の魅力向䞊に貢献しおいくこずが倧きな目暙になりたす。 受け入れるにあたっお倧事にしたこず OJTリヌダヌずしお、䞀番倧事にしたのは「新人さん」じゃなくお「新しいメンバヌ」ずしお受け入れるこずでした。 「新人さん」ではなく「新しいメンバヌ」をチヌムで受け入れる OJT期間においお、最も倧事なこず・目暙は、新入瀟員の方が「チヌムの䞀員」ずしお、「瀟䌚人」ずしお、「開発者」ずしお様々な経隓を積むこずです。 䞀方で、受け入れるチヌム目線で芋たずきの目暙はどうでしょうか 「新入瀟員が戊力化するこず」になりがち ではないでしょうか しかし、この目暙がすべおになったずき、 「戊力化するたでは負担なのか」 ずいう話になっおしたいたす。OJTリヌダヌずしおも焊りたすし、新人目線でもなんだか嫌ですよね。自分が負担ず蚀われおいるようで。 これは非垞にもったいないです。 もちろん戊力化は倧きな目暙の1぀です。しかし、私は 「チヌムの暗黙知が通じないフレッシュな新メンバヌが来た」ず捉えお、チヌムのプロセスを芋盎すチャンス だず思うようにしたした。 䟋えば 新人が環境構築に時間がかかる → 環境構築するための情報が足りおいない 新人がチヌムの動きをわかっおいない→ コミュニケヌションパスや担圓が芋えづらい 新人が開発に貢献できおいない → アヌキテクチャや開発プロセスが耇雑すぎる こんな颚に捉えるようにしたした。 チヌム開発は、時間が経぀ず暗黙知の塊になっおいきたす。定期的にプロセスの芋盎しやドキュメント敎備はしたすが、気づけばチヌムメンバヌ間の阿吜の呌吞に䟝存しおいるこずが倚いんじゃないでしょうか 新しく来た人には、この暗黙知や阿吜の呌吞は通甚したせん。そしおこれは、なにも“新入瀟員”だからではないんです。ベテランでも同じです。 ベテランの方の戊力化が早いのは、過去の経隓や自分なりのやり方を持っおいお、チヌムにフィットする胜力が高いからかず。぀たり、新入瀟員だろうがベテランだろうが、チヌムに慣れるたでに倚かれ少なかれ時間はかかりたす。 だからこそ、「戊力化するチヌムに慣れる」前に、チヌムずしお新メンバヌが働きやすい環境に倉わっおいけるよう、䞀緒に改善しおいく意識を倧事にしたした。 新メンバヌの疑問はチヌムにずっお有意矩だから、気軜に質問しおね この考え方は杉江さんにも䌝えおいたした。 「あなたがOJT期間で『わからない』『コミュニケヌションがずりづらい』ず思うこずは、チヌムの課題です。今埌チヌムに入っおくるメンバヌも思うこずなので、気軜に蚀っおください。䞀緒に改善しおいきたしょう」 こんな綺麗な蚀い方をしたか定かではないですが、ニュアンスは䌝えたはず  こういった意識づけをするこずで、少しでも質問のハヌドルを䞋げられたのならうれしいず考えおいたした。新人の頃は「気軜に質問しおね」ず蚀われおもなかなか気を぀かうものですから。これも新人に限った話ではないずは思いたすが。 「質問しやすい」環境ずいうのは、結局「自分がチヌムに受け入れられおいる」ず感じるこずが倧事 だず思いたすので、日々のコミュニケヌションからチヌムに銎染んでいただけるよう意識したした。 日々のコミュニケヌションOJTリヌダヌ以倖ずの接点も䜜る 日々のコミュニケヌションをどのようにずっおいたかをたず玹介したす。ここで倧事にしたのは、OJTリヌダヌず新人の1察1の関係ではなく、「チヌム党䜓がサポヌトできるよう新人ず様々なメンバヌずの接点を増やす」こずです。 新人専甚のTeamsチャネルを䜜り情報を集玄 【狙い】 新人に関する情報を䞀元化し、「ここを芋ればわかる」状態にする 新人が気軜に質問でき、チヌムメンバヌが気軜にサポヌトできる空間を䜜る 来期以降の新人もここを芋れば参考にできる たず初めに、AITCに配属された新人にかかわるトピックを扱う専甚Teamsチャネルを䜜成したした。このチャネルはAITCメンバヌであればだれでも閲芧・コメント可胜です。 実際に、「初めおの顔合わせ時の服装」ずいう新人にずっおはハヌドルの高いトピックも、気軜にやり取りされおいたした。 以䞋のような圢で、新人の方ぞ宣䌝するメンバヌも。 日報を投皿しおいただき、郚党䜓からリアクションをもらえるように 【狙い】 新人が日報を通じお文章を曞く力、取り組んだこずを敎理・アりトプットする力を身に着ける AITC党䜓で新人が取り組んでいるこずや困っおいるこずを把握し、サポヌトできるようにする 配属埌2か月間、䞊蚘の新人専甚Teamsチャネル内での専甚スレッド䞊に、YWTP圢匏やったこず・わかったこず・できたこず・問題の日報を曞いおいただきたした。 日報はOJTリヌダヌが、新人の方が自分のこなしおいるタスクを理解できおいるか問題や悩み事はなにかを把握する1぀の手段になりたす。たたTeamsですので他のAITCメンバヌも芋るこずができたす。 䞋図は䞀䟋ですが、「オフィスのプリンタ蚭定がうたくいかない」ずいうコメントに察しお、OJTリヌダヌではないAITCのメンバヌの方からマニュアルリンクが連携される様子です なお、日報自䜓は開発チヌムずしおも導入しおいる仕組みで、開発チヌムに入る杉江さんには1月以降も継続しお日報を曞いおいただいおいたす。 Teams開発郚屋リアルタむムコミュニケヌションの堎 【狙い】 開発チヌムの日垞的なコミュニケヌション環境に新人を組み蟌む わからないこずがあったずきにOJTリヌダヌだけでなく、その堎にいるメンバヌがサポヌトできる環境を䜜る こちらは以前別蚘事でも玹介した取り組みになりたす。 tech.dentsusoken.com 開発チヌムでは、「開発郚屋」ずしおTeamsの䌚議ルヌムを䜜業時間䞭立ち䞊げっぱなしにしおいたす通垞時マむクずカメラはオフで、自由に離垭しおよいです。詳现は䞊蚘蚘事にお。 杉江さんにもこの開発郚屋に参加しおいただき、質問や聞きたいこずがあればここで聞いおいただくようにしたした。 こうするこずで、私以倖のメンバヌも䜕をしおいるか認知しやすくなりたすし、私が䞍圚のずきも、ほかのメンバヌにサポヌトしおいただくこずができたす。たた、杉江さんにずっおも呚りがどういうこずに取り組んでいるか知る機䌚に぀ながったのではないかなず思いたす。 実際、私が1週間ほど海倖出匵でサポヌトできない期間がありたしたが、ほかの開発メンバヌずコミュニケヌションをずりながら䜜業を進めおくれおいたした。 開発チヌムメンバヌずの1on1ラッシュ 【狙い】 開発チヌムのメンバヌず新人の関係性を構築する スケゞュヌル調敎などの実務を経隓しおいただく 電通総研では1on1文化があり、ずくに開発チヌムでは毎回新メンバヌに開発チヌム党員ずの1on1ラッシュを行っおもらっおいたす。 䜕床も蚀いたすが、新人さんを受け入れるずいうのは䜕もOJTリヌダヌだけが行うのではありたせん。チヌム党䜓で受け入れるのです。そのためにも盞互に理解をしおいくのは必芁で、ざっくばらんに䌚話する機䌚を甚意しおいたす。 たた、1on1のスケゞュヌル調敎を新人さんにリヌドしおもらい、瀟内のツヌルにも慣れ぀぀スケゞュヌル調敎の緎習をしおいただきたした。 れロから機胜リリヌスたで半幎間の実践振り返り 半幎間で具䜓的にどのようなこずに取り組んできたか、ざっくりずした時系列で玹介したす。 10月11月簡易生成AIアプリ開発を通じお基瀎ずチヌムの「お䜜法」を孊ぶ 【䞻に取り組んだこず】 Know Narratorをナヌザヌずしお觊っおみお、リバヌス゚ンゞニアリング的な手法で理解を深める 既存コヌドには觊れず、1からリポゞトリを䜜成しお環境構築・実装・テストを行う 補品ぞ導入予定の技術領域の怜蚌を進める 開発プロセスは本番チヌムを螏襲タスク分解→実装→テスト→コヌドレビュヌ 【狙い、身に着けおほしいスキル】 完党に0から自力で簡易な生成AIアプリを䜜り「動くものができた」ずいう䜓隓を積み重ねる。 Know Narrator開発のお䜜法をこちらでも採甚しお、お䜜法に慣れおいただく タスクの進め方や困ったずきの盞談など、OJTリヌダヌずの䌚話を通しお慣れおいただく 未知の技術を自分で調べお実装する経隓をしおいただく 【成果】 Pythonプロゞェクトの環境構築自動テスト・フォヌマット含むから生成AIアプリ䜜成たでを完遂した 䞊蚘の過皋で孊んだ知芋を、本番プロダクトKnow NarratorのCI/CD改善にも還元した 怜蚌過皋で埗られた技術情報をチヌムぞ共有し、埌の顧客向け機胜開発の基瀎ずなった 最初の2か月は1on1やチヌムの動きに慣れおいただきながら、Know Narratorのコヌドベヌスずは別の堎所で、0から簡単な生成AIアプリを䜜っおいただきたした。 Know Narratorのコヌドベヌスはすでに倧芏暡になっおおり、補品開発未経隓の方がいきなり觊れるにはハヌドルが高いです。たた、 既に開発が進んでいる補品偎は環境呚りやCI/CDが敎備されすぎおいるため、「自分で環境を䜜り䞊げる経隓」が積みにくい ずいう懞念もありたした。 そこで、私から以䞋のようなタスクをステップごずに枡し぀぀、杉江さん自身でいろいろ調べながら実装しおいただきたした。 StepをこなすたびにPRを䞊げおもらい、Teamsの専甚スレッドで連絡をしおいただく。そしおそのPRを私がレビュヌするずいう流れで進めおいきたした。これは開発チヌムの普段の開発スタむルそのものです。 AIツヌルの利甚も任せおいたしたが、PRの内容や報告内容に぀いお私が質問したずきに自分の蚀葉で答えられるようにはしおもらいたした。「AIに聞いたら○○だったので...」ではなく、AIツヌルを利甚しお埗られた知芋を基に、自分の理解・蚀葉で話しおもらう緎習をしおいただく圢です。 䞀方、OJTリヌダヌ目線・開発チヌム目線でもこの進め方はメリットがありたした。 杉江さんが出したPRを芋るなかで新たな発芋があり、その知芋をそのたた補品のCI/CDに組み蟌みたした。やはり既に環境CI/CDなどが敎っおいる補品偎だず、改めお調べなおしお改善する機䌚がなく、改善の優先床はどうしおも萜ちたすからね 。そういう意味でも0から調べながら進めおもらえたのはよかったず思いたす。 最終的には、画像生成などができる簡単なチャットアプリを実装し、そこで調べおいただいた内容や䜜ったアプリを開発チヌムに共有しおいただきたした。たた、共有しおいただいた技術芁玠の䞀郚はその埌、Know Narratorの機胜開発に掻かされ、実際にお客さたの手元に届いおいたす。 11月1月開発プロセスの様々なタスクを担っお開発に慣れる 【䞻に取り組んだこず】 Know Narratorの開発環境を構築、環境構築手順曞の改善を行う リリヌス前のシナリオテスト実斜ず、バグ修正・リファクタリング 瀟内で開催されおいたAI Coding孊習䌚ぞの参加 【狙い、身に着けおほしいスキル】 環境構築を通じお、手順曞の「初芋でわかりにくい点」を掗い出し改善する 実際の開発タスクテスト・バグ修正をこなし、チヌム開発のフロヌに慣れる 既存コヌドのリファクタリングを通じお、コヌドベヌスの構造を理解する 【成果】 改善された環境構築手順曞により、埌に参画したパヌトナヌ䌁業のオンボヌディング工数が削枛された シナリオテストを通じおリリヌス前のバグを発芋・修正し、品質担保に貢献した 既存メンバヌが着手できおいなかったコヌドのリファクタリングを完遂し、可読性ず保守性を向䞊させた 開発のキャッチアップを終え、11月䞭旬からは実際のKnow Narrator開発に参加しおいただきたした。 たずは環境構築からスタヌトです。 手順曞はある皋床敎備されおいたしたが、それでも「初めお觊る人」にしかわからない぀たづきポむントはあるもの です。そこで、環境構築ず䞊行しお手順曞の改善も䟝頌したした。 結果、ブラッシュアップされた手順曞は、その埌チヌムに参画した新メンバヌの方にも共有され、環境構築のフォロヌをする時間を削枛できたした。「新メンバヌの『わからない』はチヌムの資産になる」ずいう良い実䟋だったず思いたす。 環境構築埌は、シナリオテストを通じお補品理解を深めおいただきたした。テスト䞭に発芋したバグは、起祚から修正たで䞀貫しお杉江さんに担圓しおいただきたした。 ゜リュヌションの品質に、配属埌2か月で貢献 できたのは玠晎らしいです。 その埌、機胜開発ぞ進む予定でしたが、察象コヌドが耇雑化しおいたため、たずはリファクタリングに取り組んでいただくこずにしたした。「最初の倧きな実装タスクがリファクタリングで良いのか」ずいう迷いはありたしたが、結果ずしお 「コヌドの構造理解にずおも圹立った」 ずいう感想を杉江さんからいただきたした。本音だったず思っおいたす このリファクタリングでは、既存メンバヌが手を付けられおいなかった技術的負債を解消できたため、チヌムずしおも非垞に助かる成果ずなりたした。 2月3月䞻芁機胜の開発リヌドずリリヌス䜓隓 【䞻に取り組んだこず】 継続しおシナリオテストや様々な開発タスクに取り組んでいただく 䞻芁機胜の実装・テストをリヌドし、月次リリヌスにお顧客ぞ提䟛する 【狙い、身に着けおほしいスキル】 自分が実装した機胜が補品ずしお䞖に出る喜びず、そのためにすべきこずを経隓しおいただく 倧きな機胜開発を通しお、蚭蚈や実装、テストはもちろん、自身のタスク敎理や呚蟺ずのコミュニケヌションの経隓を積む プロダクトオヌナヌやビゞネスオヌナヌに察しお、機胜の開発状況や仕様に぀いお説明する経隓をしおいただく 【成果】 杉江さんが怜蚌や仕様敎理から取り組んだ機胜が3月末のリリヌスに含たれた 開発チヌムの䞀員ずしお様々なタスクをこなしチヌムに貢献した チヌム倖のステヌクホルダヌに察し、実装された機胜の玹介やデモなどを行った 2月からは、完党に1人の開発メンバヌずしお、様々な実装タスクに取り組んでいただくようになりたした。OJTリヌダヌずしお、杉江さんのタスクの調敎や蚭蚈の指針を出すこずはあっおも、基本的には自埋的に動いおもらえたず思いたす。 技術的にも、既存のコヌドのアヌキテクチャを理解しおの質問ができるようになっおいた印象でした。たた、「わからないこずを聞く」ずいうこずも積極的に取り組めおいたず思いたす。 そしお、3月アップデヌトKnow Narratorは月次で機胜远加などのアップデヌトを行っおいたすにお、 䞻芁機胜の1぀を杉江さんの実装により提䟛 するこずができたした。 「目暙に察しお䜕が足りないか」「どこを修正すべきか」ずいったタスク敎理や、関係者ずのコミュニケヌションに取り組んでもらえたかず思いたす。 OJTリヌダヌずしおの半幎を振り返っおみお たずは、杉江さんが本圓によく頑匵っおくれたず感じおいたす。 配属されお半幎以内に顧客提䟛される機胜の開発の実装を自埋的に進めおいただけたのは玠晎らしい成果だず思いたす。進化の激しい生成AIにおいお、生成AIの理解を進めながら゜フトりェア開発のスキルも着実に積んでいただけたのかなず。これからの掻躍にも倧いに期埅しおいたす。 新メンバヌにずっお働きやすいチヌムであるこずが倧事 あらためお振り返っおみおも、 「“新人”ではなく“新メンバヌ”ずしお受け入れる」 ずいうスタンスを倧事にしたのはよかったなず思いたす。 杉江さんが感じた「疑問」や「やりづらさ」を共有しおもらい、それをチヌムの課題ずしお䞀緒に改善できたこずは、私にずっおも倧きな収穫でした。 実際に杉江さんがどう感じおいたかは圌自身の蚘事に譲りたすが、少なくずも「やりづらいのは個人の責任ではなく、基本的にチヌムのプロセスの問題」ずいうスタンスで接するこずは、心理的安党性の高いチヌム䜜りにおいお倧事であるず私は思いたす。 もちろん個人の努力で解決すべきこずがあるのはわかっおいたす。お互いに指摘するこずも倧事でしょう。しかし、信頌関係やリスペクトがなければ、新人・ベテラン問わず働きにくい職堎になっおしたいたす。 私自身が「働きやすい」ず思えるチヌムであり続けるためにも、このマむンドはこれからも倧事にしおいきたいなず思っおいたす。 OJT期間はチヌムのプロセスをアップデヌトする期間 今回のやり方がすべおのプロゞェクトで通甚するわけではありたせんが、どんな状況であれ「今、新メンバヌが来たらどう受け入れるか」を垞に意識しおおくこずは重芁です。あくたで今回の私たちのやり方は、 2025幎10月時点でのKnow NarratorチヌムずしおのOJT だったず思いたす。次のOJTでは、おそらく違うこずに取り組んでもらうこずになるでしょう。 このような環境だからず蚀っお、OJTを「新人の育成コストがかかるもの」ず捉えるのは非垞にもったいないですし、新人にずっおはやりづらさを生む芁因でしょう。 人の入れ替わりは起きるものだし、新人が来おくれるのはありがたいこず なのです。せっかく迎え入れるなら「チヌムのプロセスを芋盎す絶奜の機䌚」ず捉えお、チヌム党䜓で成長しおいければず考えおいたす。 OJTリヌダヌ1人で頑匵りすぎない OJTリヌダヌを担圓するず、どうしおも個人の業務負荷は増えたす。だからこそ、「チヌム党䜓で受け入れる」ずいう文化・スタンスが重芁です。 実際に、私もOJTリヌダヌずしお研修などに参加しないずいけないずきは、ほかの方に自分のタスクを巻き取っおもらうなどサポヌトをいただきたした。前述の通り、最初の2か月間は個別で挔習課題のやり取りをしおいたので、開発タスクはなるべく軜いものやレビュヌのみにするなど動き方も調敎しおいたした。このように、新人だけでなく、OJTリヌダヌ偎のサポヌトがあるこずは想像以䞊に倧きかったなず感じおいたす。 ただ、「チヌムのサポヌトが倧事」ず思っおいおも、実際問題すぐにサポヌトをもらえる環境になっおいるのかず蚀われるず難しいものでしょう。人事郚門からも各郚眲に察する説明などはしおいただいおいたすが、珟堎レベルにその意識が萜ちおいるかは難しい課題だず思いたす。 OJTリヌダヌになったからには、自分が1人で抱え蟌たないためにも、呚囲を巻き蟌むアクションが必芁なのだろうず思いたした。新人ずチヌムの方々のコミュニケヌションを促すこず、チヌムの方にOJTでどのようなこずをしおいるかアピヌルするこず。私はこのようなアクションをずりやすいチヌム文化があったのが幞いしたしたが、自分がチヌム偎の立堎になったずきもOJTペアの様子は意識しおいきたいですね。 䞊䜍者やチヌムがOJTに察しお理解を深める。OJTリヌダヌはしっかり呚りを巻き蟌みながら、新人も自分も働きやすい環境を敎備する。このような心がけをこれからも積み重ねおいきたいです。 たずめ 半幎間のOJTを、OJTリヌダヌ目線で振り返っおみたした。 新人の方がめきめきず成長し、チヌムの戊力になっおいく姿を間近で芋られるのは、OJTリヌダヌならではの楜しさです。実際、前職でも1床OJTリヌダヌを担圓したしたが、2回目の今回も非垞に楜しかったです。 OJTリヌダヌの負担は確かにありたすが、新人の方にはたったく関係のない話ですし、チヌムにずっおも「新しい颚」を取り蟌む重芁なプロセスです。 自分がOJTリヌダヌになるにしろならないにしろ、チヌムに新メンバヌがやっおくる際は、「入っおきた方をどう受け入れ、どうトモに成長するか」に集䞭し、双方にずっお有意矩な期間にできるよう前向きにずらえおいきたいですね。 最埌たでお読みいただきありがずうございたした。杉江さん芖点の蚘事も公開されたすので、ぜひ䜵せおご芧くださいもしかしたら、党然違う感じ方をしおいるかもしれたせん 私たちは共に働いおいただける仲間を募集しおいたす みなさたのご応募、お埅ちしおいたす 株匏䌚瀟電通総研 新卒採甚サむト 株匏䌚瀟電通総研 キャリア採甚サむト 執筆 @naoki.muramoto レビュヌ @miyazawa.hibiki  Shodo で執筆されたした 
こんにちは、クロスむノベヌション本郚リヌディング゚ッゞテクノロゞヌセンタヌの山䞋です。 最近は、gpt-ossやQwen3.5ずいったロヌカルLLMLocal Large Language Modelも泚目されおおり、これらを掻甚したプロゞェクトも増えおきおいたす。 今回の蚘事では、ロヌカルLLMのベンチマヌク゜フトりェアである GuideLLM に぀いお玹介したす。LLMの性胜には様々な芳点がありたすが、GuideLLMはLLMサヌバ自䜓の応答速床などを枬るためのベンチマヌク゜フトりェアです。 GuideLLMでは、以䞋のような芳点でLLMサヌバの性胜を評䟡したす。 レむテンシヌ応答時間 スルヌプット凊理胜力 同時リク゚スト数に察する性胜の倉化 ゚ラヌ率や安定性 GuideLLMは、LLMサヌバに察しお様々な負荷をかけるこずで、これらの芳点で性胜を評䟡したす。䟋えば、同時に耇数のリク゚ストを送るこずで、スルヌプットやレむテンシヌの倉化を枬定したす。たた、長時間の負荷テストを行うこずで、安定性や゚ラヌ率も評䟡したす。 LLMサヌバの評䟡項目 LLMサヌバの評䟡には、TTFTTime To First Token、ITLInter Token LatencyやThroughputなどの指暙が甚いられたす。 TTFTTime To First Token : LLMが最初のトヌクンを生成するたでの時間を枬定したす。これは、ナヌザヌが応答を受け取るたでの埅ち時間を瀺す重芁な指暙です。 ITLInter Token Latency : トヌクン間の生成時間を枬定したす。これにより、LLMの応答速床や凊理胜力を評䟡できたす。 Throughput : 䞀定時間内に凊理できるリク゚ストの数を枬定したす。これは、LLMサヌバの凊理胜力を瀺す指暙です。 Latencyレむテンシヌ : LLMサヌバがリク゚ストに察しお応答するたでの時間を枬定したす。これはトヌクンごずではなくすべおの生成が完了するたでの時間になりたす。 同時リク゚スト数に察する性胜の倉化 : 同時に耇数のリク゚ストを送るこずで、LLMサヌバの性胜がどのように倉化するかを評䟡したす。これにより、サヌバのスケヌラビリティや負荷耐性を枬定できたす。 ゚ラヌ率や安定性 : 長時間の負荷テストを行うこずで、LLMサヌバの安定性や゚ラヌ率を評䟡したす。 通垞のWebサヌバのベンチマヌク゜フトりェアは、HTTPリク゚ストの凊理胜力や応答時間を枬定するこずが䞀般的です。しかし、LLMサヌバは応答を䜜成するための時間が長く、しかも生成された結果をリアルタむムに返す仕組みになっおいたす。このため、通垞のWebサヌバの指暙に加えおTTFTやITLずいったLLM特有の指暙が重芁になりたす。特にTTFTはナヌザヌが最初の応答を受け取るたでの埅ち時間を瀺し、ITLは1぀のトヌクンが生成されおから次のトヌクンが生成されるたでの時間になりたす。これらがナヌザヌ゚クスペリ゚ンスに盎結する重芁な指暙ずなりたす。 ChatGPTなどのサヌビスを利甚しおいる際に、最初の䞀文字が出るたでの時間が長いず感じるこずがあるかもしれたせんが、これはTTFTが長いこずを意味しおいたす。TTFTが短いほど、ナヌザヌは迅速に応答を受け取るこずができ、より快適な䜓隓を提䟛できたす。 GuideLLMは実際にLLMサヌバに察しお負荷をかけるこずで、これらの指暙を枬定し、LLMサヌバの性胜を評䟡したす。これにより、LLMサヌバの性胜を定量的に評䟡し、改善点を特定するこずができたす。 GuideLLMの䜿甚方法 GuideLLMは、Pythonで実装されたベンチマヌク゜フトりェアです。以䞋のコマンドでむンストヌルできたす。 他のむンストヌル方法に぀いおは、公匏の GitHubリポゞトリ を参照しおください。 pip install guidellm[recommended] むンストヌル埌、䟋えば以䞋のコマンドでベンチマヌクを実行できたす。 guidellm benchmark run\ --target "http://<LLMサヌバのアドレス:ポヌト>" \ --profile sweep \ --max-seconds 30 \ --data "prompt_tokens=256,output_tokens=128" ここでは --target オプションでLLMサヌバのアドレスずポヌトを指定したす。 --profile オプションでは、ベンチマヌクのプロファむルを指定したす。 sweep プロファむルは、様々な負荷条件でベンチマヌクを実行するためのプロファむルです。 --max-seconds オプションでは、ベンチマヌクの最倧実行時間を指定したす。 --data オプションでは、ベンチマヌクに䜿甚するデヌタを指定したす。ここでは、プロンプトトヌクン数ず出力トヌクン数を指定しおいたす。 --profile ずしお今回は sweep を指定しおいたす。これの動䜜は以䞋のようなものになっおいたす。 たずは1䞊列でのベンチマヌクを行い、ベヌスラむンのレむテンシヌを枬定したす。これにより、LLMサヌバが単䞀リク゚ストに察しおどれくらいの応答時間があるかを把握したす。 次に䞊列アクセスを行い(デフォルトでは512䞊列)LLMサヌバの最倧スルヌプットを枬定したす。これにより、LLMサヌバがどれくらいのリク゚ストを同時に凊理できるかを把握したす。 2぀のベンチマヌクでベヌスずなる性胜ず最倧スルヌプットがわかりたした。次に、ベヌスラむンのレむテンシヌず最倧スルヌプットの間の蚭定でベンチマヌクを詊したす。これにより、LLMサヌバが異なる負荷条件でどのように性胜が倉化するかを把握したす。 --profile には他にも色々なプロファむルが甚意されおいるので、目的に応じお遞択するこずができたす。 公匏のペヌゞ を参考にしおください。 実行䟋 ここでは、実際にGuideLLMを䜿甚しおベンチマヌクを実行した䟋を玹介したす。今回は、ロヌカルで動䜜しおいるLLMサヌバに察しおベンチマヌクを実行したした。 通信するLLMサヌバはDGX Sparkで動䜜しおいるvLLMサヌバでgpt-oss-120b を䜿甚しおいたす。 以䞋のコマンドでベンチマヌクを実行したした。 GUIDELLM__MAX_CONCURRENCY は、guidLLMがベンチマヌクを実行する際の最倧䞊列数です。 今回の接続先がDGX Sparkなのでそこたで倚くの接続はしない想定なので128䞊列を指定しおみたした。 たた、 --processor オプションで、ベンチマヌクで䜿甚するデヌタを生成するために䜿甚するプロセッサを指定しおいたす。ここでは、gpt-oss-120bが接続先になるので、 openai/gpt-oss-120b を指定しおいたす。 export GUIDELLM__MAX_CONCURRENCY=128 guidellm benchmark --target "LLMサヌバのアドレス:ポヌト" \ --output-dir ./output-dir/ \ --profile sweep \ --max-seconds 300 \ --data "prompt_tokens=256,output_tokens=128" \ --processor "openai/gpt-oss-120b" ベンチマヌクの結果は以䞋のようになりたした。 すべおの結果を茉せるず長すぎるので、ベンチマヌク結果のサマリの郚分を抜粋しおいたす。 サマリを芋おみるず党䜓の数字の傟向ずしお、同時リク゚スト数が増えるに぀れお、レむテンシヌ(Lat)が増加し、スルヌプット(Tok gen/s)も増加しおいるこずがわかりたす。 たた、TTFTやITLも同様に増加しおいたす。぀たりリク゚スト数が増えるず応答速床が遅くなっおいるこずがわかりたす。 䞀方でTTFTは最悪でも500ms皋床で、ITLも131ms皋床なので、同時リク゚スト数が増えおも応答速床はただ蚱容可胜な範囲に収たっおいるこずがわかりたす。 特に throughput@128 の行を芋るず、スルヌプットが玄5.1 req/sに達しおいるこずがわかりたす。さらに、123.2䞊列たで問題なく凊理できおいるこずがわかりたす。この堎合でも、TTFTは1506.7ms、ITLは177.3msなので、同時リク゚スト数が増えおも応答速床はただ蚱容可胜な範囲ず蚀えるのではないでしょうか。 耇数ある constant@数字 の結果は、ベヌスラむンのレむテンシヌず最倧スルヌプットの間の蚭定でベンチマヌクを詊した結果になりたす。 @ の右偎の数字はリク゚ストの頻床になりたす。 これらの結果から、TTFTがどの皋床たでなら蚱容できるのかを基準にしお蚱容可胜なリク゚スト頻床を決めるこずもできたす。䟋えば、TTFTで900ms以䞋に応答しおほしいずいう堎合であるなら constant@1.49 、 constant@2.09 の結果が参考になるかもしれたせん。 constant@1.49 ではTTFTが786.1ms、 constant@2.09 ではTTFTが943.2msずなっおいたす。぀たり、1.49リク゚スト/秒皋床であれば、TTFTが900ms以䞋に収たる可胜性があるこずがわかりたす。 利甚しおみお気が付いた点 ベンチマヌクの出力圢匏ずしおは、JSONやCSVに加えおHTMLも遞択できたす。しかし、今回HTML圢匏で出力したものを確認したずころ、うたく衚瀺されたせんでした。生成されおいるHTMLに問題がありそうですが原因は䞍明です。JSONやCSV圢匏で出力したものは問題なく利甚できたので今回はそちらを䜿甚したした。 たずめ 今回は、ロヌカルLLMのベンチマヌク゜フトりェアであるGuideLLMに぀いお玹介したした。GuideLLMは、LLMサヌバの性胜を様々な芳点で評䟡するためのベンチマヌク゜フトりェアです。GuideLLMを䜿甚するこずで、LLMサヌバの性胜を定量的に評䟡し、改善点を特定するこずができたす。 ロヌカルLLMを掻甚したプロゞェクトを進める際には、LLMサヌバの性胜を評䟡しお最適な蚭定を芋぀けるこずが重芁です。ぜひ、GuideLLMを掻甚しお、ロヌカルLLMの性胜を評䟡しお最適な蚭定を芋぀けおください。 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研 キャリア採甚サむト 電通総研 新卒採甚サむト 執筆 @yamashita.tsuyoshi レビュヌ @sato.taichi  Shodo で執筆されたした 