iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
Vibe Coding

與Claude一起從零打造產值評估工具系列 第 14

Day 14 | 到底是誰牽動誰~ 如何把地圖與關聯串起來?

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260816/20183196D7gre7FcL7.png
之前在Day9的時候,
實際上已經有先畫出了一個產業地圖
所以今天要透過之前這個產業地圖,
來做出一個供應鏈關聯分析
主要就是透過地圖中每一條線都有「連動強度」,
回應一個產業分析最常被問的問題
比如這個節點如果出事,會牽動誰、被誰牽動?

一、今日目標

  • 以使用者在地圖上選定的節點為中心,量化上游依賴與下游支撐的強度
  • 找出整條產業鏈的關鍵節點,解決兩份資料的對照問題

二、模型設計

https://ithelp.ithome.com.tw/upload/images/20260816/20183196ebon4VvIqG.png

今天這個模型,在模型設計上預計會分成三層

  1. 邊的權重:把 Day 13 關聯表的投入係數,透過 sector_mapping 對照表攤到地圖的 22 條連線上
  2. 節點視角:以選定節點為中心,分別加總上游依賴(向後、藍線)與下游支撐(向前、橘線),輸出連動強度排行——線寬直接映射強度,讓地圖自己會說話
  3. 全鏈視角:對整張圖算加權中心性,找出「斷鏈風險最高的點」

因此在結果儀表板的呈現上,係沿用前面製作的Cytoscape 地圖,
只是這次邊有了粗細、節點有了排名
同一張圖,從「示意圖」變成「分析圖」

三、我下的 Prompt

依產業模型4的規格實作 models/supply.ts:

  1. 讀 industry_map.json 與 io_table.json,透過 sector_mapping 為每條 edge 計算連動強度
  2. 輸入選定節點 id,輸出上游依賴與下游支撐的排行(統一 JSON)
  3. 對全圖計算加權中心性(度中心性 × 邊權重即可,不必上複雜演算法),輸出前三名關鍵節點
  4. Cytoscape 的邊寬綁定強度、依上下游分色,選定節點的一階鄰居以外淡化

Claude的回覆如下,並給我一個打包檔
https://ithelp.ithome.com.tw/upload/images/20260816/20183196fVxA3WrJxh.png

打包檔內容如下

https://ithelp.ithome.com.tw/upload/images/20260816/20183196NZZTkMA62j.png

設計重點

Claude在安裝包中,特別提及了本模型中
有兩個設計需要注意

  1. 連動分數 0–100 是「本次分析內的相對值」(最強=100),介面明講,同時並列官方係數原值——相對值好讀,原值可查證,兩者都給
  2. 粒度侷限寫死在侷限清單:地圖節點(如 PCB、SMT)細於關聯表部門(電子零組件),同部門節點間以部門自身係數近似——這是方法的真實邊界,不藏

五、驗收

這邊先一樣進行資料同步
npx tsx scripts/test-ind4.ts

https://ithelp.ithome.com.tw/upload/images/20260816/201831967VXzd4M98m.png

確認了 test-ind1/2/3 全過

因此開啟Local host來進行實際驗證
npm run dev

https://ithelp.ithome.com.tw/upload/images/20260816/20183196OKgeagMxfI.png

https://ithelp.ithome.com.tw/upload/images/20260816/20183196CTlgVIrqh5.png

在產業地圖中,可以看到這次改的實際變化
https://ithelp.ithome.com.tw/upload/images/20260816/20183196GcI4CaMEt2.png

六、今日小結

今天其實在模型製作上,主要是做資料的聯接
因為我今天主要做的是讓產業地圖資料
串接到模型之間
因此中間是沒有新的資料運用及分析部分
今天實際上只寫了**「連接」**
且因為在先前的規劃中
地圖與關聯表都已經是現成的
所以今天的內容只是讓兩份資料接起來對照
讓使用者可以在產業地圖上
直接透過箭頭與連線判定


上一篇
Day 13 | 不用API,要怎麼建立「投入產出模型」?
系列文
與Claude一起從零打造產值評估工具14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言