之前分享的幾篇內容對新手不太友好,看到小伙伴們在留言區的反饋,制作過程中會遇到各種問題:
- 工作流:各種報錯,不知道什么意思;
- 代碼:編程小白,完全不懂代碼,看代碼像看天書,也不會寫代碼,很難通過代碼來拓展延伸做更多其他嘗試;
- 其他:也看到有小伙伴留言問,學 Coze 有啥用啊,這里想說的是 Coze 通過最近幾次大的升級改版,可以在 Coze 里通過制作模板來賺點小錢。
Tips:智能體是很多工作場景中的提效利器,對企業來說更甚,在我們 Coze 學習群里,已經有人通過給企業定制智能體來賺錢了,我們這里僅是給大家看一下,學智能體在未來更多的可能性,具體的這里不做過多介紹,大家感興趣可自行了解哈~
好啦,回歸正題,考慮到可能喜歡這篇文章的受眾,對 AI、Coze 接觸的階段各不相同,后續打算盡力用通俗易懂的方式,和大家一起學習智能體(Agent),盡快成長為一個 Agent 全棧設計師!
通過這篇文章希望達成以下幾個目標:
① 理解代碼節點
② 使用代碼節點
- AI 輔編:新手友好,不懂編程也能寫代碼;
- AI 提示詞:新手友好,不會寫提示詞,輸入一句話,剩下的讓 AI 優化完善。
③ 代碼節點優勢
我們一個個來看~
在理解代碼節點前,我們先和大家一起理解下「Bot、工作流、代碼節點」之間的關系,因為在 Coze 里代碼不能獨立使用,是要在工作流里使用的的,所以我們使用關聯性的方法來理解三者。
Bot、工作流、代碼節點三者關系,我們會通過以下兩種方式來理解:
- 在現實場景里理解
- 在 Coze 里理解
1. 在現實場景里理解
我們使用餐廳吃飯的場景來理解三者關系:
我們進到一家餐廳:
- Bot(機器人):Bot 就是這家餐廳,根據顧客的需求提供各種服務,比如推薦菜品、點餐、結賬等;
- 工作流(Workflow):工作流就是這家餐廳的各種用戶服務流程,每個工作流都是一系列步驟,比如服務員推薦菜品、顧客點餐、廚師做菜、結賬等;
- 代碼節點(Code Node):代碼節點就是每種服務流程里的一個環節。在顧客點餐流程里,顧客點了一道土豆絲,這道土豆絲是涼拌還是清炒,小蔥香菜是否有忌口等需求,都需要明確清晰告訴服務員,記錄清楚,方便廚師按需求做出顧客滿意的土豆絲。
顧客點餐示圖:
如果我們這里的例子不夠通俗易懂,大家可以使用國內 AI 大模型 Kimi 讓它再多舉例,來加深理解~
下圖是 Coze 里「Bot、工作流、代碼節點」三者的功能布局和層級關系:
三者關系:
① 項目開發:Coze 改版后,將 Bot 單獨拆出來,改為「項目開發」獨立模塊;
② 資源庫:有 6 種資源,這些資源大家可以理解為不同的積木,可以通過不同的組合,完成不同的「項目開發」;
- 資源共用:這 6 種資源是可以共用的,Bot1 可以使用創建的所有資源,Bot2 也可以使用,這是組件化的搭建方式,不同的資源可以理解為是不同的組件;
- 提示詞:改版后,新增了提示詞模塊,作為獨立的資源,可以在需要的場景直接選擇使用,而不需要每次寫一遍,下面實操工作流里會提及怎么;
③ 工作流:目前有 15 個節點,不同的節點可以完成特定的需求場景,每個節點可以理解為是一個小積木;
④ 代碼節點:搭建工作流的其中一個小積木,可以理解為代碼是個智能全能小積木,它可以完成復雜信息的計算和處理,比如信息加工、拼裝或者打包,讓整個流程更加智能化和高效。
代碼智能小積木,示圖:
我們初步理解代碼在 Coze 里和相關模塊的關系后,再來看看代碼節點的使用。
在搭建工作流的過程中,像我一樣不會寫代碼的小伙伴們,可能會想,工作流里有那么多節點,我是不是可以不用代碼節點,換成別的節點呀來實現某個功能呀,哎,這個還真可行,我們一起來看下~
我們這里參考 Coze 使用指南的代碼示例,通過搭建 2 個「生成隨機數」的工作流,來理解代碼節點:
- 使用代碼節點:生成隨機數
- 使用大模型節點:生成隨機數
題外話(可不看):為什么用「生成隨機數」做示例
寫到這里,不知道有沒有小伙伴和我一樣在想,為什么 Coze 要用「生成隨機數」這個來做示例?
我也不知道,所以讓 AI 給我們解釋下,AI 給了挺多理由,我這里精簡下,給大家看幾個容易理解的:
游戲和應用
- 游戲機制:游戲核心機制之一,用于生成隨機事件、道具掉落等,增加游戲的可玩性和挑戰性;
- 應用功能:隨機數可以用于生成驗證碼、隨機推薦內容、抽獎等功能,提升用戶體驗;
模擬真實場景
- 隨機事件:在許多應用中,隨機數可以模擬真實世界中的不確定性,比如天氣變化、游戲中的隨機事件等,使得程序更貼近現實。
- 決策支持:在某些情況下,隨機數可以用于模擬決策過程,比如在多個選項中隨機選擇一個,幫助用戶做出選擇。
增加趣味性:
- 娛樂性:生成隨機數可以用于創建有趣的互動體驗,比如隨機選擇運勢、幸運數字、游戲結果等,增加用戶的參與感和樂趣;
總結:
使用生成隨機數的例子來講解代碼節點的使用,能夠展示代碼節點的靈活性和實用性,同時也能引導用戶理解隨機數在實際應用中的多種用途。
我能想到的一個用途就是生成隨機 8 位數,作為密碼,當然要備份記錄好,別忘了就可以~
1. 代碼節點「生成隨機數」
為了方便大家更好的理解代碼節點,我們化繁為簡,簡單些,聚焦重點,只用一個代碼節點完成工作流,完整工作流如下圖:
該圖來自 Coze 使用指南:具體查找路徑「使用指南→最佳實踐→工作流使用最佳實踐→生成隨機數」
讓我們開始來搭建吧~
① 創建工作流
操作路徑:Coze 平臺 → 工作空間 → 團隊空間/個人空間(都可) → 資源 → 工作流,如下圖:
添加工作流
- 工作流名稱:random_number
- 工作流描述:生成隨機數
工作流默認界面:點擊「確認」,進入編輯頁面
開始節點:選擇
點擊開始節點,右側展開編輯界面。
Tips:Coze 改版后節點編輯區,統一都在右側(圖像流除外),以抽屜的方式出現,抽屜里更多內容,會從右到左展開更多面板。
開始節點:編輯
生成隨機數不需要額外的輸入,所以保留一個默認的變量就足夠了,刪除其他的變量,如下圖:
僅保留默認變量-原因:
- 我們這里是一個簡單的工作流,多個工作流這個就不能用了,可以用單 Agent(LLM 模式)或多 Agent;
- 后面想讓 Bot 默認 100% 調用這個工作流,所以使用「單 Agent(工作流模式)Beta」這個模式,在這個模式里,「開始節點」必須只保留 1 個默認才能添加上這個工作流;
- 使用「單 Agent(LLM 模式)」有時候不能保證 100% 調用這個工作流;
- 正好試用下 Coze 上的新模式。
下面我們從找規律的方法,先了解下工作流里的所有節點的大概界面結構~
② 工作流所有節點
目前除了「圖像流、工作流、消息」外,剩下的節點結構,都會有「輸入、輸出」。
- 輸入:可以理解為,在餐廳吃飯,你告訴廚師你要吃什么;
- 輸出:可以理解為,廚師按你要求(輸入)做好后,把飯菜給你。
③ 添加代碼節點
添加代碼節點:
點擊左側「選擇節點」區,點擊代碼,中間編輯區會添加一個代碼節點(其他節點添加也是一樣的操作方法)。
代碼節點-界面結構拆解:
點擊代碼節點,右側展開對話框。
收起所有模塊,可以明確看到界面有 3 個功能區:
- 輸入
- 代碼
- 輸出
Tips:其他節點界面結構,邏輯與代碼相同,只是不同節點功能區數量不同,比如開始節點,只有輸入~
我們逐一理解下這 3 個功能區~
1)代碼節點:輸入
新增:可通過新增添加多行參數,點擊每行后面 icon 可刪除對應行;
參數名:可自定義參數名,有些「引用」上一個節點的輸出(開始節點除外),選擇后這里的參數名會自動填入;
參數值:有兩種
- 引用:一般引用前面節點的輸入/輸出,具體引用內容,取決于我們想要在代碼節點里獲取什么信息;
- 輸入:選擇輸入,后面就變為輸入框,可以輸入我們想要的信息。
2)代碼節點:代碼
代碼區默認有代碼示例
我們逐一理解下代碼相關的內容~
代碼語言類型
點擊「在 IDE 中編輯」,進入代碼編程頁面,代碼里默認是 JavaScript 語言的一段代碼示例。
目前有 2 種語言,可以通過切換選擇不同的語言。
加深理解:
JavaScript、Python 等都是一種編程語言,可以理解我們現實生活中的「中文、英文」等語言。
- 中英文:是我們現實世界對話溝通使用的語言;
- Python 等:是我們和計算機對話溝通使用的語言。
兩種語言區別:
- JavaScript:就像是機器人在互聯網世界里的語言。當你在網上沖浪時,JavaScript 幫助你和網站互動,比如當你點擊一個按鈕,JavaScript 就會告訴機器人(計算機)該做什么。
- Python:則像是機器人的多功能語言,它不僅能夠在網上幫助你,還能做很多其他事情,比如處理數據、做計算、畫圖、甚至自己玩游戲。Python 讓機器人(計算機)在多個領域都能理解和執行任務。
這也是我們通常使用 Python 語言的原因吧~
默認代碼:我們將這段代碼拆成 3 段,使用比喻來理解下
示例代碼:
讓我們用餐飲外賣機器人接單出單的流程做比喻,來解釋這段代碼~
第一段
第二段
這段代碼里最終會輸出 3 個信息,具體內容及釋義分別是:
第三段
總結
第一段、第三段:一般是固定的結構;
第二段:重點,是具體要生成的信息內容。
一句話總結,這段代碼的作用就是:使用異步處理來接收信息、處理信息、將準備好最終信息展示出來。
關于代碼編程的更多詳情細節,比如:
{}:一個大括號,對象(Object),表示創建一個字典(一種鍵值對的數據結構);
[]:一個中括號,數組(Array),表示創建一個列表;
,:英文逗號,用于分隔列表中的元素或字典中的鍵值。
還有更多其他信息都是什么意思,如果大家想了解,可以給我留言,后面再寫~
③ 代碼節點:輸出
默認輸出字段,如下圖:
這里之所以默認輸出是這 4 個信息,是基于代碼的默認示例,內容是一一對應的,如下圖:
代碼里的輸出和最終輸出對應關系:
輸出的作用
輸出這里如果不設置,最終輸出就不顯示,如下圖:
節點測試小技巧:
我們搭建工作流的時候,可以每個節點先測試下,沒有報錯和異常后,再往下走,如果我們每一步都測試通過,那么最終輸出大概率是成功的。
如果我們的工作流報錯,也是按上面的方式:
- 點擊「展開結果」;
- 查看每個節點「運行結果」里的「輸入、輸出」是否有異常;
- 如果有報錯看不懂,可以直接復制扔給 Kimi 讓它解釋原因和給出解決方案~
輸出的配置
變量名:輸出里的變量名,我們添加不同的變量,看下不同的輸出,加深理解:
變量設置小提示:
- 變量類型:選擇 Object 時,后面才會出現+加號;
- 點擊加號:可以添加子內容
變量類型
Tips:
大家想加深理解各個節點,可以不斷地去嘗試,去玩,這種方式能更快更直觀的,幫我們理解節點運行輸入、輸出的完整邏輯。
通過上面的內容,我們對 Coze 里的代碼有了一些理解。
我們下面要做的是用代碼節點,來實現「生成隨機數」的工作流啦,因為我目前還不會自己寫代碼(正在學習中...),所以下面會使用 Coze 自帶的 AI 來生成代碼~
④ AI 編程代碼
在代碼編輯面板的代碼區,點擊右側「在 IDE 中編輯」
IDE:集成開發環境(Integrated Development Environment)的縮寫,它是一種特殊的軟件應用程序,用于幫助程序員編寫、測試和調試代碼。
進入代碼編寫界面
- 語言:默認是 JavaScript,切換成「Python」;
- AI 編寫代碼:點擊左下角「嘗試 AI」,左上角會出現一個長條編輯對話框,如下:
1)AI 編碼輸入
我輸入的是下面這個內容,清楚的告訴 AI 我們要什么,它要做什么。
這點很重要,因為 AI 生成的內容隨機性挺大,我們輸入的信息越明確清晰,結果越符合我們的預期 。
Prompt(提示詞):請幫我寫一個可以生成隨機數的代碼,要求是 8 位隨機數,由字母和數字組成
輸入提示詞,點擊右側「發送」icon:
生成后的代碼,看不懂,沒關系,先點「接受」試試~
點「接受」后,AI 編程 代碼如下:
2)AI 編碼測試
我們來測試下,AI 生成的這段代碼能不能「生成隨機數」:
點擊測試 icon:就是下圖右上角那個像播放的 icon
輸入:隨便輸入什么都可以,我這里輸入 1
運行結果:點擊「運行」,運行結果成功,生成一個 8 位的隨機數:mJ8TIcM7
Tips:
代碼里的變量一定要和輸出里的變量名保持一致,要不然輸出里會為空。
代碼里是 key0,我們輸出變量也是 key0,如果不想使用 key0,可以在代碼里更改,保持統一就可以~
讓我們一起再加深理解,來改個變量名,一起看看怎么改~
改變量名:我在代碼和輸出里變量都改為「output」,變量名保持一致,輸出成功,如下圖:
變量名不一致:代碼里不修改,將輸出變量改為「key0」,變量名不一致,最終輸出 null,如下圖:
Tips:代碼里的變量和輸出的變量名不一樣,最終輸出就會是 null,就是空的意思。
通俗點理解:運行后,系統按我們的配置輸出 key0 去代碼里找這個 key0 的變量名,但是代碼里沒有找到這個變量名,所以它就只能返回空。
這個也是我們測試工作流時常遇到的一個問題。
代碼節點階段性完成,下面是結束節點~
⑤ 結束節點
具體配置如下圖:
回答內容:這里一般是要輸出參數名,如果有多個參數名,「回答內容」里也需要一一對應上,否則最終輸出里會不顯示。
{{}}:這里的 {{}} 是一個模板標記,用于在最終輸出中插入變量 output 的值。
Tips:
- 這里輸入{{}}后 ,鼠標放在里面,會自動出現上面添加的變量名,點擊下,就會自動填充進去,如果有多變量名,這里也會顯示多個;
- 如果{{}}已數據,鼠標放進去,所有變量名會再次出現,可以更改。
完整工作流,如下:
我們使用代碼節點搭建的「生成隨機數」的工作流就完成啦~~
下面開始使用其他節點,搭建「生成隨機數」的工作流~
2. 大模型節點「生成隨機數」
用一個大模型節點「生成隨機數」搭建的完整工作流,如下:
以下有些省略的步驟和上面代碼節點相同~
① 創建工作流
添加工作流
- 工作流名稱:random_number_NoneCode
- 工作流描述:使用其他節點生成隨機數
② 添加大模型節點
添加大模型節點:
點擊左側「選擇節點」區,點擊大模型,中間編輯區會添加一個大模型節點。
大模型節點-界面結構:
點擊大模型節點,界面有 5 個功能區。
- 模型
- 輸入
- 系統提示詞
- 用戶提示詞
- 輸出
這篇文章主角是代碼,所以這里大模型界面拆解就不逐一理解了,后面到大模型節點再詳寫~
1)大模型:模型
選擇一個模型:
2)大模型:輸入
輸入參數名,引用開始默認值
3)大模型:系統提示詞
系統提示詞這里有 2 種方式可以寫:
- 提示詞庫:我們上面介紹 Coze 里代碼相關的三者關系時有提到,改版后資源里新增提示詞獨立模塊,就是在這里的提示詞庫可以選擇直接使用;
- AI 自動優化提示詞:根據輸入的簡單提示詞,優化為結構化的提示詞。
提示詞庫
點擊「提示詞庫」,出現對話框,這里主要介紹 提示詞庫的 3 個重要功能:
- 新建提示詞
- 推薦
- ?團隊
逐一看一下~
(1)新建提示詞:如果沒有可用的提示詞,可以使用「新建提示詞」,這里也有 AI 優化幫助寫提示詞。
(2)推薦:是 Coze 平臺內置的提示詞框架模板,可以按給出的框架寫自己場景需要的提示詞。
(3)團隊:我們自己添加的提示詞,下面這個是我已經添加的一個提示詞。我們這里直接點擊「插入提示詞」,會直接填入進系統提示詞里。
AI 自動優化提示詞
點擊系統提示詞右上角 icon,出現 AI 自動優化提示詞對話框,這里主要介紹 寫提示詞的 2 個功能:
- 自動優化:根據輸入內容,優化完善結構化提示詞;
- 根據調試結果優化:對已生成的提示詞進行修改。
(1)自動優化:輸入提示詞
Prompt(提示詞):生成隨機數,要求是 8 位隨機數,由字母和數字組成
點擊輸入框右側發送 icon,自動生成結構化提示詞,點擊「替換」直接填入進系統提示詞內,如下:
如果我們覺得它生成的不好,可以重新生成,
如果覺得是一部分不滿意,可以使用另一個功能進行修改。
(2)根據調試結果優化
點擊進入修改對話框,有 2 個必填項,一個是告訴它那里不滿意,另一個輸入我們具體要修改的內容。
發送修改后生成如下,只增加了示例,其他沒有更改,我們點擊「替換」會自動填寫進「系統提示詞」。
4)大模型:用戶提示詞
可不填,這里也沒有 AI 輔助寫提示詞。
5)大模型:輸出
使用默認即可
6)測試大模型節點
點擊測試 icon,隨便輸入一個信息,我這里輸入的是 1,點擊運行,運行結果最終輸出成功生成一個 8 位隨機數。
③ 結束節點
輸出:參數-引用-「大模型」,具體配置如下
完整工作流,如下:
我們大模型節點搭建的「生成隨機數」的工作流完成啦~
我們通過上面這個「生成隨機數」的例子,大家可能覺得,既然不使用代碼也能實現我們的需求,那是不是就不用學代碼了。
不是的哦,我們上面的例子是很簡單的,可以通過其他節點來實現。
但是我們實際業務場景中,都是一些復雜的任務,使用其他節點是很難實現我們的需求的。
代碼在很多業務場景里是不可替代的,下面我們一起看看,和其他節點比使用代碼節點的優勢~
1. 優勢
和其他節點比使用代碼節點的幾個優勢:
① 處理用戶輸入
- 靈活性:代碼節點可以根據用戶的輸入進行復雜的邏輯處理,而其他節點通常只能執行預設的操作;
- 動態響應:可以實時處理用戶輸入,生成個性化的回復,提升用戶體驗。
② 自定義邏輯
- 個性化:用戶可以編寫特定的邏輯來滿足獨特的需求,比如根據不同的輸入生成不同的輸出,這在其他節點中往往難以實現;
- 復雜計算:代碼節點可以執行復雜的計算和數據處理,其他節點可能無法支持這種靈活性。
③ 數據格式化
- 自定義輸出:代碼節點允許用戶根據需要自定義輸出格式,確保信息以最易于理解的方式呈現;
- 多樣化數據結構:可以返回多種數據結構(如字典、列表等),而其他節點通常只能返回簡單的文本。
④ 增強互動性
- 智能對話:通過代碼節點,機器人可以實現更復雜的對話邏輯,提供更自然的互動體驗;
- 實時反饋:可以根據用戶的輸入實時生成反饋,增強用戶的參與感。
⑤ 靈活性和擴展性
- 易于修改:用戶可以隨時調整代碼以適應新的需求,而其他節點的功能通常是固定的,難以進行個性化調整;
- 功能擴展:可以輕松添加新功能或改進現有功能,支持不斷演進的需求。
2. 實例對比
我們以第 1 個「處理用戶輸入」優勢為實例,通過搭建 2 個「今日運勢」工作流來對比下~
- 代碼節點:根據用戶輸入進行復雜的邏輯處理,生成個性化的回復;
- 其他節點:通常只能執行預設的操作。
「今日運勢」工作流
2 個工作流完整截圖如下,為直觀對比代碼和其他節點的區別,下面兩個工作流,除了「代碼、文本處理」2 個節點配置信息不同,其他所有節點配置內容一模一樣。
使用「代碼」節點
使用「文本處理」節點
除了以下 2 個節點配置不同,2 個工作流的其他所有節點配置都一模一樣,2 個節點具體配置截圖如下:
「代碼」節點配置
「文本處理」節點配置
代碼節點的內容:以下代碼為 AI 編寫,大家如果想做這個工作流,可以使用 AI 編寫,或者復制以下代碼試試~
3. 最終輸出對比
① 代碼節點
輸出結果:生成個性化的回復,每次輸入都會生成不同的內容。
試運行提示詞:今日運勢
試運行提示詞:運勢
② 文本處理節點
輸出結果:通常只能執行預設的操作,輸出內容固定化,缺乏個性化。
試運行提示詞:今日運勢
試運行提示詞:運勢
4. 總結
使用代碼節點的好處在于,它提供了更高的靈活性和自定義能力,使得開發者能夠根據具體需求實現復雜的邏輯和功能。而其他節點則往往局限于預設的操作和簡單的交互。
這使得代碼節點成為構建智能、個性化機器人的關鍵工具。
以上就是本次 Coze 代碼節點入門內容,感覺寫的有些長,在開始寫這篇文章前,我也沒想到會這么多文字。
如果大家也覺得繁瑣,可以留言,下次我們可以精簡些,或者拆分成幾個文章,每個文章寫一部分,就是怕拆分后大家看起來會不連貫,看大家想怎么看~
如果大家有其他問題,或者想做的工作流、Bot,都可以留言,我看到后都會一一回復,這篇先到這里吧。
下篇再會~
復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。
發評論!每天贏獎品
點擊 登錄 后,在評論區留言,系統會隨機派送獎品
2012年成立至今,是國內備受歡迎的設計師平臺,提供獎品贊助 聯系我們
標志設計標準教程
已累計誕生 729 位幸運星
發表評論 為下方 6 條評論點贊,解鎖好運彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評 ↓