Bu konu, bir bellek kaynağının nasıl seçileceğini, bir bellek deposunun nasıl oluşturulacağını, bellek deposunun bir uygulamayla nasıl entegre edileceğini ve uzun vadeli belleklerin nasıl alınacağını ve korunacağını açıklar. Başlamak için Manual write seçeneğini belirleyin ve tüm süreci doğrulamak üzere örnek bir konuşma kullanın. Zaten agent izleriniz veya iş veri kümeleriniz varsa, oluşturma sihirbazında ilgili veri kaynağını yapılandırın. Temel kavramlar için bkz. Memory Store overview.
Önkoşullar
Bir agent alanı oluşturulmuştur ve alandaki AgentLoop konsoluna erişebilirsiniz.
Depolanacak bilgileri ve belleklerle ilişkilendirilecek iş kullanıcısı, agent veya uygulama tanımlayıcılarını belirlediniz.
Agent izlerini kaynak olarak kullanıyorsanız, mevcut alanda kullanılabilir agent izleri bulunur.
Veri Kümesi'ni kaynak olarak kullanıyorsanız, aynı alanda bir veri kümesi hazırlanmıştır ve veri kümesi üzerinde okuma izniniz vardır. Alan gereksinimleri için aşağıdaki bölüme bakın.
API'leri kullanarak bir uygulamayı entegre ediyorsanız, çalışma zamanı ortamı konsolda sağlanan uç noktaya erişebilir.
Adım 1: Bellek deposu oluşturma
AgentLoop konsolunda oturum açın, bir bölge ve agent alanı seçin, Context Engineering > Memory Store öğesini seçin ve ardından Create Memory Store düğmesine tıklayın.
1. Veri kaynağı seçme
Bir Memory Store Name (Bellek Deposu Adı) ve isteğe bağlı bir Description (Açıklama) girin, ardından bir veri kaynağı türü seçin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Next düğmesine tıklayın. Bellek deposu oluşturulduktan sonra veri kaynağı türünü değiştiremezsiniz. Devam etmeden önce verilerin nasıl hazırlanacağına karar verin.
2. Filtre koşullarını veya şemayı yapılandırma
Manuel yazma
Kaynak filtre koşullarını yapılandırmanız gerekmez. Sonraki adıma geçin. Bellek deposu oluşturulduktan sonra uygulamanızı entegre etmek ve konuşmaları göndermek için 2. Adımı izleyin.
Agent izleri
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aynı ad listesindeki birden çok değer OR operatörü kullanılarak değerlendirilir. Farklı filtre öğelerinin tümü karşılanmalıdır. Kaynak, birleştirilmiş agent izlerinden oluşur ve giriş, mevcut alanda gerçekten toplanan verilere bağlıdır. Daha eski bir başlangıç zamanı seçmeden önce ilgili geçmiş verilerin hala mevcut olduğundan emin olun.
İzlerdeki kullanıcı, agent ve uygulama tanımlayıcıları, bellek biriktirmek istediğiniz iş nesneleriyle eşleşmelidir. Alma işlemi sırasında belleklerle gerçekten ilişkili olan tanımlayıcıları kullanın. Her izde bir iş kullanıcısı kimliği bulunduğunu varsaymayın.
Veri Kümesi
Aynı agent alanında bir Dataset Name (Veri Kümesi Adı) seçin. Schema Contract (Şema Sözleşmesi) değeri
MemorySourceV1şeklindedir.Bir Version Policy (Sürüm İlkesi) seçin. Incremental Follow (Artımlı Takip), yeni eklenen dizilerden verileri sürekli olarak okur. Fixed Version Full (Sabit Sürüm Tam), belirtilen bir sürümün anlık görüntüsünü okur. Sabit bir sürüm için gerçek sürüm adını girin. Artımlı takip için bir Start seq (Başlangıç sırası) belirtebilirsiniz.
Gerektiğinde işlenecek kayıtları seçmek için bir Filter Condition (where) (Filtre Koşulu (where)) girin.
Additional Fields (Ek Alanlar) bölümünü kontrol edin. Modelin anlaması gereken alanlar için Extraction Input (Çıkarma Girişi) seçeneğini belirleyin ve anlamlarının bir açıklamasını girin. Diğer alanlar için Ignore (Yoksay) seçeneğini belirleyin. Bildirilmeyen ek sütunlar otomatik olarak çıkarma girdisi olarak kullanılmaz.
Kaynak Veri Kümesi aşağıdaki dokuz sabit alanı içermelidir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dört iş tanımlayıcısından en az biri boş olmamalıdır. JSON dizilerini veya nesnelerini tekrar JSON dizeleri olarak kodlamayın. Milisaniye cinsinden zaman damgalarını saniyeye dönüştürün.
Aşağıdaki örnek, bir Veri Kümesi girişinin alan yapısını gösterir. İçe aktarma sırasında kaynak tanımlayıcısını, zaman damgasını, mesajları ve iş tanımlayıcılarını gerçek değerlerle değiştirin.
{
"sourceId": "conversation-001",
"messages": [{"role": "user", "content": "I prefer light, mildly spicy dishes."}],
"timestamp": 1788796800,
"userId": "user-001",
"agentId": "cooking-assistant",
"appId": "cooking-app",
"runId": "",
"metadata": {},
"lineage": {"sourceKind": "dataset"}
}
Harici iş bilgilerini ilişkilendirmek için önce veri işleme iş akışında ilişkilendirmeyi ve alan hazırlığını tamamlayın, ardından sonuçları kaynak Veri Kümesine yazın. Kaynak Veri Kümesi ile çıkarılan uzun vadeli bellekleri depolayan sonuç Veri Kümesi farklı kaynaklardır.
3. Stratejileri yapılandırma
İlk doğrulama için Fact Extraction (Gerçek Çıkarma) ve Merge Update (Birleştirme Güncellemesi) seçeneklerini belirleyin ve varsayılan parametreleri koruyun. Kullanıcı alışkanlıklarına dayalı kullanıcı profilleri biriktirmek için Consumer User Profile (Tüketici Kullanıcı Profili) seçeneğini belirleyin. Kurumsal iş bağlamını depolamak için Enterprise Digital Twin (Kurumsal Dijital İkiz) seçeneğini belirleyin. Belirli çıkarma hedeflerini tanımlamak için Custom Instructions (Özel Talimatlar) seçeneğini belirleyin.
Scope and Audit (Kapsam ve Denetim) bölümünde, geri çağırma için sağlanması gereken bir iş tanımlayıcı türü belirtebilirsiniz; örneğin userId. Parametreler ve iki depolama modu arasındaki farklar hakkında ayrıntılı bilgi için bkz. Configure memory extraction and storage strategies.
4. Önizleme ve oluşturma
Preview and Confirm (Önizleme ve Onay) bölümünde veri kaynağını, filtre koşullarını ve strateji özetini kontrol edin. Temsilci bir örnek yapıştırabilir ve çıkarılan gerçekleri, depolama eylemlerini ve içeriğin atlanma nedenlerini görüntülemek için Run Preview (Önizlemeyi Çalıştır) düğmesine tıklayabilirsiniz. Bir agent izi veya Veri Kümesi kaynağı için örnek yapıştırmadan yapılandırılmış kaynaktan da veri örneği alabilirsiniz.
Önizleme resmi bellekleri yazmaz. Önizleme başarısız olursa yapılandırmayı veya girişi düzeltin ve önizlemeyi yeniden çalıştırın. Onayladıktan sonra Create Memory Store düğmesine tıklayın. Örnek biçim için bkz. Configure memory extraction and storage strategies.
Bellek deposu oluşturulduktan sonra bellek deposunu ve veri kaynağı durumunu kontrol etmek için Overview (Genel Bakış) sayfasına gidin. Bir agent izi veya Veri Kümesi kaynağı için tüketim ilerlemesini, en son tüketim penceresini ve en son hatayı da görüntüleyebilir, sonraki okumaları kontrol etmek üzere Pause Consumption (Tüketimi Duraklat) veya Resume Consumption (Tüketimi Sürdür) düğmelerine tıklayabilirsiniz.
Adım 2: Uygulamayı entegre etme
Manuel yazma için bu bölümde açıklandığı şekilde konuşmaları gönderin. Agent izi ve Veri Kümesi kaynakları, yapılandırılmış veri kaynaklarına göre veri okur. Bir uygulamanın bellekleri alması gerektiğinde bir API anahtarı oluşturabilir ve erişim parametrelerini yapılandırabilirsiniz.
API anahtarı oluşturma
Bellek deposunun API Key sekmesine gidin ve bir API anahtarı oluşturup kopyalayın. Kimlik bilgisi ilgili alan ve bellek deposuna bağlıdır. Integration sekmesine gidin ve hedef bölgenin uç noktasını kopyalayın. Bellek API'lerini kullanırken isteklerde alan adını veya bellek deposu adını belirtmeniz gerekmez.
Kimlik bilgisini sunucu tarafındaki bir ortam değişkeninde veya gizli yöneticide saklayın. Aşağıdaki örnek HTTP API'sini kullanır. Yer tutucuları mevcut sayfada sağlanan yapılandırmayla değiştirin:
export AGENTLOOP_ENDPOINT="<Endpoint copied from the Integration tab>"
export AGENTLOOP_API_KEY="<API key of the current memory store>"
Yeni kaynakların hazır hale gelmesi zaman alır. İlk aramadan önce Integration sekmesindeki talimatları izleyerek kaynağın kullanılabilir olduğunu onaylayın.
Konuşma yazma
Aşağıdaki istek, bir konuşmayı user-001 iş kullanıcısıyla ilişkilendirir ve uzun vadeli bellek çıkarmayı istemek için infer: true kullanır.
curl -X POST "$AGENTLOOP_ENDPOINT/v1/memories" \
-H "Authorization: Token $AGENTLOOP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "I prefer light, mildly spicy home-style dishes."},
{"role": "assistant", "content": "I will consider your preferences when recommending dishes."}
],
"user_id": "user-001",
"infer": true
}'
Önce yanıtın başarılı olup olmadığını kontrol edin. Bir yazma isteği kabul edildikten sonra uzun vadeli bellekler yine de eşzamansız çıkarma ve depolama işleminden geçmelidir. Asistanın bilgilerin hatırlandığını söyleyen bir mesajı, sunucu tarafındaki sonucu kontrol etmenin yerine geçmez.
Uygulamada bellekleri alma
curl -X POST "$AGENTLOOP_ENDPOINT/v2/memories/search" \
-H "Authorization: Token $AGENTLOOP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "What are this user's dietary preferences?",
"user_id": "user-001",
"top_k": 5
}'
user_id değeri, yazma işlemi sırasında kullanılan değerle aynı olmalıdır. top_k döndürülecek maksimum sonuç sayısını belirtir. Verilerin yazılıp yazılmadığını kontrol etmek için aşağıdaki API'yi kullanarak bellekleri iş kullanıcısına göre listeleyebilirsiniz.
curl -X POST "$AGENTLOOP_ENDPOINT/v2/memories" \
-H "Authorization: Token $AGENTLOOP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id": "user-001", "limit": 20}'
Bir Python uygulaması için Integration > Python SDK seçeneğini belirleyin ve sayfadaki örneğe göre MemoryClient öğesini yükleyip başlatın. Sayfada sağlanan sürümü, yöntemleri ve parametreleri kullanın.
Adım 3: Konsolda bellekleri alma ve koruma
Alma sonuçlarını doğrulama
Long-term Memory Retrieval sekmesine gidin, "What are this user's dietary preferences?" ifadesini girin, User ID değerini user-001 olarak ayarlayın, topK değerini yapılandırın ve ardından Start Retrieval düğmesine tıklayın.
Gerektiğinde App ID, Agent ID, Run ID, kind ve category gibi filtre koşulları ekleyebilirsiniz. Birden çok iş kimliği AND operatörü kullanılarak birleştirilir. Bir kullanıcının oturumlar arası tercihlerini sorgulamak için hedef bellekle ilgisi olmayan bir çalıştırma kimliği eklemeyin.
Sonuç kartları bellek içeriğini ve kullanılabilir sıralama, revizyon, kaynak, manuel düzenleme ve inceleme durumu bilgilerini görüntüler. Anlamın girişle eşleşip eşleşmediğini kontrol edin. Modelin mesajları kelimesi kelimesine çoğaltması veya sabit sayıda bellek üretmesi gerekmez. Puan, gerçek doğruluğu değil alma alaka düzeyini gösterir.
Bellekleri düzenleme ve silme
Bir belleğin ayrıntılarını açın, Edit düğmesine tıklayın, bellek içeriğini değiştirin ve ardından Save düğmesine tıklayın. Kaydetme işlemi başarılı olduktan sonra sonuçları yenileyin ve en son içeriği kontrol edin. Bir revizyon çakışması bildirilirse belleği nasıl değiştireceğinize karar vermeden önce en son sürümü okumak üzere ayrıntıları yeniden açın.
Artık ihtiyaç duyulmayan içeriği kaldırmak için bir bellek kartındaki silme işlemini kullanabilirsiniz. Onaylamadan önce hedef belleği doğrulayın. Kaynak verileri silme, uzun vadeli bir belleği silme ve tüm bir bellek deposunu silme işlemlerini aynı işlem olarak görmeyin.
Manuel düzenleme koruması etkinleştirildikten sonra manuel olarak revize edilen içerik için otomatik çıkarma tarafından önerilen yeni değişiklikler inceleme bekliyor durumuna girer ve orijinal içerik korunur. Nedeni belirlemek için kaynak ve denetim kayıtlarını kontrol edebilirsiniz. Strateji ayrıntıları için bkz. Configure memory extraction and storage strategies.
Kaynak ve geri çağırma kayıtlarını görüntüleme
Bir bellek kaydı kaynak bilgisi sağlıyor ve ilgili bir yazma günlüğü mevcutsa girişi görüntülemek için kaynak girişini kullanabilirsiniz. Sayfa bir geri çağırma olay kimliği döndürürse sorguyu incelemek için Audit Details bölümüne gidebilirsiniz. Genel bir görünüm için bkz. View memory audits and statistics.
Adım 4: Agent'ın bellekleri kullanmasını sağlama
Uygulama yeni bir soru aldıktan sonra oturum açma durumundan veya iş bağlamından kullanıcı tanımlayıcısını belirler, ilgili bellekleri alır ve ardından yararlı sonuçları geçerli soruyla ve gerekli son konuşmalarla birlikte agent'a sağlar.
Örneğin, aynı kullanıcı yeni bir oturumda "Bu akşam ne yemeliyim?" diye sorarsa uygulama aşağıdaki girişi düzenleyebilir:
Current question: What should I eat tonight?
Relevant user memory: The user prefers light, mildly spicy home-style dishes.
Response requirement: Provide suggestions based on the current question and relevant preferences, while honoring any new requirements explicitly stated by the user.
Girişteki bellekler gerçek alma sonuçlarından gelmelidir. Yanıt oluşturulduktan sonra mevcut turun konuşmasını gerektiği şekilde yazın veya yapılandırılmış veri kaynağının sonraki girişleri sağlamasına izin verin.
SSS
Başarılı bir yazmadan sonra neden sonuç yok?
Önce API anahtarıyla ilişkili bellek deposunu ve bölgeyi onaylayın. Ardından yazma ve alma işlemleri için aynı kullanıcı tanımlayıcısının kullanılıp kullanılmadığını ve çok fazla ek filtre uygulanıp uygulanmadığını kontrol edin. Manuel yazma için giriş olaylarını kontrol edin. Agent izi ve Veri Kümesi kaynakları için tüketim durumunu, filtre koşullarını, başlangıç konumunu ve en son hatayı kontrol edin. Ardından çıkarma ve depolama denetimlerini kullanarak işlemenin devam edip etmediğini, içeriğin bir strateji tarafından hariç tutulup tutulmadığını veya içeriğin inceleme bekleyip beklemediğini belirleyin.
Neden önizleme sonuçları var ama alamıyorum?
Örnek önizleme resmi bellekleri yazmaz. Gerçek girişi gönderin veya veri kaynağının ilgili kaydı tüketmesini sağlayın ve bellekleri yalnızca depolama tamamlandıktan sonra alın.
Strateji değiştirmek tüm geçmiş verileri yeniden işler mi?
Bir stratejiyi kaydettikten sonra yeni sürümü sürüm geçmişinde görüntüleyebilirsiniz. Stratejiyi kaydettiğinizde geçmiş bellekler otomatik olarak tamamen yeniden oluşturulmaz. Yeni bir stratejinin etkisini kontrol etmek için önce bir örnek önizlemesi çalıştırın ve ardından sonraki gerçek girişleri gözlemleyin.
Kaynak veri kümesi alanları değiştirildikten sonra tüketim durursa ne yapmalıyım?
Overview sayfasındaki en son hatayı kontrol edin ve sabit alanların adlarının ve türlerinin ile kullanımdaki ek alanların oluşturma sırasında belirtilen kurallara hala uygun olduğunu onaylayın. Şema hatalarını atlamak için tüketimi tekrar tekrar sürdürmeyin. Önce verileri düzeltin, ardından tüketim durumunu kontrol edin.