App vs AI agent

The first thing I did this morning was argue with an AI (❌) — I mean, have a rational discussion (✅) — about the differences between AI agents and traditional apps calling AI:

(p.s. The following list items are from ChatGPT, but all the examples and explanations were written by a real human. Enjoy! \:D)

(1) Difference in Workflow:

(Fixed workflow vs. Flexible and extensible workflow)

Traditional apps calling AI can certainly use AI to accomplish specific goals (e.g., retrieving today’s news), but the process is fixed. If you want to add a new feature (e.g., get today’s news and filter out news related to Trump), you have to write new code to support it.

On the other hand, an AI agent, as long as the new task — like “filtering Trump-related news” — can still be completed using AI or existing supported tools (Internet, search, etc.), does not require manually adding new code to change the current workflow.

(2) Difference in State:

(Stateless vs. Stateful)

Traditional apps calling AI are basically stateless — each execution is independent and not affected by previous runs. AI agents, however, are fundamentally designed with memory (which may be short-term or long-term).

Note: While developers can add memory manually when using traditional apps, AI agents have this memory mechanism built into their infrastructure — no need for developers to design a separate “memory system.”

(3) Difference in Output Behavior:

(Fixed output vs. Dynamic and differentiated output)

Traditional apps can only display results designed by developers (e.g., listing all Trump-related news headlines), but AI agents can dynamically generate different types of output based on the input (e.g., one time it shows news headlines; another time, it extracts all the dates mentioned in the news).

(4) Difference in Task Steps:

(Fixed task steps vs. Flexible and adaptive steps)

Traditional apps follow fixed task procedures (e.g., retrieve all news → filter Trump-related news → extract the headlines). In contrast, AI agents can alter their workflow based on input or environment (e.g., extract all news headlines → filter for Trump-related ones). Each execution might differ slightly, but the end goal — getting all Trump-related headlines — remains the same.

Remarks:

AI agents are more extensible than traditional apps or websites because they are built on AI models that can interpret input (e.g., even if you give incorrect instructions, they can often still understand you or fix your intent) and utilize existing tools (e.g., calling APIs or using API schemas) to achieve variable tasks and flexible workflows.

The downside of this flexibility and extensibility is also clear: it’s impossible to guarantee that the output is always correct or as expected.

After all, if the AI model crashes or suddenly becomes “dumb” (i.e., loses its ability to reason properly), you’ll likely end up going back to the traditional app to get the reliable result you originally wanted.


Below is Chinese version:

早起第一件事是跟AI吵架(X)理性討論(O)關於AI agent和傳統 App 呼叫 AI的差別:

(p.s. 以下除了項目是ChatGPT給的,例子與說明皆為真人撰寫,請安心服用:D)

(1) 流程上的差別:

(固定流程 vs. 彈性可擴充的流程)

傳統app呼叫AI,雖然一樣可以利用AI去達成任務目標(ex: 查詢今天新聞),但都是固定流程。如果想加上新功能(ex: 查詢今天新聞,並找出跟川普有關的新聞),就需要寫新程式碼達成目標。

反之,AI agent可以在確保「找出跟川普有關的新聞」這個新功能一樣可以透過AI or 其他既有支援的工具(Internet, search)達成,就不用手動加上新程式碼改變既有流程。

(2) 記憶上的差別:

(stateless vs. stateful)

傳統app呼叫AI基本上是stateless,每次的執行都是獨立的,不會受到前一次影響。而AI agent的根本設計就包含記憶狀態(可能是短期記憶或長期記憶)。

Note: App呼叫AI後,App開發者可以自己加上記憶功能,來確保state被保留,只是AI model原生的infrastructure就有支援,不必額外設計「記憶功能」

(3) 行動結果上的差別:

(固定的顯示結果 vs. 彈性具備差異化的顯示結果)

傳統app只能顯示開發者設計的結果(ex: 顯示出所有川普新聞的標題),但是AI agent可以根據不同的input,每次顯示具備差異化的結果(ex: 一次是顯示新聞的標題、另ㄧ次是顯示新聞中提到的所有日期)

(4) 任務設計方式上的差別:

(固定達成任務步驟 vs. 彈性具變化性的任務步驟 )

傳統app的所有任務都有固定流程(ex: 找出所有新聞 -> 找出所有川普的新聞 -> 找出這些新聞的標題)。AI agent可以根據input、環境不同,產生不同的工作流程(ex: 找出所有新聞的標題 -> 找出當中所有川普新聞的標題),每一次的執行方式可能略有不同,但最終目的都是找出所有川普新聞的標題。

備註:

AI之所以比既有的app或網頁程式具備擴充的能力,是因為建立在AI model對於input具備解釋能力(p.s. 你就算下錯指令,它還能幫你校正。加入新的要求,AI一樣能解釋,不像目前前端的code,invalid input就直接掛給你看或呆呆的顯示無法處理) 和既有支援工具的能力(p.s. 透過呼叫支援工具提供的api or api schema)達成變化性的任務步驟和可擴充性的流程。

這個彈性與擴充性的缺點也很明顯,就是無法「保證」每次出來的結果一定是符合預期或是對的。

畢竟AI model如果突然掛機或突然變「笨」(p.s. 失去了良好解釋能力)的狀況下,你就只能乖乖地跑回去用app去得到你預期的結果。

探索更多來自 LifeJourney 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading