File size: 11,073 Bytes
14dc68f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Translations:

[<img title="Franรงais" alt="Franรงais" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/fr.svg" width="22">](docs/README-fr.md)
[<img title="Portuguese" alt="Portuguese" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/br.svg" width="22">](docs/README-pt-br.md)
[<img title="Romanian" alt="Romanian" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/ro.svg" width="22">](docs/README-ro.md)
[<img title="Russian" alt="Russian" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/ru.svg" width="22">](docs/README-ru.md)
[<img title="Slovenian" alt="Slovenian" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/si.svg" width="22">](docs/README-si.md)
[<img title="Spanish" alt="Spanish" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/es.svg" width="22">](docs/README-es.md)
[<img title="Turkish" alt="Turkish" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](docs/README-tr.md)
[<img title="Ukrainian" alt="Ukrainian" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/ua.svg" width="22">](docs/README-ua.md)
[<img title="็ฎ€ไฝ“ไธญๆ–‡" alt="Simplified Chinese" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/cn.svg" width="22">](docs/README-cn.md)
[<img title="็น้ซ”ไธญๆ–‡ (Traditional Chinese)" alt="็น้ซ”ไธญๆ–‡ (Traditional Chinese)" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tw.svg" width="22">](docs/README-zh-tw.md)
[<img title="ๆ—ฅๆœฌ่ชž" alt="ๆ—ฅๆœฌ่ชž" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](docs/README-ja.md)
[<img title="ํ•œ๊ตญ์–ด" alt="ํ•œ๊ตญ์–ด" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/kr.svg" width="22">](docs/README-ko.md)

# ๋ชฉํ‘œ
์ด Python ์Šคํฌ๋ฆฝํŠธ๋Š” AI ๊ธฐ๋ฐ˜ ์ž‘์—… ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ OpenAI ๋ฐ Pinecone API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๊ณ , ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๊ณ , ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ์•„์ด๋””์–ด๋Š” ์ด์ „ ์ž‘์—…์˜ ๊ฒฐ๊ณผ์™€ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ชฉํ‘œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์—…์„ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋Š” OpenAI์˜ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉํ‘œ์— ๋”ฐ๋ผ ์ƒˆ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๊ณ  Pinecone์€ ์ปจํ…์ŠคํŠธ์— ๋งž๊ฒŒ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ๋ฐ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์›๋ž˜์˜ [์ž‘์—… ๊ธฐ๋ฐ˜ ์ž์œจ ์—์ด์ „ํŠธ](https://twitter.com/yoheinakajima/status/1640934493489070080?s=20) (2023๋…„ 3์›” 28์ผ)๋ฅผ ์ถ•์†Œํ•œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

์ด README์—์„œ๋Š” ๋‹ค์Œ ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค:

* [์Šคํฌ๋ฆฝํŠธ ์ž‘๋™ ๋ฐฉ์‹](#how-it-works)

* [์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•](#how-to-use)

* [์ง€์›๋˜๋Š” ๋ชจ๋ธ](#supported-models)

* [์Šคํฌ๋ฆฝํŠธ ์—ฐ์† ์‹คํ–‰์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ](#continuous-script-warning)
# ์ž‘๋™ ๋ฐฉ์‹<a name="how-it-works"></a>
์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

1. ์ž‘์—… ๋ชฉ๋ก์—์„œ ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
2. ์‹คํ–‰ ์—์ด์ „ํŠธ๋กœ ์ž‘์—…์„ ์ „์†กํ•˜๊ณ , ์‹คํ–‰ ์—์ด์ „ํŠธ๋Š” OpenAI์˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ผ ์ž‘์—…์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
3. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ฐ•ํ•˜์—ฌ Pinecone์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
4. ์ƒˆ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๊ณ  ๋ชฉํ‘œ์™€ ์ด์ „ ์ž‘์—…์˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ž‘์—… ๋ชฉ๋ก์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‹ค์‹œ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
</br>
execution_agent() ํ•จ์ˆ˜๋Š” OpenAI API๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋ชฉํ‘œ์™€ ์ž‘์—…์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ OpenAI์˜ API์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ „์†กํ•˜์—ฌ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. prompt๋Š” AI ์‹œ์Šคํ…œ์˜ ์ž‘์—…, ๋ชฉํ‘œ ๋ฐ ์ž‘์—… ์ž์ฒด์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฒฐ๊ณผ๋Š” ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
</br>
task_creation_agent() ํ•จ์ˆ˜๋Š” OpenAI์˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉํ‘œ์™€ ์ด์ „ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋ชฉํ‘œ, ์ด์ „ ์ž‘์—…์˜ ๊ฒฐ๊ณผ, ์ž‘์—… ์„ค๋ช…, ํ˜„์žฌ ์ž‘์—… ๋ชฉ๋ก์˜ ๋„ค ๊ฐ€์ง€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ํ•จ์ˆ˜๋Š” ์ƒˆ ์ž‘์—… ๋ชฉ๋ก์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” OpenAI์˜ API์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ํ•จ์ˆ˜๋Š” ์ƒˆ ์ž‘์—…์„ ์‚ฌ์ „ ๋ชฉ๋ก์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๊ฐ ์‚ฌ์ „์—๋Š” ์ž‘์—…์˜ ์ด๋ฆ„์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
</br>
prioritization_agent() ํ•จ์ˆ˜๋Š” ์ž‘์—… ๋ชฉ๋ก์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์žฌ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด OpenAI์˜ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜, ์ฆ‰ ํ˜„์žฌ ์ž‘์—…์˜ ID๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” OpenAI์˜ API์— ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ „์†กํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์žฌ์ง€์ •๋œ ์ž‘์—… ๋ชฉ๋ก์„ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„ ๋ชฉ๋ก์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
</br>
๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” Pinecone์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…์ŠคํŠธ์— ๋งž๋Š” ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” YOUR_TABLE_NAME ๋ณ€์ˆ˜์— ์ง€์ •๋œ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ Pinecone ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Pinecone์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ž‘์—… ์ด๋ฆ„ ๋ฐ ์ถ”๊ฐ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์ธ๋ฑ์Šค์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

# ์‚ฌ์šฉ ๋ฐฉ๋ฒ•<a name="how-to-use"></a>
์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค:

1. `git clone https://github.com/yoheinakajima/babyagi.git`๊ณผ `cd`๋ฅผ ํ†ตํ•ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•˜๊ณ  ๋ณต์ œ๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
2. ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค: `pip install -r requirements.txt`
3. .env.example ํŒŒ์ผ์„ .env์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค: `cp .env.example .env`. ์—ฌ๊ธฐ์—์„œ ๋‹ค์Œ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
4. OPENAI_API_KEY, OPENAPI_API_MODEL, PINECONE_API_KEY ๋ณ€์ˆ˜์— OpenAI ๋ฐ Pinecone API ํ‚ค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
5. PINECONE_ENVIRONMENT ๋ณ€์ˆ˜์—์„œ Pinecone ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
6. ์ž‘์—… ๊ฒฐ๊ณผ๊ฐ€ ์ €์žฅ๋  ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ TABLE_NAME ๋ณ€์ˆ˜์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
7. (์„ ํƒ ์‚ฌํ•ญ) OBJECTIVE ๋ณ€์ˆ˜์— ์ž‘์—… ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋ชฉ์ ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
8. (์„ ํƒ ์‚ฌํ•ญ) ์‹œ์Šคํ…œ์˜ ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์„ INITIAL_TASK ๋ณ€์ˆ˜์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
9. ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๋ชจ๋“  ์˜ต์…˜ ๊ฐ’์€ ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ๋„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•˜๊ธฐ

์ „์ œ ์กฐ๊ฑด์œผ๋กœ ๋„์ปค์™€ ๋„์ปค-์ปดํฌ์ฆˆ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Docker ๋ฐ์Šคํฌํ†ฑ์ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค(https://www.docker.com/products/docker-desktop/).

๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹œ์Šคํ…œ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์œ„์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ .env ํŒŒ์ผ์„ ์„ค์ •ํ•œ ๋‹ค์Œ ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

```
docker-compose up
```

# ์ง€์›๋˜๋Š” ๋ชจ๋ธ<a name="supported-models"></a>

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ชจ๋“  OpenAI ๋ชจ๋ธ๊ณผ Llama.cpp๋ฅผ ํ†ตํ•œ Llama์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ชจ๋ธ์€ **gpt-3.5-turbo**์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด OPENAI_API_MODEL์„ ํ†ตํ•ด ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

## Llama

์ตœ์‹  ๋ฒ„์ „์˜ [Llama.cpp](https://github.com/ggerganov/llama.cpp)๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์ง€์นจ์— ๋”ฐ๋ผ ์ œ์ž‘ํ•˜์„ธ์š”. ๋˜ํ•œ Llama ๋ชจ๋ธ ์ถ”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

- **์–ด๋– ํ•œ ๊ฒฝ์šฐ์—๋„ ์ด์Šˆ, ํ† ๋ก  ๋˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์–ด๋Š ๊ณณ์—์„œ๋„ IPFS, ๋งˆ๊ทธ๋„ท ๋งํฌ ๋˜๋Š” ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ์— ๋Œ€ํ•œ ๊ธฐํƒ€ ๋งํฌ๋ฅผ ๊ณต์œ ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.**

๊ทธ ํ›„ `llama/main`์„ llama.cpp/main์— ์—ฐ๊ฒฐํ•˜๊ณ  `models`์„ Llama ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ํด๋”์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ `OPENAI_API_MODEL=llama` ๋˜๋Š” `-l` ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

# ๊ฒฝ๊ณ <a name="continous-script-warning"></a>
์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ž‘์—… ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋กœ์„œ ๊ณ„์†์ ์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ๋””์ž์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณ„์† ์‹คํ–‰ํ•˜๋ฉด API ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์•„์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฑ…์ž„๊ฐ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด OpenAI ๋ฐ Pinecone API๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— API๋ฅผ ์„ค์ •ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

# ๊ธฐ์—ฌ
๋งํ•  ํ•„์š”๋„ ์—†์ด, BabyAGI๋Š” ์•„์ง ์ดˆ๊ธฐ ๋‹จ๊ณ„์— ์žˆ์œผ๋ฏ€๋กœ ์•„์ง ๋ฐฉํ–ฅ๊ณผ ๋‹จ๊ณ„๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ BabyAGI์˜ ํ•ต์‹ฌ ์„ค๊ณ„ ๋ชฉํ‘œ๋Š” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๊ตฌ์ถ•ํ•˜๊ธฐ ์‰ฝ๋„๋ก *๋‹จ์ˆœํ•˜๊ฒŒ* ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ์ˆœ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด PR์„ ์ œ์ถœํ•  ๋•Œ ๋‹ค์Œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค:

* ๊ด‘๋ฒ”์œ„ํ•œ ๋ฆฌํŒฉํ† ๋ง๋ณด๋‹ค๋Š” ์†Œ๊ทœ๋ชจ์˜ ๋ชจ๋“ˆ์‹ ์ˆ˜์ •์— ์ง‘์ค‘ํ•˜์„ธ์š”.
* ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•  ๋•Œ๋Š” ๊ตฌ์ฒด์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ œ๊ณตํ•˜์„ธ์š”.

[@yoheinakajima](https://twitter.com/yoheinakajima)์˜ ๋ฉ”๋ชจ (Apr 5, 2023):

> PR์ด ์ ์  ๋งŽ์•„์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” GitHub/์˜คํ”ˆ์†Œ์Šค๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ๊ณ , ์ด๋ฒˆ ์ฃผ์—๋Š” ๊ทธ์— ๋”ฐ๋ผ ์‹œ๊ฐ„ ๊ณ„ํš์„ ์„ธ์šฐ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์–‘ํ•ดํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, ์ €๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ๊ณผ ํ™•์žฅํ•˜๋Š” ๊ฒƒ ์‚ฌ์ด์—์„œ ๊ฐˆ๋“ฑ์„ ๊ฒช์–ด์™”์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” BabyAGI์˜ ์ฝ”์–ด๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ์ด๋ฅผ ํ”Œ๋žซํผ์œผ๋กœ ์‚ผ์•„ ์ด๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๊ณ  ํ™๋ณดํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ธฐ์šธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: BabyAGIxLangchain์ด ํ•˜๋‚˜์˜ ๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค). ์ €๋Š” ํƒ๊ตฌํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์˜๊ฒฌ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ, ์ด๋ฅผ ๋น„๊ตํ•˜๊ณ  ํ† ๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘์‹ฌ์ ์ธ ์žฅ์†Œ๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ณง ๋” ๋งŽ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ €๋Š” GitHub์™€ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ๋Œ€๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ๋™์•ˆ ์กฐ๊ธˆ๋งŒ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š”. ์ €๋Š” ๋‚ฎ์—๋Š” ๋ฒค์ฒ˜์บํ”ผํ„ธ ํšŒ์‚ฌ๋ฅผ ์šด์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต ์•„์ด๋“ค์„ ์žฌ์šด ํ›„ ๋ฐค์— PR๊ณผ ์ด์Šˆ๋ฅผ ํ™•์ธํ•˜๊ณ  ์žˆ๊ณ , ๋งค์ผ ๋ฐค ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์›์„ ๊ตฌํ•˜๋Š” ์•„์ด๋””์–ด์— ์—ด๋ ค ์žˆ์œผ๋ฉฐ ๊ณง ์ด ์„น์…˜์„ ์—…๋ฐ์ดํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค(๊ธฐ๋Œ€, ๋น„์ „ ๋“ฑ). ๋งŽ์€ ์‚ฌ๋žŒ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉฐ ๋ฐฐ์šฐ๊ณ  ์žˆ์œผ๋‹ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋Œ€ํ•ด์ฃผ์„ธ์š”!

# ์˜๊ฐ์„ ๋ฐ›์€ ํ”„๋กœ์ ํŠธ

์ถœ์‹œ ์ดํ›„ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ BabyAGI๋Š” ๋งŽ์€ ํ”„๋กœ์ ํŠธ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. [์—ฌ๊ธฐ](docs/inspired-projects.md)์—์„œ ๋ชจ๋‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋ฐฐ๊ฒฝ ์Šคํ† ๋ฆฌ
BabyAGI๋Š” ํŠธ์œ„ํ„ฐ์— ๊ณต์œ ๋œ ์›๋ณธ [์ž‘์—… ๊ธฐ๋ฐ˜ ์ž์œจ ์—์ด์ „ํŠธ](https://twitter.com/yoheinakajima/status/1640934493489070080?s=20)(2023๋…„ 3์›” 28์ผ)์˜ ์ถ•์†Œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์€ 140์ค„๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค: ์ฃผ์„ 13์ค„, ๊ณต๋ฐฑ 22์ค„, ์ฝ”๋“œ 105์ค„์ž…๋‹ˆ๋‹ค. ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ด๋ฆ„์€ ์˜ค๋ฆฌ์ง€๋„ ์ž์œจ ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ๋ฐ˜์‘์—์„œ ๋‚˜์˜จ ๊ฒƒ์œผ๋กœ, ์ž‘์„ฑ์ž๊ฐ€ ์ด๊ฒƒ์ด AGI๋ผ๋Š” ๊ฒƒ์„ ์•”์‹œํ•˜๋ ค๋Š” ์˜๋„๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

๋ฒค์ฒ˜์บํ”ผํ„ธ๋ฆฌ์ŠคํŠธ์ธ [@yoheinakajima](https://twitter.com/yoheinakajima)๊ฐ€ ์• ์ •์„ ๋‹ด์•„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค(์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!).