Cogencyはオープンソースのコグニティブアーキテクチャツールで、GitHubでホストされており、開発者が効率的なAIエージェントを構築できるように設計されています。透過的なReActループ(Reason、Act、Observe、Generate)によるマルチステップタスク処理が可能で、リアルタイムのストリーミング出力と追跡可能な操作をサポートしている。Cogencyは、ウェブ検索、天気予報、旅程計画などのツールとの柔軟な統合を提供し、インテリジェントオートメーションアプリケーションの開発に適している。ユーザーはエージェントの性格、トーン、スタイルをカスタマイズすることができ、例えば「フレンドリーな海賊」や「忍耐強い先生」のようなスタイルのAIアシスタントを作成することができます。複数の言語モデルをサポートし、バックエンドが組み込まれているため、プロジェクトのインストールは簡単で、開発者はすぐに稼働させることができます。また、Cogencyはモジュール式で拡張可能な設計になっており、単純なタスクから複雑なワークフローまで、開発ニーズに対応します。
機能一覧
- 多段推理ReActサイクル(Reasoning, Acting, Observing, Generating)を通して複雑なタスクを分解し、段階的に結果を生み出す。
- ツール統合開発者はツールをカスタマイズして機能を拡張することができます。
- リアルタイム・ストリーミング出力各操作ステップはリアルタイムで表示されるため、デバッグや追跡が容易です。
- パーソナル・エージェント"フレンドリーな海賊 "や "勇気づけられる先生 "など、エージェントの個性やトーン、スタイルの設定をサポート。
- 多言語モデルのサポート様々な主流言語モデルや組み込みバックエンドと互換性があり、様々な開発ニーズに柔軟に対応。
- モジュール設計開発者が新しいツールや機能を素早く追加できる、拡張しやすいアーキテクチャを提供します。
- ひどうきそうさ非同期プログラミングをサポートし、並行性の高いタスクの処理に適しています。
ヘルプの使用
設置プロセス
Cogencyを使用するには、まずPython環境をインストールする必要があります(Python 3.8以上を推奨)。詳しいインストール手順は以下の通りです:
- プロジェクトコードの複製::
ターミナルで以下のコマンドを実行し、Cogencyリポジトリをローカルにクローンする:git clone https://github.com/iteebz/cogency.git cd cogency
- 依存関係のインストール::
pip を使って Cogency コアパッケージをインストールする:pip install cogency
すべての言語モデル、組み込みバックエンド、ツールをサポートする必要がある場合は、実行してください:
pip install cogency[all]
- APIキーの設定::
Cogencyは複数の言語モデル(OpenAIなど)をサポートしている。APIキーを設定して.env
ファイルにキーを追加する:echo "OPENAI_API_KEY=sk-..." >> .env
相互互換性
sk-...
を入力してください。他のプロバイダーのキーもサポートされています。詳細は公式ドキュメントをご覧ください。 - インストールの確認::
以下のコードを実行して、インストールが成功したかどうかをテストする:import asyncio from cogency import Agent async def main(): agent = Agent("assistant") async for chunk in agent.stream("What is 25 * 43?"): print(chunk, end="", flush=True) asyncio.run(main())
もし出力が
1075
インストールが成功したことを示す。
機能 操作の流れ
Cogencyの中核はReActループによるインテリジェントなタスク処理です。主な機能の使い方は以下の通り:
AIエージェントの作成と使用
- プロキシの初期化::
ベースエージェントを作成する:from cogency import Agent agent = Agent("assistant")
これは
personality
そしてtone
歌で応えるstyle
パラメータでエージェントをカスタマイズできます。例えば、"友好的な海賊 "エージェントを作成します:pirate = Agent("pirate", personality="friendly pirate who loves coding")
- タスクの実行::
利用するstream
メソッドはタスクを実行し、リアルタイムのストリーミング結果を出力する。例えば、数学の問題をクエリーする:async for chunk in agent.stream("What is 25 * 43?"): print(chunk, end="", flush=True)
アウトプット
1075
.旅程計画のような複雑なタスクの場合:async for chunk in agent.stream("Plan a 3-day trip to Tokyo"): print(chunk, end="", flush=True)
エージェントが自動的にツール(天気予報や旅行情報など)を呼び出し、詳細な旅程を作成する。
ツール統合
Cogencyは以下のような組み込みツールをサポートしている。 web_search
そしてweather_forecast
)とカスタムツールを追加する。以下はカスタムツールを追加する手順です:
- 定義ツール::
の都市時間を取得するようなカスタムツールを作成する。TimezoneTool
::from cogency import Agent, BaseTool class TimezoneTool(BaseTool): def __init__(self): super().__init__("timezone", "Get time in any city") async def run(self, city: str): return {"time": f"Current time in {city}: 14:30 PST"} def get_schema(self): return "timezone(city='string')"
- 登録ツール::
ツールをエージェントに登録します:agent = Agent("time_assistant", tools=[TimezoneTool()]) async for chunk in agent.stream("What's the time in London?"): print(chunk, end="", flush=True)
アウトプット
Current time in London: 14:30 PST
.
個人用プロキシ設定
コジェンシーではエージェントのパーソナリティを設定することができます。例えば、"我慢強い先生 "スタイルのエージェントを作成します:
teacher = Agent("teacher", personality="patient teacher", tone="encouraging", style="conversational")
async for chunk in teacher.stream("Explain quantum computing"):
print(chunk, end="", flush=True)
量子コンピューターについて、励ますような口調と口語体で説明する。
デバッグとトレース
Cogencyの操作の全てのステップは追跡可能である。タスクを実行するとき、ログは推論、行動、観察のすべてのステップを記録する。例えば、旅行計画タスクを実行する場合、ログは次のように表示される:
- 推論活動計画には気象情報が必要だ。
- 行為コール
weather_forecast("Tokyo 3 days")
. - 鑑みる天気データ(晴れ、雨など)を取得します。
- 生成気象データに基づいてトリップを生成する。
開発者は、ログを通してエージェントの動作をデバッグし、タスクがオンデマンドで実行されていることを確認できる。
ほら
- インターネット接続が安定していることを確認してください。一部のツール(ウェブ検索など)はインターネットへのアクセスを必要とします。
- プローブ
.env
ファイル内のAPIキーは正しく設定されています。 - 非同期プログラミングには、Pythonの
asyncio
非同期構文に精通していることを推奨する。 - 公式ドキュメント(GitHubの
README.md
)は、より多くの例と高度な使い方を提供している。
アプリケーションシナリオ
- 自動タスク処理
Cogencyは自動化されたワークフローの開発に適している。例えば、Eコマースプラットフォームでは、Cogencyエージェントを使用して、顧客からの問い合わせに対する回答を自動化し、ウェブ検索ツールを組み合わせて商品情報を検索することができます。 - 旅行計画
ユーザーは「東京への3日間の旅行を計画する」と入力すると、Cogencyは天気予報と旅行情報ツールを自動的に呼び出し、天候に適した旅程を作成する。 - 教材
教師スタイルのエージェントは、量子コンピューティングやプログラミングの基礎など、複雑な概念を説明するのに使うことができ、オンライン教育プラットフォームや個人学習に適している。 - 開発ツール拡張
開発者は、Cogencyにデータベースクエリやファイル管理などのカスタムツールを追加して、エンタープライズクラスのアプリケーションの機能を拡張することができる。
品質保証
- Cogencyはどのような言語モデルをサポートしていますか?
CogencyはOpenAIのGPTシリーズなど、様々な主流の言語モデルをサポートしています。具体的なサポートリストは公式ドキュメントをご参照ください。ユーザーは対応するAPIキーを提供する必要があります。 - エージェントの動作をデバッグするには?
CogencyのReActループは、各ステップのログを記録し、開発者が推論、行動、観察の詳細を見ることで、問題を見つけることができます。 - プログラミングの経験は必要ですか?
基本的な使用にはPythonプログラミング、特に非同期プログラミングの知識が必要です。開発者でない方は、サンプルコードを参照することで、すぐに使い始めることができます。 - オフラインで使用できますか?
一部の機能(ローカル・コンピューティング・タスクなど)はオフラインでの使用がサポートされているが、ウェブ検索などのツールはインターネット接続が必要だ。