アリババエンジニア、汎用エージェントは「飲鸩止渴」だと警告
本文の状態
日本語全文を表示中
詳細モードで約24分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Alibaba Engineering
アリババエンジニアリングは、汎用エージェントの限界を克服するため、LLM に依存せず自然言語で記述されたフローを基盤とした「Agent Flow」アプローチを提案し、特定タスクに特化した実用的な解決策として位置づけている。
AI深層分析を開く2026年8月5日 22:35
AI深層分析
キーポイント
汎用エージェントの限界と代替案
著者は「世界を支配するエージェント」や万能な LLM への過度な期待がユーザーの離脱を招くと指摘し、特定タスクに特化した実効性のあるアプローチの必要性を説いている。
Agent Flow のアーキテクチャ
Agent Flow は自然言語による目標記述からフローを生成・実行する仕組みであり、複雑なタスクを複数の Node に分割して適切なツールやエージェントに委譲する編成層として機能する。
最小任務単位の確実性
大模型の確率的出力による不安定さを回避するため、YAML やフロー定義に基づく「最小任務単位」でタスクを分割・実行し、結果の確定性を確保する設計思想が示されている。
独自データとドメイン特化の重要性
汎用モデルでは解決できない課題に対し、ユーザーが特定の Agent を選ぶ理由は「他社にはない独自データ(例:淘宝の商品データや钉钉のチャット履歴)へのアクセス権」にあると結論づけている。
通用 Agent は「飲鸩止渴」であり、専用データと機能を持つエージェントが真の価値を生む
通用モデルは安全制限により独自データベースにアクセスできず、真の価値は高品質な独自データとコア機能を持つエージェントから生まれる。
重要な引用
通用 Agent 是“饮鸩止渴”
Flow 本身的重要性也降级了,它只是一个编排层
YAML、Flow、hardcode 是可靠的,而纯自然语言是不可靠的
真正关键的是,你拥有别的 Agent 拿不到的东西
編集コメントを表示
編集コメント
本記事は、現在の AI エージェント市場における「万能化」への批判的視点と、実務レベルでの信頼性を高めるための具体的なアーキテクチャ指針を示している。特に独自データ資産の重要性を強調する点は、企業による AI 導入戦略において極めて重要な示唆を含んでいる。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
原文には記事本文が含まれておらず、著者名と日付のみが記載されています。したがって、リライトすべき内容がありません。
陳以強 2026年8月5日 18:18 浙江
現場のエンジニアとしての視点から、汎用エージェントに関する個人的な考察
2026 年、第 48 回記事
(本文の読了時間:約 15 分)
01
Agent Flow
最近、「Agent Flow」という小規模なプロジェクトに取り組んでいます。当初の目的は明確で、特定のシナリオやターゲット層において、既存の「Agent Skill」に代わるものを作ることでした。
この「Flow」は従来のフローを強化したものに過ぎませんが、その核心はユーザーがノードや接続線、JSON を理解することではありません。重要なのは、ユーザーが自然言語で目標を記述し、LLM がその目標を理解して Flow の生成・修正・実行を行う点にあります。
Flow 自体の重要性は相対的に低下しました。それは単なるオーケストレーション層であり、ノードや詳細な処理には責任を持ちません。役割はあくまでリンク制御、タスクの配信、結果の回収に限定されます。具体的な作業は各 Node が担当します。ここでいう Node は QwenWork 也可以是 Codex CLI、影刀(Yingdao)、千牛(QianNiu)の API、あるいはアリババ内部の運用 Agent など多岐にわたります。核となる理念は、タスクを細分化して配分し、各ノードが実行責任を負うというものです。
具体的な事例を見てみましょう。ある EC 事業者がレポート集計を行う際、QwenWork でデータを取得し、影刀 RPA でもデータを取得し、さらに千牛の API を通じてデータを取得します。その後、これら3つのデータを統合し、DWS(Data Warehouse Service)を経由して钉钉(DingTalk)のドキュメントに書き込み、最後にそのドキュメントを钉钉グループへ送信するという一連の流れが必要です。
従来の「Skill」を作成する際には、このような長距離かつ複雑なループ処理を単一のタスク内で完結させることはほぼ不可能でした。しかし、Agent Flow なら、このケースを実際に介入なしで、確実に実行することが可能です。
このアプローチは、すべての汎用能力や大規模言語モデル(LLM)に依存する一般的なエージェントとは一線を画します。「世界を司るエージェント」を作ろうとしたり、単に願望を伝えるだけで問題が解決すると期待したりすることはありません。代わりに、タスクの連鎖を適切なノードに分解し、「外部委託」のように各ノードに最適なエージェントを割り当てます。これにより、個々のエージェントに留まらず、オーケストレーション層や制御層へと視座を上げ、エージェントは「能力の一つ」として位置づけられ、すべてを担う存在ではありません。
なぜこのようにするのでしょうか。大規模モデルの波乱万丈な時代において、「汎用能力」「インテリジェント・アシスタント」「アーキテクチャ設計」といった用語があまりにも氾濫しているからです。ユーザーは期待を持って製品を利用しますが、エージェントが左右に揺れ動く汎用的なアップグレードを待つ間に望む結果を得られず、最終的には見放してしまいます。多くの顧客が本当に求めているのは、反復的なタスクの完了です。これらのタスクには固定されたフローと連鎖が存在し、特定のノード(例えばデータの抽出、文章の整理、結果の分析など)でエージェントが一部の操作を代行すれば十分なのです。
Flow と Agent を組み合わせることで、顧客の課題を迅速かつ効率的に解決できます。ユーザーは理解しがたい「スキル」や、Agent や LLM の独自能力のアップグレードを待つ長い時間をやり取りする必要がありません。これこそが、ユーザーを実際に留め置く方法です。
02
最小タスク単位と確定的な実行
Flow がエージェントノードにタスクを振り分けるこのロジックは、私が常に提唱する「最小タスク単位(最小の混沌ユニット)」という理念と非常に合致しています。
大規模モデルの出力は本質的に確率的であり、コンテキストウィンドウも限られているため、大規模モデルに毎回割り当てるタスクは、具体的な文脈を持ち、作業量が適切で、結果を閉じて確認できる単位であることが望ましいです。
Agent Flow において、Flow の各ノードがまさにこの最小タスク単位となります。これらのノードは、QwenWork に特定の動作を実行させることもあれば、外部ツールを呼び出して論理処理を行わせ、完了後に次のノードへ進むこともあります。この手法により、膨大で複雑なタスクが制御可能となり、システムのオーケストレーション能力も劇的に拡張されます。
さらに重要なのは、YAML、Flow、ハードコードは信頼性がある一方、純粋な自然言語は信頼できないという点です。YAML に基づく Flow の自己生成と自己維持は、緩やかな「スキル」よりもはるかにシンプルで効率的です。
現在の一般的なエージェントを深く使ったことがある人ならご存知の通り、同じタスクでも異なる会話で開始すると、エージェントは全く異なるアプローチを採用し、片方は成功して片方が失敗することがあります。
では、業界はこの問題に対処しようとしてどうしているのでしょうか?「メモリ(Memory)」システムを積み重ねることで解決を図っています。しかし、これはより大きな沼に陥ることになります。現時点で、どの一般的なエージェントも自らのメモリシステムが完全に問題を解決できると断言できるものはありません。
同様に、ユーザーが本当に求めているのは、大規模モデルがプログラマーのようにバグを修正するために「探索」することではありません。ユーザーが必要としているのは、最低限の認知負荷で、確定的かつ信頼性のある方法で複雑なタスクを完了させることです。
03
なぜユーザーはあなたのエージェントを選ぶのか?
以上の認識に基づき、現実的な問題に立ち返りましょう。「成熟した大規模モデルがこれほど多くある中で、なぜユーザーはある特定のエージェントを選ぶのか?」
理由はたった二つです。
第一に、「あなたしか解決できない問題がある」からです。
フレームワークの先進性を過信しないでください。LLM の時代において、優れたエージェントアーキテクチャを構築することは決して難しくありません。真に重要なのは、他社が持つことができない独自の資産を持っているかどうかです。
過去十数年間、スクレイピング技術と反スクレイピング対策は激しく対立してきましたが、この一連の技術は徐々に忘れ去られるかのように思われていました。しかし、LLM の台頭により、私は突然、スクレイピングやデータ取得が再び注目されるようになったことに気づきました。なぜなら、大規模モデルに正しくかつ中核的なデータがなければ、それは単なるチャットボットに過ぎないからです。膨大な数の LLM が訓練段階でデータを必要とするだけでなく、実際に実装されるエージェントも実行段階で真のデータを必要としています。
最も古典的な例として、「AI 元カノ」があります。一見すると非常にシンプルですが、本当に成功させた人は極めて少数です。その理由は、完全なチャット履歴を取得することが極めて困難だからです。
同様の理屈が、淘宝の商品データや釘釘のチャット記録にも当てはまります。これこそが Agent にとって最も貴重な資産です。
どんなに汎用的なモデルが賢くても、セキュリティ制限を突破してデータベースに侵入し、「チャット記録を自動的に要約し、指定された釘釘グループへ正確に配信する」といったことはできません。唯一可能なのは、独自の手に入れたデータと API を活用できる Agent だけです。
つまり LLM の時代において、誰が真の高品質なデータを保有し、誰が中核となる製品や機能に支えられているかが、他にはないユニークな Agent を生み出す鍵となります。
第二に、本当に問題を解決できているかです。
この言葉は「当たり前のこと」のように聞こえるかもしれませんが、多くの LLM 製品で最も本末転倒になりがちな部分でもあります。
汎用的な Agent 製品で使われる RAG、MCP、Tool Calling、Multi-Agent、Agent Loop……といった要素は、ユーザーにとっては本質的に意味を持ちません。ユーザーが関心を持つのはたった一つ、「自分の問題が解決されたか」という点だけです。
実際には、多くの顧客の真のニーズは、順序立てた LLM の呼び出し 3 回と API を 2 回使えば十分です。しかし市場に出回る多くの製品では、あえて汎用的な機能を詰め込み、複雑なループを構築します。その結果、莫大なトークンを消費して大量の不満を買うか、タスクが再現できず一度きりの機能に終わってしまうのです。
多くの Agent は「野心勃勃」です。「スーパーインテリジェントアシスタント」になり、ユーザーのあらゆる問題を解決し、「デジタル従業員」としてユーザーそのものを置き換える……そんな夢を描きます。しかし残酷な事実として、World Agent や World Model は、短期間で達成できるものではありません。
この目標が前向きで追求する価値があることを否定はしません。しかし、この長い道のりの中で、ユーザーの大小さまざまな具体的な問題を放棄してしまうのでしょうか?顧客や業務チームに問題が生じた際、真のニーズを無視して、アーキテクチャチームの「星と海」を邪魔しないようにしているだけでよいのでしょうか。
Agent の核心は、アーキテクチャでもループでもハーンセス(harness)でもありません。ユーザーがその Agent が解決する問題に対して支払い意欲を持つかどうかです。問題を解決できれば、ユーザーはアーキテクチャや技術の詳細、ハードコードの有無、サーバーに配置されたスクリプトの数、あるいは LLM を使っているかどうかを気にしません。問題を解決できるなら、顧客は喜んで支払います。顧客が支払うとき初めて、Agent は成功したと言えます。
04
Hardcode は美しい
私の視点では、汎用的な Agent よりも Hardcode の方が「美しい」です。なぜなら、私にとっての美しさとは「顧客がお金を払ってくれること」だからです。
ユーザーニーズに応えるという競争において、多くの場合、ユーザーの要望は非常に素朴なのに、私たちはこれまで通りの究極の解法である Hardcode を採用することを躊躇してしまいます。
Hardcode を排斥するのは、強い慣性によるものです。過去には人工でコードを書くコストが高く、カスタムロジックを実装するにもコストがかかり、メンテナンスや将来の拡張にもコストが必要でした。そのため、人々は抽象化や汎用性、プラットフォーム化を追求しました。その時代では、ある顧客のために if else を書くだけで「古臭い」「高級感がない」と見なされていたのです。
しかし LLM の時代になると、この前提は変わりました。コードは「安価」になったのです。フローを書くのは安価です。数回の固定された LLM 呼び出しも安価です。特定の有料顧客のために手作業で Agent Flow を構築することも安価です。なぜ Hardcode をしないのでしょうか。
Hardcode は非常に美しいと言えます。その理由は、コードの保守者が LLM に変わるからです。LLM にとって、10 個の if else は、膨大な抽象ファクトリよりもはるかに理解しやすいのです。
もしある顧客の問題が、順序立てた LLM の呼び出し 3 回と API を 2 回で解決できるなら、そう書けばよいのです。顧客のニーズが固定された承認支援フローであるなら、それをハードコードすればよいのです。顧客がお金を払い、システムに毎週信頼性の高いレポートを生成してほしいと願うなら、信頼性の高い Flow を提供すればよいのです。
ユーザーが問題を解決されれば、喜んで支払い、その費用でシステムコストもカバーできます。さらに、システムは実際の現場からさらに成長する機会を得るのです。
それとは対照的に、問題が未解決で顧客からの支払いもない段階で、汎用エージェントプラットフォームを設計し、Loop や Memory、Harness、MCP、RAG といった要素を無理やり詰め込みます。その結果、ユーザーは使いこなせず、コストも抑えられません。これこそが本末倒置です。
これが私が「Agent Flow」に取り組む理由です。Flow が Agent よりも先進的であることを証明するためではありません。Flow は、こうした実際的で具体的、あるいは多少ハードコード的なユーザーのニーズを受け入れることができるからです。if-else 分岐や LLM の呼び出し、エージェントノード、業務インターフェース、人間の確認といった要素を編成し、信頼できるタスクチェーンへと変えることができます。
05
AI Native / LLM Native
「AI Native」という言葉は今年の業界のホットトピックです。関係者たちは試行錯誤を繰り返しましたが、熱狂が冷め去ってもなお、その本質はまだ完全に理解されていないようです。
実は AI Native の本質は非常にシンプルです。LLM を基盤として、AI がユーザーの問題を解決することです。
製品に AI があるように見せかけることでも、アーキテクチャを先進的に見せることでも、ユーザーが Agent や Loop、RAG、MCP を学ぶことを強いることでもありません。ユーザーに真の問題があり、AI がそれをより手軽で、より信頼性が高く、より安価に解決する(あるいは少なくともより自然な形で解決する)ことで、ユーザーは継続利用し、さらに支払いに応じる。これが AI Native の真髄です。
現在の多くのケースは、旧来のシステムが突然大模型の存在を知り、慌てて AI という皮を被せたものに過ぎません。古いフレームワークはそのまま、古いプロセスもそのままだのです。ただ、ある工程で LLM を追加呼び出ししただけか、あるいはあるページにチャットボックスを追加しただけです。
具体的な例を挙げましょう。多くの AI 検索サービスは、LLM を無理やり推薦システムに組み込むものであり、典型的な「LLM の皮」です。一方、OneRec のように、ネイティブの推薦大モデルそのものを構築するアプローチこそが、真の LLM Native なソリューションに近いと言えます(注:著者は OneRec を賞賛しているわけではなく、単なる事例として挙げています)。
LLM の普及と浸透に伴い、多くのユーザーが自然言語で LLM と対話することに慣れてきました。やがて「インターネット新生世代」に代わり、「LLM 新生世代」と呼ばれる層が登場するかもしれません。ユーザー自身が AI Native であるならば、製品もまた AI Native でなければなりません。すべての人が Loop や Memory、RAG、MCP といった技術概念を理解しているわけではありませんが、「使いやすいか」「信頼できるか」「支払う価値があるか」は判断できます。AI Native な製品とは、大模型を基盤として、製品インタラクションやビジネスプロセス、顧客対応を再構築するものです。ユーザーはすでに AI Native への転換の途上にあり、製品もこれに追随する必要があります。
私たちは「邪魔なものはすべて排除する」という強硬な姿勢で臨むべきです。頭に残すべきはただ一つ、「ユーザーが自然言語で指示しただけで、このタスクを完遂できるか?」という問いだけです。
以上のことから、もう一度強調しておきます。AI Native とは、華々しいプロセスのことではありません。LLM を出発点とし、負担の軽減と使いやすさの向上を目標に、自社の製品がより確実にユーザーのために機能し、真の問題を解決し、ユーザーがその対価を支払う意愿を持つようになるかどうかが問われるのです。
06
プログラマーとしての修養
視点を開発側に戻しましょう。理念は依然として共通しています。技術に LLM を導入する目的は「効率化」です。
では、どのように効率化するのか?すべての「邪魔な」プロセス、承認フロー、権限管理を排除し、最良のモデルと Code Agent を活用して、LLM がコード作成、テスト、リリースのチェーンに真正面から参加できるようにします。
以前、社内運用エージェントのような WarRoom 開発アシスタントプロジェクトに取り組んだ際、その重要性を実感しました。当時の目標は、アラートの自動受信、問題分析、そしてコード記述と PR の提出を自動化することでした。つまり、プログラマーのための LLM アシスタントです。
しかし、プロジェクトがほぼ完成した段階で私はこれを断念しました。なぜでしょうか?現在のインフラストラクチャがこのシステムを支えられないからです。
ログを確認したいと思っても、ログシステムは手動での権限付与が必要であり、A2A(Agent to Agent)通信にも対応していません。
コードを見せるには手動で権限を開く必要があるし、ミドルウェアを管理するには AK/SK の管理機能が開通していない。
より強力なモデルに接続したいが、承認が下りず、外部モデルは社内ネットワークにもアクセスできない。
一歩一歩が壁にぶつかり、やっとの思いで作ったデモでは 3 つのアプリしか管理できず、制限されたモデルしか使えない。その結果、「人がループする」状態を強いられてしまうのだ。
当時、私が最も強く感じたのは「モデルが賢くないから」ということではなく、自分が再び「人肉の接着剤」になっているという事実だった。Agent がログを確認したいと言えば私がクリックし、権限を見たいと言えば私が申請し、結果を検証したいと言えば私がバックエンドを切り替えてスクリーンショットを撮り、コピーして Agent に渡す──理由など明白だ。過去 20 年間に作られたインフラはすべて「人間」のために設計されており、LLM(大規模言語モデル)には親和性がないからだ。だから至る所でぎくしゃくする。
私は真のスーパープログラマーアシスタントを作ることもできず、自分自身も「自由な存在」としてスムーズに活動することもできない。既存の枠組みの中に押し付けられているだけだ。
しかし、Aone チームが内部の運用 Agent を実現したことは喜ばしい。私の考えとほぼ同じアプローチだったのだ。ログやトレース、コードなどをそのまま既存の Code Agent に読み込ませるという手法だ。この運用 Agent が証明したのは、「インフラが LLM に対して十分に親和性を持っていれば、モデルと Agent は開発現場に入り込み、バグを修正し、要件を実装し、スーパーアシスタントとして活躍できる」ということだ。
この運用 Agent の立ち位置はもともと有利だった。より多くの権限を簡単に取得でき、インフラへのアクセスも広く、承認プロセスも通りやすいからだ。まさに「ロケーションが重要」であり、私が以前述べた「特定の課題を解決できるのはあなただけ」という話の核心だ。
ここで私の好きな言葉を二つほど添えよう。このシナリオに完璧に合致する言葉だからだ。「権力とは不動産とよく似ている。すべてはロケーション、ロケーション、ロケーションである。お金は 10 年後には崩れ始めるサラソタの McMansion(大規模住宅)のようなものだ。一方、権力は数世紀にわたって屹立し続ける古い石造りの建物なのだ」。
確かに、独立したプログラマーとして私ができるのは、特定の Code Agent を使ってコードを書く方法論を研究したり、「些細な」記事を書いたりすることくらいだ。インフラや権限といったより深遠で重要なレベルについては、発言する権利さえ持っていない。しかし、大模型の前では、すべての障壁は必ず消滅すると私は信じている。重要なのは、それが誰が先に実現するかというスピードの問題に過ぎないのだ。
07
A4 紙を 1,000 枚重ねても厚いままだ
インフラと権限の話が出た以上、組織構造についても触れざるを得ない。過去一年で私は、自分が次第に「Master Agent(マスターエージェント)」のようになっていると感じるようになった。継続的にタスクを受け取り、それを分解して Sub-agent(サブエージェント)に割り振って実行させるという状態だ。この状態において重要なのは、タスクのコンテキストが完全かどうかということだ。
情報が十分に与えられれば、大模型はよく受け止めてくれる。しかし、人間との確認を繰り返す必要があるタスクや、局所的だが深く、多くの対話と判断を要するタスクの場合には、私自身も Sub-agent も極めて苦しい思いをする。現在の組織構造とタスクリフローは、LLM にとって極めて非親和的なのだ。
「フラット化」を叫ぶ声はインターネット業界で何年も続いているが、LLM の時代になってついに無視できない「部屋の中の巨大な象」となった。A4 紙を 1,000 枚重ねても厚いままなのと同じだ。組織も同様で、どんなにフラット化を謳っても、タスク・権限・コンテキスト・フィードバックのリンクが長ければ、それは依然として「厚い」ままなのだ。
真のフラット化とは、物理的な距離が近いことではない。組織のリンクが十分に短いことだ。要件の伝達に転送者が一人減るだけで、元のコンテンツに対する理解は倍になる。一つのアイデアがトップダウンで現場まで届くまでに何層もの伝言が必要か?PM からの要件が開発者に伝わるときに何回も説明が必要か?権限が必要な状態から実際に取得するまでに、どのくらいのチケット数やチャット、承認プロセスを必要とするか?これこそが、フラットかどうかを決める本質だ。
理想状態とは、誰もが「スーパーフリーランサー」になれることです。部署や権限の制約に縛られず、何か問題があれば即座にコードを書き始め、プッシュしてデプロイし、その責任を全うする。タスク配分者は、複雑な階層を経由せず、直接最前線の開発者に完結したタスクを渡せばよいのです。(この考えは非常に過激ですが、小規模なスタートアップではすでに日常茶飯事です。一部のチームでも、こうした現実が広がりつつあります。)
もちろん、LLM を活用する開発者の視点からすれば、重要なのは人間を「エージェント(Agent)」へと進化させ、タスクとコミュニケーションを TCP/IP プロトコルのように、点对点で信頼性が高く、安定し、かつ十分な情報量を持つものに変えることです。私たちがエージェントと対話して必要なコンテキストを一度に入手できれば、タスクは極めてシンプルなゴール指向の形になります。率直に言って、この考え方はやや理想主義的ですが、今からでも始めることは決して損はありません。
08
Agent Flow へ回帰する
最後に、冒頭の問題に戻りましょう:なぜ Agent Flow を作るのか?
それは、より複雑なアーキテクチャを持つエージェントシステムを作ろうとするためではありません。Flow が Skill よりも優れていることを証明するためでもありません。また、ユーザーを縛り付けるために無理やり新しい技術用語を造り出すためでもないのです。
LLM の時代において、エージェントの方向性は派手な技術用語や複雑で汎用的なアーキテクチャ設計にあるべきではありません。ましてや「汎用エージェント」自体が適切な目標であるとも限りません。
ユーザーの問題から直接出発し、ハードコードであっても、if-else 分岐であっても、固定された LLM の呼び出し数であっても、それが LLM の激しい潮流の中でユーザーに問題をよりシンプルかつ確実に解決させることができるなら、それは優れたソリューションです。つまり「Good Agent」なのです。私が Agent Flow を作る理由もこれに尽きます。
大仰な用語や、人々を魅了する技術アーキテクチャを手放し、真摯にユーザーと対話しましょう。今こそ、彼らの問題を解決できるエージェントを設計・開発すべき時です。どんなに「醜く」てもハードコードであっても構いません。無数の技術用語の中で溺れるのではなく、実際に問題解決に取り組むべきです。
付録:
[01] Agent Flow
https://github.com/huisezhiyin/symphlo
[02] OneRec
https://arxiv.org/abs/2502.18965
*注:本記事は著者の個人的な技術的考察と経験の共有であり、会社の公式見解や立場を代表するものではありません。文中の一部の記述には、技術動向や発展方向に関する先見的な判断が含まれていますが、これらは執筆時点での著者の認知と経験に基づいたものです。すべての内容は交流・参考のためのものであり、読者は自らの状況に応じて独立して評価を行う必要があります。
コメント欄で一緒に議論しましょう〜
WeChat で開くにはこちらへ
原文を表示
原创 陈以强 2026-08-05 18:18 浙江
image
站在一线研发视角,关于通用 Agent 的个人思考
image
这是2026年的第 48 篇文章
( 本文阅读时间:约 15 分钟 )
01
Agent Flow
我最近一直在做一个“小玩具”:Agent Flow。最初的目的很明确,就是想在某些特定场景和受众群里,取代现有的 Agent Skill。
这个 Flow 本质上是传统 Flow 的强化,但它的核心不是让用户理解节点、连线和 JSON,是让用户用自然语言描述目标,然后让 LLM 去理解目标、生成 Flow、修改 Flow、运行 Flow。
Flow 本身的重要性也降级了,它只是一个编排层,不对 Node 和细节负责,只负责链路控制、任务下发和结果回收,具体的任务由 Node 负责。这里的 Node 可以是 QwenWork,可以是 Codex CLI,可以是影刀,可以是千牛接口,也可以是阿里内部的运维 Agent,整体的核心理念就是把任务切分下发,然后让节点负责执行。
举个很具体的 case:一个电商用户要汇总报表,他要通过 QwenWork 拿一些数据,通过影刀 RPA 拿一些数据,通过千牛的接口拿一些数据,最后汇总三份数据,然后通过 DWS 写到钉钉文档,再把文档发到钉钉群。以前我们写 Skill 的时候,几乎不可能单独在一个任务 loop 里完成这个长链路,但是 Agent Flow 确实可以实打实地、无介入地直接跑通这个 case。
它不像一些通用 Agent 那样,把一切 all in 在通用能力和 LLM 上,不幻想着做出一个 world agent,也不幻想着只要给 Agent许愿就可以解决一切问题;只是把一整条任务链路拆成合适的 Node,然后把任务“外包”给合适的 Agent Node,跳出单个 Agent,上升到编排层和控制层;把 Agent 作为能力之一,而不是当成一切。
为什么这么做?因为在这个潮起潮落的大模型时代,通用能力、智能助手、架构设计这些名词都太“泛滥”了。用户抱着期待使用产品,然后在 Agent 左顾右盼的通用升级过程中迟迟等不到想要的结果,最后放弃。大量客户想要的,明明只是完成一些重复性任务。这些任务有固定的流程和链路,只在某些节点需要用 Agent 取代部分操作(比如导出数据,比如整理文案,比如分析结果)即可。使用 Flow 结合 Agent,可以快速高效地帮助客户解决困难,让用户不必在难以理解的 Skill 和漫长等待 Agent / LLM 自有能力升级之间来回折腾,能真实地把用户留下来。
02
最小任务单元和确定执行
Flow 分发任务给 Agent Node 这一套逻辑,其实和我一直推崇的「最小任务单元(最小混沌单元)」理念非常契合。
由于大模型的输出本质上是概率性的,且上下文窗口有限,因此我们每次派发给大模型的任务,最好都是有着具体上下文、工作量适中,并且可以闭环确认结果的单元。
在 Agent Flow 里,Flow 的每一个 Node 就是这样一个最小任务单元。这些 Node 可以是让 QwenWork 执行某个动作,也可以是呼叫外部工具处理某段逻辑,做完之后再进入下一个节点。这种做法不仅让庞大复杂的任务变得受控,还能极大地拓展系统的编排能力。
更重要的是,YAML、Flow、hardcode 是可靠的,而纯自然语言是不可靠的;基于 YAML 的 Flow 自生成和自维护,远比松散的 Skill 简单高效。
如果我们深度用过现在的通用 Agent 就会知道,同一个任务开两个不同的对话,Agent 很可能会用两种完全不同的思路去做,然后一个成功,一个失败。
而多数情况下,业界是怎么试图解决这个问题的?靠堆砌「记忆(Memory)」系统。这就落入了一个更大的沼泽里——我相信到现在为止,也没有哪个通用 Agent 敢说自己的记忆系统已经能彻底解决问题。
同样的,用户要的根本不是大模型像程序员解 bug 一样去「探索」路径,用户要的是:用最低的认知负担,确定地、可靠地完成复杂任务。
03
用户为什么选择你的 Agent?
综合以上的认知,我们可以回归到一个很现实的问题:外面成熟的大模型那么多,用户为什么要选择某个 Agent?
原因只有两个。
第一,只有你能解决某些问题。
不要迷信框架的先进性。在 LLM 时代,写一个优秀的 Agent 架构并不难。真正关键的是,你拥有别的 Agent 拿不到的东西。
在过去十来年,爬虫技术和反爬对抗了很久,本来这一套东西似乎已经在渐渐被淡忘了。而随着 LLM 的兴起,我突然发现,爬虫、数据获取又开始变得炙手可热起来:因为大模型如果没有正确且核心的数据,充其量只是个聊天的 Chatbot。不仅无数 LLM 在训练阶段需要数据,还有更多实际需要落地的 Agent 在执行阶段也需要真实的数据。
最经典的例子就是之前的“AI 前女友”。看起来很简单,然而真正能做好的人寥寥无几。为什么?因为很难拿到完整的聊天记录。
同样的道理,淘宝的商品数据、钉钉的聊天记录,这些才是 Agent 最宝贵的财富。哪怕通用模型再聪明,它也做不到突破安全限制进入到我们的数据库里,然后“自动总结聊天记录,精准推送到指定的钉钉群里”,只有能够拿到独一无二的数据和接口的 Agent 才能做到。
所以,在 LLM 时代,谁有真实的高质量数据,谁能够背靠核心的产品和功能,谁就能做出来独一无二的 Agent 。
第二,你真的能解决问题。
这句话听起来像“废话”,却是很多 LLM 产品最容易本末倒置的地方。
一个通用 Agent 产品用到的RAG、MCP、Tool Calling、Multi-Agent、Agent Loop……本质上,这些对用户来说毫无意义。用户只关心一件事:我的问题解决了吗?
大部分客户的真实需求,其实只要三个有顺序的 LLM Call 加上两个 API 就能解决;但市面上很多产品,非要上一堆通用能力,搞各种复杂的 Loop,要不就是烧掉大量 token 换来一堆客诉,要不就是任务根本无法复现成功,完全变成了一次性的功能。
很多 Agent 就是要“野心勃勃”:要做超级智能助手,解决一切用户遇到的问题,构建数字员工直接“取代”用户本身......一个残酷的事实是,world agent 和 world model 一样,都是短时间内可望而不可即的。我不否认,这个目标或许积极也值得追求,但是在这个漫长的过程中,难道我们就要放弃用户大大小小的具体问题了吗?如果客户有问题,或者业务团队有问题,难道就要罔顾真实需求,不打扰架构团队的“星辰大海”吗?
Agent 的核心不是架构,不是 loop,不是 harness,而是用户是否愿意为它解决的问题付费。只要可以解决问题,用户根本无需在意是什么架构、什么技术,是不是用了 hardcode,是不是在服务器安插了几个脚本——甚至无需在意用的是不是 LLM。只要可以解决问题,客户就愿意付费;只有客户愿意付费了,Agent 才算成功。
04
Hardcode 是美丽的
在我眼里,通用 Agent 远不如 hardcode “美丽”,因为对我来说,美丽的定义就是「客户愿意掏钱」。在解决用户需求的赛道上,很多时候明明用户的需求很朴素,我们却不愿意去用一直以来的终极解法:Hardcode。
我们排斥 Hardcode,是一种强烈的惯性。因为过去人工写代码的成本高,写一段定制逻辑有成本,维护有成本,未来扩展也有成本。所以大家追求抽象、追求通用、追求平台化,那时候好像只要为某个客户写了 if else,就显得很“土”,很不“高级”。
但在 LLM 时代,这个前提变了,代码是“廉价”的。写一个 Flow 是廉价的;写几个固定的 LLM Call 是廉价的;给一个付费客户手搓一条 Agent Flow,也是廉价的,那为什么不 hardcode 呢?我可以这样说,hardcode 非常美丽,因为代码维护者变成了 LLM,而对 LLM 来说,10 个 if else 绝对比一大堆抽象工厂要更容易理解。
如果一个客户的问题,就是三个有顺序的 LLM Call 加两个 API 就能解决,那就这么写。如果一个客户的需求,就是一个很固定的审批辅助链路,那就写死。如果一个客户愿意付费,只是想让系统每周帮他生成一份可靠的报告,那就给他做一个可靠的 Flow。
因为用户的问题被解决了,用户就愿意付费,我们的成本也被覆盖了,系统也有机会从一个真实场景里继续生长出来。相比之下,问题还没解决,客户还没付费,就先设计一个通用 Agent 平台,搞一堆 Loop、Memory、Harness、MCP、RAG,最后用户用不起来,成本也压不住,这才是真的本末倒置。
这也是我为什么要做 Agent Flow 的原因。它不是为了证明 Flow 比 Agent 更先进,而是因为 Flow 可以承接这些真实、具体、甚至有点 hardcode 的用户需求。它可以把 if else、LLM Call、Agent 节点、业务接口、人工确认这些东西编排起来,让它们变成一条可靠的任务链路。
05
AI Native / LLM Native
「AI Native」这个词是今年的行业热点,大家不断试错,直到热度渐渐降温,人们似乎依然没有摸清它的门道。
其实 AI Native 的本质非常简单:基于 LLM,让 AI 解决用户的问题。
不是让产品看起来有 AI,不是让架构看起来先进,也不是让用户学习 Agent、Loop、RAG、MCP。用户真的有一个问题,AI 真的帮他解决了,而且解决得更轻松、更可靠、更便宜,或者至少更自然,然后用户愿意继续用,甚至愿意付费,这才是 AI Native。
现在的很多东西更像是旧系统突然看见了大模型,然后赶紧往自己身上贴了一层 AI 的皮。旧框架还是旧框架,旧流程还是旧流程,只是某个环节多调了一次 LLM,某个页面多塞了一个聊天框。
举个直接的例子,很多 AI 搜索,就是把 LLM 通过各种别扭的方式接入推荐系统,就是典型的 LLM 套皮;而 OneRec 这种直接搞一个原生的推荐大模型,才更接近真实的 LLM Native 方案(注:作者并非意在赞扬 OneRec,只是在这里举一个 case)。
随着 LLM 的普及和推广,越来越多用户开始习惯用自然语言和 LLM 交互。甚至以后会出现某种“LLM 新生代”,取代过去的“互联网新生代”。当用户本身就是 AI Native 的,产品自然也需要是 AI Native 的;用户或许不是人人都懂 loop、memory、RAG、MCP 这些技术理念,但知道好不好用、靠不靠谱、值不值得付费。所谓 AI Native 的产品,就是基于大模型,对产品交互、业务流程、对客服务进行重塑。用户已经在 AI Native 的转型路上,产品自然也要跟上。
我们需要秉持一种强硬的态度去“砍掉”所有挡路的东西,脑子里只保留一个念头:用户的一句自然语言,到底能不能把这个任务完整跑通?
基于以上,我想再次强调的是:所谓 AI Native,不是那些看起来很“带劲”的过程,而是我们是否能从 LLM 出发,以降低负担和提高易用性为目标,让自己的产品更可靠地为用户服务,真实地解决用户的问题,并且让用户愿意为此付费。
06
程序员的自我修养
把视角切回研发侧,理念依然是相通的。技术引入 LLM 的目的就是:提效。
如何提效?把所有“挡路”的流程、审批、权限统统干掉,用最好的模型和 Code Agent,让 LLM 真正参与到写代码、测试和发布的链路中。
我之前在写一个类似内部运维 Agent 的 WarRoom 研发助手项目时深有感触,当时它的目标是自动化接收告警、分析问题、写代码提 PR,也就是程序员的 LLM 助手。
项目快写完时,我却放弃了。为什么?因为现在的基建根本不支持这套系统。
我想让它查日志,但日志系统需要人工授权,且无法 A2A。
我想让它看代码,代码库需要手动开权限。
我想让它管理中间件,但中间件没有开放 AK/SK 管理。
我想接入更强的模型,审批却批不下来,外部模型也无法访问内网。
每一步都在受阻,最终勉强搞出的 Demo 只能管理 3 个应用,只能接入受限的模型,导致我不得不痛苦地保持「人在回路」。
那个时候我最强烈的感受不是「模型不够聪明」,而是我又变成“人肉胶水”:Agent 说要查日志,我去点;Agent 说要看权限,我去申请;Agent 说要验证结果,我去切后台、截图、复制,再喂回去——原因很简单,过去 20 年所有的基建都是为“人类”设计的,不是 LLM friendly 的,自然处处都是别扭。
我不仅无法做出一个真实的超级程序员助手,自己也无法通畅地成为一个“自由人”,只能被按在既有的框架里。
但是,可喜可贺,Aone 团队把这个内部的运维 Agent 做出来了,和我的想法几乎如出一辙:把日志、trace、代码等东西直接喂给现成的 Code Agent。这个运维 Agent 证明了:只要基础设施对 LLM 足够友好,模型和 Agent 就可以进入研发现场,修 bug、写需求,成为超级助手。
不得不说,这个运维 Agent 的位置天生就好,它可以更简单地拿到更多权限,获取更多基建,通过更多审核。毕竟这就是 location 的重要性,这也是我之前提到的“只有你能解决某些问题”。
塞两句我爱的“私货”,太契合这个场景了: Power is a lot like real estate. It's all about location, location, location. Money is the McMansion in Sarasota that starts falling apart after 10 years. Power is the old stone building that stands for centuries.
诚然,作为一个独立的程序员,我只能研究使用某些 Code Agent 写代码的方法论,去写一些“无关痛痒”的文章。一些更深远、更重要的层次,比如基建,比如权限,我没有权利发表什么言论。但是我知道,在大模型面前,一切阻碍必然会被消灭,这只是一个谁快谁慢的问题。
07
一千张 A4 纸叠起来依然是厚的
既然提到了基建和权限,就不得不聊聊组织架构。在过去的一年里,我发现自己越来越像一个 Master Agent。我处于一种持续接收任务的状态,然后把任务拆解分发给我的 Sub-agent 去执行。在这个状态下,重要的是任务的上下文是否完整。
只要信息给够,大模型就能很好地接住。但如果是需要反复和人确认的任务,或者是一个局部但很深、需要大量交互和判断的任务,我和我的 Sub-agent 都会极其痛苦。当前的组织架构和任务流,对 LLM 是极度不友好的。
扁平扁平,互联网喊了很多年,在 LLM 时代,它终于变成了不得不侧目的“房间里的大象”。一千张 A4 纸叠起来依然是厚的。组织也是一样,层级再怎么包装成扁平,只要任务、权限、上下文和反馈的链路很长,它就还是厚的。
真正的扁平,不是物理空间上离得近,而是组织的链路足够短。如果需求的沟通少一个转发人,我们就会对原始内容清晰多一倍。一个想法从顶设到一线,需要经过多少层转述?一个需求从 PM 到开发,需要经过多少次解释?一个权限从需要到拿到,需要多少张工单、多少次私聊、多少个审批?这些才是扁平不扁平。
我认为最理想的状态是:每个人都可以成为「超级自由人」。不被部门和权限限制,只要看到任何东西有问题,可以直接开始写代码,然后提交推送部署并且全权地为这件事负责。任务分发者则可以直接点对点对接,把一个完整任务直接交给一线研发,而不是需要层层派发。(虽然以上的观点非常激进,但是在一些小规模的创业公司,这一套是常态;在部分团队里,这些内容也正在成为现实。)
当然了,从一个 LLM-based 研发的角度出发,我认为重点是把人做成「Agent」,把任务和交流变成 TCP/IP 协议,点对点,可靠,稳定,充分。当我和 Agent 可以一次性拿到所有需要的上下文,那么任务就会变成极度简单的 goal 模式。实事求是地说,这个观点有些过于理想主义,但是从现在做起,是有利无弊的。
08
回到 Agent Flow
最后,我们回到最初的问题:为什么要做 Agent Flow?
不是为了做一个架构更复杂的 Agent 系统,不是为了证明 Flow 比 Skill 先进,更不是为了生造一堆技术黑话去绑架用户。
在 LLM 时代,Agent 的方向绝对不是花里胡哨的技术名词和复杂通用的架构设计,甚至通用 Agent 都不是一个恰当的目标。
直接从用户问题出发,哪怕是 hardcode,哪怕是 if else,哪怕是几个固定的 LLM Call,只要它能帮助用户在 LLM 的汹涌洪流里更简单、更可靠地解决问题,它就是好的方案,就是一个 Good Agent,这也是我为什么要做 Agent Flow 的原因。
放弃高大上的名词,放弃那些让人痴迷的技术架构,认真地和用户聊一聊。从现在开始,去设计和开发一个可以解决他们问题的 Agent,无论多么“丑陋”和 hardcode,而不是在无尽的技术名词里潜泳,那样只会被溺毙。
附录:
[01] Agent Flow
https://github.com/huisezhiyin/symphlo
[02] OneRec
https://arxiv.org/abs/2502.18965
*注:本文为作者个人技术思考与经验分享,不代表公司的官方立场或观点。文中部分论述涉及对技术趋势和发展方向的前瞻性判断,基于作者写作时的认知与经验,所有内容仅供交流参考,读者应结合自身场景独立评估。
欢迎留言一起参与讨论~
跳转微信打开
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み