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

別の部品表(BOM)でデモを動かす手順:Agent Parts Hubの使い方ガイド

別の部品表(BOM)でデモを動かす手順:Agent Parts Hubの使い方ガイド

自ら用意した部品表(BOM)を調達エージェントに渡し、解析から自動是正、見積もり、発注、人の承認に至る一連の流れをWindows環境などで実行するための手順を解説したガイドです。
カタログからの型番検索(STEP 1)やCSV形式でのBOM作成(STEP 2)、ドラッグ&ドロップによる実行(STEP 3)をはじめ、自動是正の4パターン(STEP 4)、コンソール画面での承認操作(STEP 5)まで、実演に役立つ具体的なステップが網羅されています。

Avatar for Tsuyoshi Horigome

Tsuyoshi Horigome

November 11, 2026

More Decks by Tsuyoshi Horigome

Other Decks in Business

Transcript

  1. 全体の流れ(所要時間 約15分) 設計エージェントは使わず、あなたの部品表を調達エージェントに直接渡します STEP 1 STEP 2 STEP 3 STEP

    4 STEP 5 型番を探す BOM を作る 実行する 結果を見る 承認する カタログ一覧を CSV で保存 bat に 画面と Excel で開く (ひな形あり) ドラッグ&ドロップ 結果CSV コンソールで 承認ボタン 準備ができていること 最新版の zip を使ってください 「Windows セットアップ手順書」の STEP 1〜3(Python・展 本手順の機能(bat・カタログ書き出し・日本語列名など)は 開・setup_windows.bat)が完了していること。 2026-11-11 版の agent-ec-proto.zip で追加されました。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 2
  2. 大切な前提:カタログは「架空の1,000品目」 部品表の型番は、このデモのカタログに載っているものを使います カタログにある型番 実在の型番(例:LM358DR) • 在庫・価格・互換品の判定がすべて動く • 「カタログに無い型番」として扱われる • 生産終了(EOL)なら互換品に自動置換

    • その行は手配対象から除外され、結果に「設計者へ • 1文字違いの打ち間違いは自動で補正候補を提示 差し戻し」と表示 • 他の行は通常どおり解析・見積される ※ 実際の部品データで試したい場合は、カタログ(data/catalog.db)の差し替えが必要です(最終スライド参照)。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 3
  3. STEP 1 カタログ一覧から型番を探す STEP 1 export_catalog_windows.bat をダブルクリックすると、1,000品目の一覧が Excel で開きます 1.

    C:\work\agent-ec-proto を開く 列 内容 絞り込みのコツ mpn 型番(BOMに書く値) — 2. export_catalog_windows.bat をダブルクリック 3. data\catalog.csv が作成され、Excel で開く category_ja 4. 「データ」→「フィルター」で絞り込む 5. 使う部品の mpn(型番)をコピー description lifecycle コマンドで書き出す場合 チップ抵抗・MLCC・マイコン など 12種 主な仕様の要約 ACTIVE/NEW/NRND/LTB/ EOL まずここで種類を選ぶ 「10 kΩ」「100 nF」で検索 新規設計は ACTIVE を選ぶ available 全倉庫の在庫数 必要数(員数×台数)以上 unit_price_1/100/1000 数量別の単価(円) 比較用 resistance ほか パラメータ(単位つき) 数値条件の確認 # PowerShell / Mac の場合(.venv 有効化後) python -m app.export_catalog python -m app.export_catalog --category resistor Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 4
  4. STEP 2 部品表(BOM)CSV の書き方 STEP 2 1行目が列名、2行目以降が部品。列名は英語でも日本語でも構いません 項目 英語の列名 日本語の列名

    必須 書き方 リファレンス ref リファレンス/部品番号/記号 ◦ R1、C3-C12 など。行ごとに重複させない 型番 mpn 型番/メーカー型番/品番 ◦ カタログの mpn(大文字小文字は不問) 員数 qty_per_board 員数/数量/個数 ◦ 1台あたりの個数(1以上の整数) 備考 note 備考/メモ 自由記述(処理には使わない) ref mpn qty_per_board note まとめて書くと楽 U1 TEMCCO256100-G7 1 メインMCU 同じ部品を複数使う場合は、リファレンスを Q1-Q4 OPMF707-C1 4 Hブリッジ 「R1-R6」のようにまとめ、員数に 6 と書きま す。必要数は 員数×台数×1.02(ロス2%)を切 C3-C12 ABCC0603X7104-M0 10 デカップリング R1-R6 HPRC0603F102-P0 6 ゲート抵抗 り上げて計算されます。 記入例(samples/bom_motor_driver.csv の一部) Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 5
  5. Excel で作って CSV で保存する STEP 2 ひな形 samples\bom_template.csv を開いて書き換えるのが簡単です 1.

    samples\bom_template.csv を Excel で開く 保存形式 使えるか CSV UTF-8(コンマ区切り) ◦(推奨) CSV(コンマ区切り)=Shift_JIS ◦(自動判別) Excel ブック(.xlsx) ×(CSVで保存し直す) タブ区切りテキスト × 2. 例の行を消して、自分の部品を1行ずつ入力 3. 「ファイル」→「名前を付けて保存」 4. ファイルの種類で「CSV UTF-8(コンマ区切り)」を選ぶ (「CSV(コンマ区切り)」でも可) 5. わかりやすい名前で保存(例:my_board_bom.csv) 日本語の列名もOK samples\bom_led_driver_sjis.csv は「リファレンス, 型番, 員数, 備考」の列名・Shift_JIS 保存の例です。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 6
  6. STEP 3 実行する(ドラッグ&ドロップ) STEP 3 作った CSV を run_bom_windows.bat の上にドラッグ&ドロップします

    1. エクスプローラーで C:\work\agent-ec-proto を開く run_bom_windows.bat(実行例) 2. BOM の CSV ファイルを run_bom_windows.bat の上にドラッグ& Build quantity [default 100]: 100 ========================================= 持ち込みBOM: C:\work\...\my_board_bom.csv ドロップ 3. 「Build quantity [default 100]:」と表示されたら製作台数を入力して ========================================= STEP 2 調達AIエージェント(REST) [procurement-agent] BOM読込: ... 16行 × 100台 Enter(空欄なら100) 4. サーバ起動 → 解析 → 是正 → 見積 → 発注 が自動で進む 5. 完了するとブラウザでコンソールが開く(黒い画面は閉じない) サンプルで練習 最初は samples\bom_motor_driver.csv をドロップしてみて ください。生産終了・在庫不足・打ち間違い・カタログに 無い型番の4種類の是正が一度に確認できます。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 7
  7. コマンドで実行する場合(Windows/Mac 共通) STEP 3 オプションで台数や発注の有無を変えられます。(.venv) を有効化してから実行します A:一括実行 オプション 意味 --bom

    ファイル 使う BOM(run_demo のみ) --build 数 製作台数(既定 200/bat は 100) --no-order 見積までで止める --po 番号 発注番号(省略時は日時) --port 番号 ポート変更(run_demo のみ) # サーバ起動から一括(設計エージェントは省略) python -m agents.run_demo --bom my_board_bom.csv --build 100 # 見積までで止める(発注しない) python -m agents.run_demo --bom my_board_bom.csv --no-order B:サーバを起動したまま繰り返す # ウィンドウ1:サーバだけ起動(開いたまま) uvicorn app.main:app # ウィンドウ2:何度でも BOM を流せる python -m agents.procurement_agent my_board_bom.csv --build 50 python -m agents.procurement_agent other.csv --build 300 --no-order -po PO-001 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 B の方法は、BOM を直しては流す、を繰り返すときに便利 です。 8
  8. STEP 4 画面の結果を読む STEP 4 samples\bom_motor_driver.csv を 100台で実行した実際の出力(一部省略) 実行結果 解析

    [procurement-agent] BOM読込: bom_motor_driver.csv … 16行 × 100台 解析結果: 16行中 12行は即手配可能。要対応 4行: Q5(EOL), D2(EOL/STOCK_SHORT/LONG_LEAD), U5(NOT_FOUND), U6(NOT_FOUND) 準備率 75.0% / リスクスコア 29.4 / 概算 ¥152,847 → Q5 TEMF8073-F4 ⇒ KSMF2856-D4 EOL → FFF互換品へ置換 → D2 OPSD4482-H6 ⇒ KSSD1285-T9 EOL/STOCK_SHORT → 置換 → U5 MMOA4L84-M1 ⇒ MMOA4184-M1 型番表記揺れを補正(要確認) → U6 LM358DR ⇒ - 型番不明 → 差し戻し 是正後: 準備率 100.0% / リスクスコア 5.3 BOM全体の問題を一覧化。準備率=すぐ 手配できる行の割合 是正 問題の行を自動で直す(右の4パターン) 見積: 合計 ¥180,045(税込)/ 出荷: 大阪DC(5行), 東京DC(9行) 発注: status=pending_approval(再送→ 同一=True) 合計 ¥180,045 が承認上限 ¥100,000 を超過 → コンソールで人が承認 別キーで同一見積を再発注 → 409(二重発注を防止) 結果一覧: ...\agents\out\bom_motor_driver_result.csv 見積・発注 上限を超えると承認待ち。STEP 5 へ Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 9
  9. 自動是正の4パターン(サンプルBOMの実例) STEP 4 直し方にはルールがあり、結果CSVの action 列に記録されます 生産終了(EOL) Q5 TEMF8073-F4 生産終了+在庫不足

    D2 OPSD4482-H6(在庫0) → 互換品 KSMF2856-D4 → 互換品 KSSD1285-T9 大きさ・極性が同じで、電流・オン抵抗が改善した部品に置換 耐圧・電流が同等以上、順方向電圧が同等以下で在庫が足りる部品に置 換 打ち間違い U5 MMOA4l84-M1(l と 1) カタログに無い U6 LM358DR → MMOA4184-M1 に補正 → 手配対象から除外 よく似た正しい型番に補正。設計者の確認が必要と記録 候補が無いため差し戻し。他の行は通常どおり進む Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 10
  10. 結果ファイル(agents\out フォルダ) STEP 4 BOM のファイル名をもとに3つのファイルが作られます。CSV は Excel でそのまま開けます ファイル

    内容 <BOM名>_result.csv 行ごとの判定・必要数・在庫・対応内容・最終型番・単価・金額 <BOM名>_final_bom.csv 是正後の部品表(このまま次の手配や再実行に使える) <BOM名>_report.json 解析・見積・発注の全データ(システム連携用) ref mpn_input status flags 必要数 在庫 action mpn_final 単価 Q1-Q4 OPMF707-C1 ok SINGLE_SOURCE 408 8,011 そのまま手配 OPMF707-C1 115.39 Q5 TEMF8073-F4 risk EOL 102 971 EOL → 互換品に置換 KSMF2856-D4 132.81 D2 OPSD4482-H6 risk EOL/STOCK_SHORT… 102 0 → 互換品に置換 KSSD1285-T9 16.22 U5 MMOA4L84-M1 not_found NOT_FOUND 102 0 型番補正(要確認) MMOA4184-M1 72.70 U6 LM358DR not_found NOT_FOUND 102 0 除外(差し戻し) _result.csv の例(主な列のみ。実際の列名は required_qty・available・unit_price_jpy など英語) Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 11
  11. STEP 5 コンソールで承認する STEP 5 合計が調達エージェントの承認上限(¥100,000)を超えると「承認待ち」になります 1. ブラウザの http://127.0.0.1:8000/console を

    見る 2. 右上「承認待ちの注文」に ¥180,045 が表 示される 3. 内容を確認して「承認」→ 確定注文に移る 4. 取り消すなら「却下」(確保した在庫も戻 る) 上限内なら承認不要 台数を減らして合計が ¥100,000 以下にな ると、その場で確定(confirmed)しま す。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 12
  12. エラーメッセージと対処 BOM の誤りは、行番号つきで表示されます。直して保存し、もう一度ドロップしてください 表示されるメッセージ(例) 原因 対処 必須の列が見つかりません: 型番(mpn) 列名が違う 列名を

    mpn/型番 などにする(STEP 2 の表) 3行目: 員数「a」が正の整数ではありません 員数に数字以外 1以上の整数を入れる 5行目: リファレンス「R1」が重複しています 同じ ref が2行 ref を分けるか、1行にまとめて員数を合計 Excel ファイルは直接読めません .xlsx をドロップした CSV UTF-8 で保存し直す 文字コードを判別できません 特殊な文字コード CSV UTF-8 で保存し直す 手配できる行がありません すべてカタログに無い型番 catalog.csv の mpn を使う 見積できません: Not orderable EOL で互換品も在庫も無い その行の部品を別の型番に変える サーバに接続できません B 方式でサーバ未起動 uvicorn app.main:app を先に起動 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 13
  13. 付属サンプルと、実データで試すには まずサンプルで動きを確認し、次に自分の BOM を試すのがおすすめです ファイル 内容 見どころ samples\bom_motor_driver.csv モータドライバ基板 16行(UTF-8)

    EOL・在庫不足・打ち間違い・カタログ外の4種の是正 samples\bom_led_driver_sjis.csv LED駆動基板 7行(日本語列名・Shift_JIS) 最終購入(LTB)+在庫不足のインダクタを置換 samples\bom_template.csv ひな形(1行の記入例) 書き換えて自分の BOM に 実在の部品データで試したい場合 このプロトタイプのカタログは架空データです。実在の型番で解析・見積まで行うには、自社の品目マスタや在庫データからカタログ(data/ catalog.db)を作り直す取り込み機能が必要です。品目CSV(型番・カテゴリ・パラメータ・在庫・価格)を用意いただければ、取り込みツールと して追加できます。 Agent Parts Hub | 別の部品表(BOM)でデモを動かす手順 14