1
00:00:00,320 --> 00:00:01,120
Benvenuto o benvenuta,

2
00:00:01,120 --> 00:00:04,480
io sono Filippo Astrozzi e stai ascoltando Avvocati a Mac Compendium.

3
00:00:04,480 --> 00:00:08,539
Compendium è un podcast in cui parlo delle
mie esperienze quotidiane con la tecnologia,

4
00:00:08,539 --> 00:00:10,039
in particolare quella Apple.

5
00:00:10,039 --> 00:00:14,899
Questa è la puntata 53 nella quale parlerò di agenti e MCP,

6
00:00:14,899 --> 00:00:16,550
ovvero Model,

7
00:00:16,550 --> 00:00:17,250
Context,

8
00:00:17,250 --> 00:00:18,140
Protocol,

9
00:00:18,140 --> 00:00:22,239
sulle promesse di questa nuova tecnologia e sulle effettive possibilità.

10
00:00:22,239 --> 00:00:23,100
Ma prima,

11
00:00:23,100 --> 00:00:23,879
sigla!

12
00:00:24,879 --> 00:00:25,449
Allora,

13
00:00:25,449 --> 00:00:33,700
prima di andare all'occhio della puntata,

14
00:00:33,700 --> 00:00:41,509
devo fare alcune premesse e non ho comunicazioni
di servizio perché non le ho preparate.

15
00:00:41,509 --> 00:00:42,719
L'unica comunicazione,

16
00:00:42,719 --> 00:00:43,310
diciamo,

17
00:00:43,310 --> 00:00:45,079
di servizio estemporanea è che,

18
00:00:45,079 --> 00:00:45,969
come al solito,

19
00:00:45,969 --> 00:00:47,899
sto facendo tutto non seguendo,

20
00:00:47,899 --> 00:00:48,399
diciamo,

21
00:00:48,399 --> 00:00:51,200
la scaletta programmata delle puntate che mi ero fatto.

22
00:00:51,240 --> 00:00:55,350
Quindi questa è una cosa che ho fatto nel weekend,

23
00:00:55,350 --> 00:00:56,359
mentre sto registrando.

24
00:00:56,359 --> 00:00:59,409
Siamo al 24 di marzo mentre registro,

25
00:00:59,409 --> 00:01:03,359
ma presumibilmente questa puntata andrà pubblicata fine aprile,

26
00:01:03,359 --> 00:01:03,659
direi,

27
00:01:03,659 --> 00:01:06,879
perché non è anche controllato il calendario editoriale,

28
00:01:06,879 --> 00:01:08,840
come si dice.

29
00:01:08,840 --> 00:01:12,959
Per il resto non ci sono grandi novità e l'altra cosa che,

30
00:01:12,959 --> 00:01:13,390
invece,

31
00:01:13,390 --> 00:01:15,159
voglio discutere con te,

32
00:01:15,159 --> 00:01:19,030
questa puntata nasce da tutta una serie di sperimentazioni,

33
00:01:19,030 --> 00:01:19,359
diciamo,

34
00:01:19,359 --> 00:01:25,200
collegate alle cose che ho detto nelle scorse e precedenti puntate.

35
00:01:25,200 --> 00:01:29,120
Diciamo che la cosa che attualmente mi coinvolge di più,

36
00:01:29,120 --> 00:01:32,799
come si capisce dal titolo e dalle modalità delle puntate,

37
00:01:32,799 --> 00:01:35,599
sono ovviamente l'intelligenza artificiale,

38
00:01:35,599 --> 00:01:38,000
in particolare il "Large Language Model",

39
00:01:38,000 --> 00:01:46,719
ma soprattutto la possibilità di utilizzare questi
strumenti come interfaccia linguistica di un programma.

40
00:01:46,719 --> 00:01:49,689
Adesso mi spiego meglio come.

41
00:01:49,689 --> 00:01:50,269
Abbiamo parlato,

42
00:01:50,269 --> 00:01:50,950
secondo me,

43
00:01:50,950 --> 00:01:54,829
due o tre puntate fa del discorso di agenti e del fatto che,

44
00:01:54,829 --> 00:01:56,319
nella sostanza,

45
00:01:56,319 --> 00:01:59,760
gli agenti sono i veri programmi ma gli LLM,

46
00:01:59,760 --> 00:02:00,569
diciamo,

47
00:02:00,569 --> 00:02:10,759
si interfacciano a questi programmi e quindi appunto si creano poi
dei sistemi avanzati e che effettivamente hanno un suo senso logico,

48
00:02:10,759 --> 00:02:12,879
mettiamola in questi termini.

49
00:02:12,879 --> 00:02:16,789
Gli LLM hanno sicuramente dei lati positivi però,

50
00:02:16,789 --> 00:02:18,000
dal mio punto di vista,

51
00:02:18,000 --> 00:02:20,229
per tantissimi motivi,

52
00:02:20,229 --> 00:02:24,360
riescono a fare attualmente relativamente poco perché,

53
00:02:24,360 --> 00:02:26,020
nella sostanza,

54
00:02:26,020 --> 00:02:30,840
gli LLM sono dei completatori di testo con gli steroidi.

55
00:02:30,840 --> 00:02:37,879
Quindi è ovvio che ci sono limiti sostanziali e anche organizzativi,

56
00:02:37,879 --> 00:02:38,560
diciamo,

57
00:02:38,560 --> 00:02:40,000
di questi strumenti,

58
00:02:40,000 --> 00:02:43,439
sicuramente utilissimi per fare riassunti,

59
00:02:43,439 --> 00:02:45,000
fare tutta una serie di cose,

60
00:02:45,000 --> 00:02:49,680
ma abitualmente questi strumenti vanno agganciati a qualcos'altro.

61
00:02:49,680 --> 00:02:52,840
Quello che io vedo veramente come futuro,

62
00:02:52,840 --> 00:02:55,849
dal mio punto di vista almeno,

63
00:02:55,849 --> 00:03:01,909
è che utilizzare questi LLM come interfaccia linguistica a un programma,

64
00:03:01,909 --> 00:03:04,520
cioè poter parlare a un programma con,

65
00:03:04,520 --> 00:03:05,509
con linguaggio umano,

66
00:03:05,509 --> 00:03:07,090
mettiamolo in questi termini,

67
00:03:07,090 --> 00:03:13,800
essere "compresi" dalla macchina e a questo punto far fare cose alla macchina.

68
00:03:13,800 --> 00:03:14,560
Ecco,

69
00:03:14,560 --> 00:03:16,550
l'argomento di oggi,

70
00:03:16,550 --> 00:03:17,990
cioè gli MCP,

71
00:03:17,990 --> 00:03:21,919
adesso ti spiegherò che cosa sono sostanzialmente,

72
00:03:21,919 --> 00:03:23,560
è una tecnologia,

73
00:03:23,560 --> 00:03:24,419
appunto,

74
00:03:24,419 --> 00:03:26,530
utile proprio per fare questo.

75
00:03:26,530 --> 00:03:30,840
Quindi veniamo subito a dire che cos'è un MCP.

76
00:03:30,840 --> 00:03:31,259
Un MCP,

77
00:03:31,259 --> 00:03:32,000
ovviamente,

78
00:03:32,000 --> 00:03:34,900
è una sigla che sta Model Context Protocol,

79
00:03:34,900 --> 00:03:36,629
sostanzialmente,

80
00:03:36,629 --> 00:03:41,610
è un modo semplice e senza necessità di scrivere codice per integrare i tool,

81
00:03:41,610 --> 00:03:42,879
cioè gli strumenti,

82
00:03:42,879 --> 00:03:44,449
quindi questi programmini,

83
00:03:44,449 --> 00:03:45,370
chiamiamoli così,

84
00:03:45,370 --> 00:03:47,159
giusto per rendere la cosa molto banale,

85
00:03:47,159 --> 00:03:49,130
mettiamola in questi termini,

86
00:03:49,130 --> 00:03:52,560
in un LLM che così facendo si può interfacciare,

87
00:03:52,560 --> 00:03:53,120
diciamo,

88
00:03:53,120 --> 00:03:54,889
con il mondo esterno.

89
00:03:54,889 --> 00:03:56,439
Questo cosa vuol dire?

90
00:03:56,439 --> 00:03:57,069
Questo vuol dire,

91
00:03:57,069 --> 00:03:58,080
per esempio,

92
00:03:58,080 --> 00:04:00,150
appunto,

93
00:04:00,150 --> 00:04:02,060
che si può interfacciare con delle,

94
00:04:02,060 --> 00:04:03,099
chiamiamoli così,

95
00:04:03,099 --> 00:04:03,639
web app,

96
00:04:03,639 --> 00:04:12,520
cioè delle applicazioni web e quindi interfacciarsi e strapolare
dati e anche eventualmente inserire dati in queste web app.

97
00:04:12,520 --> 00:04:14,400
Fare le ricerche web,

98
00:04:14,400 --> 00:04:14,759
appunto,

99
00:04:14,759 --> 00:04:19,779
una delle cose che sto curando in particolar
modo e che abbiamo visto nella puntata,

100
00:04:19,779 --> 00:04:20,600
secondo me,

101
00:04:20,600 --> 00:04:21,600
51,

102
00:04:21,600 --> 00:04:22,060
credo,

103
00:04:22,060 --> 00:04:23,810
Web UI e Browser Use,

104
00:04:23,810 --> 00:04:25,720
sostanzialmente,

105
00:04:25,720 --> 00:04:27,139
è possibile,

106
00:04:27,139 --> 00:04:27,590
appunto,

107
00:04:27,590 --> 00:04:28,850
far fare,

108
00:04:28,850 --> 00:04:30,350
far interagire LLM,

109
00:04:30,350 --> 00:04:34,149
far fare delle ricerche online agli LLM e dargli accesso,

110
00:04:34,149 --> 00:04:34,670
per esempio,

111
00:04:34,670 --> 00:04:35,370
a un browser.

112
00:04:35,370 --> 00:04:36,000
Addirittura,

113
00:04:36,000 --> 00:04:37,660
e lo vedremo negli esempi di oggi,

114
00:04:37,660 --> 00:04:38,620
perché diciamo,

115
00:04:38,620 --> 00:04:44,439
il gioco che ho fatto nel weekend è stato interagire con il file system del pc,

116
00:04:44,439 --> 00:04:47,720
nel mio caso specifico del Mac,

117
00:04:47,720 --> 00:04:49,120
e tante altre cose.

118
00:04:49,120 --> 00:04:51,680
Quindi la cosa interessante è proprio questa,

119
00:04:51,680 --> 00:04:53,959
cioè per permettere di legare,

120
00:04:53,959 --> 00:04:54,930
mettiamola così,

121
00:04:54,930 --> 00:04:56,430
il large language model a,

122
00:04:56,430 --> 00:04:56,980
appunto,

123
00:04:56,980 --> 00:05:00,300
un programma che può interfacciarsi a un'applicazione,

124
00:05:00,300 --> 00:05:01,860
può fare ricerche web,

125
00:05:01,860 --> 00:05:11,069
quindi interfacciarsi con un browser virtuale/a motori di ricerca
che le restituiscono i risultati della ricerca o addirittura,

126
00:05:11,069 --> 00:05:11,870
per esempio,

127
00:05:11,870 --> 00:05:15,209
interfacciarsi col file system e quindi fare operazioni,

128
00:05:15,209 --> 00:05:16,720
eseguire operazioni,

129
00:05:16,720 --> 00:05:17,410
diciamo,

130
00:05:17,410 --> 00:05:20,990
manipolando sostanzialmente il file system.

131
00:05:20,990 --> 00:05:22,670
L'idea di questo,

132
00:05:22,670 --> 00:05:25,069
gli MCP esistono o MCP,

133
00:05:25,069 --> 00:05:27,889
dipende come lo si pronuncia,

134
00:05:27,889 --> 00:05:34,170
ovviamente io tendo a pronunciare con gli
acronimi in inglese perché poi da lì io prendo,

135
00:05:34,170 --> 00:05:35,069
diciamo,

136
00:05:35,069 --> 00:05:36,079
molto spunto.

137
00:05:36,079 --> 00:05:38,949
L'MCP nasce da un progetto di Antropica.

138
00:05:38,949 --> 00:05:42,040
Antropica è una dei maggiori aziende,

139
00:05:42,040 --> 00:05:43,300
diciamo,

140
00:05:43,300 --> 00:05:45,129
che stanno creando,

141
00:05:45,129 --> 00:05:46,519
americane,

142
00:05:46,519 --> 00:05:47,639
che stanno creando quelli a,

143
00:05:47,639 --> 00:05:50,160
e nella sostanza MCP viene venduto,

144
00:05:50,160 --> 00:05:52,110
mettiamolo in questi termini,

145
00:05:52,110 --> 00:06:00,300
come un protocollo aperto che standardizza il modo con
cui le applicazioni forniscono il contesto agli LLM.

146
00:06:00,300 --> 00:06:07,819
Pensa all MCP come una sorta di porta USB-C per
l'applicazione di intelligenza artificiale,

147
00:06:07,819 --> 00:06:15,410
proprio come un USB-C fornisce un modo standardizzato per
collegare i tuoi dispositivi a vari periferiche e accessori,

148
00:06:15,410 --> 00:06:24,110
così MCP fornisce un modo standardizzato per collegare modelli
di intelligenza artificiale a diverse fonti di dati e strumenti.

149
00:06:24,110 --> 00:06:26,060
Questa è proprio la definizione del progetto.

150
00:06:26,060 --> 00:06:28,019
Il progetto si trova a questa pagina,

151
00:06:28,019 --> 00:06:34,160
ovviamente nel link delle note dell'episodio troverai
tutti i link per andare a cercare tutte queste cose.

152
00:06:34,160 --> 00:06:35,470
Oltre al sito,

153
00:06:35,470 --> 00:06:36,389
diciamo,

154
00:06:36,389 --> 00:06:41,549
al sito di presentazione con la guida come si struttura il sistema,

155
00:06:41,549 --> 00:06:42,199
diciamo,

156
00:06:42,199 --> 00:06:44,370
c'è anche invece il progetto GitHub,

157
00:06:44,370 --> 00:06:45,490
su GitHub,

158
00:06:45,490 --> 00:06:48,930
che sono i Model Context Protocol Server.

159
00:06:48,930 --> 00:06:52,940
Nella sostanza come funziona sotto la scocca tutti questi sistemi,

160
00:06:52,940 --> 00:06:54,730
giusto per darti un'idea di base,

161
00:06:54,730 --> 00:06:57,839
poi ti farò capire che non ti interessa,

162
00:06:57,839 --> 00:06:59,319
per molti versi,

163
00:06:59,319 --> 00:07:00,600
approfondire,

164
00:07:00,600 --> 00:07:02,189
almeno io non l'ho fatto,

165
00:07:02,189 --> 00:07:03,879
mettiamolo in questi termini,

166
00:07:03,879 --> 00:07:06,180
il funzionamento di questi sistemi,

167
00:07:06,180 --> 00:07:07,459
l'idea di fondo qual è?

168
00:07:07,459 --> 00:07:08,909
L'idea di fondo qual è?

169
00:07:08,909 --> 00:07:16,750
E' quella di astrarre sostanzialmente il modo di
interfacciarsi con questi sistemi di terze parti,

170
00:07:16,750 --> 00:07:17,399
mettiamole così,

171
00:07:17,399 --> 00:07:20,040
quindi con appunto web app,

172
00:07:20,040 --> 00:07:20,940
browser,

173
00:07:20,940 --> 00:07:24,239
piuttosto che appunto il file system stesso,

174
00:07:24,239 --> 00:07:25,500
e creare questi,

175
00:07:25,500 --> 00:07:26,920
chiamiamoli così,

176
00:07:26,920 --> 00:07:27,600
server,

177
00:07:27,600 --> 00:07:35,040
cioè dei programmi che hanno già all'interno tutta una serie di azioni,

178
00:07:35,040 --> 00:07:36,239
di capacità,

179
00:07:36,239 --> 00:07:36,819
diciamo,

180
00:07:36,819 --> 00:07:45,589
e da una parte appunto spiegano all'lnm cosa appunto questo mcp server può fare,

181
00:07:45,589 --> 00:07:45,779
ok?

182
00:07:45,779 --> 00:07:48,259
Quindi gli dà le indicazioni testuali ovviamente,

183
00:07:48,259 --> 00:07:50,779
di cosa può fare e delle azioni che può eseguire,

184
00:07:50,779 --> 00:07:52,239
mettiamole in questi termini.

185
00:07:52,239 --> 00:07:53,620
Dall'altro appunto,

186
00:07:53,620 --> 00:07:54,529
chiamiamolo così,

187
00:07:54,529 --> 00:07:55,759
lato software,

188
00:07:55,759 --> 00:07:57,779
invece il server cosa fa?

189
00:07:57,779 --> 00:07:59,429
Fa da tradunion,

190
00:07:59,429 --> 00:08:02,750
cioè fa da traduttore tra comando,

191
00:08:02,750 --> 00:08:03,679
diciamo,

192
00:08:03,679 --> 00:08:06,280
testuale e programmazione,

193
00:08:06,280 --> 00:08:18,129
quindi chi programma i server mcp sostanzialmente crea questo substrato
trasparente per l'utente finale e anche per l'lnm da un certo punto di vista,

194
00:08:18,129 --> 00:08:22,120
dove appunto da una parte descrive cosa può fare il programma,

195
00:08:22,120 --> 00:08:23,750
chiamiamolo in questi termini,

196
00:08:23,750 --> 00:08:26,439
dall'altro appunto interfaccia queste azioni,

197
00:08:26,439 --> 00:08:27,689
mettiamola così,

198
00:08:27,689 --> 00:08:28,920
questi appunto tool,

199
00:08:28,920 --> 00:08:30,699
con un'interfaccia grafica,

200
00:08:30,699 --> 00:08:35,019
cioè con un'interfaccia per il sistema operativo o comunque per la web app,

201
00:08:35,019 --> 00:08:37,269
quindi nel mio esempio pratico,

202
00:08:37,269 --> 00:08:38,159
cosa succede?

203
00:08:38,159 --> 00:08:44,070
Io voglio rinominare / spostare un file / leggere il contenuto o creare un file,

204
00:08:44,070 --> 00:08:46,409
io dirò attraverso l'lnm,

205
00:08:46,409 --> 00:08:53,019
interagirò con questo server mcp e a questo punto il server,

206
00:08:53,019 --> 00:08:57,799
in base alle istruzioni che dà ovviamente l'lnm,

207
00:08:57,799 --> 00:09:07,399
eseguirà queste operazioni sul file system e la cosa interessante è per
quello che ti dico che non ci interessa diciamo poi approfondire troppo,

208
00:09:07,399 --> 00:09:08,720
mettiamola così o meglio,

209
00:09:08,720 --> 00:09:15,799
ti può casomai interessare se sei un programmatore ma da
utente finale diciamo o da smanettone come mi ritengo io,

210
00:09:15,799 --> 00:09:21,849
non mi interessa andare a approfondire troppo il sistema da un certo punto di

211
00:09:21,849 --> 00:09:27,662
vista perché appunto questi server sono sono già stati sviluppati o almeno

212
00:09:27,662 --> 00:09:33,004
alcuni di questi server sono stati sviluppati e quindi semplicemente

213
00:09:33,004 --> 00:09:37,639
basta installare diciamo e utilizzare uno server specifico,

214
00:09:37,639 --> 00:09:38,850
mettiamola così,

215
00:09:38,850 --> 00:09:49,190
un server mcp specifico per poi poter già appunto far fare cose al tuo llm.

216
00:09:49,190 --> 00:09:54,452
Se stai guardando questa puntata registrata sulla parte diciamo registrata in

217
00:09:54,452 --> 00:09:59,715
diretta su youtube vedrai anche degli screenshot che ho preso che ho fatto in

218
00:09:59,715 --> 00:10:05,183
questa mia solita mappa mentale dove appunto ti faccio vedere come appunto nella

219
00:10:05,183 --> 00:10:10,515
pagina principale del progetto appunto ci sono già svariati server mcp tra cui

220
00:10:10,515 --> 00:10:15,846
appunto quello che mi interessava testare che diciamo l'ho utilizzato per fare

221
00:10:15,846 --> 00:10:21,109
le mie primissime prove perché era quello che mi interessa di più era appunto

222
00:10:21,109 --> 00:10:26,167
quello che si chiama file system cioè un modo sicuro per fare operazioni e

223
00:10:26,167 --> 00:10:31,361
configurare l'accesso e controllo appunto al tuo sistema operativo perché mi

224
00:10:31,361 --> 00:10:36,419
interessava farlo perché e qui apro una piccola parentesi chiamiamola così

225
00:10:36,419 --> 00:10:40,589
su questo argomento tutto quello che ho fatto io e l'ho fatto

226
00:10:40,589 --> 00:10:44,690
attraverso n8n che è questa diciamo web app che permette di,

227
00:10:44,690 --> 00:10:47,679
ne ho già parlato in puntate scorse,

228
00:10:47,679 --> 00:10:53,379
che permette di interfacciarsi diciamo è una via di mezzo tra comandi rapide

229
00:10:53,379 --> 00:10:59,379
quindi mi ci trovo molto bene perché poi lo apprezzo particolarmente ti permette

230
00:10:59,379 --> 00:11:05,378
appunto con questo attraverso questa web app di interfacciarsi sia interfacciare

231
00:11:05,378 --> 00:11:11,153
l'lm con tanti servizi e quindi io avevo già fatto queste cose qui ed è ovvio

232
00:11:11,153 --> 00:11:17,077
che però gli mcp potenzialmente semplificano di gran lunga la creazione diciamo

233
00:11:17,077 --> 00:11:23,002
l'utilizzo di questi tool in n8n l'altra cosa che ovviamente mi interessa è che

234
00:11:23,002 --> 00:11:28,551
è un n8n diciamo la struttura blocchi come come comandi rapidi e quindi io

235
00:11:28,551 --> 00:11:33,801
riesco con le mie limitate capacità diciamo e con questi strumenti tra

236
00:11:33,801 --> 00:11:39,125
virgolette non coding mettiamola in questi termini a creare soluzioni e

237
00:11:39,125 --> 00:11:44,825
possibilità e quindi appunto sto lavorando molto diciamo nel mio tempo perso

238
00:11:44,825 --> 00:11:50,375
sull'utilizzo di n8n perché effettivamente è un'applicazione relativamente

239
00:11:50,375 --> 00:11:56,374
complicata e avendo una serie di feed diciamo su youtube di youtuber che parlano

240
00:11:56,374 --> 00:12:01,849
di queste cose effettivamente è venuta fuori mcp sembrava e sembra un bel

241
00:12:01,849 --> 00:12:07,848
progetto e quindi ho detto proviamoci vediamo cosa succede l'altra cosa prima di

242
00:12:07,848 --> 00:12:13,848
entrare diciamo nel vivo della della puntata e di spiegare un poco cosa ho fatto

243
00:12:13,848 --> 00:12:19,397
cosa scoperto e così via è che mcp nasce sostanzialmente pensato per cloud

244
00:12:19,397 --> 00:12:25,022
desktop cioè l'applicazione desktop di cloud cloud llm appunto di antropico

245
00:12:25,022 --> 00:12:30,346
meglio il nome generale di varia llm di di antropic e ovviamente questa

246
00:12:30,346 --> 00:12:35,896
circostanza diciamo è da tenere presente per i ragionamenti poi che faremo

247
00:12:35,896 --> 00:12:41,746
successivamente l'ultimissima cosa appunto giusto per per chiudere l'argomento

248
00:12:41,746 --> 00:12:47,445
mcp diciamo dal punto di vista di cosa fa come perché era anche interessante

249
00:12:47,445 --> 00:12:53,295
tutta questa vicenda è che ci sono una marea di server cioè io adesso te ne ho

250
00:12:53,295 --> 00:12:58,994
elencati alcuni ma diciamo antropic ha creato sostanzialmente nel repository

251
00:12:58,994 --> 00:13:04,544
chiamiamoli così dei server base già attualmente perché poi mcp nasce come

252
00:13:04,544 --> 00:13:10,393
progetto fino a ottobre novembre 2024 quindi non è un progetto giovanissimo ma

253
00:13:10,393 --> 00:13:16,168
diciamo un progetto già presente da un po di tempo a questa parte in più si è

254
00:13:16,168 --> 00:13:21,717
sviluppata una community piuttosto grossa di sviluppatori che hanno creato

255
00:13:21,717 --> 00:13:27,267
appunto questi server ulteriori server diciamo per interfacciarsi con quel

256
00:13:27,267 --> 00:13:33,266
servizio piuttosto con quell'altro servizio allora diciamo la verità la cosa che

257
00:13:33,266 --> 00:13:39,266
appunto mi ha fatto venire voglia mettiamola così di mettermi a lavorare con gli

258
00:13:39,266 --> 00:13:44,666
mcp è questa e lo dichiaro subito diciamo che quando sono andato un po a

259
00:13:44,666 --> 00:13:50,290
guardare intorno ai vari server presenti uno dei primi che mi è capitato di

260
00:13:50,290 --> 00:13:56,290
vedere è un server mcp per comandi rapidi e quindi mi è venuta voglia diciamo di

261
00:13:56,290 --> 00:14:02,139
provare a implementare ovviamente a fare interfacciare sostanzialmente gli llm

262
00:14:02,139 --> 00:14:07,464
con comandi rapidi l'mcp server ovviamente deve girare su mac per poter

263
00:14:07,464 --> 00:14:13,163
interfacciarsi con comandi rapidi e questo perché da un certo punto di vista

264
00:14:13,163 --> 00:14:19,163
appunto la puntata scorsa o due puntate fa non mi ricordo più ne abbiamo parlato

265
00:14:19,163 --> 00:14:25,162
e appunto apple intelligence la parte veramente interessante quella dove diciamo

266
00:14:25,162 --> 00:14:30,337
c'è siri che può fare cose mettiamola in questi termini quindi si può

267
00:14:30,337 --> 00:14:36,037
interfacciare appunto tra le altre cose con comandi rapidi attualmente non è

268
00:14:36,037 --> 00:14:41,286
prevista o l'arrivo a breve mettiamola così nel mondo apple quindi ero

269
00:14:41,286 --> 00:14:46,761
interessato a anticipare nella sostanza apple e vedere se riusciva a fare

270
00:14:46,761 --> 00:14:52,385
qualcosa di veramente interessante piccolo spoiler giusto perché non voglio

271
00:14:52,385 --> 00:14:58,160
creare false aspettative teoricamente fattibile e io nella concretezza non ci

272
00:14:58,160 --> 00:15:04,009
sono riuscito ma ci sono diciamo tutta una serie di da quello che ho capito io

273
00:15:04,009 --> 00:15:09,934
grossi limiti a questo sistema ma comunque appunto è molto interessante proprio

274
00:15:09,934 --> 00:15:15,483
perché innanzitutto se per esempio ti interessa utilizzare l mcp con cloud

275
00:15:15,483 --> 00:15:21,408
desktop si possono fare cose molto interessanti secondariamente appunto lo dico

276
00:15:21,408 --> 00:15:27,407
già tutta questa questa cosa te ne parlo da un certo punto di vista perché conto

277
00:15:27,407 --> 00:15:32,807
e mi riprometto di anche scrivere un articolo abbastanza dettagliato sul

278
00:15:32,807 --> 00:15:38,657
funzionamento vero e proprio ovviamente qui nel podcast ti racconterò che cosa

279
00:15:38,657 --> 00:15:43,906
ho fatto ma non ti spiegherò proprio tutto nel dettaglio perché non ha

280
00:15:43,906 --> 00:15:49,681
abbastanza senso farlo in maniera solo audio già su youtube ho inserito nelle

281
00:15:49,681 --> 00:15:55,380
nella mappa mentale alcuni alcuni screenshot che già danno un po più di idea

282
00:15:55,380 --> 00:16:00,855
diciamo di cosa si riesce a fare però è una tecnologia interessante è una

283
00:16:00,855 --> 00:16:06,779
tecnologia sicuramente futuribile diciamo dei grossi limiti attualmente dal mio

284
00:16:06,779 --> 00:16:12,704
punto di vista ma potrebbe in futuro non averne e comunque è interessante tutto

285
00:16:12,704 --> 00:16:18,553
il sistema e devo dire la verità mi sono divertito molto a giocare con gli mcp

286
00:16:18,553 --> 00:16:24,328
in questo weekend benissimo adesso vediamo nel concreto che cosa ho fatto nel

287
00:16:24,328 --> 00:16:30,103
weekend e quali sono le mie conclusioni attuali perché ovviamente diciamo che

288
00:16:30,103 --> 00:16:36,027
queste conclusioni potrebbe anzi sicuramente si modificheranno nel tempo allora

289
00:16:36,027 --> 00:16:41,877
innanzitutto come ti dicevo lo ho utilizzato mcp con n8n perché perché appunto

290
00:16:41,877 --> 00:16:47,801
posso creare agenti in modo relativamente semplice nel senso che appunto n8n mi

291
00:16:47,801 --> 00:16:53,726
permette di non sporcarmi le mani troppo col codice diciamo che la mentalità di

292
00:16:53,726 --> 00:16:59,725
a blocchi di mi piace molto mettiamola in questi termini dall'altro anche se non

293
00:16:59,725 --> 00:17:05,575
è ancora stato diciamo implementato direttamente dai creatori di n8n n8n ha un

294
00:17:05,575 --> 00:17:11,049
grosso vantaggio mettiamoli in questi termini ovvero ha la possibilità di

295
00:17:11,049 --> 00:17:17,049
installare mettiamola così dei nodi e che sono appunto i blocchi sostanzialmente

296
00:17:17,049 --> 00:17:22,298
le azioni di comandi rapidi giusto perché ci intendiamo diciamo con un

297
00:17:22,298 --> 00:17:28,148
background comune dei nodi appunto della community questo nodo della community

298
00:17:28,148 --> 00:17:34,072
di mcp cosa fa è molto interessante perché permette di configurare da una parte

299
00:17:34,072 --> 00:17:39,997
i singoli mcp e dall'altra appunto in automatico sostanzialmente ne permette di

300
00:17:39,997 --> 00:17:45,847
scaricare e installare l'mcp sul nel container o nella macchina dove dove gira

301
00:17:45,847 --> 00:17:51,321
n8n nella sostanza il nodo quindi fava svariate cose effettivamente un po

302
00:17:51,321 --> 00:17:57,021
confusionario da questo punto di vista si poteva probabilmente ragionare con

303
00:17:57,021 --> 00:18:02,195
nodi differenti ma nella sostanza da una parte chiamiamo inserendo le

304
00:18:02,195 --> 00:18:07,970
credenziali del nodo è possibile configurare il nodo e quindi scegliere quale

305
00:18:07,970 --> 00:18:13,969
server chiamiamo così installare e utilizzare con quelle credenziali nel backend

306
00:18:13,969 --> 00:18:19,969
sostanzialmente i nodi mcp possono essere diciamo creati e installati attraverso

307
00:18:19,969 --> 00:18:25,968
npm che in pratica repository è un sistema per scaricare pacchetti diciamo fatti

308
00:18:25,968 --> 00:18:31,368
in javascript non voglio stare troppo a andare nel dettaglio perché sono

309
00:18:31,368 --> 00:18:37,367
bazzeccole mettiamole in questi termini e una volta comunque che hai capito come

310
00:18:37,367 --> 00:18:43,217
è possibile avendo idea di della documentazione diciamo dell mcp server che ti

311
00:18:43,217 --> 00:18:49,217
interessa installarlo è relativamente semplice è ovviamente possibile ovviamente

312
00:18:49,217 --> 00:18:54,841
collegarsi io ho utilizzato ovviamente un server che funzionava diciamo sul

313
00:18:54,841 --> 00:19:00,616
computer mettiamola in questi termini perché poi a me quello che interessa di

314
00:19:00,616 --> 00:19:06,540
più di utilizzare con n8n è la possibilità di lavorare non con servizi di terza

315
00:19:06,540 --> 00:19:12,090
parte a cui comunque per forza di cose devi passare dei dati mettiamolo in

316
00:19:12,090 --> 00:19:17,564
questi termini ma lavorare tutto in locale o quantomeno nella rete locale

317
00:19:17,564 --> 00:19:23,564
spostare file lavorare in maniera varia ed eventuali manipolando sostanzialmente

318
00:19:23,564 --> 00:19:29,038
i dati sempre in locale appunto per mio approccio abbastanza conservativo

319
00:19:29,038 --> 00:19:34,513
diciamo dei miei dati e soprattutto dei dati dei miei clienti all'interno

320
00:19:34,513 --> 00:19:40,138
appunto di questo nodo e di mcp ci sono due cose fondamentali da capire due

321
00:19:40,138 --> 00:19:45,837
funzioni in pratica da capire la list tool e l'executive tool tradotto molto

322
00:19:45,837 --> 00:19:51,237
banalmente list tool sta per lista degli strumenti serve appunto per far

323
00:19:51,237 --> 00:19:56,936
conoscere agli llm quali sono gli strumenti tool che ha a disposizione nella

324
00:19:56,936 --> 00:20:02,711
sostanza te la faccio molto breve ma attraverso questo questo sistema di list

325
00:20:02,711 --> 00:20:08,410
tool in pratica viene dato in pasto all'lm un json con tutti i parametri per

326
00:20:08,410 --> 00:20:14,410
capire quali sono il nome dello strumento innanzitutto che è fondamentale perché

327
00:20:14,410 --> 00:20:20,184
c'è lo strumento a per fare a lo strumento b per fare b una descrizione dello

328
00:20:20,184 --> 00:20:25,734
strumento ovviamente perché siccome l'llm lavora col testo devi dargli una

329
00:20:25,734 --> 00:20:31,359
descrizione relativamente dettagliata di cosa fa quello strumento perché in

330
00:20:31,359 --> 00:20:37,358
questa maniera sapendo cosa fa lo strumento e ovviamente una volta che gli viene

331
00:20:37,358 --> 00:20:43,133
passata la descrizione riesce diciamo a capire se quello strumento può essere

332
00:20:43,133 --> 00:20:48,907
utilizzato per fare la richiesta dell'utente oppure no e dall'altra una volta

333
00:20:48,907 --> 00:20:54,307
che sa quali strumenti a disposizione ovviamente può eseguire in base al

334
00:20:54,307 --> 00:21:00,081
chiamiamo così comando al prompt dell'utente quello specifico tool attraverso

335
00:21:00,081 --> 00:21:05,781
appunto l'execute tool cioè il tool di esecuzione la cosa molto interessante

336
00:21:05,781 --> 00:21:11,030
quindi è da una parte che la lista dei tool e dai del server mcp è già

337
00:21:11,030 --> 00:21:17,030
predisposta e preparata e quindi tu non ti devi metterli a descrivere all'lm che

338
00:21:17,030 --> 00:21:22,654
cos'è cosa fa e così via e non ti deve mettere a interfacciarti con tutti i

339
00:21:22,654 --> 00:21:28,579
sistemi che comunque altrimenti dovresti fare quindi c'è molto meno qualcuno ha

340
00:21:28,579 --> 00:21:34,579
già programmato al posto tuo mettiamola in questi termini dall'altro che la cosa

341
00:21:34,579 --> 00:21:40,053
forse più bella di questo sistema è che può fare il tool e ha per cui una

342
00:21:40,053 --> 00:21:45,753
parentesi mi sono scordato di dirti una cosa nell'istato diciamo nella nella

343
00:21:45,753 --> 00:21:51,602
lista di tool quindi c'è il tuo il nome del tool la descrizione del tool e non

344
00:21:51,602 --> 00:21:57,227
solo c'è anche lo schema diciamo dei dati che devi passare al tool perché è

345
00:21:57,227 --> 00:22:03,151
evidente che io non posso dire sposta il file a nella cartella b senza che dare

346
00:22:03,151 --> 00:22:09,076
senza dare appunto queste informazioni di base mettiamola così il serve mcp non

347
00:22:09,076 --> 00:22:15,000
sa qual è il file che voglio spostare per esempio e dove lo voglio spostare non

348
00:22:15,000 --> 00:22:20,775
ha le informazioni necessarie per eseguire l'operazione quindi nella sostanza

349
00:22:20,775 --> 00:22:26,699
oltre al nome del tool oltre alle descrizioni di cosa fa il tool ci deve essere

350
00:22:26,699 --> 00:22:32,399
anche una struttura schematica diciamo sostanzialmente una struttura json di

351
00:22:32,399 --> 00:22:37,874
quali sono i parametri di cui ha necessità impellente diciamo il tool per

352
00:22:37,874 --> 00:22:43,723
funzionare correttamente benissimo quindi tornando all'executo tool appunto la

353
00:22:43,723 --> 00:22:49,573
cosa interessante è che con n 8 n la configurazione del sistema è praticamente

354
00:22:49,573 --> 00:22:55,572
automatica nel senso che in pratica non voglio entrare troppo nel dettaglio di n

355
00:22:55,572 --> 00:23:01,497
8 n della gestione del tool ma in pratica si dà la gestione dell'executo quindi

356
00:23:01,497 --> 00:23:07,496
della scelta del tool e dei parametri da dare a questo tool direttamente all'llm

357
00:23:07,496 --> 00:23:13,346
che deve fare tutte queste operazioni e qui tra virgolette da una parte c'è la

358
00:23:13,346 --> 00:23:19,120
cosa bellissima di questo sistema perché in pratica anche qui l'utente finale

359
00:23:19,120 --> 00:23:24,745
deve fare poco o niente dall'altro però c'è il problema più grosso di tutto

360
00:23:24,745 --> 00:23:29,919
questo sistema ovvero e lo vedremo dopo meglio siccome l'llm che deve

361
00:23:29,919 --> 00:23:35,919
individuare e indicare appunto l'executo quale tool vuole utilizzare e passargli

362
00:23:35,919 --> 00:23:41,843
lo schema idoneo dei parametri idonei per farlo funzionare correttamente spesso

363
00:23:41,843 --> 00:23:47,393
e volentieri su modelli di piccole dimensioni mettiamola così cioè modelli

364
00:23:47,393 --> 00:23:53,093
soprattutto quelli locali qui casca il grosso dell'asino cioè non riescono a

365
00:23:53,093 --> 00:23:58,717
fare questa operazione ora riescono a fare solo parzialmente ma andiamo per

366
00:23:58,717 --> 00:24:04,492
ordine come ti dicevo appunto quello che ho fatto io perché ero incuriosito e

367
00:24:04,492 --> 00:24:10,266
ritenevo che fosse abbastanza semplice dal punto di vista e anche qui come al

368
00:24:10,266 --> 00:24:15,966
solito la mia l'ignoranza a volte fa sempre dei danni e ho deciso di appunto

369
00:24:15,966 --> 00:24:21,890
siccome mi piace lavorare in locale e anche avere vedere come funzionava questo

370
00:24:21,890 --> 00:24:27,665
strumento diciamo che ho utilizzato l'mcp per lavorare sul file system quindi

371
00:24:27,665 --> 00:24:33,289
per eseguire operazioni diciamo direttamente sul file system come dicevo un

372
00:24:33,289 --> 00:24:38,989
amico con cui ho discusso della cosa effettivamente è rischiosissimo come se

373
00:24:38,989 --> 00:24:44,764
come come scelta però dal mio punto di vista non era così complicata o meglio

374
00:24:44,764 --> 00:24:50,538
non era così rischiosa perché in estrema sintesi tutto quello che ho fatto io

375
00:24:50,538 --> 00:24:56,388
l'ho fatto in un container docker e il container docker non ha accesso a tutto

376
00:24:56,388 --> 00:25:02,387
il mio sistema operativo e non glielo voglio neanche dare ma ha accesso limitato

377
00:25:02,387 --> 00:25:08,387
al sistema operativo cioè a delle cartelle sostanzialmente del sistema operativo

378
00:25:08,387 --> 00:25:14,236
in particolare nelle cartelle diciamo e di configurazione di dn8n e quindi non

379
00:25:14,236 --> 00:25:20,161
avevo particolari dubbi e comunque non mi sono lanciato a fare "distruggi tutto

380
00:25:20,161 --> 00:25:25,335
il file system" o roba del genere e mi sono diciamo trattenuto quindi

381
00:25:25,335 --> 00:25:31,335
effettivamente non avevo grossi problemi venendo appunto ai problemi però che ho

382
00:25:31,335 --> 00:25:37,184
riscontrato in tutto questo sistema il primo appunto è proprio il modo diciamo

383
00:25:37,184 --> 00:25:42,809
che ho utilizzato per installare n8n e quindi poi conseguentemente tutto il

384
00:25:42,809 --> 00:25:48,808
resto infatti se è comodissimo e anzi io lo consiglio tantissimo l'installazione

385
00:25:48,808 --> 00:25:53,908
di dn8n attraverso docker e ho fatto anche un video su diciamo sulle

386
00:25:53,908 --> 00:25:59,683
installazioni di altri software diciamo con docker e se ce la farò credo open

387
00:25:59,683 --> 00:26:05,007
web ui e se ce la farò e ne farò altri diciamo ne ho in programma altri

388
00:26:05,007 --> 00:26:10,557
mettiamola così poi è tra dire e fare c'è sempre di mezzo al mare comunque

389
00:26:10,557 --> 00:26:16,106
l'installazione di docker ha dei vantaggi enormi nel senso che puoi creare

390
00:26:16,106 --> 00:26:21,881
diciamo questi container a crearli distruggerli velocemente a rifare tutte le

391
00:26:21,881 --> 00:26:27,805
operazioni n volte e questo almeno da neofita quale sono io mi permette di fare

392
00:26:27,805 --> 00:26:33,055
un tentativo ripartire di nuovo da zero rifare e quindi anche imparare

393
00:26:33,055 --> 00:26:38,980
progressivamente facendo rifacendo le varie cose ottimizzando e scoprendo anche

394
00:26:38,980 --> 00:26:44,529
cose particolari e tra l'altro appunto non non essendo legato diciamo a un

395
00:26:44,529 --> 00:26:50,154
installazione specifica o meglio poi ho un'installazione specifica dn8n che

396
00:26:50,154 --> 00:26:56,078
diciamo che quella che io utilizzo chiamiamola così pulita mettiamola in questi

397
00:26:56,078 --> 00:27:01,928
termini ma se devo fare degli esperimenti creo dei container virtuali di nuovi

398
00:27:01,928 --> 00:27:07,627
diciamo dn8n dove faccio tutti i miei esperimenti se l'esperimento va a buon

399
00:27:07,627 --> 00:27:13,252
fine eventualmente salvo il workflow di dn8n e poi lo installo invece nella

400
00:27:13,252 --> 00:27:19,176
macchina chiamiamola così pulita dove invece faccio cose non serie perché non è

401
00:27:19,176 --> 00:27:24,951
vero nella sostanza attualmente ad oggi mentre sto registrando questa puntata

402
00:27:24,951 --> 00:27:30,650
non ho dei workflow specifici dn8n per il lavoro diciamo sto ancora giocando

403
00:27:30,650 --> 00:27:35,075
tantissimo proprio per imparare per vedere cosa è possibile

404
00:27:35,075 --> 00:27:39,125
fare per poi decidere cosa fare e se è possibile farlo

405
00:27:39,125 --> 00:27:42,949
mettiamola in questi termini ma appunto l'utilizzo,

406
00:27:42,950 --> 00:27:48,600
l'installazione diciamo di dn8n in docker è sicuramente consigliata soprattutto

407
00:27:48,600 --> 00:27:53,749
per chi vuole imparare a far funzionare dn8n non solo mettiamola così il

408
00:27:53,749 --> 00:27:59,113
problema qual è di questa soluzione che me ne sono reso conto relativamente

409
00:27:59,113 --> 00:28:04,477
velocemente il problema è che ovviamente per utilizzare comandi rapidi dn8n

410
00:28:04,477 --> 00:28:09,412
dovrebbe essere installato direttamente sul file system diciamo della

411
00:28:09,412 --> 00:28:13,990
macchina di un mac sostanzialmente quindi non attraverso docker,

412
00:28:13,990 --> 00:28:19,871
docker in estrema sintesi separa il container dalla macchina principale è la

413
00:28:19,871 --> 00:28:25,752
grossa comodità del sistema sotto la scocca sono andato un po' a ravanare il

414
00:28:25,752 --> 00:28:31,942
server NCP per comandi rapidi si poggia sulla CLI cioè sull'interfaccia righe di

415
00:28:31,942 --> 00:28:37,591
comando di comandi rapidi per mac os quindi in estrema sintesi lancia dei

416
00:28:37,591 --> 00:28:43,627
comandi a terminale per far funzionare i comandi rapidi e poi per ricevere per

417
00:28:43,627 --> 00:28:49,508
passare e ricevere dati peccato che appunto in questo caso dovrei installare

418
00:28:49,508 --> 00:28:55,157
appunto n8n via npm che è il sistema appunto di installazione di generale

419
00:28:55,157 --> 00:29:01,193
mettiamola così e dei javascript ma a questo punto inizia a essere un po un po

420
00:29:01,193 --> 00:29:07,306
più pericoloso appunto e quindi per ora diciamo l'opzione di utilizzare comandi

421
00:29:07,306 --> 00:29:12,955
rapidi attraverso mcp è sfumata mettiamola in questi termini anche perché

422
00:29:12,955 --> 00:29:18,991
arriviamo al nodo più grosso della vicenda e che ho già in parte anticipato il

423
00:29:18,991 --> 00:29:25,181
problema è che funziona e in ogni mcp server ncp funzionano bene mettiamola così

424
00:29:25,181 --> 00:29:31,295
sono molto potenti ma solo se si utilizza un llm molto potente e come ti dicevo

425
00:29:31,295 --> 00:29:37,485
se sei stato attento c'è il problema originale qual è che effettivamente gli mcp

426
00:29:37,485 --> 00:29:43,366
server sono stati sviluppati e l'idea diciamo di fondo è stata sviluppata da

427
00:29:43,366 --> 00:29:49,402
antropic che ovviamente l'ha sviluppata ragionando sui suoi llm in particolare

428
00:29:49,402 --> 00:29:55,283
ed effettivamente ho fatto dei test con sonnet 3.5 neanche il 3.7 funziona e

429
00:29:55,283 --> 00:30:01,319
funziona relativamente bene se stai guardando la diretta diciamo su youtube la

430
00:30:01,319 --> 00:30:07,355
registrazione su youtube qui c'è uno screenshot relativamente banale di quello

431
00:30:07,355 --> 00:30:13,546
che ho fatto però effettivamente è molto interessante ho detto nella sostanza ho

432
00:30:13,546 --> 00:30:19,736
scritto nella chat con llm crea la cartella giugno tra virgolette nella cartella

433
00:30:19,736 --> 00:30:25,927
gli ho indicato tutto il percorso perché effettivamente senza il percorso non sa

434
00:30:25,927 --> 00:30:32,117
dove andare a creare questa cartella o meglio la crea nella base del file system

435
00:30:32,117 --> 00:30:38,308
ma comunque dm8n tende a precisare poco ci interessa diciamo per queste cose poi

436
00:30:38,308 --> 00:30:44,189
al suo interno creare il file test punto md giusto per creare un file quindi

437
00:30:44,189 --> 00:30:50,147
anche qui operazione relativamente complessa cioè non solo gli dico di creare

438
00:30:50,147 --> 00:30:55,951
una cartella ma diciamo con la stessa frase gli dico di una volta creata la

439
00:30:55,951 --> 00:31:01,910
cartella poi di inserire proprio in quella cartella un file specifico come si

440
00:31:01,910 --> 00:31:07,945
vede appunto nell'immagine effettivamente sonnet non ha avuto problemi anzi ci

441
00:31:07,945 --> 00:31:13,827
ha messo relativamente poco ha creato appunto la cartella e poi ha creato un

442
00:31:13,827 --> 00:31:19,862
file markdown appunto denominato test punto md all'interno del quale non c'era

443
00:31:19,862 --> 00:31:25,743
niente perché non gli avevo detto di salvare niente e per un po' di tempo mi

444
00:31:25,743 --> 00:31:31,934
sono arrabattato perché non riuscivo a fare mentre con sonnet non avuto problemi

445
00:31:31,934 --> 00:31:37,815
anche qui ovviamente io te la racconto in velocità ma ovviamente ci ho perso

446
00:31:37,815 --> 00:31:43,851
delle ore cercando di capire perché non funzionava questo o quello e anche qui

447
00:31:43,851 --> 00:31:49,577
se vai a guardare il video su youtube nello screenshot che ho catturato ti

448
00:31:49,577 --> 00:31:55,768
faccio anche notare che nella sostanza c'è il workflow chiamiamolo così base per

449
00:31:55,768 --> 00:32:01,262
un'agente AI fatto con n8n e adesso in audio si fa fatica a descriverlo

450
00:32:01,262 --> 00:32:07,375
dettagliatamente ma nella sostanza c'è un nodo dove ti permette di chattare col

451
00:32:07,375 --> 00:32:13,256
modello c'è un nodo agente appunto che ha varie sistemi diciamo uno è per ti

452
00:32:13,256 --> 00:32:19,370
permette di collegare un modello specifico nel mio caso specifico per sonnet ho

453
00:32:19,370 --> 00:32:25,096
utilizzato open router che mi dà accesso sostanzialmente a tutti gli LLM a

454
00:32:25,096 --> 00:32:30,358
pagamento pagando solo open router che poi a sua volta a fare le sue

455
00:32:30,358 --> 00:32:34,923
cose e appunto due cosiddetti tool appunto uno è quello per

456
00:32:34,923 --> 00:32:39,179
trovare il famoso list tool e l'altro è l'execute tool.

457
00:32:39,180 --> 00:32:45,336
Anche qui nota se ti interessa giocare con n8n e tool una cosa fondamentale che

458
00:32:45,336 --> 00:32:51,414
ci ho messo anche lì del tempo a capire è che anche il nome diciamo che dai al

459
00:32:51,414 --> 00:32:57,492
singolo nodo diciamo tool deve avere un suo significato logico per LLM nel mio

460
00:32:57,492 --> 00:33:03,493
caso specifico appunto gli ho specificato che uno appunto il tool per appunto

461
00:33:03,493 --> 00:33:09,259
dare la lista di tool per gestire file e directory e l'altro per eseguire.

462
00:33:09,259 --> 00:33:14,976
In estrema sintesi comunque tutto questo sistema ha funzionato meravigliosamente

463
00:33:14,976 --> 00:33:20,622
quando mi ci sono messo con gli LLM locali che era quello che mi interessava di

464
00:33:20,622 --> 00:33:25,767
più a dirti la verità invece ho ottenuto errori su errori sono diventato

465
00:33:25,767 --> 00:33:31,341
abbastanza di gomma e a un certo punto ci stavo quasi per per mollare poi mi è

466
00:33:31,341 --> 00:33:36,772
venuta la lampadina detto ma vuoi vedere che ci vuole un LLM particolarmente

467
00:33:36,772 --> 00:33:42,346
potente performante e quant'altro ho provato con sonnet ha funzionato ho detto

468
00:33:42,346 --> 00:33:47,706
vabbè allora mistral small che era quello che mi interessava utilizzare non

469
00:33:47,706 --> 00:33:52,994
funziona o meglio funziona ma a un certo punto si ingrippa mettiamola così

470
00:33:52,994 --> 00:33:58,496
perché non riesce a fare lo step successivo non riesce a fare il ragionamento

471
00:33:58,496 --> 00:34:04,213
successivo quindi casomai recupera la lista dei tool impara tra virgolette quali

472
00:34:04,213 --> 00:34:09,430
sono i tool possibili ma non riesce a dare il comando successivo per fare

473
00:34:09,430 --> 00:34:14,789
eseguire il tool mettiamola in questi termini ho detto proviamo a vedere se

474
00:34:14,789 --> 00:34:20,363
invece i modelli più avanzati anche qui apre chiudo una parentesi perché vabbè

475
00:34:20,363 --> 00:34:25,794
non è così scontato ma nella sostanza non tutti gli LLM riescono a gestire i

476
00:34:25,794 --> 00:34:31,082
tool in hollama per esempio occorre andare a vedere quali sono gli LLM che

477
00:34:31,082 --> 00:34:36,513
gestiscono i tool tra i vari LLM che gestiscono i tool per esempio c'era c'è

478
00:34:36,513 --> 00:34:41,873
mistral small che è uno di quelli che amo di più la versione 3 che è uno di

479
00:34:41,873 --> 00:34:46,947
quelli che amo di più ma che effettivamente non ce la fa funziona anche

480
00:34:46,947 --> 00:34:52,592
abbastanza bene mettiamola così sul mio mac studio ho quindi provato utilizzare

481
00:34:52,592 --> 00:34:58,095
vabbè deepseek non funziona proprio perché non non gestisce i tool ho provato

482
00:34:58,095 --> 00:35:03,383
qwq di alibaba che è uno de lo dicevo nelle puntate scorse uno dei modelli

483
00:35:03,383 --> 00:35:09,028
appunto con catene di pensiero che funzionano meglio dal mio punto di vista che

484
00:35:09,028 --> 00:35:14,531
hanno dato notevoli risultati con cui mi trovo molto bene ho detto vediamo se

485
00:35:14,531 --> 00:35:19,962
funziona effettivamente sul comando semplice funzionava correttamente quindi

486
00:35:19,962 --> 00:35:25,679
giusto per adesso sto facendo vedere ovviamente come al solito lo screenshot del

487
00:35:25,679 --> 00:35:31,038
funzionamento mettiamola così il comando che ho dato è usando un tool a tua

488
00:35:31,038 --> 00:35:36,612
disposizione individua lo schema e crea il seguente file con il contenuto ciao

489
00:35:36,612 --> 00:35:42,115
quindi gli ho detto dove doveva andare il file con tutto il percorso del file

490
00:35:42,115 --> 00:35:47,546
perché purtroppo è un percorso un po astruso mettiamola in questi termini ma

491
00:35:47,546 --> 00:35:52,619
comunque volendosi si può ottimizzare questa cosa ed effettivamente con

492
00:35:52,619 --> 00:35:58,265
un'azione singola appunto riusciva a farlo cioè è appunto nel mio specifico gli

493
00:35:58,265 --> 00:36:03,339
avevo detto di creare un file pippo.txt nella cartella principale e con

494
00:36:03,339 --> 00:36:08,555
contenuto ciao e effettivamente come si vede appunto se stai guardando su

495
00:36:08,555 --> 00:36:13,772
youtube se no fidati di me nella sostanza generava effettivamente il file

496
00:36:13,772 --> 00:36:19,489
correttamente il problema si poneva invece quando volevo fargli fare qualcosa di

497
00:36:19,489 --> 00:36:25,063
più complesso come avevo fatto fare con sonet cioè non solo per esempio di far

498
00:36:25,063 --> 00:36:30,708
generare un file ma per esempio far creare la cartella e poi salvarci dentro il

499
00:36:30,708 --> 00:36:36,354
file alla fine un giorno e mezzo dopo credo ci sono arrivati in fondo perché ci

500
00:36:36,354 --> 00:36:41,999
ho riprovato e riprovato e alla fine cosa ho fatto nella sostanza adesso quella

501
00:36:41,999 --> 00:36:47,502
che ti faccio vedere io è una domanda relativamente semplice ma anche qui non

502
00:36:47,502 --> 00:36:52,861
così scontata puoi farmi un elenco di tutti i file contenuti nella cartella

503
00:36:52,861 --> 00:36:58,435
pinco pallino e puoi spostare il file pippo.txt quello di prima nella cartella

504
00:36:58,435 --> 00:37:03,795
nella sotto cartella diciamo pippo ok adesso gli ho dovuto dare il percorso

505
00:37:03,795 --> 00:37:09,369
corretto perché sennò non ce la fa perché appunto il percorso della cartella e

506
00:37:09,369 --> 00:37:14,871
dove voglio andare a salvare i file è tra le cose che sono necessarie all mcp

507
00:37:14,871 --> 00:37:20,588
server del file system per poter fare le singole operazioni mettiamola in questi

508
00:37:20,588 --> 00:37:26,019
termini ed effettivamente ci sono riuscito mi ha fatto l'elenco dei file che

509
00:37:26,019 --> 00:37:31,664
erano contenuti nella cartella come si vede qua addirittura molto carino non ha

510
00:37:31,664 --> 00:37:36,738
spostato il file e quindi ha detto prima pippo.txt stava nella cartella

511
00:37:36,738 --> 00:37:41,955
principale poi è stato un mosso spostato nel subfolder quindi nella sotto

512
00:37:41,955 --> 00:37:47,243
cartella pippo come ho fatto a fare tutto questo nella sostanza appunto ho

513
00:37:47,243 --> 00:37:52,317
dovuto impostare nella configurazione di qwq dei parametri specifici in

514
00:37:52,317 --> 00:37:57,962
particolare la temperatura del modello che l'ho tenuta bassissima mettiamoli in

515
00:37:57,962 --> 00:38:03,465
questi termini quindi molto lo 0,2 e per sicurezza non sono sicuro che questo

516
00:38:03,465 --> 00:38:09,039
incida al 100 per cento ma per non fare errori gli ho dato il massimo contesto

517
00:38:09,039 --> 00:38:14,327
possibile che nel mio caso specifico è tra gli 8 e 9 mila token supportato

518
00:38:14,327 --> 00:38:19,829
diciamo dal mio mac studio e quindi in questa maniera effettivamente ho fatto

519
00:38:19,829 --> 00:38:25,475
alcuni test sbagliati è una parola grossa perché comunque è l'altro grossissimo

520
00:38:25,475 --> 00:38:31,120
difetto di questa soluzione che mentre con con sonnet è un'operazione che si fa

521
00:38:31,120 --> 00:38:36,551
relativamente veloce per fare tutte queste operazioni il mio buon qwq su mac

522
00:38:36,551 --> 00:38:42,197
studio m1 con 30 32 gigabyte di ram ci mette dai 5 ai 10 minuti per fare queste

523
00:38:42,197 --> 00:38:47,842
operazioni ed è anche qui dove casca casca l'asino mettiamola in questi termini

524
00:38:47,842 --> 00:38:53,130
da ultimo l'altro problema appunto che in parte ho già segnalato è proprio

525
00:38:53,130 --> 00:38:58,561
questo cioè questo è appunto che se da una parte come come hai potuto capire

526
00:38:58,561 --> 00:39:04,278
tranquillamente perché ti ho detto ti ho detto ti ho letto sostanzialmente le le

527
00:39:04,278 --> 00:39:09,638
istruzioni cadati il sistema effettivamente utilizzando linguaggio semplice

528
00:39:09,638 --> 00:39:14,640
l'unica cosa che gli ho dovuto dire è la struttura cartella tutto dare

529
00:39:14,640 --> 00:39:20,285
l'indirizzo appunto è completo la cartella e così via lui effettivamente faceva

530
00:39:20,285 --> 00:39:26,002
tutte queste operazioni senza nessun tipo di problema addirittura svariato testo

531
00:39:26,002 --> 00:39:31,576
l'ha salvato direttamente dentro il file e così via sposti file addirittura la

532
00:39:31,576 --> 00:39:36,864
possibilità di andare a cercare non ho fatto uno screenshot ma ti puoi poi

533
00:39:36,864 --> 00:39:42,581
dirgli anche di andare a cercare dove il file pippo punto txt e lui va a cercare

534
00:39:42,581 --> 00:39:48,298
in tutto l'albero a cartella ovviamente dove ha a disposizione e ti fa appunto e

535
00:39:48,298 --> 00:39:53,586
te lo va a trovare ti dici guarda e qua e quindi anche lì li puoi dire per

536
00:39:53,586 --> 00:39:58,946
esempio deve dare i comandi relativamente complessi dicendo cercami il file

537
00:39:58,946 --> 00:40:04,520
pinco pallino e spostamelo nella cartella di là o manipolare in questa maniera

538
00:40:04,520 --> 00:40:09,522
o fai altre cose mettiamola così il sistema funziona veramente bene ed

539
00:40:09,522 --> 00:40:15,096
effettivamente ti permette di parlare con il sistema operativo sostanzialmente

540
00:40:15,096 --> 00:40:20,813
quindi sia in maniera ovviamente testuale ma volendo appunto e interfacciando un

541
00:40:20,813 --> 00:40:26,458
po più di sistemi rendendo la cosa un po più complicato nulla vieta che appunto

542
00:40:26,458 --> 00:40:32,104
tu gli dica ne fammi quest'operazione sul file system e a voce converte voce in

543
00:40:32,104 --> 00:40:37,606
testo e testo va all'lm che utilizza i tools e fa tutte le sue cose quindi il

544
00:40:37,606 --> 00:40:43,180
sistema è veramente interessante e le potenzialità sono evidenti dal mio punto

545
00:40:43,180 --> 00:40:48,397
di vista è ovvio che però comunque richiede questo sistema richiede anche

546
00:40:48,397 --> 00:40:53,971
determinate conoscenze in particolar modo non ho trovato almeno io un modo per

547
00:40:53,971 --> 00:40:59,402
farmi dire o meglio ci sarebbe anche il modo perché ovviamente devi chiedere

548
00:40:59,402 --> 00:41:04,618
prima quali sono i parametri diciamo dei vari comandi quindi chiedali per

549
00:41:04,618 --> 00:41:10,335
esempio che comandi può eseguire quindi chiedali fammi la lista dei tuoi comandi

550
00:41:10,335 --> 00:41:15,766
per il tool pinco pallino lui ti restituisce la lista dei tool tu gli chiedi

551
00:41:15,766 --> 00:41:21,197
voglio utilizzare il tool pinco pallino a mi dai i parametri a quel punto lì

552
00:41:21,197 --> 00:41:26,414
alla domanda successiva li puoi dire va bene allora crea la il file pinco

553
00:41:26,414 --> 00:41:31,702
pallino pippo punto txt nella cartella taglia itali ma se tu non sai tutte

554
00:41:31,702 --> 00:41:37,419
queste cose il sistema ovviamente non è che ti aiuti molto per cui io ovviamente

555
00:41:37,419 --> 00:41:42,993
ho ho visto in varie maniere alla fine poi appunto avendo tutta la descrizione

556
00:41:42,993 --> 00:41:48,353
attraverso la lista dei parametri così via andando tentone all'inizio e poi

557
00:41:48,353 --> 00:41:53,927
finalmente capendo più o meno come funziona il sistema non ci ho messo molto a

558
00:41:53,927 --> 00:41:59,286
appunto dare di dare dei prompt e quindi dei comandi efficaci mettiamola in

559
00:41:59,286 --> 00:42:04,789
questi termini però l'esperto che non sa tutte queste cose che non ha giocato

560
00:42:04,789 --> 00:42:10,363
lavorato con tutto questo sistema può trovarsi in difficoltà e diciamo può non

561
00:42:10,363 --> 00:42:15,865
risultare così immediato mettiamola in questi termini come invece da un certo

562
00:42:15,865 --> 00:42:21,368
punto di vista una volta che ho capito il sistema lo dico sempre però è stato

563
00:42:21,368 --> 00:42:26,942
per me però sicuramente è qualcosa di molto molto interessante e adesso questi

564
00:42:26,942 --> 00:42:32,587
siamo agli albori mettiamoli in questi termini però sicuramente le potenzialità

565
00:42:32,587 --> 00:42:38,089
di questo sistema soprattutto perché appunto evita all'uomo comune mettiamola

566
00:42:38,089 --> 00:42:43,735
così di dover imparare a programmare tutta una serie di cose è ovvio che se non

567
00:42:43,735 --> 00:42:49,094
c'è l'mcp server che ti interessa che si interfaccia con questo particolare

568
00:42:49,094 --> 00:42:54,668
strumento di cui hai bisogno tu hai le gambe tagliate però presumibilmente nel

569
00:42:54,668 --> 00:42:59,814
tempo e se questa cosa prenderà piede diciamo questi questi server mcp è

570
00:42:59,814 --> 00:43:04,959
ovviamente diventeranno sempre più strutturati e avranno sempre maggiori

571
00:43:04,959 --> 00:43:10,604
potenzialità benissimo siamo in conclusione giusto per trarre le conclusioni di

572
00:43:10,604 --> 00:43:16,035
rito anche perché qui sono importanti ovviamente quello che ti ho raccontato

573
00:43:16,035 --> 00:43:21,538
adesso è un test di verifica di come funziona il sistema di della fattibilità

574
00:43:21,538 --> 00:43:27,040
appunto del sistema come dicevo e come probabilmente sarà il titolo di questa

575
00:43:27,040 --> 00:43:32,757
puntata non è tutto oro quello che luccica però il sistema del model con textual

576
00:43:32,757 --> 00:43:38,474
protocol è molto interessante ha delle notevoli potenzialità e non so se sarà il

577
00:43:38,474 --> 00:43:43,977
futuro diciamo degli lm ma sicuramente è un sistema molto utile quando quando

578
00:43:43,977 --> 00:43:49,336
diventerà diciamo più generale effettivamente permetterà di fare cose molto

579
00:43:49,336 --> 00:43:54,910
molto interessanti anche a chi è programmatore non è ovviamente chiamiamo così

580
00:43:54,910 --> 00:44:00,627
appoggiandosi sulle spalle dei giganti come ho fatto io nella sostanza ho dovuto

581
00:44:00,627 --> 00:44:05,701
smanettare un pochino per approfondire certi argomenti anche perché ero

582
00:44:05,701 --> 00:44:11,275
veramente totalmente a digiuno però in un weekend con con esperimenti qua e là

583
00:44:11,275 --> 00:44:16,777
diluiti nel tempo e soprattutto tra l'altro il grosso difetto di tutta questa

584
00:44:16,777 --> 00:44:22,351
operazione che ogni volta che lanciamo un comando doveva aspettare 5 10 minuti

585
00:44:22,351 --> 00:44:27,639
per vedere se il comando riusciva oppure no però sicuramente ci sono delle

586
00:44:27,639 --> 00:44:33,142
potenzialità sicuramente se tu utilizzi diciamo e non hai problemi per per la

587
00:44:33,142 --> 00:44:38,430
tua attività utilizzare strumenti come cloud sonnet e così via diciamo che

588
00:44:38,430 --> 00:44:43,861
questo strumento è già operativo dal mio punto di vista è sempre un discorso

589
00:44:43,861 --> 00:44:49,006
di trade off cioè di compromessi se sei disponibile ad avere determinati

590
00:44:49,006 --> 00:44:54,437
compromessi quindi essere meno interessato alla riservatezza e sicurezza dei

591
00:44:54,437 --> 00:44:59,940
tuoi dati allora tutto questo sistema funziona e funziona bene se invece vuoi

592
00:44:59,940 --> 00:45:05,657
lavorare tutto in locale e così via diciamo che il sistema ha delle potenzialità

593
00:45:05,657 --> 00:45:11,302
ma decisamente non e maturo anche perché dire al sistema di di creare un file e

594
00:45:11,302 --> 00:45:16,519
aspettare 5 10 minuti perché lo crei direi che è molto più semplice farlo

595
00:45:16,519 --> 00:45:21,878
manualmente o farlo con altre tipologie di automazioni ma sicuramente in un

596
00:45:21,878 --> 00:45:27,595
futuro da quello che sto venendo io c'è un miglioramento delle m anche in locale

597
00:45:27,595 --> 00:45:33,312
non esponenziale ma comunque progressivo e notevole quindi sono soddisfattissimo

598
00:45:33,312 --> 00:45:38,814
diciamo di avere fatto questa questa ricerca è probabile che riprende in mano

599
00:45:38,814 --> 00:45:44,174
gli mcp più avanti nel tempo adesso come adesso una volta che mi sono tolto

600
00:45:44,174 --> 00:45:49,748
l'asfizio diciamo che non credo di farci molto a breve ho sicuramente imparato

601
00:45:49,748 --> 00:45:55,393
tante cose anche su n 8 n e quindi sono anche soddisfatto di certi concetti che

602
00:45:55,393 --> 00:46:01,110
mi si sono resi più chiari è stata sicuramente un'esperienza utile però è ancora

603
00:46:01,110 --> 00:46:06,827
diciamo un qualcosa di molto sperimentale come ti dicevo nel corso della puntata

604
00:46:06,827 --> 00:46:12,330
se ce la farò mi piacerebbe anche formalizzare tutto quello che ho raccontato

605
00:46:12,330 --> 00:46:17,689
qui così oralmente in un articolo ma anche lì ci vuole un minimo di tempo e

606
00:46:17,689 --> 00:46:22,834
ovviamente scrivere gli articoli richiede maggior tempo e maggiore anche

607
00:46:22,834 --> 00:46:28,051
precisione e tutta una serie di cose che ovviamente richiedono richiedono

608
00:46:28,051 --> 00:46:33,625
maggior fatica dal mio punto di vista e volevo come il mio solito da una parte

609
00:46:33,625 --> 00:46:38,842
condividere dall'altra appunto buttare fuori tutto questo per poi appunto

610
00:46:38,842 --> 00:46:44,559
eventualmente fare ulteriori cose benissimo siamo arrivati quindi alla fine come

611
00:46:44,559 --> 00:46:50,061
sempre se ti è piaciuto quel che hai ascoltato ti propongo di iscriverti alla

612
00:46:50,061 --> 00:46:55,635
mia newsletter ogni mese ti invio una mail con link ad articoli che ho trovato

613
00:46:55,635 --> 00:47:01,209
interessanti ti avviso dei podcast nuovi che pubblico degli eventuali articoli

614
00:47:01,209 --> 00:47:06,712
degli eventuali molto eventuali video come sempre trovi le note dell'episodio

615
00:47:06,712 --> 00:47:12,143
digitando https due punti slash slash www.avocati trattino e trattino mac.it

616
00:47:12,143 --> 00:47:17,859
slash podcast slash 53 che il numero di questa puntata come sempre alla prossima

