跳到主要內容

從易經八卦到 AI 應用:用 LLM 自動化數據整理的工程探險

從 2023 年開始,在去年 為何技術老人這樣想那樣做? 的那場分享之前,就開始探索管理的更多可能性,以及探索更深層的奧秘,宇宙的二進位,生活中的陰與陽,到透過朋友深入探索 8 進位和 64 進位的玄學領域。

一開始只是想將自己體驗進行工程的還原,先是以為透過 ai 可以很快(偷懶)就可以解決掉資訊整理的問題,這邊有些踩雷的過程,以及對於整體實作的紀錄,分享給大家。


人生,原本以為很輕鬆的事情,最後都會不太容易

原本目標是希望將網路上許多的八卦資訊,以及六十四卦象內容,透過 AI 將資料進行彙整,就資料進行整合以及釐清就花了些時間 (汗)

以下且聽我慢慢道來 ... .

思緒步驟

大概步驟會是這樣,首先進行基礎八卦資訊搜集,大概由乾掛到坤卦,這些都可以在網路上容易取得,(這邊採用的是先天八卦順序)

https://chatgpt.com/share/672083ea-4000-8010-ae50-3e120d845244

接著進入重點, 64 卦目前並沒有太多工程項目可以進行整合資料,因此主要透過 ChatGPT 產生資訊,以及透過 wiki 進行先達到快速效果。

https://chatgpt.com/share/67208416-c210-8010-9d43-a8c7235a1b03

緊接著,就會得到一串很像是 64 掛的內容,

不看不知道,一看嚇一跳,取得資料中會包含錯誤資訊,對應錯誤的上下卦,但畢竟是電腦,有錯很正常,這才是我認識的 ChatGPT (這邊也有試過 Claude 也有相同問題)。

校正回歸

此時經驗就非常重要,透過 AI 協助我們進行資料編寫比對,但不是單純的比對,而是要先想清楚自己的目標是什麼。

  1. 64 卦,兩兩相對。
  2. 64 卦,每個卦象不重複。

基礎於一開始『懶』的狀態, 首先直覺性的,是將比對錯誤的 json 直接丟入,原本預計透過 chain of thought 的方式,讓 llm 進行重複確認,但 ...

測試發現,需要透過 llm 產出原生資料越大時,隱藏的重複錯誤性會隨之提高。

llm 不轉,我轉

因此,這邊的解法朝向糾錯為主。 首先回到目的性,我們需要得到的結果是

  1. 完整的 64 卦象
  2. 取得對應的正確上下卦位置。

當我們有這樣明確的目標時,回到工程面向身為工程魂的各位,學習過各種 XDD (X-driven development) 的各位很快就可以猜到,可透過 AI 進行建立 jest / mocha 進行正向測試,進行測試腳本,

目標如下,

  1. 隨機進行測試,測試兩兩一對,並且卦象都是可以取得正確資訊。(不可為空)
  2. 以 8 卦為基底參數,進行迴圈測試,確認資料並為重複。

透過 1 & 2 且成立的狀態下,很快就可以跑出錯誤,錯誤的造成,可以馬上就知道哪些是重複,或者會讓結果跳出 null 的可能性,接著就可以再將這些輸出直接放回到 chatgpt 讓他進行補完。

很快劈哩啪啦,咖咖澎洽,一下子就可以讓 test 生出來, https://github.com/clonn/yi-insight/tree/main/test

以我這邊的例子,就可以明確的產出錯誤的範圍,有了明確修正範圍,直接透過 prompt 請任何一個 llm 都可以進行產出修正。

console.log
      [ '巽-震', '巽-震', '離-兌', '巽-坎', '坎-兌', '震-艮' ]

看起來有六個重複, 請修正

無情中途工商

RAG/Agent 應用開發從 0 至 1 實戰工作坊 第二場來了!

想掌握最新 AI 技術並將其應用於真實開發中嗎?這堂課程專為具備 Web 開發經驗的開發者設計,從 Prompt Engineering、RAG 系統到智能代理的實作,帶您從理論到實戰,快速上手!

⏩ 立即報名! 詳情請見:https://exma.kktix.cc/events/ai-for-dev-course-rag-2

看成果

結果,透過產生的修正縮小範圍,就可以得到完美的六十四卦的組合, 不用自己透過 wiki 複製貼上,完全透過 free chatgpt ,不用課金,不用任何奇技淫巧,就可以得到整理後的資訊,

https://github.com/clonn/yi-insight/blob/main/src/hexagram/hexagram_64.json

回思

首先, ChatGPT 都至少訓練資料都有更新至 2023年,因此可以大膽地推論,他應該是有讀過易經,八卦爻辭基本定義說明,應該都是有的。

這邊有試過直接將卦象,或者取得的爻詞放入 ChatGPT 進行闡述,但很可惜都只能得到一知半解的回應,甚至是很多意象概念的解釋,是無法融入解釋當中,在進行 LLM 解釋的部分,只能先放一旁。

至少,對於 JSON format 的整理,或者資料的分析上其實是可以有根據的重新歸納,其實是有機會的,且十分快速的。

這邊想要表達的是,除了少數的量體,或者是無關緊要的隨機資訊可以這樣透過 LLM 進行產生,但如果要透過 LLM 產生有嚴謹度的資訊時,其實需要透過搭配大量的驗證,這類的驗證就可以如上述的方式,不一定要透過手動的方式進行檢查,也不需要請美少女小編來進行確認,需要的就是透過『對於結果的認定』『對於可能的邊界』進行數據上的驗證檢查。

如此一來,就很容易透過 AI 打 AI 的方式,產出一個相對可信任的數據基礎。

以上小小經驗作為分享!

無情結尾工商

RAG/Agent 應用開發從 0 至 1 實戰工作坊 第二場來了!

想掌握最新 AI 技術並將其應用於真實開發中嗎?這堂課程專為具備 Web 開發經驗的開發者設計,從 Prompt Engineering、RAG 系統到智能代理的實作,帶您從理論到實戰,快速上手!

⏩ 立即報名! 詳情請見:https://exma.kktix.cc/events/ai-for-dev-course-rag-2

以上分享,各位有任何更好更懶的做法,歡迎分享。

後記的後記

最讓我意想不到的是每個卦象其實都已經有自己的 unicode

參考, https://zh.wikipedia.org/zh-tw/%E6%98%93%E7%B6%93%E5%85%AD%E5%8D%81%E5%9B%9B%E5%8D%A6%E7%AC%A6%E8%99%9F_(Unicode%E5%8D%80%E6%AE%B5)

留言

這個網誌中的熱門文章

RAG 和 Prompt 原理超簡單解說!想知道 AI 怎麼找答案看這篇

這篇文章是給對於你已經開始使用所謂的 ChatGPT / Claude / Gemini 之類的 AI 服務,甚至是 Siri (嘿丟,他也是一種 AI 應用服務喔) 簡單來說是非 技術人員, PM,小白,想要趕快惡補的人 ,直接花十分鐘可以看完的一篇科普業配文章。 或者是概念僅止於,AI 這東西會幻想,會有誤差,會對於生活有些幫助但沒有幫助的人們,做個簡單又不是太簡單的介紹,希望用一個非常入門的方式讓你們有個了解。 當然,這篇文章目的很簡單, 就是引流 ,如果你身邊有已經對於 Web 技術開發的人員,歡迎報名分享給他,年末出國不如學一技在身,參加今年我們舉辦最後一場 RAG 實作工作坊,報名連結 , https://exma.kktix.cc/events/ai-for-dev-course-rag-2 注意: 接下來每個大段落結束都會有一段工商導入,但文章絕對精彩,請注意! 為了讓各位容易想像,我們將整個世界的資訊,先濃縮到這本『西遊記』的世界觀當中,我們整個世界都在這個 『西遊記』 ,而 大型語言模型 我們用 『書精靈』 來描述。 PS. 我們先預設各位,應該都有聽過,西遊記!如果沒有聽過西遊記的,請右轉出去,謝謝! 先來談談向量 在《西遊記》的世界裡,我們可以把 向量想像成一種「內容座標」 ,讓系統知道每個角色、場景、法術等的 「位置」和「距離」 。向量幫助語言模型知道不同內容之間的關聯程度。 向量就像內容的「距離」和「位置」 比方說,唐三藏的 「位置」(向量)會接近「佛經」和「取經」 的概念,因為他一路上都是為了取經而前進。孫悟空的 向量位置則會更靠近「金箍棒」和「七十二變」 這些概念,因為這些是他的特徵。 相似內容靠得更近:像「佛經」和「取經」會靠近唐三藏的向量,因為它們彼此有很強的關聯。 相差較大內容會離得較遠:像「取經」和「妖怪」「妖怪的寶藏」就距離比較遠,因為妖怪的寶藏和取經的目標關聯性不大。 是誰決定的這些位置? 簡單來說,這些位置和關係是模型自己學出來的。語言模型會閱讀大量的資料和這世界觀的資訊,觀察哪些詞語經常一起出現,根據「共同出現的頻率」來決定它們的關係,並且自動生成向量。例如: 如果模型看到 「唐三藏」 總是和 「取經」 一起出現,它就會讓「唐三藏」的向量靠近「取經」。 ...

Vibe Coding:為什麼 Junior 更快上手?Senior 要如何追趕?

現象層面(市場觀察) 最近有篇文章討論 junior & senior 開發者在 AI 時代的角色轉變,非常熱門。 身為 Cympack 產品開發團隊 ,我們也一直關注這個議題,在閱讀這篇文章時觀察到一些有趣的現象,對我們來說,這正好反映出 AI 正在改變開發生態,junior 借力 AI 快速成長、senior 則需要在 「架構思維」 與 「多 agent 協作」 中找到新定位,其中有些啟發(insight) 可以跟大家分享。 為什麼 Junior 更容易上手 vibe coding? 心智負擔低 → Junior 沒有太多傳統 code workflow 的框架包袱 敢於嘗鮮 → Gen Z / 年輕工程師天生習慣用 prompt-based 工具、跟 LLM 互動 少「優雅程式設計」的束縛 → 不太糾結「這樣寫會不會不夠優雅」,反而 embrace 快速迭代、快速出成果 反觀 Senior: 熟悉大型系統設計 有豐富的「工程正統流程」知識(架構設計、測試策略、效能優化、設計模式) 對 AI 生成 code 的品質 / 維護性通常比較保留 部分 10+ 年資深工程師,對 prompt engineering 沒那麼熟練,還在觀望 技能面(未來的關鍵能力) Vibe coding 本質上 = prompt engineering + AI co-pilot 管理能力 能力項目 誰目前比較有優勢? Prompt 撰寫 / AI 互動 Junior 較強(熟悉 chat-based 流程) 系統設計 / 架構把關 Senior 較強 AI 生成 code 驗證 / Bug 察覺能力 Senior 較強(能看出潛在問題) 快速疊代 / Hackathon 式開發 Junior 較強 長期維護性 / 穩定性 Senior 較強 總結 Junior 確實更快適應 vibe coding,並且更習慣以 「chat-based coding」 的工作流開發。 Senior 擁有驗證 AI 產物與系統設計的深度能力,但若不主動練習 vibe coding,長期會逐漸落後於新一波開發潮流。 就如同在 GAI 技術年會分享,希望帶給各位的感受, 『與 AI 協...

v0 API 是什麼?怎麼用?一篇教你搞懂功能、價格,還能搭配 Cursor 玩出 vibe coding!

Vercel 的 v0 是一款 AI 驅動的前端開發工具,能夠將自然語言描述轉換為可部署的 React 元件和 UI 介面,支援 Tailwind CSS,並可直接部署至 Vercel 平台。此外,v0 提供 API 介面,讓開發者能將其整合至其他工具,如 Cursor IDE,進一步提升開發效率。 Vercel v0 API 介紹 v0 API 目前處於 Beta 階段,主要提供 v0-1.0-md 模型,具備以下特點: 多模態支援:接受文字與圖片(base64 編碼)輸入。  快速串流回應:提供低延遲的串流回應。  OpenAI 相容:遵循 OpenAI Chat Completions API 格式,易於整合至現有工具。  前端開發優化:特別針對 Next.js 和 Vercel 等現代前端框架進行優化。 要使用 v0 API,需訂閱 Premium 或 Team 方案 ,並啟用使用量計費。 使用方式 API 端點: POST https://api.v0.dev/v1/chat/completions 請求標頭: Authorization: Bearer YOUR_V0_API_KEY Content-Type: application/json 參數範例: { "model": "v0-1.0-md", "messages": [ { "role": "user", "content": "建立一個具有身份驗證功能的 Next.js AI 聊天機器人" } ], "stream": true } 您也可以使用官方的 AI SDK 進行整合: npm install ai @ai-sdk/vercel 範例程式 javascript import { generateText } from 'ai'; import { vercel } from '@ai-sdk/vercel'; const { text } = await generateText({ model: vercel...