Port は、ガバナンスを組み込んだエージェント型ワークフローを構築・運用するためのプラットフォームである。本当にすべてのループに人間が必要か? で説明されているように、エージェントがいつ人間を必要とするかという問いに対する Port の答えは、承認をワークフローの 1 ステップにすることである。ワークフローが実行されてゲートに到達すると、取り消し不能なことが起こる前に一時停止して人間の判断を待つ。

Port がサポートする 2 種類のゲートを分けているのは、判断が存在するかどうかではなく、その判断がどこから来るかである。ルールベースのゲート は組織が書いた条件を読み取る。記事の例は、実際のインシデントデータとサービスデータを読み取る適格性ルールで、重要度の低いサービスで起きた深刻度の低いインシデントであれば、修復エージェントが単独で行動できるようになる。一方 リスクベースのゲート では、エージェントがアクションをスコアリングする。Port はこれをコンテキストレイクに照らして行い、接続されたグラフの中で変更がどこまで波及するかをたどって、そのまま実行させるか人間を呼び込むかを判断するとされている。

機能

コンテキストレイクは、2 種類のゲートがともに依拠するコンポーネントである。これは組織のサービス、デプロイ、オーナーシップ、依存関係を結んだグラフであり、ルールベースの条件もリスクスコアもここから読み取る。両者が 1 つの情報源から読み取るため、同じワークフローで、独自の配線を作り込むことなく、低リスクのアクションは実行させ高リスクのアクションはブロックできると記事は述べている。

人間への引き継ぎは、単に処理を中断するのではなくコンテキストを運ぶものとして説明されている。PlatformCon で示された Port のインシデントワークフローでは、ワークフローが承認ゲートで一時停止し、エスカレーションされるとコーディングエージェントのノードが起動する。その時点でインシデントのコンテキスト全体、すなわちトリアージの要約、影響を受けたサービス、直近のデプロイ、リンクされたプルリクエストがすでに読み込まれており、人間とエージェントはゼロから始めるのではなく同じ全体像をもとに作業する。

採用とエコシステム

記事はこのプラットフォームを、ワークフローごとの問題ではなく構造的な問題だと主張するものへの答えとして位置づけている。チームが 2 種類のゲートの両方を必要とし、それぞれにしきい値、トレース、安全なフォールバックが必要で、両方が同じライブのコンテキストの上で動くと認めた時点で、それらをあらゆるワークフローに手作業で組み込むことはもはや選択肢ではなくなる、というのである。記事が述べる帰結は、統制されたワークフローこそが構築しやすいものになるため、監督が速度に対する税ではなくなるということである。この説明はベンダー自身のブログによるものであり、ここでは問題の捉え方と製品を切り離すことはできない。記事はまた、Port が自社のミートアップの 1 つでエンジニアリングリーダーにアンケートを取ったところ、会場の半数がいまだにコードのマージとプルリクエストにしかゲートを設けていないと答えたと報告している。