Pas de mémoire, pas de harnais : Pourquoi la base de données est la dernière ligne de défense — Kay Malcolm, Oracle
AAI Engineer
컴퓨터/소프트웨어경영/리더십AI/미래기술
스크립트
00:00:00Tanya Cushman Relectrice : Peter van de Ven
00:00:12Tout le monde, vous vous amusez ?
00:00:15Oh, il va falloir m'en donner un peu plus que ça.
00:00:18Laissez-moi vous dire, je m'appelle Kay Malcolm.
00:00:21Je suis une ancienne instructrice de hip-hop.
00:00:24Donc si vous n'y mettez pas plus d'énergie, on va commencer --
00:00:28vous vous amusez ?
00:00:30Ok, très bien.
00:00:32Voici ce dont nous allons parler aujourd'hui.
00:00:36Vous avez beaucoup entendu parler de deux lettres.
00:00:39Est-ce que quelqu'un veut deviner quelles sont ces deux lettres
00:00:41dont je vais parler aujourd'hui ?
00:00:43C'était pas mal, DB.
00:00:48Je vais parler d'IA,
00:00:50mais je vais parler spécifiquement des environnements d'agents.
00:00:54Mais avant de faire ça, je veux vous présenter quelques personnes.
00:00:57Ça vous va ?
00:00:59Oui ou oui ?
00:01:00Ça vous va ?
00:01:01Oui.
00:01:02J'ai donné le choix.
00:01:04Oui ?
00:01:04Bref.
00:01:05Très bien.
00:01:05Ok, d'accord.
00:01:06Voici mon équipe.
00:01:09Je dirige une équipe de gestion de produits de bases de données sortantes chez Oracle.
00:01:14Je suis chez Oracle depuis très longtemps, 20 ans.
00:01:17Drôle d'histoire.
00:01:18J'ai commencé j'avais 12 ans, alors ne faites pas le calcul
00:01:21et ne commencez pas à additionner dans vos têtes.
00:01:24Et nous avons un problème.
00:01:27Ce problème, c'est que j'ai un groupe qui s'occupe du développement de la plateforme.
00:01:33Et puis j'ai un autre groupe qui fait du développement de contenu pour Live Labs,
00:01:37une plateforme que j'ai écrite moi-même.
00:01:40Donc, ouais, je suis ingénieure, mais je suis un peu une fausse développeuse aussi.
00:01:44Et ensuite, j'ai un autre groupe qui s'occupe de l'assurance qualité.
00:01:48Et puis j'ai un autre groupe qui fait mon développement front-end.
00:01:52Avec l'IA, voici ce que j'ai découvert en tant que responsable.
00:01:57Parce qu'à l'ère du tout-aux-jetons de 2025, car vous savez qu'on ne fait plus du tout-aux-jetons, n'est-ce pas ?
00:02:05On fait de l'IA responsable maintenant.
00:02:08Mais à l'ère du tout-aux-jetons, ce que j'ai découvert, c'est que si l'IA rendait les individus
00:02:15de mon équipe plus rapides, elle créait un autre problème.
00:02:23Ça ne rendait pas mon équipe plus productive.
00:02:28Et la raison était que lorsqu'une équipe des Pays-Bas enregistrait du code à 4h du matin pour moi,
00:02:37parce que j'ai la moitié de mon équipe qui est dans la zone EMEA, et j'ai la moitié de mon équipe qui est ici aux États-Unis.
00:02:43Ils ont enregistré le code, mais ils n'ont pas enregistré leur contexte depuis codex.
00:02:49On utilise codex chez Oracle.
00:02:51Alors quand l'équipe américaine s'est réveillée,
00:02:56elle a reçu le code, mais aucune information sur le contexte.
00:03:00Alors, nous avons utilisé l'IA pour résoudre un problème créé par l'IA.
00:03:07Et voici ce qu'on a fait.
00:03:08Oh, enfin, laissez-moi d'abord parler de ça.
00:03:10Donc, certains des problèmes.
00:03:12Le contexte, comme je l'ai dit, n'était pas partagé.
00:03:15GitHub ne suivait pas ça.
00:03:18J'avais des référentiels qui divergeaient.
00:03:21Et je demandais aux managers qui travaillent pour moi, qu'est-ce qui arrive à vos équipes ?
00:03:26Pourquoi est-ce qu'on n'avance pas plus vite ?
00:03:29On dépense tout cet argent en jetons.
00:03:31On dépense tout cet argent en IA.
00:03:33Pourtant, il manque quelque chose parce qu'on passe encore du temps
00:03:37à faire des tests et de la validation.
00:03:39Donc, notre bilan net ne fonctionnait pas vraiment pour nous.
00:03:45Parce que Git enregistre le code et non l'intention humaine.
00:03:49C'est donc un problème.
00:03:50Et même si la création de code n'était plus notre problème, nous avions toujours un goulet d'étranglement.
00:04:03Nous avions besoin d'une couche de collaboration.
00:04:05Maintenant, j'ai bien des membres de mon équipe dans le public.
00:04:10Alors, ne me jugez pas.
00:04:12Et vous savez qui vous êtes.
00:04:13Je ne dis pas que vous n'avez pas tous collaboré.
00:04:17Mais maintenant, nous avons un nouveau membre dans l'équipe.
00:04:20Et ce nouveau membre, c'est l'IA.
00:04:23Il fallait donc trouver comment suivre nos progrès et nos prochaines étapes.
00:04:29Comment rationaliser les décisions prises par l'agent.
00:04:39Nous devions trouver comment résoudre les questions et les conflits.
00:04:45D'accord.
00:04:48Gardez mon problème.
00:04:49Vous voulez bien garder mon problème pour moi ?
00:04:51Juste ici.
00:04:51On va juste ranger ça dans une petite boîte.
00:04:54Laissez-moi définir ce qu'est réellement un agent d'entreprise.
00:04:59La plupart des gens pensent qu'un agent d'entreprise se résume au modèle et au flux de travail.
00:05:05Combien de personnes sont d'accord avec moi ?
00:05:08Mon Dieu, c'est un public difficile.
00:05:10Bon, une personne.
00:05:12Bon, les autres, vous pensez que c'est un peu plus.
00:05:14Allons voir quoi.
00:05:18Se pourrait-il qu'un vrai agent d'entreprise dispose d'outils ?
00:05:26Les outils, c'est ainsi qu'il agit.
00:05:30Le contexte.
00:05:33Le contexte, c'est une fenêtre de contexte.
00:05:35C'est ce qui se trouve dans le prompt actuel.
00:05:39La mémoire.
00:05:43Et si vous vous dites, mais attendez, Kay, la mémoire.
00:05:46Vous venez de dire que le modèle est en quelque sorte le cerveau de l'opération.
00:05:51Accrochez-vous.
00:05:52On va parler un peu plus de la mémoire.
00:05:55La récupération.
00:05:57Parce qu'on ne veut pas tout récupérer.
00:05:58Il s'agit donc d'être capable de récupérer la bonne information.
00:06:03Et puis, je sais qu'il y a beaucoup de développeurs ici, et vous vous fichez de la sécurité.
00:06:11Moi, je me soucie de la sécurité.
00:06:13Parce que je travaille pour l'entreprise de base de données la plus sûre.
00:06:17Et je travaillais auparavant pour une agence qui n'a pas de nom.
00:06:22Mais les garde-fous sont également importants.
00:06:25C'est ça l'environnement.
00:06:27Je parle en analogies et je parle en histoires.
00:06:31Parce que si je vous dis ça et Marvel, vous savez exactement de quoi je parle.
00:06:38Alors, l'agent, voyez-le comme le petit cerveau du modèle flottant dans un bocal en verre.
00:06:46Plus cet environnement.
00:06:49Cet environnement, c'est le corps.
00:06:52C'est donc ainsi que l'agent peut réellement agir et accomplir des choses.
00:06:58Cette mémoire, c'est la partie du système nerveux central.
00:07:03Et vous vous souvenez, le système nerveux central relie le cerveau au reste du corps.
00:07:08Les jambes, les bras.
00:07:10C'est la partie du système nerveux central qui transporte le contexte.
00:07:16Vous vous souvenez donc de mon problème avec git ?
00:07:20Ce dont j'avais besoin, c'était de mémoire.
00:07:21D'accord.
00:07:22Il existe donc plusieurs types de mémoire.
00:07:26J'en ai choisi cinq, les cinq plus courants dont les gens parlent.
00:07:29Et ce sont ceux dont je veux que vous vous souveniez.
00:07:32Le premier est la mémoire à court terme.
00:07:34C'est la session, n'est-ce pas ?
00:07:36Et donc, si vous stockez la mémoire d'un processus d'IA, c'est-à-dire que la mémoire à court terme est,
00:07:44si vous êtes avec chat, cloud code, hein, codex, choisissez votre poison.
00:07:49La mémoire à long terme est ce qui persiste d'une session à l'autre.
00:07:55Mémoire épisodique, hmm, qu'est-ce qui s'est passé la dernière fois que j'ai interagi avec un tel ?
00:08:06C'est votre mémoire épisodique.
00:08:09La mémoire procédurale.
00:08:11Les outils.
00:08:12Les étapes qui ont été suivies.
00:08:15Et enfin, la mémoire sémantique.
00:08:17Et la mémoire sémantique, parce qu'on parle d'agents d'entreprise.
00:08:21On ne parle pas de l'agent que j'ai construit, Sasha Fierce.
00:08:25Parce que rappelez-vous, je vous ai dit que je suis danseuse.
00:08:28Donc, bien sûr, ma cheffe de cabinet va s'appeler Sasha Fierce parce que c'était Beyoncé.
00:08:34Des fans de Beyoncé ?
00:08:37Bon, désolée.
00:08:38Très bien.
00:08:38Il faut qu'on se concentre.
00:08:40D'accord.
00:08:40Voici donc les types de mémoire.
00:08:43Maintenant, lorsque vous définissez ce véritable agent d'entreprise dans cette mémoire,
00:08:49il y a quelque chose que vous devez considérer, c'est où la stocker.
00:08:53Et donc, je vais vous raconter une histoire.
00:08:55Mais quand je vous raconterai cette histoire, vous devez me promettre de ne pas me juger.
00:09:00Vous le promettez ?
00:09:06Vous le promettez ?
00:09:08Vous ne m'enregistrez pas, n'est-ce pas ?
00:09:10Parce que ça ne me présente pas sous un beau jour.
00:09:12Bon.
00:09:12Très bien.
00:09:12Le monde des données était si simple.
00:09:14Je suis chez Oracle depuis longtemps, mais je venais d'un client.
00:09:17Ce client s'appelait Southern Company.
00:09:19C'était une compagnie d'électricité.
00:09:20Je suis basée à Atlanta.
00:09:22Et j'ai été embauchée chez Southern Company parce que j'étais une as de l'optimisation des performances.
00:09:28Vous aviez une requête SQL.
00:09:29Je veux dire, ça ne me rajeunit pas, mais peu importe.
00:09:31Vous aviez une requête SQL.
00:09:32Je connaissais tous les paramètres init.ora.
00:09:34Même ceux pour lesquels le support disait :
00:09:36n'oubliez pas ceux-là.
00:09:37Ne les notez pas.
00:09:38Je les ai notés dans mon petit carnet.
00:09:40Je pouvais optimiser une requête à la perfection.
00:09:43Puis, l'un d'entre vous est venu à mon bureau.
00:09:47Parce que, je veux dire, le monde n'était que lignes et colonnes.
00:09:50C'était le bon vieux temps de mes années Al Bundy.
00:09:55Et il a dit : hé, j'ai besoin de stocker des données non structurées.
00:10:01Pourquoi ?
00:10:02Pourquoi fais-tu ça ?
00:10:04Et donc, moi, Kay, la DBA consciencieuse, je me suis dit :
00:10:09laisse-moi regarder ça et je te recontacte.
00:10:13Est-ce que je l'ai recontacté ?
00:10:16Je ne l'ai pas recontacté.
00:10:18Maintenant, ce qu'il faut savoir sur Southern Company, c'est que
00:10:21pour chaque système de base de données géré par un DBA,
00:10:24je devais assister à deux réunions.
00:10:26Aujourd'hui, quand j'entends Sarbanes-Oxley,
00:10:28j'ai encore un peu envie de vomir.
00:10:31Donc, je devais assister à une réunion sur la sécurité et à une réunion sur les correctifs.
00:10:34Chaque semaine.
00:10:35Sans faute.
00:10:37Maintenant, parce que ce développeur a installé une base de données spécialisée pour le non structuré.
00:10:44Bon, il y a des gens très intelligents dans la pièce.
00:10:46À combien de réunions est-ce que je vais ?
00:10:54Quatre.
00:10:55Bon, je suis un peu agacée, mais je me dis, ok, on peut le faire.
00:10:59Ensuite, ils ont dit : Kay, puisque tu es si douée en optimisation,
00:11:03j'ai besoin que tu analyses cette relation.
00:11:06Alors, la façon dont fonctionnait Southern Company,
00:11:08il y avait cette application “où les gens peuvent mourir”.
00:11:11Et c'était comme un vieux téléphone Nokia pour les personnes qui grimpaient aux pylônes, vous voyez ?
00:11:18Vous avez déjà vécu une tempête et le courant est coupé, n'est-ce pas ?
00:11:22Et puis vous êtes presque sûr que d'ici une heure ou deux, le courant va revenir.
00:11:27Eh bien, ce système qui prévenait les gens qui grimpaient aux arbres
00:11:32et risquaient leur vie pour rétablir le courant donnait parfois des faux positifs
00:11:37ou des faux négatifs.
00:11:39Ils voulaient donc examiner tous les autres poteaux de la zone
00:11:46pour essayer d'éliminer les faux positifs et les faux négatifs.
00:11:50Et donc, j'ai fait ça dans une requête SQL.
00:11:52Et c'était incroyable.
00:11:53C'était une instruction avec cinq UNION ALL imbriqués.
00:11:57C'était l'un de mes meilleurs travaux.
00:11:59Bon, ça prenait peut-être 20 minutes à s'exécuter, mais c'était comme un précurseur des graphes.
00:12:06Ouais, ils ont installé Neo4j.
00:12:10Alors maintenant, à combien de réunions est-ce que je vais ?
00:12:13Six.
00:12:14Ça, c'est un problème.
00:12:16Alors, j'ai – oh, attendez – je suis allé un peu trop vite.
00:12:19Alors, vous savez ce que j'ai fait ?
00:12:20J'ai démissionné.
00:12:23Je suis partie et je suis venue chez Oracle en me disant, c'est un problème et je peux peut-être aller chez Oracle
00:12:26pour aider à le résoudre.
00:12:27Alors, Joe Mundy m'a appelée et il m'a dit : “Hé, on installe Redis.
00:12:33Oracle a pris du retard.
00:12:35On a une base de données vectorielle.”
00:12:37D'accord.
00:12:40Mais voilà le problème, Joe.
00:12:45Les agents ont maintenant besoin d'accéder à toutes ces données.
00:12:49Donc, si les données sont dans une base Oracle, si elles sont aussi dans une base JSON non structurée,
00:12:55si elles sont dans une base de graphes et dans une base vectorielle, où est votre source unique de vérité ?
00:13:03L'agent doit le découvrir.
00:13:04Parfois, il trouvera la bonne.
00:13:08La plupart du temps, il se trompera et va consumer un tas de jetons.
00:13:12Et donc maintenant, si vous voulez stocker votre mémoire quelque part, vous pouvez le faire dans un système de fichiers.
00:13:20Vous pouvez la stocker dans Claude ou ChatGPT, car nous connaissons tous le fichier memory.md.
00:13:29Mais ça va poser un problème.
00:13:31Maintenant, je veux illustrer cela.
00:13:32J'ai besoin de quatre volontaires.
00:13:33Je vous vois.
00:13:34Levez la main.
00:13:35Un.
00:13:36Deux.
00:13:37Bon, je ne peux pas.
00:13:38Trois.
00:13:40Il m'en faut un quatrième.
00:13:41Ah, un quatrième au fond.
00:13:42D'accord, le quatrième au fond.
00:13:44Vous allez être notre brave et fidèle.
00:13:47Vous allez être une base de données relationnelle.
00:13:48D'accord ou d'accord ?
00:13:50Vous avez votre, vous avez votre rôle ?
00:13:52D'accord, et puis il y avait quelqu'un ici.
00:13:54Tu vas être ma base de données non structurée.
00:13:57Et puis où était mon autre, ah, très bien.
00:14:00Tu vas être ma base de données de graphes.
00:14:02Ça va ?
00:14:02Monsieur Relation.
00:14:03Tu as une tête de Monsieur Relation.
00:14:05Très bien, parfait.
00:14:06Quatrième.
00:14:06Où était mon quatrième ?
00:14:09C'était toi ?
00:14:09Oui.
00:14:10Ouais, tu es ma base de données vectorielle, d'accord ?
00:14:15Maintenant, tout le monde se tait, vraiment.
00:14:20Pour mes quatre volontaires, j'ai besoin de vous.
00:14:24Je vais vous dire quelque chose,
00:14:27et vous devez décider ensemble comment vous allez le stocker,
00:14:31et qui détiendra la source unique de vérité.
00:14:33Vous ne pouvez pas vous lever de vos sièges et vous devez chuchoter,
00:14:37parce que si vous parlez fort, ça fait cinq jetons de pénalité pour vous.
00:14:40C'est bon ?
00:14:41Bon, on est prêts ?
00:14:42Très bien.
00:14:44La vache a sauté par-dessus la lune.
00:14:48Allez-y.
00:14:51Hmm.
00:14:53Ça ne marche pas vraiment, n'est-ce pas ?
00:14:55C'est un problème.
00:14:56Bon.
00:14:58Oracle, et si vous n'oubliez pas une chose,
00:15:02si vous oubliez tout ce que je dis, mais retenez une seule chose,
00:15:06Oracle n'est pas l'Oracle que vous croyez.
00:15:09C'est pour cela que je suis ici aujourd'hui.
00:15:11Combien d'entre vous savaient qu'Oracle pouvait nativement,
00:15:15dans la même table, jusqu'à la même partition,
00:15:19stocker du JSON, des graphes, des vecteurs, mon ami vectoriel là-bas,
00:15:24mon ami JSON, du spatial ?
00:15:27Vous voulez que votre mémoire soit immuable ?
00:15:30Pas de blockchain dans la même base de données ?
00:15:32Levez la main.
00:15:34Ouais.
00:15:36Nous avons un problème de marketing.
00:15:39Donc, n'importe quel type de donnée peut être stocké dans une base 26AI.
00:15:44N'importe quelle charge de travail.
00:15:46N'importe où.
00:15:47AWS, GCP, Azure, OCI, sur site.
00:15:52Le choix et la flexibilité.
00:15:54Alors maintenant, quand on prend ça et qu'on parle de l'agent,
00:15:57je veux pouvoir stocker ma mémoire à long terme et procédurale dans du relationnel.
00:16:02En JSON, je veux stocker ma mémoire à court terme et à long terme.
00:16:05En graphe, je veux stocker le procédural, parce que le procédural, c'est comme ça que je trouve les relations,
00:16:09n'est-ce pas, les étapes.
00:16:11Pour ma mémoire épisodique et sémantique, je dois faire du vectoriel et la stocker aussi sous forme de texte.
00:16:17Maintenant, si j'ai quatre bases de données différentes, vous l'avez tous vu, elles ne peuvent pas communiquer entre elles.
00:16:25Ça va poser un problème.
00:16:27Et donc, ce que je vous dis aujourd'hui, c'est que la base de données Oracle AI est le meilleur endroit pour stocker cette mémoire d'agent
00:16:35qui va alimenter votre structure.
00:16:38N'oubliez pas, votre structure est votre corps, et cette mémoire est votre système nerveux central.
00:16:44Bien, revenons à Poly.
00:16:46Donc, le problème que j'avais, nous l'avons résolu avec un courtier de mémoire nommé Poly.
00:16:51Nous avons utilisé la mémoire d'agent.
00:16:54Nous sommes sortis de cette continuité automatique.
00:16:57Ainsi, avec mon équipe, ils ont pu partager non seulement leur code, mais Poly a également gardé une trace du contexte.
00:17:07Donc, si une fenêtre de contexte contenait de la mémoire procédurale, épisodique, des informations sur la mémoire à long terme,
00:17:15cela était ensuite partagé avec les autres membres de l'équipe.
00:17:19Vous pourriez les appeler des agents, si l'on veut.
00:17:21Ce sont juste des agents humains.
00:17:23Partagé entre les bifurcations.
00:17:26Les développeurs de l'équipe sont restés aux commandes tandis que Poly pouvait créer le contexte,
00:17:35déterminer à quelle bifurcation et à quelle branche il appartenait, ainsi qu'à quel commit.
00:17:41Maintenant, c'est un exemple très simpliste, mais quand on transpose cela à l'entreprise, voici ce qui se passe.
00:17:49La mémoire est l'élément qui devient non négociable dans la structure d'un agent.
00:17:53Voici trois articles que j'ai lus dans l'avion.
00:17:59Le premier vient d'OpenAI, et il concerne leur agent de données interne.
00:18:03Et ce qu'il indique, c'est que leur agent de données interne a effectivement besoin de mémoire.
00:18:11La mémoire était d'une importance cruciale pour s'assurer que leur agent pouvait filtrer correctement au lieu d'essayer de faire correspondre des chaînes.
00:18:19Harrison Chase a dit : “Votre structure, votre mémoire, et si vous ne possédez pas votre structure, vous ne possédez pas votre mémoire”, ce qui est primordial.
00:18:27Et puis, je suis sûr que vous vous demandez tous : “Eh bien, Claude a de la mémoire. Pourquoi je ne peux pas l'utiliser ?”
00:18:32Eh bien, c'est un peu comme de la mémoire de système de fichiers, et ça marche avec un seul, mais tout comme dans mon exemple,
00:18:38quand vous dépassez un et que vous allez dépasser un dans l'entreprise, cela crée un problème.
00:18:45Donc, Oracle propose un package de mémoire pour agent Oracle.
00:18:51PIP install Oracle Agent Memory, vous y avez accès, et cette mémoire, ce kit de développement que nous avons,
00:19:00c'est l'élément qui contiendra vos conversations en direct, vos souvenirs, vos faits,
00:19:05et déterminera ce qui vaut la peine d'être conservé. Donc, si l'on regarde Poly, maintenant, Kevin peut partager son contexte avec Poly,
00:19:14notre courtier de mémoire. Nous utilisons le SDK de mémoire d'agent Oracle. C'est stocké dans une base de données autonome Oracle.
00:19:22Nous pouvons utiliser le LLM de notre choix, ou nous pouvons utiliser un modèle local via le conteneur Oracle Private AI Services.
00:19:28Et ensuite, Linda, qui est assise juste ici,
00:19:34peut interagir et travailler avec Kevin, sans problème. Alors oui, l'IA rend les individus plus rapides.
00:19:42La mémoire partagée sur une base de données Oracle AI rend les équipes plus rapides. Donc, je ne veux pas que vous fassiez de compromis.
00:19:49À l'ère de l'IA, ce que fait 26AI, c'est que vous pouvez choisir ce qui est le mieux. Pour la mémoire d'agent,
00:19:58les systèmes de fichiers stockés dans un système de fichiers de base de données ou dans la base de données. Si vous devez faire de la modélisation de données,
00:20:04vous avez le JSON, vous avez le relationnel, nous avons le choix.
00:20:09Bien, j'ai quelques bonnes nouvelles pour vous. Le Hub des développeurs Oracle AI, c'est là que vous pouvez obtenir du matériel de codage,
00:20:16les applications, ce dont j'ai parlé aujourd'hui. LiveLabs.oracle.com. Si vous avez suivi l'un de nos
00:20:22ateliers aujourd'hui, il se trouve que c'est quelque chose que j'ai écrit moi-même il y a environ six ans et 40 millions
00:20:28d'utilisateurs, dépensez l'argent de ma location OCI, testez n'importe quelle technologie Oracle pendant six heures,
00:20:3812 heures, le temps qu'il vous faudra. Et ensuite, je vous donne tous un Mac mini. Non, je plaisante.
00:20:45Je vous donne un OCI mini. Donc, je ne sais pas si vous le saviez, mais il y a un OCI toujours gratuit. C'est le plus
00:20:51généreux de tous les fournisseurs de cloud où vous pouvez obtenir une base de données Oracle gratuite, du calcul gratuit. Vous pouvez envoyer
00:20:573 000 e-mails par mois, 200 Go de stockage. Et si vous cliquez dessus, vous pouvez y accéder. Ou simplement
00:21:05chercher Oracle Cloud, toujours gratuit sur Google. Connectez-vous avec moi. Si vous construisez quelque chose, est-ce que vous m'enverrez un message
00:21:14pour me le faire savoir ? Oui ou oui ? Merci.
00:21:35À la prochaine.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기