Eigenwise/atomic-agents

Building AI agents, atomically

Atomic Agents – 簡潔で専門用語を抑えた概要

これは何か – 小さな単一目的のコンポーネント(エージェント、ツール、コンテキストプロバイダー)のセットとして エージェンティック AI アプリケーションを構築できる Python ライブラリです。各ピースを LEGO ブロックと考えてください。小さく型の明確なクラスを書き、それを他のクラスと組み合わせて、フル機能のチャットボット、RAG システム、ウェブ検索アシスタントなどを作成します。

なぜ重要なのか – 既存のエージェントフレームワークは、多くの責任をまとめてバンドルすることが多く、動作を予測しにくくしています。Atomic Agents は以下を強制します:

  • 原子性 – 各コンポーネントは 1 つのことを行い、明確な入出力スキーマ(Pydantic 経由)を持ちます。
  • 再利用性と構成可能性 – パイプライン全体を書き直すことなく、ツールを交換したりプロンプトを変更したりできます。
  • 予測可能性 – 厳密なスキーマにより、コンポーネント間を流れるデータの形状が保証され、本番環境での信頼性に役立ちます。

中核となるアイデア

  1. システムプロンプトジェネレーター – LLM に送信されるプロンプトを構築し、オプションで コンテキストプロバイダー(例:最近の検索結果)によって強化されます。
  2. 入出力スキーマ – エージェントが受け取る内容と返す内容を検証する Pydantic モデル。
  3. コンテキストプロバイダー – 実行時に動的情報をプロンプトに注入するプラグイン式クラス。
  4. チェーン – スキーマが整列しているため、あるエージェントの出力を別のツールやエージェントに直接フィードでき、「クエリ生成 → ウェブ検索実行 → 要約」などのパイプラインを可能にします。

使用方法(README の例より)

from atomic_agents import AtomicAgent, AgentConfig, BasicChatInputSchema, BaseIOSchema
from atomic_agents.context import SystemPromptGenerator, ChatHistory
from pydantic import Field

class CustomOutputSchema(BaseIOSchema):
    chat_message: str = Field(..., description="The reply")
    suggested_questions: list[str] = Field(..., description="Follow‑up ideas")

prompt = SystemPromptGenerator(
    background=["You are helpful and suggest follow‑ups."],
    steps=["Understand user input.", "Reply concisely.", "Suggest 3 questions."],
    output_instructions=["Return a clear answer and three questions."]
)

agent = AtomicAgent[BasicChatInputSchema, CustomOutputSchema](
    config=AgentConfig(
        client=instructor.from_openai(OpenAI()),
        model="gpt-5-mini",
        system_prompt_generator=prompt,
        history=ChatHistory(),
    )
)

resp = agent.run(BasicChatInputSchema(chat_message="Tell me about atomic agents"))
print(resp.chat_message, resp.suggested_questions)

このライブラリは、プロンプト構築、スキーマ検証、履歴管理を処理します。

ツールエコシステム – Atomic Forge – バンドルされた CLI(atomic)を使用すると、既製の ツール(検索、計算機、YouTube トランスクリプト、PDF リーダーなど)をダウンロードできます。各ツールには独自の入出力スキーマが付属しているため、エージェントとすぐにチェーンできます。

インストールとエコシステム

  • pip install atomic-agents(CLI を含む)。
  • オプションのプロバイダー拡張(instructor[groq]、instructor[anthropic] など)により、OpenAI 以外の LLM にアクセスできます。
  • ドキュメント、Discord、subreddit がコミュニティサポートを提供します。

誰が検討すべきか – LLM 駆動の製品を構築する Python 開発者で、エージェントとツールを構成するためのクリーンで型安全な方法を求めており、特に予測可能な出力とコンポーネントの簡単な交換が必要な場合に適しています。


上記の詳細はすべてリポジトリの README から直接取得したものであり、追加機能は発明されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト