CrewAI : Kerangka kerja mutakhir untuk mengatur agen AI otonom yang bermain peran. Dengan mengembangkan kecerdasan kolaboratif, CrewAI memberdayakan agen untuk bekerja sama secara lancar, menangani tugas-tugas kompleks.
Beranda | Dokumentasi | Mengobrol dengan Dokumen | Contoh | Ceramah
Mengapa CrewAI?
Memulai
Fitur Utama
Contoh
Tutorial Cepat
Tulis Deskripsi Pekerjaan
Perencana Perjalanan
Analisis Stok
Menghubungkan Kru Anda ke Model
Bagaimana CrewAI Membandingkan
Kontribusi
Telemetri
Lisensi
Kekuatan kolaborasi AI menawarkan banyak hal. CrewAI dirancang untuk memungkinkan agen AI mengambil peran, berbagi tujuan, dan beroperasi dalam unit yang kohesif - seperti kru yang memiliki pekerjaan yang baik. Baik Anda sedang membangun platform asisten cerdas, rangkaian layanan pelanggan otomatis, atau tim riset multi-agen, CrewAI menyediakan tulang punggung untuk interaksi multi-agen yang canggih.
Untuk memulai CrewAI, ikuti langkah-langkah sederhana ini:
Pastikan Anda telah menginstal Python >=3.10 <=3.13 di sistem Anda. CrewAI menggunakan UV untuk manajemen ketergantungan dan penanganan paket, menawarkan pengalaman pengaturan dan eksekusi yang lancar.
Pertama, instal CrewAI:
pip instal kruwai
Jika Anda ingin menginstal paket 'crewai' beserta fitur opsionalnya yang menyertakan alat tambahan untuk agen, Anda dapat melakukannya dengan menggunakan perintah berikut:
pip instal 'crewai[alat]'
Perintah di atas menginstal paket dasar dan juga menambahkan komponen tambahan yang memerlukan lebih banyak dependensi agar dapat berfungsi.
Untuk membuat proyek CrewAI baru, jalankan perintah CLI (Command Line Interface) berikut:
crewai membuat kru <project_name>
Perintah ini membuat folder proyek baru dengan struktur berikut:
my_project/ ├── .gitignore ├── pyproject.toml ├── README.md ├── .env └── src/ └── my_project/ ├── __init__.py ├── main.py ├── crew.py ├── tools/ │ ├── custom_tool.py │ └── __init__.py └── config/ ├── agents.yaml └── tasks.yaml
Anda sekarang dapat mulai mengembangkan kru Anda dengan mengedit file di folder src/my_project
. File main.py
adalah titik masuk proyek, file crew.py
adalah tempat Anda menentukan kru, file agents.yaml
adalah tempat Anda menentukan agen, dan file tasks.yaml
adalah tempat Anda menentukan tugas.
Ubah src/my_project/config/agents.yaml
untuk mendefinisikan agen Anda.
Ubah src/my_project/config/tasks.yaml
untuk menentukan tugas Anda.
Ubah src/my_project/crew.py
untuk menambahkan logika, alat, dan argumen spesifik Anda sendiri.
Ubah src/my_project/main.py
untuk menambahkan input khusus untuk agen dan tugas Anda.
Tambahkan variabel lingkungan Anda ke dalam file .env
.
Tetapkan kru Anda:
crewai membuat kru pengembangan-ai terbaru
Ubah file seperlunya agar sesuai dengan kasus penggunaan Anda:
agen.yaml
# src/my_project/config/agents.yamlresearcher: peran: > {topic} Tujuan Peneliti Data Senior: > Mengungkap perkembangan terkini dalam cerita latar {topic}: > Anda adalah peneliti berpengalaman dengan kemampuan mengungkap perkembangan terkini dalam {topik}. Dikenal karena kemampuan Anda menemukan informasi paling relevan dan menyajikannya secara jelas dan ringkas. pelaporan_analyst: peran: > {topic} Tujuan Analis Pelaporan: > Membuat laporan terperinci berdasarkan analisis data {topic} dan temuan penelitian latar belakang: > Anda adalah seorang analis yang teliti dan sangat memperhatikan detail. Anda dikenal karena kemampuan Anda mengubah data kompleks menjadi laporan yang jelas dan ringkas, sehingga memudahkan orang lain untuk memahami dan bertindak berdasarkan informasi yang Anda berikan.
tugas.yaml
# src/my_project/config/tasks.yamlresearch_task: deskripsi: > Lakukan penelitian menyeluruh tentang {topic} Pastikan Anda menemukan informasi menarik dan relevan mengingat tahun ini adalah tahun 2024. output_yang diharapkan: > Daftar dengan 10 poin-poin paling banyak informasi relevan tentang agen {topic}: penelitireporting_task: deskripsi: > Tinjau konteks yang Anda dapatkan dan perluas setiap topik menjadi satu bagian lengkap untuk laporan. Pastikan laporannya terperinci dan berisi semua informasi yang relevan. keluaran_yang diharapkan: > Laporan lengkap dengan topik utama, masing-masing dengan bagian informasi lengkap. Diformat sebagai penurunan harga tanpa agen '```': pelaporan_analyst output_file: laporan.md
kru.py
# src/my_project/crew.pyfrom crewai import Agen, Kru, Proses, Taskfrom crewai.project import CrewBase, agen, kru, taskfrom crewai_tools import SerperDevTool@CrewBaseclass TerbaruAiDevelopmentCrew(): """Kru AiDevelopment terbaru"""@agentdef peneliti(mandiri ) -> Agen: kembalikan Agen( config=self.agents_config['peneliti'], verbose=Benar, alat=[SerperDevTool()] ) @agentdef pelaporan_analyst(self) -> Agen: kembalikan Agen( config=self.agents_config['reporting_analyst'], verbose=True ) @taskdef riset_task(mandiri) -> Tugas: mengembalikan Tugas( config=self.tasks_config['research_task'], ) @taskdef pelaporan_task(mandiri) -> Tugas: mengembalikan Tugas( config=self.tasks_config['reporting_task'], output_file='report.md' ) @crewdef crew(self) -> Crew: """Membuat kru AiDevelopment Terbaru"""return Crew( Agent=self.agents, # Otomatis dibuat oleh @agent dekoratortasks=self.tasks, # Otomatis dibuat oleh @task dekoratorproses=Proses.berurutan, verbose=Benar, )
main.py
#!/usr/bin/env python# src/my_project/main.pyimport sysfrom last_ai_development.crew import TerbaruAiDevelopmentCrewdef run():""" Jalankan kru. """inputs = {'topic': 'AI Agents'}LatestAiDevelopmentCrew ().crew().kickoff(input=input)
Sebelum menjalankan kru Anda, pastikan Anda telah menetapkan kunci berikut sebagai variabel lingkungan di file .env
Anda:
Kunci API OpenAI (atau kunci API LLM lainnya): OPENAI_API_KEY=sk-...
Kunci API Serper.dev: SERPER_API_KEY=YOUR_KEY_HERE
Kunci dependensi dan instal dengan menggunakan perintah CLI tetapi pertama-tama, navigasikan ke direktori proyek Anda:
cd proyek_saya pemasangan crewai (Opsional)
Untuk menjalankan kru Anda, jalankan perintah berikut di root proyek Anda:
lari kru
atau
python src/proyek_saya/main.py
Jika terjadi error karena penggunaan puisi, silakan jalankan perintah berikut untuk memperbarui paket crewai Anda:
pembaruan kruai
Anda akan melihat hasilnya di konsol dan file report.md
harus dibuat di root proyek Anda dengan laporan akhir lengkap.
Selain proses berurutan, Anda dapat menggunakan proses hierarki, yang secara otomatis menugaskan seorang manajer ke kru yang ditentukan untuk mengoordinasikan perencanaan dan pelaksanaan tugas dengan baik melalui delegasi dan validasi hasil. Lihat lebih lanjut tentang prosesnya di sini.
Desain Agen Berbasis Peran : Sesuaikan agen dengan peran, sasaran, dan alat tertentu.
Delegasi Antar-Agen yang Otonom : Agen dapat secara mandiri mendelegasikan tugas dan bertanya di antara mereka sendiri, sehingga meningkatkan efisiensi pemecahan masalah.
Manajemen Tugas Fleksibel : Tentukan tugas dengan alat yang dapat disesuaikan dan tetapkan tugas tersebut ke agen secara dinamis.
Didorong Proses : Saat ini hanya mendukung eksekusi tugas sequential
dan proses hierarchical
, namun proses yang lebih kompleks seperti konsensual dan otonom sedang dikerjakan.
Simpan keluaran sebagai file : Menyimpan keluaran tugas individual sebagai file, sehingga Anda dapat menggunakannya nanti.
Parsing keluaran sebagai Pydantic atau Json : Parsing keluaran tugas individual sebagai model Pydantic atau sebagai Json jika Anda mau.
Bekerja dengan Model Sumber Terbuka : Jalankan kru Anda menggunakan AI Terbuka atau model sumber terbuka, lihat halaman Hubungkan KruAI ke LLM untuk detail tentang mengonfigurasi koneksi agen Anda ke model, bahkan yang berjalan secara lokal!
Anda dapat menguji berbagai contoh kru AI di kehidupan nyata di repo CrewAI-examples:
Pembuat Halaman Arahan
Memiliki masukan Manusia pada eksekusi
Perencana Perjalanan
Analisis Stok
Lihat kode untuk contoh ini atau tonton video di bawah:
Lihat kode untuk contoh ini atau tonton video di bawah:
Lihat kode untuk contoh ini atau tonton video di bawah:
CrewAI mendukung penggunaan berbagai LLM melalui berbagai opsi koneksi. Secara default, agen Anda akan menggunakan OpenAI API saat menanyakan model. Namun, ada beberapa cara lain untuk memungkinkan agen Anda terhubung ke model. Misalnya, Anda dapat mengonfigurasi agen Anda untuk menggunakan model lokal melalui alat Ollama.
Silakan merujuk ke halaman Hubungkan CrewAI ke LLM untuk detail tentang mengonfigurasi koneksi agen Anda ke model.
Keunggulan CrewAI : CrewAI dibuat dengan mempertimbangkan produksi. Ini menawarkan fleksibilitas agen percakapan Autogen dan pendekatan proses terstruktur ChatDev, tetapi tanpa kekakuan. Proses CrewAI dirancang agar dinamis dan mudah beradaptasi, disesuaikan dengan alur kerja pengembangan dan produksi.
Autogen : Meskipun Autogen berhasil dalam menciptakan agen percakapan yang mampu bekerja sama, Autogen tidak memiliki konsep proses yang melekat. Di Autogen, mengatur interaksi agen memerlukan pemrograman tambahan, yang dapat menjadi rumit dan rumit seiring dengan bertambahnya skala tugas.
ChatDev : ChatDev memperkenalkan ide proses ke dalam ranah agen AI, namun implementasinya cukup kaku. Penyesuaian di ChatDev terbatas dan tidak diarahkan pada lingkungan produksi, yang dapat menghambat skalabilitas dan fleksibilitas dalam aplikasi dunia nyata.
CrewAI adalah sumber terbuka dan kami menerima kontribusi. Jika Anda ingin berkontribusi, silakan:
Cabangkan repositori.
Buat cabang baru untuk fitur Anda.
Tambahkan fitur atau peningkatan Anda.
Kirim permintaan tarik.
Kami menghargai masukan Anda!
kunci sinar UV sinkronisasi sinar UV
uv venv
instalasi pra-komit
uv jalankan pytest.
uvx mypy
membangun UV
pip instal dist/*.tar.gz
CrewAI menggunakan telemetri anonim untuk mengumpulkan data penggunaan dengan tujuan utama membantu kami meningkatkan perpustakaan dengan memfokuskan upaya kami pada fitur, integrasi, dan alat yang paling sering digunakan.
Sangat penting untuk memahami bahwa TIDAK ADA data yang dikumpulkan mengenai perintah, deskripsi tugas, latar belakang atau tujuan agen, penggunaan alat, panggilan API, respons, data apa pun yang diproses oleh agen, atau rahasia dan variabel lingkungan, dengan pengecualian kondisi yang disebutkan . Ketika fitur share_crew
diaktifkan, data terperinci termasuk deskripsi tugas, latar belakang atau tujuan agen, dan atribut spesifik lainnya dikumpulkan untuk memberikan wawasan yang lebih mendalam sekaligus menghormati privasi pengguna. Kami tidak menawarkan cara untuk menonaktifkannya sekarang, namun kami akan menawarkannya di masa mendatang.
Data yang dikumpulkan meliputi:
Versi CrewAI
Jadi kita bisa memahami berapa banyak pengguna yang menggunakan versi terbaru
Versi Python
Jadi kami dapat memutuskan versi mana yang akan didukung lebih baik
OS Umum (misalnya jumlah CPU, macOS/Windows/Linux)
Jadi kami tahu OS apa yang harus kami fokuskan dan apakah kami dapat membangun fitur spesifik terkait OS
Jumlah agen dan tugas dalam kru
Jadi kami memastikan bahwa kami melakukan pengujian secara internal dengan kasus penggunaan serupa dan mengedukasi orang-orang tentang praktik terbaik
Proses Kru sedang digunakan
Pahami di mana kita harus memfokuskan upaya kita
Jika Agen menggunakan memori atau mengizinkan delegasi
Pahami apakah kami meningkatkan fitur atau bahkan menghapusnya
Jika Tugas dijalankan secara paralel atau berurutan
Pahami apakah kita harus lebih fokus pada eksekusi paralel
Model bahasa yang digunakan
Peningkatan dukungan pada sebagian besar bahasa yang digunakan
Peran agen dalam kru
Pahami kasus penggunaan tingkat tinggi sehingga kami dapat membuat alat, integrasi, dan contoh yang lebih baik
Nama alat tersedia
Pahami alat-alat yang tersedia secara umum, alat mana yang paling sering digunakan sehingga kami dapat memperbaikinya
Pengguna dapat ikut serta dalam Telemetri Lebih Lanjut, berbagi data telemetri lengkap dengan mengatur atribut share_crew
ke True
pada Kru mereka. Mengaktifkan share_crew
menghasilkan pengumpulan detail kru dan data pelaksanaan tugas, termasuk goal
, backstory
, context
, dan output
tugas. Hal ini memungkinkan wawasan yang lebih mendalam mengenai pola penggunaan sambil menghormati pilihan pengguna untuk berbagi.
CrewAI dirilis di bawah Lisensi MIT.
J: CrewAI adalah kerangka kerja mutakhir untuk mengatur agen AI otonom yang bermain peran. Hal ini memungkinkan agen untuk bekerja sama dengan lancar, menangani tugas-tugas kompleks melalui kecerdasan kolaboratif.
A: Anda dapat menginstal CrewAI menggunakan pip:
pip instal kruwai
Untuk alat tambahan, gunakan:
pip instal 'crewai[alat]'
J: Ya, CrewAI mendukung berbagai LLM, termasuk model lokal. Anda dapat mengonfigurasi agen Anda untuk menggunakan model lokal melalui alat seperti Ollama & LM Studio. Periksa dokumentasi Koneksi LLM untuk lebih jelasnya.
J: Fitur utama mencakup desain agen berbasis peran, delegasi antar-agen yang otonom, manajemen tugas yang fleksibel, eksekusi berbasis proses, penyimpanan keluaran sebagai file, dan kompatibilitas dengan model sumber terbuka dan kepemilikan.
J: CrewAI dirancang dengan mempertimbangkan produksi, menawarkan fleksibilitas yang mirip dengan agen percakapan Autogen dan proses terstruktur seperti ChatDev, tetapi dengan kemampuan beradaptasi yang lebih besar untuk aplikasi dunia nyata.
J: Ya, CrewAI bersifat open-source dan menerima kontribusi dari komunitas.
J: CrewAI menggunakan telemetri anonim untuk mengumpulkan data penggunaan untuk tujuan peningkatan. Tidak ada data sensitif (seperti perintah, deskripsi tugas, atau panggilan API) yang dikumpulkan. Pengguna dapat ikut serta untuk membagikan data yang lebih detail dengan mengatur share_crew=True
pada Kru mereka.
J: Anda dapat menemukan berbagai contoh kehidupan nyata di repositori contoh CrewAI, termasuk perencana perjalanan, alat analisis stok, dan banyak lagi.
A: Kontribusi dipersilahkan! Anda dapat membagi repositori, membuat cabang baru untuk fitur Anda, menambahkan peningkatan, dan mengirim permintaan penarikan. Periksa bagian Kontribusi di README untuk lebih jelasnya.