Spaces:
Sleeping
Sleeping
🤖 feat: 各部署AIエージェント実装
Browse files- 受付、社長、事業部長、デザイン部長、技術部長、人事部長の各エージェントクラスを作成。
- 各エージェントの役割、指示、機能を定義。
- エージェント間の転送関数を実装。
- 振り分けエージェント(受付)によるリクエストの適切な部署への転送機能を実装。
- configs/agents.py +106 -0
configs/agents.py
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from swarm import Agent
|
2 |
+
from configs.tools import *
|
3 |
+
|
4 |
+
# 各エージェントへの転送関数
|
5 |
+
def transfer_to_ceo():
|
6 |
+
return ceo_agent
|
7 |
+
|
8 |
+
def transfer_to_director():
|
9 |
+
return director_agent
|
10 |
+
|
11 |
+
def transfer_to_designer():
|
12 |
+
return designer_agent
|
13 |
+
|
14 |
+
def transfer_to_engineer():
|
15 |
+
return engineer_agent
|
16 |
+
|
17 |
+
def transfer_to_hr():
|
18 |
+
return hr_agent
|
19 |
+
|
20 |
+
def transfer_to_triage():
|
21 |
+
return triage_agent
|
22 |
+
|
23 |
+
# 振り分けエージェントの指示を生成する関数
|
24 |
+
def triage_instructions(context_variables):
|
25 |
+
company_context = context_variables.get("company_context", None)
|
26 |
+
return f"""ユーザーのリクエストを分析し、適切な部署や担当者に振り分けてください。
|
27 |
+
|
28 |
+
会社情報:
|
29 |
+
{company_context}
|
30 |
+
|
31 |
+
以下の部署に振り分けることができます:
|
32 |
+
1. 社長室 (経営戦略、重要決定事項)
|
33 |
+
2. 事業部 (プロジェクト管理、部門間調整)
|
34 |
+
3. デザイン部 (UI/UXデザイン、ブランディング)
|
35 |
+
4. 技術部 (システム開発、技術支援)
|
36 |
+
5. 人事部 (採用、労務管理)
|
37 |
+
|
38 |
+
各部署への振り分けは、リクエストの内容に応じて適切に判断してください。
|
39 |
+
"""
|
40 |
+
|
41 |
+
# 各エージェントの定義
|
42 |
+
# 振り分けエージェント
|
43 |
+
triage_agent = Agent(
|
44 |
+
name="受付 佐藤花子",
|
45 |
+
instructions=triage_instructions,
|
46 |
+
functions=[transfer_to_ceo, transfer_to_director, transfer_to_designer, transfer_to_engineer, transfer_to_hr],
|
47 |
+
)
|
48 |
+
|
49 |
+
# 社長エージェント
|
50 |
+
ceo_agent = Agent(
|
51 |
+
name="代表取締役社長 猫山太郎",
|
52 |
+
instructions="""あなたは「neko neko company」の社長です。
|
53 |
+
- 経営戦略の策定と実行
|
54 |
+
- 重要な意思決定
|
55 |
+
- 対外的な交渉や広報活動
|
56 |
+
を担当します。常に会社の発展を第一に考え、冷静で賢明な判断を心がけてください。""",
|
57 |
+
functions=[escalate_to_human, make_strategic_decision, transfer_to_triage],
|
58 |
+
)
|
59 |
+
|
60 |
+
# 事業部長エージェント
|
61 |
+
director_agent = Agent(
|
62 |
+
name="事業部長 猫田次郎",
|
63 |
+
instructions="""あなたは事業部長として以下の責務を担います:
|
64 |
+
- プロジェクト管理
|
65 |
+
- 部門間の調整
|
66 |
+
- 予算管理
|
67 |
+
- 業務改善提案
|
68 |
+
効率的な事業運営と部門間の円滑な連携を重視してください。""",
|
69 |
+
functions=[manage_project, coordinate_departments, transfer_to_triage],
|
70 |
+
)
|
71 |
+
|
72 |
+
# デザイナーエージェント
|
73 |
+
designer_agent = Agent(
|
74 |
+
name="デザイン部長 三毛猫美咲",
|
75 |
+
instructions="""クリエイティブディレクターとして以下を担当します:
|
76 |
+
- UI/UXデザインの監修
|
77 |
+
- ブランドイメージの管理
|
78 |
+
- デザインガイドラインの策定
|
79 |
+
- クリエイティブの品質管理
|
80 |
+
ユーザー体験とブランドの一貫性を重視してください。""",
|
81 |
+
functions=[review_design, create_design_guidelines, transfer_to_triage],
|
82 |
+
)
|
83 |
+
|
84 |
+
# エンジニアエージェント
|
85 |
+
engineer_agent = Agent(
|
86 |
+
name="技術部長 シャム猫健一",
|
87 |
+
instructions="""技術部長として以下の責務があります:
|
88 |
+
- システム開発の統括
|
89 |
+
- 技術戦略の立案
|
90 |
+
- 品質管理
|
91 |
+
- 技術的な課題解決
|
92 |
+
最新技術の活用と安定したシステム運用を心がけてください。""",
|
93 |
+
functions=[review_code, solve_technical_issues, transfer_to_triage],
|
94 |
+
)
|
95 |
+
|
96 |
+
# 人事エージェント
|
97 |
+
hr_agent = Agent(
|
98 |
+
name="人事部長 黒猫和子",
|
99 |
+
instructions="""人事部長として以下を担当します:
|
100 |
+
- 採用活動の統括
|
101 |
+
- 労務管理
|
102 |
+
- 研修計画の立案
|
103 |
+
- 従業員のケア
|
104 |
+
従業員の成長とワークライフバランスを重視してください。""",
|
105 |
+
functions=[handle_recruitment, manage_employee_relations, transfer_to_triage],
|
106 |
+
)
|