背景
隨著算力的提升以及AI技術的迅猛發(fā)展,大型語言模型(LLM)已經深入融入我們的日常生活。類似于ChatGPT的LLM不僅在通用領域展現出強大的能力,還在各個專業(yè)領域取得了顯著的實踐成果。例如,最早在游戲開發(fā)領域,Unreal Engine 4/5 就成功集成了AI技術,極大地提升了游戲設計和開發(fā)的效率。去年,微軟的Office和Adobe的軟件套件也引入了LLM功能,進一步增強了文檔處理和創(chuàng)意設計的智能化水平。近年來,編程領域的GitHub Copilot通過輔助代碼編寫,顯著提高了開發(fā)人員的工作效率和代碼質量,展示了LLM在技術開發(fā)中的巨大潛力。
此外像X(twitter)這類的軟件也加入了LLM功能 Grok2,可以總結推文、輔助發(fā)推文、根據推文自動生成配圖。bybit也加入了 TradeGPT的功能更好的輔助用戶總結幣的行情、相關技術指標 以及產品相關問題細節(jié)解答等。諸多技術文檔中也集成了LLM 像 SST,更快的幫助開發(fā)者學習以及定位相關的問題。甚至于2024年諾貝爾物理學獎 頒給了“人工神經網絡”,諾貝爾生理醫(yī)學獎背后的研究也離不開AI的支持,進一步證明了AI在推動科學進步中的關鍵作用。
對于我們而言通過引入LLM,開發(fā)人員不僅可以提升編碼效率、優(yōu)化代碼質量,還能加速對新技術的學習和掌握。在激烈的市場競爭中,善于利用AI工具的團隊將擁有顯著的競爭優(yōu)勢。這不僅是一場技術工具的革新,更是對學習方式和信息獲取途徑的一次徹底變革。LLM的廣泛應用正在重新定義各行各業(yè)的工作流程和知識傳播方式,推動整個社會向更加智能化和高效化的方向發(fā)展。
benchmark(基準測試):https://livebench.ai/#/
- LiveBench 是由圖靈獎得主、Meta 首席 AI 科學家楊立昆(Yann LeCun)聯合 Abacus.AI、紐約大學等機構推出的大模型測評基準。LiveBench 從包括數學、推理、編程、語言理解、指令遵循和數據分析在內的多個復雜維度對模型進行評估。之所以名字里有個「live」,就是因為這個榜單采用了新穎的數據來源并保持每月更新,這杜絕了大模型通過預訓練和微調作弊的可能性。LiveBench 也被行業(yè)內譽為「世界上第一個不可玩弄的 LLM 基準測試」
推薦的主流LLM
- chatgpt
- o3-high 效果最好 支持 思維鏈功能
- chatgpt app支持實時視覺
- Poe https://poe.com/ 一個LLM集成平臺,支持大部分主流的LLM
- github copilot
實際案例
AI生成的代碼 由 對應的開發(fā)人員負責,需要對代碼進行 審核和測試。
- 輔助提高效率,目前階段并不難完全替代我們整個研發(fā)流程
- 現階段AI目前主要圍繞著提效,替代大部分初級中級開發(fā)的工作,未來AI會介入的更多
- 人工校驗
- 盡可能多的提供上下文,足夠多的環(huán)境信息
- 編寫代碼時 需要對AI進行引導,告訴他通過xx、xxx方式實現,遵循某個規(guī)則
- 遵循 prompt工程
思維鏈模式

可以看出,CoT 在實現上修改了 demonstration 每個 example 的 target,source 保留原樣,但 target 從原先的 answer(a) 換成了 rationale(r) + a。因此可以看到右側,所有內容均由模型生成,模型不是生成 a,而是生成r+a。
簡單來說,語言模型很難將所有的語義直接轉化為一個方程,因為這是一個更加復雜的思考過程,但可以通過中間步驟,來更好地推理問題的每個部分。
思維鏈提示,就是把一個多步驟推理問題,分解成很多個中間步驟,分配給更多的計算量,生成更多的 token,再把這些答案拼接在一起進行求解。
CoT 的優(yōu)勢,其中包括它把一個多步推理問題分解出多個中間步驟,并且讓 LLM 更加可解釋。它能解決的問題很多,除了上述的數學應用題,還有常識推理、以及 symbolic manipulation (符號操作)這類任務

根據ui圖片生成前端代碼

代碼可用性70%
makefile
提示詞
1.我需要使用makefile完成 前端的 CI CD,請你給我講-下makefile核心有哪些內容
2.我的makefile的target規(guī)則是 build-bg-prod-prerelease-web-trade-sam-pre這樣的
其中 bg-prod-prerelease 是環(huán)境名稱,web-trade-sam-pre是應用名稱,我一共有四個環(huán)境分別對應不同
pre:= bg-prod-prereleases
sjk := bg-prod-production
cn := bg-prod-production
com := bg-prod-production!
3.我希望通過循環(huán)的形式 為這4個環(huán)境生成target,這4個環(huán)境的構建命令基本相同發(fā)布名稱為
pre: web-trade-sam-pre
sjk := web-trade-sam-sjk
cn := web-trade-sam-cn
com := web-trade-sam-com
4.我每次只需要執(zhí)行一個環(huán)境,不需要build-all.
5.我不希望項目名字寫死,我需要把他封組成所有項目都可以用的公共template,web-trade-sam-pre是項目名5.PROJECT NAME 我不希望在make時候傳遞,而是 把5)的那個 foreach封裝成 template,在這個地方傳遞過
6,我需要把他當成 公共的.mk,如何暴露出去GENERATE_TARGETS,在其他makefile中調用呢
#1. 創(chuàng)建公共模板文件 ci-cd.mk
# ci-cd.mk
# 定義環(huán)境映射關系(格式:環(huán)境簡稱=環(huán)境名稱:應用名稱后綴)
ENV_MAPPING := \
pre=bg-prod-prerelease:pre \
sjk=bg-prod-production:sjk \
cn=bg-prod-production:cn \
com=bg-prod-production:com
# 生成動態(tài)目標的核心宏
define GENERATE_ENV_TARGET
$(foreach env_def,$(ENV_MAPPING), \
$(eval env_parts = $(subst :, ,$(subst =, ,$(env_def)))) \
$(eval env_short = $(word 1,$(env_parts))) \
$(eval env_name = $(word 2,$(env_parts))) \
$(eval app_suffix = $(word 3,$(env_parts))) \
\
.PHONY: build-$(env_short)-$(PROJECT_NAME) \
build-$(env_short)-$(PROJECT_NAME): \
@echo "Building $(PROJECT_NAME) for environment: $(env_name)" \
@# 這里替換為你的實際構建命令,例如: \
@# npm run build -- --env $(env_name) \
@# 示例命令(根據實際需求修改): \
@echo "模擬構建命令:構建應用 $(PROJECT_NAME)-$(app_suffix) 到環(huán)境 $(env_name)" \
)
endef
# 暴露給外部調用的接口
GENERATE_TARGETS = $(eval $(call GENERATE_ENV_TARGET))
#2.項目中的 Makefile 使用方式
# 項目根目錄的 Makefile
# 定義項目名稱(每個項目只需改這一行)
PROJECT_NAME := web-trade-sam
# 引入公共模板
include ci-cd.mk
# 生成所有環(huán)境目標
$(GENERATE_TARGETS)
# 構建 pre 環(huán)境
make build-pre-web-trade-sam
# 構建 sjk 環(huán)境
make build-sjk-web-trade-sam
#輸出結果
Building web-trade-sam for environment: bg-prod-prerelease
模擬構建命令:構建應用 web-trade-sam-pre 到環(huán)境 bg-prod-prerelease
#4.關鍵設計說明
1.動態(tài)生成 Target:
使用 $(foreach) + $(eval) 動態(tài)生成目標規(guī)則映射關系 ENV_MAPPING 定義環(huán)境簡稱、環(huán)境名稱、應用后綴的對應關系
2.模板復用性:
通過 PROJECT_NAME 變量傳遞項目名稱
構建命令使用 $(app_suffix) 生成應用全名
模塊化設計:
3.公共邏輯封裝在 ci-cd.mk
項目 Makefile 只需定義 PROJECT_NAME 和 include
4.可擴展性:
新增環(huán)境只需修改 ENV_MAPPING
構建命令統一在模板中維護
可用性100%,前端團隊makefile CI CD方案改著完全使用chatgpt進行開發(fā),將兩周以上的學習時間縮短至2h
LangChain
https://python.langchain.ac.cn/docs/tutorials/#google_vignette
https://blog.csdn.net/qq_62888264/article/details/143222574
LangChain 是一個開源框架,旨在使開發(fā)者能夠更容易地構建與語言模型(LLMS)相關的應用程序。它提供了多和組件來簡化復雜應用的開發(fā),特別是在自然語言處理(NLP)任務中。LangChain 主要用于將多個語言模型、數據源、AP1、文件系統等整合到一起,從而實現更復雜的操作和流程。
應用場景Code Review:結合 AWS LangChain 和 AWS Bedrock 來自動化code review,分析代碼質量、識別潛在問題(如性能瓶頸、代碼風格問題、安全漏洞等、合規(guī)安全),并生成改進建議。AI客服:使用 AWS Bedrock 提供的生成式 AI模型來生成響應,然后通過Langchain 構建一個包含多個步驟的工作流,集成外部系統(如數據庫或 lark知識庫,幫助中心html)來獲取答案。AI交易助手:(bybit TradeGPT)通過結合 AwS Bedrock 提供的生成式 AI 模型來分析市場數據并生成交易策略,同時利用 AWS Langchain 構建多步驟的工作流,自動化獲取數據、生成策略、執(zhí)行交易并進行風險管理。
LLM輔助學習/生活
。專業(yè)技術技能學習
??珙I域學習:可以使用3w1h、Deep Learning.學習方式 對未知的領域展開探索,
。生活:chatgpt視覺語音聊天、旅游、醫(yī)院科室掛號、可以完美避免 小紅書、ins博主的廣告
注意事項以及弊端
數據安全:
。不能將設計圖等敏感代碼直接發(fā)個chatgpt,敏感數據可以用aws bedrock
。架構問題給出的建議很片面單薄,llm很難考慮長遠計劃,例如 高并發(fā)、擴展性
。模型本身可能存在偏見,我們也需要一定的信息分辨能力,信息渠道多元化。
面試候選人使用A!,要做反AI面試:
。候選人的眼神 是否漂浮不定,思考時間 是否過長,是否有鍵盤聲音
。語調是否有閱讀的痕跡
,問具體的項目,A對于一個實際項目的細節(jié)答不上來
。 深入問技術細節(jié)
未來&展望
研發(fā)層面:
。前端團隊根據每個項目制定遵循Prompt工程的prompt file, rules。代碼維護,注釋補全 輔助我們理解維護他人代碼
。 Ul編寫
。 業(yè)務邏輯編寫
。Code review:性能瓶頸、代碼風格問題、安全漏洞等、合規(guī)安全。自定義知識庫:前端組件庫、Icon庫、
utils、樣式DS規(guī)范、自定義SSR框架、Lark文檔(技術、產品)。
。工具鏈集成:將LLM工具通過langChain融入現有的IDE、CI/CD流程中。
。團隊協作:制定團隊使用 prompt,提高協作效率。