軟體工程-三

發佈日期:2025-06-25

唐翊靜

理工學院

資訊工程學系

這學期參加了軟體工程的課輔,對我的學習有非常大的幫助。在上課的過程中,有很多新的名詞與概念,例如軟體開發流程、版本控制、系統設計方法、測試策略等,有時候在課堂中理解得不夠深入,或在實作作業時遇到技術瓶頸,都能透過課輔時段向助教請教。助教們都非常有耐心,無論是課後面對面詢問,或是在線上透過訊息溝通,都能清楚地說明觀念、一步步指導操作,讓我能夠快速釐清問題、掌握學習方向。

在這學期的作業實作中,像是進行LLM(大型語言模型)結合RAG(Retrieval-Augmented Generation)的專案時,我們需要使用LangChain框架,結合OpenAI API、Chroma向量資料庫等工具,在這過程中遇到許多挑戰。例如向量資料庫的初始化與查詢方式、模型參數設定、資料預處理的細節、Token限制與成本控管等,都是我之前未曾接觸過的範圍。當我卡關時,只要傳訊息給助教,他們都會在短時間內回覆,並提供明確的建議與解決方案,這讓我不僅能解決當下的問題,也更深入理解這些技術背後的原理與設計思維。

除了期中、期末的專題實作,課程中也有期中報告與期末報告的撰寫,這是另一項挑戰。我在撰寫期中報告時,曾對如何整理架構、如何敘述開發流程與分析成果感到困惑,特別是報告要兼具技術內容與邏輯性,並能讓閱覽者理解我們的開發流程與專案架構,這對於還在學習階段的我們來說不容易。在這方面,我也請教了助教,助教提供了非常實用的建議,例如報告中可以如何拆解問題、如何補充圖示與流程圖來輔助說明、怎麼清楚呈現專案的成效與未來可能的延伸應用等。這些回饋讓我對報告撰寫有了更明確的方向,也提升了我的技術報告表達能力。

到了期末報告的階段,我們整合了整學期所學的內容,嘗試把LLM與RAG的應用落實到一個實際的應用場景中,例如博物館導覽系統或智慧客服模組。這需要將不同模組整合並撰寫成可運行的程式,並對整體流程進行說明與展示。在這過程中,我也多次向助教確認系統架構是否合理、資料流程是否順暢、使用的技術是否適合專案需求等。助教都會很仔細地閱讀我們的設計草稿與程式碼,提供細節上的建議,包括資料格式轉換是否正確、API是否有例外情況沒處理、以及專案是否符合課程的目標等。這些建議都讓我們的報告內容更完整,也讓我在撰寫與實作的能力上都有明顯進步。

此外,在QCI & AI 的實作課程中,我也遇到了不少技術挑戰,例如量子電腦模擬環境的建置、IBM Qiskit 的操作方式、AI 模型的整合與測試等。每當我覺得困難或卡住的時候,助教也都很親切地協助我釐清問題所在,不僅給我技術上的指導,也鼓勵我們不要怕犯錯,要勇於嘗試與修改。這樣的學習環境讓我覺得非常安心,也因此更加願意投入時間與心力去完成每一項挑戰。

整體而言,我非常感謝助教們這學期的辛苦付出與用心教導,他們不只是解答問題而已,更像是我們學習路上的導航者,引導我們逐步建立起對於軟體工程的理解。也很感謝老師設計這門課程時,不只傳授理論知識,還結合了大量的實作與專案經驗,並提供課輔、資源平台、說明文件等學習支持,讓我們能在課堂內外都有豐富的學習機會。

這學期的學習旅程讓我收穫很多,不僅提升了我在技術上的能力,也讓我學會如何面對問題、拆解問題、並逐步尋找解方。這些經驗對我未來的學習與職涯發展都有非常重要的幫助,我會好好珍惜這段學習過程中累積下來的知識與經驗,也希望自己在未來能將這些能力運用在更多實際的場域中,持續成長、精進。