MakiAi commited on
Commit
dfe206c
·
1 Parent(s): dd21be9

🤖 feat: 各部署AIエージェント実装

Browse files

- 受付、社長、事業部長、デザイン部長、技術部長、人事部長の各エージェントクラスを作成。
- 各エージェントの役割、指示、機能を定義。
- エージェント間の転送関数を実装。
- 振り分けエージェント(受付)によるリクエストの適切な部署への転送機能を実装。

Files changed (1) hide show
  1. 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
+ )