AuthMonster
Product Hunt
The 2FA app you actually enjoy using Discussion | Link
Score: 36.34Confidence: 46%
View offerLoading the catalog…
THE AI OPPORTUNITY INDEX
Find your next AI tool. Explore free access, trials, and credits — all in one place.
Product Hunt
The 2FA app you actually enjoy using Discussion | Link
Score: 36.34Confidence: 46%
View offerAIタグが付けられた新着記事 - Qiita
はじめに 個人開発の育児記録アプリを、ほぼすべて Claude Code に実装させています。 .claude/agents/ には、実装担当・テスト担当・ドキュメント監査担当のサブエージェントを置いていました。 せっかく作ったので、こちらから名前を出さなくても、場面に合...
Score: 57.36Confidence: 54%
View offerAIタグが付けられた新着記事 - Qiita
はじめに Claude Code はセッションごとにまっさらなコンテキストから始まります。 そのため筆者は、個人開発の育児記録アプリで PROGRESS.md という引き継ぎメモを置き、「セッション開始時にまず読む・終わったら更新する」運用をしていました。 ところが3か月...
Score: 57.36Confidence: 54%
View offerAIタグが付けられた新着記事 - Qiita
はじめに Claude Code や Cline、Cursor といったコーディングエージェントを使っていると、作業の途中で利用枠に当たることがあります。 5時間・7日単位の利用枠は、リセット時刻まで待つ以外に打つ手がありません。しかも消費量はリクエストのトークン数に依存...
Score: 57.36Confidence: 54%
View offer掘金
将半透明 CGImage 上传到 RGBA16Float 纹理时,如果把像素绘制误当成普通合成,未初始化目标缓冲的内容就可能参与计算,造成随机颜色、错误 alpha 甚至非有限值。
Score: 57.33Confidence: 54%
View offerReadhub
iPhone 18 Pro Max 推出后,部分 AT & T 用户反馈存在各类连接问题。AT & T 告知受影响用户更新至 iOS 26.0.1 版本来修复问题,但早期反馈显示该更新并未实际解决相关问题。
Score: 57.24Confidence: 54%
View offer人人都是产品经理
字节即将推出独立个人助理应用,内部或定名「小豆」,由掌舵 Chat 与搜索产品线的李福祥主导,此前孵化的 Spell 充当端侧能力供给方。腾讯同期在三个方向下注。文章拆了大厂在个人 Agent 上的组织分工与卡位思路。 过去一个月,大厂在个人 AI Agent 上的动作明显密集了起来。 Manus 推出了 Cue,阿里正加速把千问改造成每个人的 Agent,腾讯在不同部门间铺开了多条产品线,字节也终于加快了此前 Spell 项目的产品化节奏。 ZF了解到,字节即将推出的这款独立个人助理应用,内部可能已定名为「小豆」。 互联网大厂争夺的从来不是又一个陪聊机器人,而是下一代系统级的交互中枢。一旦用户习惯把复合意图直接甩给 Agent 处理,现存的搜索框、电商平台、出行软件乃至支付工具,都会不可避免地退化为底层接口。谁能在最前端接住意图并把任务闭环,谁就有权力重构未来的流量入口和商业版图。 「小豆」正是在这个焦虑而关键的卡位期走向台前的。 01 从 Spell 到「小豆」 作为字节在 AI 时代的核心抓手,豆包的产品阵型经历过数次关键裂变与重组。 早期团队主要按 Mobile 端、PC 端和模型策略等职能切分。2025 年秋,赵祺转岗接手豆包产品,将三者打通整合;到了 2026 年夏,飞书产品团队整建制并入豆包,业务视线随即从大众消费端延伸至深度办公与生产力场景。 当个人 Agent 的技术代际浪潮袭来,团队的分工逻辑再次被重塑——内部思考的重心,从最初机械的“在哪个硬件端铺功能”,彻底转向了“AI 到底在为用户分担什么维度的任务”。 面对这一命题,字节在内部划出了两条相互咬合、各有侧重的战线,而先行推向市场的独立形态,被正式定名为「小豆」。 第一条线,也是最核心的基本盘,由李福祥掌舵。作为豆包 Chat 与搜索产品负责人,李福祥早期历经字节 AI Lab 与 AI 硬件团队 Ocean,横跨模型算法策略与端侧交互两个维度。在行业尚无成熟范式可抄的早期,他推崇产品理想态先行——先抛开现有模型的能力天花板,推演终局中最极致的用户交互形态,再反向倒逼工程与算法攻坚。随着模型策略团队收归其麾下,李福祥掌控了高度闭环的对话产品链路。 「小豆」的孵化,正是以李福祥的 Chat 与搜索产品线为主导。 此前由 Ocean 团队孵化、在端侧与硬件交互上积攒了相当工程完成度的「Spell」,则作为底层与端侧能力的供给方深度配合,将硬件探索期的系统级积累全数注入其中。 豆包组织架构 第二条线聚焦办公生产力与跨端生态,统归童遥掌舵。2020 年加入字节的童遥,早期在飞书体系内主导过多维表格的产品演化,后转战接管豆包 PC 端,并将豆包办公产品线全面收入麾下。如今他的业务半径不仅把控着桌面端的高价值办公工作流,更进一步向手机操作系统级入口与跨设备场景延展。 值得注意的是,童遥正是此前主导豆包PC端、后离职创业的齐俊元的后任。如今,齐俊元创办的 Today AI 已抢先一步正式推出国内首款个人 Agent 产品,与老东家在这一赛道形成了直接的正面交锋。 在这一轮协同中,Ocean作为硬件团队更早动手其实并不令人意外。 传统的对话应用大可偏安于某个 App 内部,静候用户手动唤醒,但个人助理型 Agent 必须全天候驻留在系统深处,读取即时通知、调动相机与各类传感器,甚至在复杂的第三方应用之间穿梭调度。它天然依赖终端设备与操作系统底层的深度授权。比起纯粹的互联网产品团队,长期扎在硬件底层的人,往往能更早看清这些隐形基建的刚性约束。 字节之所以没有直接在主应用「豆包」内部塞入一个功能入口,而是另起炉灶推出「小豆」,核心原因在于两者的工程逻辑和产品评测哲学存在本质分歧。 主端追求的是确定性的信息交互效率与高吞吐的请求响应,考核的是回答质量与停留时长,而 Agent 直面的则是充满不确定性的长链路任务,依赖长程记忆、环境感知与自主决策容错率。两套体系在数据飞轮与评测指标上很难在同一个产品壳体内和平共处。 02 腾讯同时下注三个入口 留给字节从容理顺内部阵型的时间并不充裕,因为个人 Agent 的竞争已经迅速演变为一场生态维度的围剿。 在赛道的另一侧,腾讯至少展现出了三条清晰的产品路径:长在国民软件腹地的微信原生助理「小微」、腾讯云主导的云端实例托管项目「 LightVela」,以及直面消费市场、筹备独立 App 的 「Handy Bot」。与此同时,元宝也在持续增强智能体模块,只是形态更接近传统助手的常规迭代。 这三条线各有底牌。「小微」背靠微信,天然拥有通讯录、即时消息、小程序体系和支付链路的特权,离中国互联网用户的生活现场最近。但微信数十年来奉行极度克制与不打扰哲学,而 Agent 的核心逻辑恰恰是主动刺探、动态跟踪甚至跨界面代操作,这让最富庶的「小微」反而最难放开手脚做激进实验。 腾讯云团队推进的「 LightVela 」走向了另一极,它更像面向个人的云端基础设施:为用户分配持续在线的专属虚拟空间,通过各类通讯工具下发指令,核心解决的是 Agent 如何稳定长在云端的问题,但目前的门槛依然偏高。 而 Handy Bot 则是彻底卸下包袱的独立试验田。摆脱了主应用的生态约束,它可以放胆测试主动提醒、跨端执行和复杂任务代办,产品形态也最接近 Muse。 腾讯内部虽然强调各自服务不同场景、淡化昔日的赛马色彩,但在技术代际更迭的关键当口,多线并举本身就是管理技术不确定性最成熟的商业手段。在终局清晰之前,腾讯把可能通向未来的门都推开了一条缝。 有了 Workbuddy 的前车之鉴,字节感知到了真正的压力。站在小豆对面的,从来不是某一个单点突围的竞品团队,而是腾讯以社交关系链为轴、联动小程序生态、云端算力底座与通用助手编织而成的立体包围圈。 字节的底牌在于更敏锐的用户洞察与工程整合效率。豆包手握庞大的用户心智与模型积累,抖音沉淀了对大众兴趣与消费意图的精准理解,硬件团队则贡献了宝贵的系统级权限经验。「小豆」的胜负手,取决于字节能否把这些分散在不同业务版图里的散碎优势,迅速焊成一把锋利的刀。 03 穿透软件的野心与算力账本的分化 在硅谷科技巨头的叙事里,个人 Agent 的理想形态是一个长期在线、深度理解你,并能跨越不同软件替你办事的数字管家。它最终争夺的不再是用户的屏幕时长,而是对数字世界的代理权。 这也决定了它不可能只是在通用大模型外包一层产品壳。扎克伯格曾对内强调,真正的个人 Agent 必须从预训练阶段重新设计。 传统大模型被训练来完成问答和文本生成,而 Agent 面对的是一套完全不同的工程现实。它要在长期模糊的目标下拆解任务,在缺乏上下文时主动探寻,并在连续调用工具、浏览网页和端侧执行的过程中实时纠错。 仅靠 Prompt 和插件胶水拼装出的产品,可以应付一次偶发的任务,却很难持续理解一个具体的人;它可以给出一份漂亮的旅行规划,却算不准何时该放手执行、何时该停下来向用户确认。 技术路线由此走向分化,背后是截然不同的商业账本。 Meta 选择重做底座,把模型、虚拟机、记忆网络与安全权限绑在一起全栈重构;而像 Instinct 这样的初创团队,则选择退守中间层,死磕自研推理管线。Agent 单次复杂任务调用的 Token 消耗,可能是普通对话的数十倍。如果每一次规划与核验都无节制地调用最昂贵的通用模型,产品就会陷入“用户越活跃、账面亏损越严重”的死循环。 所谓掌控推理管线,不是再去训一个基础模型,而是像交通调度员一样,精准决定哪一步用廉价小模型、哪些信息进上下文、何时并发执行,以及怎样以极低的成本完成交叉核验。 大厂拼算力与资本的厚度,创业公司则靠调度效率与垂直场景的切入,延缓被巨头吞噬的时间。 04 生态高墙下的异化与终极信任的归宿 无论技术路线在实验室里如何推演,一旦切入中国市场,都会迎面撞上超级 App 构筑的坚硬高墙。 微信、阿里、美团与抖音,各自扼守着社交、交易、本地生活与内容消费的腹地。每一块领地都依托独立的账号体系与严格的风控筑起防线。用户或许愿意向一个助手彻底放权,但没有哪家平台会甘心对外部程序敞开自己的商业闭环。 这直接导致在相当长的一段时间里,国内所谓的个人 Agent 可能变成平台 agent。而当 Agent 与特定平台的商业利益深度绑定,一个根本性的悖论随之浮现:这个 Agent 究竟代表用户,还是代表平台?当它推荐一家餐厅或一套航班时,背后的决策究竟源于对用户意图的纯粹精算,还是掺杂了平台的竞价、返佣与自营倾向?真正的个人代理理应毫无保留地站在用户一边,但脱胎于商业帝国的 Agent,天然背负着导流与变现的原罪。 正因需要建立这层深度信任与全天候响应,个人 Agent 最终不可避免地走向随身硬件与终端操作系统。相比被动唤醒的软件,硬件掌握着通知流、环境声学与位置的天然感知入口,才拥有在恰当时机主动介入的能力。 这也正是字节等巨头眼下真正的焦虑所在。摆在面前的考题并不是再造一个数千万日活的 AI 爆款,而是能否将底层模型、端侧感知与商业版图咬合在一起,搭建出一套让用户敢于托付的代理体系。走不通,它终究只是应用商店里又一个转瞬即逝的尝鲜工具;走通了,它将与前端负责表达与知识的豆包形成纵深,由 Agent 深入系统底层调度现实世界的服务。 到那时,巨头拿下的将不再是一个新的流量入口,而是一层架设在用户与数字社会之间的专属操作系统。这也是谁都不敢在这个战场上慢半步的真正原因。 作者:Z Finance 公众号:Z Finance 本文由 @Z Finance 原创发布于人人都是产品经理。未经作者许可,禁止转载 题图来自 Unsplash,基于CC0协议
velog
개요 2편 에서 OU, 계정, SCP까지 구성했으니 이번에는 Network입니다. LZA에서 Network는 network-config.yaml 파일 하나로 관리합니다. IPAM, Transit Gateway, VPC, Routing이 전부 이 파일에 들어가서 설정 파일 6개 중에 제일 깁니다. 제 환경에서도 지금 20KB 정도 됩니다. 이번 글에서 다루는 내용은 아래와 같습니다. 기본 VPC 삭제 IPAM으로 CIDR 나누기 서울 Region Transit Gateway 만들고 다른 계정에 공유하기 중앙 egress용 inspection VPC, Workload VPC 만들기 배포하다 실패한 것, 안 쓰는 Network 비용 정리한 것 처음에는 서울 / 버지니아 / 오레곤 세 Region에 TGW를 하나씩 두고 peering으로 다 엮었습니다. 그런데 막상 써 보니 실제로 쓰는 건 서울뿐이라 나머지는 정리했고, 그 얘기도 뒤에 같이 적었습니다. 계정 ID는 111122223333 으로 가렸습니다. 설정 파일은 실제로 쓰는 파일에서 필요한 부분만 잘라 왔습니다. 이번 편의 최종 구성 network 계정에 Transit Gateway와 inspection VPC를 두고, 다른 계정의 VPC들은 TGW에 붙여서 Internet으로 나갈 때 inspection VPC의 NAT Gateway를 같이 쓰는 구조입니다. 흔히 말하는 중앙 집중식 egress입니다. 그림에 점선으로 그린 Workload 쪽 attachment는 지금은 꺼 둔 상태입니다. 이유는 뒤에 비용 얘기할 때 설명하겠습니다. 1. 기본 network-config.yaml LZA를 처음 설치하면 network-config.yaml 은 이렇게 생겼습니다. S3 config Bucket의 default/ 폴더에 설치 직후 파일이 남아 있어서 그대로 가져왔습니다. defaultVpc: delete: false excludeAccounts: [] transitGateways: [] endpointPolicies: [] vpcs: [] 이게 전부입니다. 여기서부터 하나씩 채워 나가면 됩니다. 제일 먼저 바꾼 건 defaultVpc.delete 입니다. 계정을 새로 만들면 Region마다 기본 VPC가 하나씩 생기는데, 이 값을 true 로 두면 LZA가 배포하는 계정/Region에서 기본 VPC를 지워 줍니다. defaultVpc: delete: true excludeAccounts: [] 기본 VPC가 남아 있으면 누군가 실수로 거기에 EC2를 띄울 수도 있어서 저는 그냥 지웠습니다. 특정 계정만 남기고 싶으면 excludeAccounts 에 넣으면 됩니다. 2. IPAM으로 CIDR 나누기 계정마다 VPC를 만들다 보면 CIDR 겹치는 게 제일 귀찮습니다. 나중에 TGW로 연결하려고 보면 이미 대역이 겹쳐 있어서 VPC를 다시 만들어야 하는 경우도 생기고요. 그래서 VPC CIDR을 직접 적지 않고 IPAM 풀에서 받아 오도록 했습니다. 먼저 전체 대역을 정했습니다. 172.16.0.0/12 를 /15 8개로 나눠서 Region마다 하나씩 줬습니다. CIDR Region 비고 172.16.0.0/15 ap-northeast-2 서울 (실제 사용) 172.18.0.0/15 us-east-1 버지니아 172.20.0.0/15 us-west-2 오레곤 172.22.0.0/15 ~ 172.30.0.0/15 - 예약 10.0.0.0/8 은 일부러 안 썼습니다. 나중에 외부 Network와 연결할 일이 생기면 10 대역이 제일 잘 겹쳐서 피했습니다. IPAM 설정은 centralNetworkServices 아래에 들어갑니다. 아래는 서울 풀 부분입니다. centralNetworkServices: delegatedAdminAccount: network ipams: - name: ipam-network region: us-east-1 description: Organization IPAM operatingRegions: - us-east-1 - us-west-2 - ap-northeast-2 pools: - name: pool-network-ane2 description: Regional pool - ap-northeast-2 (172.16.0.0/15) locale: ap-northeast-2 provisionedCidrs: - 172.16.0.0/15 allocationDefaultNetmaskLength: 20 allocationMinNetmaskLength: 17 allocationMaxNetmaskLength: 24 shareTargets: organizationalUnits: - Infrastructure - Security delegatedAdminAccount: network 로 Network 관리를 network 계정에 위임하고, 풀은 shareTargets 로 OU 단위로 공유합니다. VPC 쪽에서는 풀 이름이랑 크기만 적으면 됩니다. ipamAllocations: - ipamPoolName: pool-network-ane2 netmaskLength: 24 Subnet도 ipamAllocation 에 netmaskLength 만 적어 두면 VPC가 받은 대역 안에서 잘라서 줍니다. 덕분에 설정 파일에 CIDR 숫자를 거의 안 적어도 됩니다. 3. Transit Gateway TGW는 network 계정 서울 Region에 하나 만들었습니다. transitGateways: - name: tgw-network-ane2 account: network region: ap-northeast-2 shareTargets: organizationalUnits: - Infrastructure - Security - Sandbox - Workload asn: 65020 dnsSupport: enable vpnEcmpSupport: enable defaultRouteTableAssociation: disable defaultRouteTablePropagation: disable autoAcceptSharingAttachments: enable 몇 가지만 짚고 넘어가겠습니다. shareTargets : RAM으로 TGW를 OU에 공유합니다. 이걸 해야 다른 계정 VPC가 이 TGW에 붙을 수 있습니다. defaultRouteTableAssociation / Propagation: disable : 기본 Route Table을 쓰면 붙은 VPC끼리 전부 통신이 됩니다. 그래서 끄고 Route Table을 직접 만들었습니다. autoAcceptSharingAttachments: enable : 다른 계정에서 attachment 요청이 오면 자동으로 수락합니다. 이걸 안 켜면 network 계정에서 하나씩 수락해 줘야 합니다. asn : Region별로 다르게 줬습니다. (버지니아 65010, 서울 65020, 오레곤 65030) Route Table은 두 개입니다. TGW Route Table 연결(association) 하는 일 rt-tgw-network-ane2 inspection VPC attachment 각 VPC 대역이 propagation돼서 돌아오는 경로 rt-tgw-network-ane2-dev dev VPC attachment들 0.0.0.0/0 -> inspection VPC dev VPC에서 Internet으로 나가는 Traffic은 rt-tgw-network-ane2-dev 의 0/0 경로를 타고 inspection VPC로 가고, 거기 NAT Gateway를 통해 나갑니다. 돌아오는 Traffic은 rt-tgw-network-ane2 에 propagation된 VPC 대역을 보고 원래 VPC로 돌아옵니다. 처음에는 stg / prd 테이블도 따로 만들 생각이었는데, 지금은 dev만 있어서 두 개만 두고 있습니다. 4. VPC 구성 inspection VPC (network 계정) 다른 VPC들이 Internet으로 나갈 때 거쳐 가는 VPC입니다. Subnet은 용도별로 3개입니다. vpcs: - name: vpc-network-ane2-inspection account: network region: ap-northeast-2 ipamAllocations: - ipamPoolName: pool-network-ane2 netmaskLength: 24 internetGateway: true routeTables: - name: rt-network-ane2-tgw routes: - name: route-default-natgw destination: 0.0.0.0/0 type: natGateway target: natgw-network-ane2a - name: rt-network-ane2-natgw routes: - name: route-default-igw destination: 0.0.0.0/0 type: internetGateway target: IGW - name: route-internal-tgw destination: 172.16.0.0/12 type: transitGateway target: tgw-network-ane2 # (rt-network-ane2-nfw, subnets 생략) natGateways: - name: natgw-network-ane2a subnet: subnet-network-ane2a-natgw transitGatewayAttachments: - name: tgwatt-network-ane2-inspection transitGateway: name: tgw-network-ane2 account: network routeTableAssociations: - rt-tgw-network-ane2 routeTablePropagations: - rt-tgw-network-ane2-dev subnets: - subnet-network-ane2a-tgw 흐름은 이렇습니다. TGW에서 들어온 Traffic은 tgw Subnet에 도착하고, 0/0이 NAT Gateway로 가 있어서 NAT를 거쳐 IGW로 나갑니다. 돌아올 때는 natgw Subnet Route Table에 172.16.0.0/12 → TGW 가 있어서 다시 TGW로 들어갑니다. nfw Subnet은 원래 Network Firewall Endpoint 자리였습니다. 방화벽은 8월에 비용 때문에 지웠고, 지금은 Subnet만 남아 있습니다. 그리고 NAT Gateway는 비용 때문에 a존에 하나만 뒀습니다. 운영 환경이면 AZ마다 하나씩 두는 게 맞습니다. 배포하고 Console에서 Resource Map을 보면 이렇게 나옵니다. Workload VPC (seanson-workload-dev 계정) Workload VPC는 다른 계정에 있지만 설정은 같은 network-config.yaml 에 적습니다. account 만 바꿔 주면 LZA가 그 계정에 VPC를 만들어 줍니다. - name: vpc-workload-ane2-dev account: seanson-workload-dev region: ap-northeast-2 ipamAllocations: - ipamPoolName: pool-network-ane2 netmaskLength: 24 internetGateway: true routeTables: - name: rt-workload-ane2-private routes: - name: route-default-tgw destination: 0.0.0.0/0 type: transitGateway target: tgw-network-ane2 - name: route-internal-tgw destination: 172.16.0.0/12 type: transitGateway target: tgw-network-ane2 private Subnet의 0/0이 NAT Gateway가 아니라 TGW로 가 있습니다. 이렇게 하면 Workload 계정마다 NAT Gateway를 만들 필요가 없습니다. Subnet은 public(/28), private(/26), database(/27), tgw(/28)를 a·c 두 AZ에 하나씩 해서 8개입니다. TGW attachment용 Subnet은 작게 따로 빼 두었습니다. 5. 배포하고 확인하기 배포는 2편과 똑같습니다. 설정 파일을 zip으로 묶어서 config Bucket zipped/ 에 올리면 AWSAccelerator-Pipeline 이 돌기 시작합니다. Network 쪽은 Deploy 단계의 Network_Prepare -> Network_VPCs -> Network_Associations 순서로 진행됩니다. 대략 TGW·IPAM 같은 공용 Resource를 먼저 만들고, VPC·Subnet·Routing을 만든 다음, 마지막에 TGW 연결과 공유 쪽을 정리하는 순서입니다. 배포가 끝나고 network 계정에서 확인해 봤습니다. $ aws ec2 describe-transit-gateways --region ap-northeast-2 \ --query 'TransitGateways[].[Tags[?Key==`Name`]|[0].Value,State,Options.AmazonSideAsn]' --output table -------------------------------------------- | DescribeTransitGateways | +-------------------+-------------+--------+ | tgw-network-ane2 | available | 65020 | +-------------------+-------------+--------+ $ aws ec2 describe-transit-gateway-attachments --region ap-northeast-2 \ --query 'TransitGatewayAttachments[].[Tags[?Key==`Name`]|[0].Value,ResourceType,State]' --output table -------------------------------------------------------- | DescribeTransitGatewayAttachments | +---------------------------------+------+-------------+ | tgwatt-network-ane2-inspection | vpc | available | | None | vpc | available | +---------------------------------+------+-------------+ 이름이 None 으로 나오는 attachment는 LZA 밖에서 따로 붙인 것이라 이름 Tag가 없습니다. 6. 겪은 문제들 6-1. Route 이름 바꿨다가 Network_VPCs 실패 (2026-07-15) shared service VPC는 처음에 NAT Gateway를 따로 두고 있었습니다. 이걸 inspection VPC로 나가게 바꾸려고 private Route Table의 0/0을 NAT -> TGW로 바꿨는데, 이왕 바꾸는 김에 Route 이름도 내용에 맞게 route-default-tgw 로 바꿨습니다. - name: rt-sharedservice-ane2-private routes: - - name: route-default-natgw + - name: route-default-tgw destination: 0.0.0.0/0 - type: natGateway - target: natgw-sharedservice-ane2a + type: transitGateway + target: tgw-network-ane2 그리고 Pipeline을 돌렸더니 Network_VPCs 에서 실패했습니다. CodeBuild Log를 보면 이렇게 나와 있습니다. AWSAccelerator-RouteEntriesStack-vpc-sharedservice-ane2-111122223333-ap-northeast-2 | 6 | 1:21:46 AM | CREATE_FAILED | AWS::EC2::Route | VpcSharedserviceAne2VpcRtSharedserviceAne2PrivateRouteTableRouteDefaultTgwRouteEntry Resource handler returned message: "The route identified by 0.0.0.0/0 already exists. (Service: Ec2, Status Code: 400, ...)" Resource 이름을 보면 ...PrivateRouteTable RouteDefaultTgw RouteEntry 처럼 Route 이름이 CloudFormation Logical ID에 그대로 들어갑니다. 그래서 이름을 바꾸면 CloudFormation은 "기존 Route 수정"이 아니라 "새 Route 추가 + 기존 Route 삭제"로 처리합니다. 문제는 새 걸 먼저 만들려고 하는데, 같은 Route Table에 0.0.0.0/0이 이미 있으니 만들 수가 없는 거죠. 해결은 간단했습니다. 이름은 원래대로 두고 type / target만 바꿨습니다. - name: rt-sharedservice-ane2-private routes: # NOTE: route name kept as route-default-natgw for CFN logical-ID stability. # Only the TARGET changed (NAT gateway -> TGW) so private egress flows through the # inspection VPC/NFW. Renaming the route makes CFN CREATE a duplicate 0/0 route while # the old one still exists -> "route already exists" (2026-07-15 Network_VPCs failure). - name: route-default-natgw destination: 0.0.0.0/0 type: transitGateway target: tgw-network-ane2 이렇게 다시 올리니 같은 날 바로 성공했습니다. 이름이 natgw 인데 실제로는 TGW로 가니까 좀 어색하긴 합니다. 그래서 주석을 꼭 남겨 뒀습니다. 이 일 이후로 Route 이름에는 Target 종류를 안 넣으려고 합니다. 한번 배포한 Route 이름은 바꾸지 않는 게 속 편합니다. 6-2. 안 쓰는 TGW에도 비용이 나간다 처음에는 서울 / 버지니아 / 오레곤에 TGW를 하나씩 만들고 peering 3개로 다 엮어 뒀습니다. 그런데 VPC가 실제로 붙어 있는 건 서울뿐이었습니다. TGW는 attachment 단위로 시간당 요금이 붙는데, peering attachment도 여기에 들어갑니다. VPC가 하나도 안 붙은 버지니아 / 오레곤 TGW에서도 peering 때문에 계속 돈이 나가고 있었습니다. Cost Explorer로 TGW 시간 요금만 뽑아 보면 이렇습니다. (조직 전체, USD) $ aws ce get-cost-and-usage --profile sean-lza \ --time-period Start=2026-06-01,End=2026-10-01 --granularity MONTHLY --metrics UnblendedCost \ --filter '{"Dimensions":{"Key":"USAGE_TYPE","Values":["APN2-TransitGateway-Hours","USE1-TransitGateway-Hours","USW2-TransitGateway-Hours"]}}' \ --group-by Type=DIMENSION,Key=USAGE_TYPE \ --query 'ResultsByTime[].{month:TimePeriod.Start,cost:Groups[].[Keys[0],Metrics.UnblendedCost.Amount]}' --output json | python3 -c " import json,sys for r in json.load(sys.stdin): print(r['month'], ', '.join(f'{k.split(\"-\")[0]} {float(v):.2f}' for k,v in r['cost']))" 2026-06-01 APN2 53.34, USE1 18.80, USW2 18.80 2026-07
velog
Starting a ServiceNow career without previous client or enterprise exposure can make it difficult for freshers to prove their practical capabilities. Building independent projects is one way to create evidence of hands-on learning. By working with realistic business scenarios, beginners can practice platform configuration, process automation, scripting, reporting, and administration while creating projects that can be presented during job applications and interviews. Build job-ready ServiceNow skills through practical training, real-world projects, expert mentoring, and placement support with ServiceNow Training in Chennai . Select a Process With a Clear Business Goal Choose a project based on a specific requirement rather than trying to demonstrate every ServiceNow feature at once. Examples include managing employee incidents, processing application-access requests, handling IT equipment requests, or automating onboarding activities. Clearly identify the requester, support team, required information, approval stages, and desired outcome before starting development. ServiceNow Concepts to Put Into Practice Incident, problem, and change management Service catalog and request fulfillment Tables, fields, forms, and list configurations Users, groups, roles, and assignments Client scripts and business rules UI policies and validation Flow Designer and workflow automation Approval and notification processes Reports and dashboards Access controls and security Data import and transformation ServiceNow scripting Testing and troubleshooting Basic integration concepts Connect Multiple Features in One Project A strong practice project should show how different platform components work together. Consider creating an application-access request where an employee submits a request through the service catalog. The system can validate the information, send it to a manager for approval, assign approved requests to the correct support group, and automatically notify the employee about status changes. Such an end-to-end process provides more meaningful evidence of practical understanding. Develop job-ready ServiceNow skills through practical training, real-world projects, expert mentoring, and placement support with a ServiceNow Course in Bangalore . Keep Track of Your Implementation Maintain documentation throughout the project instead of trying to recreate the details later. Record the business requirement, data structure, configurations, automation rules, scripts, testing scenarios, and final outcome. Screenshots can be added to demonstrate important configurations and completed workflows. Documenting errors and the methods used to resolve them can also show your approach to troubleshooting. Build job-ready ServiceNow skills through practical training, real-world projects, expert mentoring, and placement support with ServiceNow Training in Hyderabad . Project Ideas for a ServiceNow Portfolio Employee incident management application IT equipment request and approval system Software installation request workflow Employee onboarding automation User-access management process Service desk notification system IT service performance dashboard Change request monitoring solution Explain the Project With Confidence Your portfolio should help you prepare for technical interviews, not simply act as a collection of screenshots. Practice explaining the business requirement, design decisions, configuration methods, automation logic, security settings, and testing process. Be prepared to discuss what you would change if the requirement became more complex. Understanding the reasoning behind your implementation makes it easier to demonstrate genuine hands-on knowledge. Conclusion Freshers can create valuable ServiceNow portfolio experience without having worked on a professional client project. By developing realistic workflows and combining configuration, automation, scripting, reporting, and access management, beginners can demonstrate how they apply their knowledge. A clearly documented project portfolio can also provide useful material for technical discussions and help candidates become more confident when pursuing entry-level ServiceNow opportunities.
velog
2. Text는 어떻게 Vector가 될까? — Tokenization & Embedding 지난 글에서는 LLM이 언어를 계산하기 위해 사용하는 Vector , Matrix , Tensor 와 그 위에서 이루어지는 Dot Product , Cosine Similarity , Softmax 를 살펴봤다. 그런데 한 가지 중요한 질문이 남아 있다. 우리가 LLM에게 입력하는 것은 Vector가 아니다. "오늘 저녁 메뉴를 추천해줘." 우리가 입력하는 것은 Text 다. 반면 Transformer가 실제로 계산하는 것은 숫자로 이루어진 Tensor 다. 그렇다면 이 사이에서는 무슨 일이 일어날까? Raw Text ↓ Tokenizer ↓ Tokens ↓ Token IDs ↓ Embedding ↓ Token Vectors ↓ Position Information ↓ Input Representations ↓ Transformer 이번 글에서는 이 변환 과정을 따라가 본다. 단순히 Tokenization = 문장을 나누는 것 Embedding = Vector로 바꾸는 것 정도로 끝내는 것이 아니라, 왜 Text를 Token으로 나눠야 하는지, Token은 어떤 기준으로 만들어지는지, Token ID는 왜 필요한지, ID가 어떻게 Vector와 연결되는지, 그 Vector는 어떻게 학습되는지, 그리고 최종적으로 어떤 형태의 Tensor가 Transformer에 입력되는지 까지 살펴본다. 2.0 Text를 어떻게 계산 가능한 형태로 바꿀까? 지난 글에서 다음과 같은 Vector를 사용했다. [0.18, -0.42, 0.71, 0.09, ...] Vector라면 덧셈도 할 수 있고, Dot Product도 계산할 수 있다. 하지만 다음 문장은 그렇지 않다. "나는 오늘 학교에 갔다." 컴퓨터가 이 Text 자체에 바로 Matrix Multiplication을 수행할 수는 없다. 따라서 언어를 계산 가능한 숫자 표현 으로 변환해야 한다. 가장 먼저 떠올릴 수 있는 방법은 각 표현에 번호를 붙이는 것이다. 나는 → 3201 오늘 → 745 학교 → 2987 갔다 → 5021 하지만 여기서 3201 은 "나는" 의 의미를 나타내는 값이 아니다. 5021 > 745 라고 해서 "갔다" 가 "오늘" 보다 더 크거나 중요한 의미를 가진 것도 아니다. 이 숫자는 표현을 구분하기 위한 Identifier 일 뿐이다. 따라서 실제로 필요한 과정은 다음과 같다. Text ↓ Token ↓ Token ID ↓ Embedding Vector 그리고 첫 번째 질문은 자연스럽게 이것이 된다. Text를 어떤 단위로 나눌 것인가? 2.1 Tokenizer와 Tokenization Text를 모델이 처리할 수 있는 단위로 나누고 정수 ID로 연결하는 과정의 중심에 Tokenizer 가 있다. Text를 Token Sequence로 변환하는 과정을 Tokenization 이라고 한다. Tokenizer와 Tokenization은 서로 다른 개념이니 주의하자! Tokenizer = Tokenization을 수행하는 구성 요소/도구 Tokenization = Text를 Token으로 변환하는 과정 예를 들어 설명을 위해 다음 문장을 생각해보자. 나는 오늘 학교에 갔다. Tokenizer를 거치면 개념적으로 다음처럼 나뉠 수 있다. ["나는", "오늘", "학교", "에", "갔다", "."] 각각의 조각이 Token 이다. Raw Text ↓ Tokenizer ↓ Tokenization ↓ Token Sequence 여기서 가장 먼저 구분해야 하는 것이 있다. Token ≠ 항상 Word Token은 단어일 수도 있지만, 단어보다 작은 조각일 수도 있고 문자나 문장부호가 별도의 Token으로 처리될 수도 있다. 실제 Tokenization 결과는 사용하는 Tokenizer에 따라 달라진다. 그렇다면 왜 그냥 한 단어 = 한 Token 으로 만들지 않는 걸까? 2.2 Word-level Tokenization의 한계 가장 직관적인 방법은 단어 단위로 Text를 나누는 것이다. 나는 오늘 학교에 갔다. ↓ 나는 / 오늘 / 학교에 / 갔다 이를 Word-level Tokenization 이라고 생각할 수 있다. 문제는 실제 언어에서 등장할 수 있는 단어의 형태가 매우 많다는 것이다. 한국어만 보더라도: 먹다 먹고 먹었다 먹었어요 먹었지만 먹겠습니다 먹으려고 먹으니까 ... 처럼 하나의 어휘에서 다양한 형태가 만들어진다. 신조어와 고유명사도 계속 등장한다. ChatGPT ChatGPT가 ChatGPT에게 ChatGPT에서는 ... 모든 가능한 표현을 독립적인 Token으로 Vocabulary에 넣으려고 하면 Vocabulary가 매우 커질 수 있다. 그리고 Vocabulary에 없는 표현이 등장하면 OOV(Out-of-Vocabulary) 문제가 발생할 수 있다. 새로운 표현 ↓ Vocabulary에 없음 ↓ OOV 전통적인 방식에서는 이런 표현을 <UNK> 같은 Unknown Token으로 처리하기도 했다. 하지만 서로 전혀 다른 미등록 단어들이 모두 같은 <UNK> 로 바뀐다면 원래 Text에 있던 정보가 손실될 수 있다. 그렇다면 반대로 아주 작은 단위로 나누면 어떨까? 2.3 Character-level과 Subword Tokenization 예를 들어 문자 단위로 나눌 수 있다. 안녕하세요 ↓ 안 / 녕 / 하 / 세 / 요 이렇게 하면 필요한 기본 단위의 종류는 크게 줄어든다. 처음 보는 단어도 작은 단위들의 조합으로 표현할 가능성이 높아진다. 하지만 새로운 문제가 생긴다. Sequence가 길어진다. Word-level 큰 단위 ↓ Token 수 ↓ Vocabulary Size ↑ Character-level 작은 단위 ↓ Token 수 ↑ Vocabulary Size ↓ 즉 다음과 같은 Trade-off가 존재한다. Vocabulary Size ↕ Token Granularity ↕ Sequence Length 여기서 단어와 문자 사이의 절충안으로 등장하는 것이 Subword Tokenization 이다. 핵심 아이디어는 다음과 같다. 자주 등장하는 표현은 비교적 큰 단위로 유지하고, 드물거나 새로운 표현은 더 작은 단위의 조합으로 표현한다. 예를 들어 개념적으로: computer → ["computer"] computerization → ["computer", "ization"] 처럼 처리할 수 있다. 실제 분리 결과는 Tokenizer와 Vocabulary에 따라 다르지만 핵심은 같다. 모든 단어를 Vocabulary에 저장하지 않고도 작은 단위들의 조합으로 다양한 Text를 표현할 수 있다. 대표적인 Subword 계열 방식에는 다음과 같은 것들이 있다. Subword Tokenization │ ├── BPE ├── WordPiece └── Unigram 이번 글에서는 이 중 BPE(Byte Pair Encoding) 를 중심으로 원리를 이해해보자. 2.4 BPE — Subword는 어떻게 만들어질까? BPE의 핵심 아이디어는 비교적 간단하다. 자주 함께 등장하는 인접 단위를 반복적으로 병합한다. 예를 들어 학습 Corpus에 다음 표현이 있다고 가정해보자. low lower lowest 처음에는 작은 단위에서 시작한다. l o w l o w e r l o w e s t 그리고 Corpus에서 인접한 Pair의 등장 빈도를 확인한다. (l, o) (o, w) (w, e) (e, r) (e, s) ... 만약 (l, o) 가 자주 등장한다면 두 단위를 하나로 병합한다. l + o ↓ lo 그러면: lo w lo w e r lo w e s t 가 된다. 다시 Pair의 빈도를 계산한다. 이번에는 (lo, w) 가 자주 등장한다고 해보자. lo + w ↓ low 결과적으로: l / o / w ↓ lo / w ↓ low 처럼 반복되는 패턴이 점점 더 큰 단위가 된다. 이런 병합을 반복하면서 Tokenizer가 사용할 Subword와 Merge Rule을 만들어갈 수 있다. 핵심은: 빈번한 패턴 ↓ 더 큰 Token으로 병합 드문 패턴 ↓ 더 작은 Token의 조합으로 표현 하는 것이다. 2.5 Tokenizer Training ≠ 실제 Tokenization BPE를 이해할 때 꼭 구분해야 하는 것이 있다. Tokenizer를 학습하는 과정 과 학습된 Tokenizer를 사용하는 과정 은 다르다. Tokenizer Training Training Corpus ↓ 빈도 분석 ↓ 반복적인 Merge ↓ Vocabulary + Merge Rules 이 단계에서 사용할 Token 집합과 Tokenization 규칙이 결정된다. 반면 실제 LLM을 사용할 때는: New Text ↓ 이미 준비된 Tokenizer ↓ Tokens 가 된다. 즉 사용자가 Prompt를 입력할 때마다 BPE가 새로운 Corpus 분석을 시작하고 Vocabulary를 다시 만드는 것이 아니다. 이미 학습·설정된 Tokenizer의 Vocabulary와 규칙을 이용해 새로운 Text를 Tokenize한다. 2.6 Vocabulary와 Token ID Tokenizer가 사용할 수 있는 Token의 집합을 Vocabulary(Vocab) 라고 한다. 개념적으로 다음처럼 생각할 수 있다. Vocabulary Token ID ─────────────────── <pad> 0 <bos> 1 <eos> 2 나는 3 오늘 4 학교 5 에 6 갔다 7 . 8 ... 각 Token에는 고유한 정수 번호가 대응된다. 이 번호가 Token ID 다. 따라서: "나는 오늘 학교에 갔다." ↓ Tokenization ["나는", "오늘", "학교", "에", "갔다", "."] ↓ Vocabulary Lookup [3, 4, 5, 6, 7, 8] 가 된다. 전체 흐름을 다시 보면: Text ↓ Tokenizer ↓ Tokens ↓ Vocabulary ↓ Token IDs 여기서 반드시 기억해야 하는 것은: Token ID = Identifier Token ID ≠ Meaning 라는 점이다. Token ID 5 자체에는 "학교" 의 의미가 들어 있지 않다. ID는 다음 단계에서 어떤 Vector를 가져올 것인지 찾기 위한 Index 역할을 한다. 2.7 Special Token — Text 외에도 Token이 필요하다 Vocabulary에는 일반 Text 조각 외에도 특별한 기능을 담당하는 Token이 포함될 수 있다. 이를 Special Token 이라고 한다. 대표적으로 다음과 같은 역할이 있다. Token 대표적인 역할 BOS Sequence의 시작 표시 EOS Sequence의 종료 표시 PAD Batch 등에서 Sequence 길이를 맞출 때 사용 UNK Vocabulary에서 직접 표현할 수 없는 항목을 나타낼 때 사용 개념적으로: <BOS> 나는 오늘 학교에 갔다 <EOS> 처럼 Sequence의 경계를 표현할 수도 있다. 다만 모든 모델이 동일한 이름과 동일한 Special Token 구조를 사용하는 것은 아니다. 특히 현대 Subword/byte 기반 Tokenizer에서는 미등록 Text를 더 작은 단위로 표현할 수 있기 때문에 <UNK> 의 실제 필요성과 사용 방식도 Tokenizer에 따라 달라진다. 따라서 이름 자체를 암기하기보다는: Vocabulary에는 자연어 조각뿐 아니라 모델의 입력 구조나 제어에 사용되는 특별한 Token도 존재할 수 있다. 라고 이해하는 것이 좋다. 2.8 Token ID는 숫자지만 아직 Vector가 아니다 여기까지 오면 Text는 숫자로 변했다. "나는 오늘 학교에 갔다." ↓ [3, 4, 5, 6, 7, 8] 하지만 이 숫자들을 그대로 의미 계산에 사용할 수는 없다. 예를 들어: 오늘 = 4 학교 = 5 라고 해서: 학교 - 오늘 = 1 에는 의미가 없다. Token ID는 Categorical Identifier 에 가깝다. 하지만 0.1에서 살펴본 LLM의 연산에는 이런 형태가 필요했다. 학교 ↓ [0.18, -0.42, 0.71, 0.09, ...] 여기서 Embedding 이 등장한다. 2.9 Embedding — Token을 Vector 공간으로 옮기기 Embedding은 이산적인 Token을 연속적인 Vector Representation 과 연결한다. 개념적으로: "학교" ↓ Token ID = 5 ↓ Embedding ↓ [0.18, -0.42, 0.71, 0.09, ...] 이렇게 얻은 Vector를 Token Embedding 또는 Embedding Vector 라고 부를 수 있다. 그런데 여기서 중요한 질문이 생긴다. ID 5 를 어떤 공식으로 계산하면 저 Vector가 나오는 걸까? 단순히 5 라는 숫자에 어떤 수학 공식을 적용하는 것이 아니다. 이 구조를 이해하려면 Embedding Matrix 를 봐야 한다. 2.10 Embedding Matrix와 Lookup Vocabulary Size를 (V), Embedding Dimension을 (d)라고 하자. Embedding Matrix (E)는 개념적으로: [ E \in \mathbb{R}^{V \times d} ] 의 형태를 가진다. Embedding Dimension (d) ─────────────────────────→ ID 0 [ 0.12, -0.31, 0.44, ... ] ID 1 [-0.42, 0.11, 0.73, ... ] ID 2 [ 0.21, 0.38, -0.17, ... ] ID 3 [ 0.63, -0.19, 0.52, ... ] ID 4 [-0.11, 0.27, 0.81, ... ] ID 5 [ 0.18, -0.42, 0.71, ... ] ... ↑ Vocabulary Size (V) Token ID가 5 라면: Token ID = 5 ↓ Embedding Matrix ↓ 5번 Row ↓ [0.18, -0.42, 0.71, ...] 를 가져온다. 이것이 Embedding Lookup 이다. 즉: Token ID │ │ Index ▼ Embedding Matrix │ │ Lookup ▼ Embedding Vector 라고 이해할 수 있다. 따라서 Token ID는 의미를 직접 담은 숫자가 아니라: Embedding Matrix에서 어떤 Vector를 가져올지를 지정하는 Index 다. 2.11 Embedding Dimension은 무엇일까? Embedding Vector에는 하나의 값이 아니라 여러 개의 값이 들어 있다. [0.18, -0.42, 0.71, 0.09, ..., 0.31] 이 Vector가 몇 개의 숫자로 구성되는지를 Embedding Dimension 이라고 한다. 예를 들어: [0.2, 0.5, 0.7] dimension = 3 이다. 실제 Transformer에서는 훨씬 높은 차원의 표현을 사용한다. 개념적으로: Token ↓ Embedding ↓ d-dimensional Vector Transformer 아키텍처에서는 이 표현의 크기가 모델의 hidden size 또는 d_model 과 밀접하게 연결된다. 구체적인 구성은 모델 아키텍처에 따라 차이가 있을 수 있다. 중요한 것은: Token 하나가 하나의 숫자로 표현되는 것이 아니라, 여러 숫자로 이루어진 고차원 Vector로 표현된다. 는 점이다. 2.12 Embedding Vector의 값은 누가 정할까? 그렇다면: 학교 ↓ [0.18, -0.42, 0.71, ...] 에서 저 숫자들은 누가 정한 것일까? 사람이 각 Token의 의미를 분석해서 직접 값을 입력하는 것은 아니다. Embedding Matrix는 모델의 Learnable Parameter 다. 모델 학습 과정에서 다른 Parameter와 함께 값이 조정된다. 개념적으로 보면: Token IDs ↓ Embedding Matrix ↓ Token Embeddings ↓ Transformer ↓ Prediction ↓ Loss ↓ Backpropagation ↓ Parameter Update ↓ Embedding Matrix Update 처음부터 완성된 의미 Vector가 들어 있는 것이 아니라 모델의 학습 목적에 따라 Prediction Error를 줄이는 방향으로 Embedding Matrix의 값도 조정된다. 따라서: Embedding Matrix 역시 모델이 학습하는 Parameter의 일부다. 여기서는 Loss , Gradient , Backpropagation 의 구체적인 계산까지 들어가지는 않는다. 이 과정은 이후 Training & Inference 편에서 다시 다룬다. 2.13 Word2Vec — Embedding을 이해하기 위한 중요한 배경 단어를 Vector로 표현한다는 아이디어는 Transformer에서 처음 등장한 것이 아니다. 대표적인 초기 분산 표현 학습 방법 중 하나가 Word2Vec 이다. 핵심 아이디어를 단순화하면: 비슷한 문맥에서 등장하는 단어들이 유사한 Vector 표현을 갖도록 학습할 수 있다. Word2Vec의 대표적인 학습 방식에는 CBOW 와 Skip-gram 이 있다. CBOW 주변 단어를 이용해 중심 단어를 예측한다. Context Words ↓ CBOW ↓ Target Word Skip-gram 중심 단어를 이용해 주변 단어를 예측한다. Target Word ↓ Skip-gram ↓ Context Words 여기서 중요한 것은 Word2Vec 알고리즘 자체를 외우는 것이 아니다. 언어의 의미적·분포적 관계를 Vector 공간에 표현할 수 있다 는 Embedding의 직관을 이해하는 것이다. 그리고 이 개념은 Transformer에서 더 중요한 질문으로 이어진다. 같은 단어라도 문맥에 따라 의미가 달라진다면 Vector도 달라져야 하지 않을까? 2.14 Token Embedding과 Contextual Representation은 다르다 다음 두 문장을 보자. I deposited money at the bank. I sat on the bank of the river. 두 문장 모두 "bank" 라는 표현을 포함하지만 의미는 다르다. 첫 번째는 금융기관이고 두 번째는 강둑이다. 여기서 Token Embedding 과 Transformer를 거친 Contextual Representation 을 구분해야 한다. Token ↓ Token Embedding ↓ Transformer Layers ↓ Contextual Representation Token Embedding은 Transformer가 계산을 시작하기 위한 초기 수치 표현 이다. Transformer에서는 주변 Token과의 관계가 계산된다. 첫 번째 문장에서는: deposited │ money ── bank 두 번째 문장에서는: river │ bank ── sat 처럼 주변 Context가 다르다. Transformer Layer를 거치면서 각 위치의 내부 표현은 주변 Token의 정보를 반영해 변화한다. 전통적인 Static Embedding과 비교하면 차이가 더 명확하다. Static Word Embedding Word ↓ Vector 동일한 Word → 기본적으로 동일한 학습된 표현 Transformer-based Model Token ↓ Initial Token Embedding ↓ Transformer Layers ↓ Contextual Representation 동일한 Token이라도 문맥에 따라 내부 표현이 달라질 수 있음 따라서 중요한 구분은: Embedding ≠ Context Understanding 이다. Token Embedding은 문맥 이해의 최종 결과가 아니라 Transformer가 문맥 계산을 시작하기 위한 출발점이다. 2.15 Position Information — Vector만으로 충분할까? 이제 Token도 Vector로 변환했다. 그런데 또 하나의 정보가 필요하다. 다음 두 문장을 비교해보자. 고양이가 개를 쫓았다. 개가 고양이를 쫓았다. 비슷한 단어들이 등장하지만 의미는 다르다. 순서가 다르기 때문이다. 자연어에서는 Token의 위치가 의미를 결정하는 중요한 정보다. Self-Attention 연산 자체에는 순서를 별도로 알려줄 필요가 있기 때문에 Transformer에는 Position Information 이 필요하다. 개념적으로: Token Embedding + Position Information ↓ Transforme
velog
우연찮은 기회에 러너스하이3기에 참여하게 되었는데....
Score: 54.39Confidence: 49%
View offervelog
경영진은 당장 내일부터 사내 생성형 AI를 전면 도입하라고 압박합니다. 하지만 인프라 담당자인 당신의 머릿속은 복잡하기만 합니다. 민감한 사내 핵심 데이터를 외부 거대 언어 모델(LLM)로 무작정 내보내자니 보안과 컴플라이언스 위반이 우려되고, 자체적인 안전망을 구축하고자 별도의 오픈소스 벡터 DB를 새로 도입하자니 관리 포인트와 데이터 동기화 이슈가 두 배로 늘어나기 때문입니다. 혁신을 요구받지만 그 이면의 리스크를 오롯이 책임져야 하는 IT 인프라 담당자들. 이제 기존의 복잡한 방식에서 벗어나 아키텍처의 패러다임을 바꿀 때입니다. 1. 2025-2026 엔터프라이즈 AI의 현실: 단순 챗봇을 넘어 '자율형 AI 에이전트'의 시대로 글로벌 생성형 AI 시장은 단순한 실험 단계를 지나 기업 비즈니스의 핵심 운영 인프라로 자리 잡는 성숙기에 진입했습니다. 특히 주목해야 할 변화는 단순한 질문-답변(Task) 중심에서 워크플로우를 스스로 기획하고 실 행하는 자율형 AI 에이전트(Agentic AI) 기반으로 진화하고 있다는 점입니다. 과거의 자동화가 인간의 지시를 기다리는 대시보드 중심(OODA 루프)이었다면, 이제는 AI가 정책 범위 내에서 상황을 인지하고 스스로 실행(ODAI 루프)하는 구조로 변모하고 있습니다 비교 항목 단순 자동화 (대시보드) 자율형 AI 에이전트 (실행 중심) 의사결정 루프 OODA (관찰-해석-결정-행동) ODAI (관찰-결정-행동-보고) 운영 권한 보조적 권고 (인간의 최종 승인 필수) 정책 기반 행동 (정책 범위 내 자율 실행) 인간의 역할 운영자: 모든 단계에 개입 및 조작 감독자: 정책 설계 및 예외 상황 관리 이러한 고도화된 AI 환경을 지탱하기 위해서는, 기반이 되는 데이터 인프라 역시 과거의 분절된 형태에서 벗어나 한 차원 더 진화해야 합니다. 2. IT 인프라 담당자를 괴롭히는 3가지 페인 포인트와 기존 RAG의 한계 사내 데이터를 AI에 안전하게 연동하기 위해 많은 기업이 RAG 아키텍처(검색 증강 생성)를 도입하고 있습니다. 하지만 전통적인 RAG 파이프라인을 구축할 때 IT 부서는 다음과 같은 치명적인 한계에 부딪힙니다. 극심한 데이터 파편화 (Data Fragmentation) : 기존 관계형 DB에 있는 데이터를 추출해 별도의 벡터 데이터베이스(Vector DB)로 복제하고 동기화해야 합니다. 데이터가 이동하는 순간 사일로(Silo)가 발생하며, 실시간 정합성을 보장하기 어려워집니다. 통제 불가능한 보안 및 컴플라이언스 리스크 : 데이터가 기존의 강력한 DB 보안 울타리를 벗어나 여러 시스템과 외부 API를 떠도는 순간, 권한 관리와 데이터 유출 방지(DLP) 체계는 무너집니다. LLM의 환각(Hallucination) 현상 : 최신 비즈니스 컨텍스트가 실시간으로 반영되지 않은 과거의 복제 데이터를 기반으로 답변을 생성할 경우, 그럴듯하지만 완전히 잘못된 정보를 생성하는 환각의 위험에 노출됩니다. 3. 패러다임의 전환: "데이터를 옮기지 말고, AI를 데이터베이스로 불러오라" 이러한 문제를 해결하는 가장 본질적이고 우아한 방법은 아키텍처의 발상을 뒤집는 것입니다. 데이터를 외부 AI 모델이나 별도의 벡터 DB로 내보내는 과거의 방식은 틀렸습니다. 이제는 AI 연산 기능과 벡터 검색 엔진을 기업의 데이터가 이미 안전하게 저장되어 있는 '핵심 데이터베이스 내부'로 끌어와야 합니다. 통합형 아키텍처의 강력함 (Converged DB 전략) 차세대 엔터프라이즈 AI 데이터베이스 는 관계형 데이터, JSON, 공간(Spatial), 그래프, 그리고 비정형 데이터를 하나의 플랫폼에서 통합 관리합니다. 별도의 벡터 DB를 구축할 필요가 없으므로 IT 인프라의 복잡성이 획기적으로 감소합니다. 네이티브 벡터 검색(Vector Search)의 마법 통합 DB 내에 구축된 벡터 검색(Vector Search)은 표준 SQL 쿼리 하나만으로 기존의 정형 데이터와 문서, 이미지 등 비정형 데이터의 의미적 유사성을 동시에 검색해 냅니다. 비교 항목 전통적인 키워드 검색 벡터 검색 (AI 시맨틱 검색) 비즈니스 가치 검색 원리 단어의 형태적 일치 여부 확인 데이터의 문맥적 의미 및 유사성 분석 질문자의 숨겨진 의도와 맥락 파악 결과의 정확도 오타나 동의어 검색에 매우 취약함 의도가 같다면 표현이 달라도 정확히 검색 RAG 아키텍처의 응답 신뢰성 확보 데이터 활용 주로 텍스트 기반 정형 데이터 위주 텍스트, 이미지, 오디오 등 모든 비정형 사장되어 있던 비정형 데이터의 자산화 단일 데이터베이스 내에서 AI 처리가 이루어지면, 기존에 설정해 둔 엄격한 보안 프로필과 데이터 접근 권한(Role-based Access)이 RAG 파이프라인에도 그대로 상속되어 완벽한 보안을 유지할 수 있습니다.도입 효과(ROI): 통합형 AI 데이터베이스가 가져온 혁신 사례 4. 도입 효과(ROI): 통합형 AI 데이터베이스가 가져온 혁신 사례 실제로 복잡한 기존 환경을 통합형 자율운영 AI 데이터베이스로 전환한 글로벌 선도 기업들은 놀라운 인프라 운영 효율과 비즈니스 ROI를 달성하고 있습니다. 글로벌 톱 티어 제조 기업인 P사의 경우, 파편화된 분석계 데이터베이스를 자동화된 통합 데이터 레이크하우스로 전환했습니다. 도입 결과, 데이터 분석 속도는 기존 대비 2.4배 향상되었으며, 일관된 데이터 거버넌스 체계를 확립했습니다. 더 나아가 단일화된 플랫폼 위에서 생산부터 영업까지 전 프로세스를 아우르는 지능형 팩토리 전략을 구현하여, 고객 문의 대응 시간을 기존 10일에서 1일로 무려 10배나 단축 하는 경이로운 비즈니스 민첩성을 확보했습니다. 이는 인프라의 단순화가 곧 비즈니스 실행력의 극대화로 이어진다는 것을 명확히 증명하는 사례입니다. 5. 성공적인 차세대 AI 인프라 전환을 위한 3단계 핵심 로드맵 안전하고 효율적인 사내 AI 도입을 준비하는 IT 리더라면 다음 3단계 로드맵을 즉각적으로 검토해야 합니다. 데이터 사일로 현황 진단 : 현재 부서별로 흩어져 있는 데이터와 불필요하게 복제 운영 중인 데이터베이스(파편화) 현황을 매핑합니다. 통합형 데이터베이스(Converged DB)로의 전환 : 별도의 벡터 DB 구축 없이, 네이티브로 벡터 임베딩과 시맨틱 검색을 지원하는 엔터프라이즈 AI 데이터베이스 솔루션을 도입하여 아키텍처를 단일화합니다. 내부 보안 정책이 적용된 AI 에이전트 배포:** 데이터 이동 없이 데이터베이스 내부에서 직접 동작하는 RAG 기술을 활용해, 완벽한 보안 통제 하에 자율형 AI 에이전트를 실무 부서에 배포합니다.** 데이터 이동 없이 데이터베이스 내부에서 직접 동작하는 RAG 기술을 활용해, 완벽한 보안 통제 하에 자율형 AI 에이전트를 실무 부서에 배포합니다. 🚀 결론: 복잡성을 줄이는 것이 가장 강력한 AI 전략입니다 데이터를 이동시키는 파이프라인이 많아질수록 보안 위협과 관리 비용은 기하급수적으로 늘어납니다. 차세대 엔터프라이즈 AI 데이터베이스 는 IT 인프라 담당자에게 '관리의 단순함'을 제공하고, 비즈니스 부서에는 '환각 없는 정확한 AI 인사이트'를 제공하는 유일한 해법입니다. 기존 데이터베이스 인프라를 AI 네이티브 환경으로 전환하여 보안과 혁신이라는 두 마리 토끼를 모두 잡으시길 바랍니다.
Score: 56.99Confidence: 54%
Score: 54.4Confidence: 49%
Score: 54.4Confidence: 49%
Score: 54.39Confidence: 49%
Score: 54.39Confidence: 49%