ディスカッション (11件)
Apache Burrは、複雑で信頼性の高いAIエージェントやアプリケーションを構築するための新しいオープンソースフレームワークです。単なるスクリプトを超えて、堅牢でデバッグ可能なAIシステムを構築したいエンジニアにとって、強力な選択肢となるでしょう。
命名に関する明確な言及は見つけられなかったけど、気になっている人のためにHamiltonの例を置いておくよ:https://github.com/apache/burr/tree/main/examples/multi-agent-collaboration/hamilton
Burrって初めて聞いたわ。なんでApacheでインキュベートされることになったのか気になる。
https://strandsagents.com/ とはどう違うんだ?この分野のツールには興味があって、今は特定の何かに依存しているわけじゃないんだけど、Agent Core上でBedrockとServerlessを動かすのが「お手軽な道」な気がする。ただ、プラットフォームのロックインは嫌なんだよね。
エージェントフレームワークについてはまだ迷ってる。使いどころはあるし、エージェントの性質にもよるよね。「低遅延で3秒以内にそれなりの回答を返す」のか、「3時間かけて一つの問題を解く」のかとか。
でも突き詰めると、エージェントって結局「コンテキスト構築、LLMへの呼び出し、ツールの実行、モデル出力のパース、フロントエンドへの返却」をしてるだけ。メモリとか非同期ツール呼び出しみたいな拡張はあるけど、従来のソフトウェア工学の視点から見ればそこまで複雑じゃない。
みんな自分専用のエージェントフレームワークを作りたいみたいだけど、もしエージェント構築を任されたら、そのエージェント専用のコードを1対1で書くほうがずっと簡単でメンテナンスしやすいよ。フレームワークの抽象化レイヤーは純粋に邪魔だし、エージェントの核心的なロジックを分かりにくくするだけだから。
結局、フレームワーク側が選んだ抽象化を押し付けられることになって、やりたいことと噛み合わないケースも多いしね。
ビルダーパターンとデコレータか。
確かにPythonにはデコレータがあるけど、それは関数やメソッドに適用する「フィルタ」として使うのが一番だよ。キャッシュするとか、出力を毎回シリアライズするとか、エージェント用のハーネスでツールとして使えるように準備するとか。登録やフロー制御には向いてない。反論はあるかもしれないけど、誰かが言わなきゃいけない。FastAPIがデコレータの現代的な使い方を誤った方向に導きすぎたんだ。
ビルダーパターンはRustの慣習だけど、それはRustに名前付きキーワード引数がないからだよ。Pythonの関数は最初から名前付きのコントラクトを公開してる。メソッドチェーンで設定パラメータを順番に渡す理由はほとんどない。もしコンストラクタやファクトリにまだ存在しない状態を追加したいなら、それはビルダーパターンじゃなくて「登録」だ。ビルダーパターンが許される唯一の場所はクエリビルダだと思う。概念を段階的に構築していくし、メタデータ(メソッド名とキーワード引数)のための「スロット」を持つことは本当に有用だから。キーワード引数を使わずに単一パラメータを受け取るメソッドを使うのは間違いだ。
話はそれるけど、おすすめのコーディングエージェント向けオーケストレーションツールやプラットフォームってある?複数のマシン上でCodexやClaudeエージェントを立ち上げて、管理・監視できるようなやつ。
できればセルフホスト可能かオープンソースがいいな。
Claude Codeが内部でそういう機能をかなり持ってるのは知ってるけど、あれはClaude専用だしね。
jido (https://jido.run) を使ってるけど、かなりおすすめだよ。
2時間もかからずに作ったような、薄っぺらいランディングページを見て読むのやめたわ。
それに「Discordメンバー700人以上」なんて、技術やサービスの証明には全くなってない。
個人プロジェクトや仕事でこのフレームワークを使ってるけど、AIモデルのステートフルなワークフローを信頼性高く構築できて、しかもオブザーバビリティまで無料でついてくるから気に入ってるよ。BurrのステートマシンをMCPとしてマウントできるツールを自作したんだけど、おかげでエージェントに道筋を作れるようになった。ステートマシンがどれだけ複雑になっても、MCPツールはステートマシンの遷移に制限されるから管理しやすいんだ:https://github.com/msradam/theodosia
今は「スキルからステートマシンへの変換」に取り組んでる。世の中にある一般的なスキルの多くは、すでにAIモデルがたどるフェーズとして書かれているから、Burrの明示的な機能を使って信頼性を高められたら最高だと思ってる。素晴らしいプロジェクトをありがとう。
どうだろうね。これは信頼できるAIエージェントの本質を捉えていない、すごくナイーブなアプローチだと思うよ。
「信頼できる」っていうのは「タスクとして与えられた仕事を完遂できるか」ってこと。ステートマシンなんて全く関係ないよ。